Codex 做小程序 · 保姆级教程

Codex 做小程序 · 保姆级教程

这是什么

miniprogram-builder 是一个给 AI 编程工具用的 Agent Skill,
本体只有两个 markdown 文件:SKILL.md(六步工作流 + 三条硬规矩)和
reference.md(可直接抄的起手式模板 + 高频报错对照表)。
不装依赖、不用配置,丢进 skills 目录就能用,Codex、Claude Code、Cursor 都通用,免费。

它解决的不是「AI 不会写小程序代码」——这件事 AI 早就会了。它解决的是让不会前端的人
真的能拿到一个跑得起来的小程序。实际用下来,失败几乎都出在三个地方:
需求没问清就动手,做出来的东西和脑子里的两回事;一上来就上 uni-app / Taro / npm,
环境装了半小时还没看见界面;代码逻辑没错,但页面忘了在 app.json 注册、
tabBar 少了图标、路径大小写不一致,一编译一片红,不知道从哪查。

这个 skill 把这三件事分别按死:第一步强制先出一页需求单等你点头、
全程只用原生小程序不上任何框架、每写完一页就跑一遍真机自检清单。
核心约束只有一句话:任何一步做完,项目都必须是「能编译、能预览」的状态——
宁可少一个页面,也不留跑不起来的半成品,因为用户看不见界面就会失去信心。

📎 相关链接与下载地址(点击展开)

核心亮点

❓ 先问清再动手
一次只问一个问题、每问都附上它的猜测,你只需要点头摇头,最后给你一页需求单
🚫 不上框架不装环境
全程原生微信小程序,零 npm、零构建,省掉最劝退的一段
✅ 八条真机自检
全是模拟器看不出、真机才炸的坑:大小写、tabBar 图标、rpx、底部留白
📄 两个文件而已
纯 markdown,不改你任何配置,随时能删;三家主流 AI 编程工具通用

它能做什么、输出什么

项目 说明
输入 一句话需求即可,例如「做个咖啡店扫码点单的小程序」;有品牌色、图片、参考截图可一并给它
适用类型 纯前端能跑通的小程序:商品展示 / 点单、工具类(记账、待办、打卡)、信息查询、活动报名、内部表单
产出 一个完整的原生小程序项目目录:app.json / app.wxss / 各页面四件套 / utils/mock.js 假数据
过程产出 第一步的需求单(页面清单 + 数据结构 + 这一版不做什么)、每页的真机自检结果
兼容 Codex / Claude Code / Cursor 等支持 Agent Skills 的工具;产物用微信开发者工具打开
边界 默认不做登录、在线支付、后台管理——这三项都需要企业主体和后端,会在需求单里明确列出

环境要求

环境 建议配置
操作系统 Windows / macOS 均可(微信开发者工具两个平台都有)
AI 编程工具 Codex、Claude Code、Cursor 任选其一,支持读取 skills 目录即可
必装软件 微信开发者工具(官方免费),用于编译、预览、真机扫码
AppID 可选。没有就在导入项目时点「测试号」,本地预览和真机调试都不受影响,只影响正式发布
额外依赖 无。不需要 Node、npm、构建工具,也不需要服务器和域名
前端基础 不需要。全程你只做三件事:回答问题、点编译、说哪里不对

如何使用

💡
最省事的路径:装 skill → 打个 @ 调用它 → 一句话说需求 → 剩下的按它问的答。
全程你不用写代码,但每一步它都会停下来让你看见东西。

步骤 1
装 skill(30 秒)

从上面折叠块里下载压缩包,解压得到 miniprogram-builder 文件夹,
整个放进你所用工具的 skills 目录即可。目录位置按工具不同:

工具 放到哪
Codex ~/.codex/skills/miniprogram-builder/
Claude Code ~/.claude/skills/miniprogram-builder/
Cursor 项目内 .cursor/skills/miniprogram-builder/(也可放用户级 skills 目录)

⚠️ 放的是文件夹,不是把两个 md 直接丢进 skills 根目录。装完重启一下工具,让它重新扫描技能列表。

步骤 2
调用它,并说清你要什么

在输入框打一个 @,从弹出的技能列表里选 miniprogram-builder,然后一句话说需求:

prompt
@miniprogram-builder 帮我做个咖啡店扫码点单的小程序

它不会直接开写,而是先反问你一个问题,并且附上它的猜测,例如:

output
我猜你要的是「堂食扫码点单」,不是外卖配送——对吗?
如果要配送,还得做地址簿和运费规则,工期会长不少。

一共只问四件事,问完就停:谁用/什么场景、核心那条路径、要不要登录支付、有没有品牌色和图片。

步骤 3
看需求单,确认后它才动手

它会输出一页需求单,三部分:页面清单、数据结构、这一版不做什么。这一步一定要认真看。
需求单花你两分钟,返工要花两小时。

页面 用户在这页干什么 跳到哪
首页 看分类、浏览商品 点卡片进详情
详情 选规格、加购物车 加完去购物车
购物车 改数量、看总价 提交下单
订单 看已下单状态 —

有不对的地方,直接说「详情页不用选规格」这种大白话就行,它会改需求单再确认一次。

步骤 4
它搭空壳,你点一次编译

确认后它先建目录、只给每个页面放一行标题,然后让你编译一次。
这一步的意义是:页面注册和 tabBar 的错误必须现在暴露,等五个页面都写完再一起报错,排查成本翻倍。

目录结构
project/
├── app.js            全局逻辑
├── app.json          页面注册 + tabBar(最容易出错的文件)
├── app.wxss          主色、圆角、间距,全局只定义一次
├── pages/
│   ├── index/        每页四件套:.wxml .wxss .js .json
│   ├── detail/
│   ├── cart/
│   └── order/
├── images/           tabBar 图标等本地图片
└── utils/mock.js     假数据
步骤 5
造一份像真的假数据

所有数据放 utils/mock.js 一个文件导出,页面只从这里取数,先不接任何后端。
接后端要域名、要备案、要 HTTPS、还要配服务器域名白名单;做 Demo、给老板看,纯前端假数据完全够。
等界面定稿了,把 mock.js 换成 wx.request 是十分钟的事,页面代码一行不用改。

javascript
const GOODS = [
  { id: 1, name: "冰美式", desc: "深烘豆,加冰不加糖", price: 15, tag: "热销" },
  { id: 2, name: "生椰拿铁", desc: "椰乳打底,甜度可调", price: 19, tag: "招牌" },
  { id: 3, name: "茉莉冷萃", desc: "冷泡八小时,回甘明显", price: 18, tag: "" },
  // …造够 8-12 条,名称价格都写具体的
];

module.exports = { GOODS };

⚠️ 别让它写「商品1 商品2」。假数据太假会掩盖真实的排版问题——比如长名字会不会把卡片撑破。

步骤 6
一次只写一页,写完就编译

顺序是:先做你第一眼看到的那页,再顺着核心路径往下。每页写完你都点一次编译看效果。
每个页面的四件套分工固定:

文件 写什么 最常见的错
.wxml 结构,列表用 wx:for 漏 wx:key,列表更新错乱
.wxss 样式,尺寸一律 rpx(750rpx = 屏宽) 用了 px,大屏手机上显小
.js 数据和事件,改数据走 setData 直接改 this.data,界面不动
.json 这一页的标题、是否下拉刷新 忘了建,标题栏是默认的
步骤 7
每页过一遍真机自检

这张清单上的每一条,都是模拟器上看不出、真机上才出问题的:

检查项 不过关的表现
页面都写进 app.json 了 跳转白屏,报 page not found
文件名大小写和引用一致 模拟器正常,真机白屏(真机区分大小写)
tabBar 两张图标都在本地 tabBar 整个不显示
图片都是项目内本地图 外链域名没进白名单,真机上图全裂
尺寸全部用 rpx 大屏手机上元素缩成一团
列表底部留 120rpx 以上 最后一条被 tabBar 盖住
setData 只 set 变化的字段 列表长了以后明显卡顿
空状态有兜底文案 购物车空时一片空白,用户以为崩了
步骤 8
导入开发者工具,手机扫码打开

照着点就行:

  1. 打开微信开发者工具 → 导入项目 → 选中项目文件夹
  2. AppID 一栏:有就填,没有点「测试号」
  3. 点「编译」,左侧模拟器出界面
  4. 点「预览」出二维码 → 微信扫码 → 在自己手机上打开

✅ 到这一步,你手机上已经有一个能点、能跳、能看的小程序了。全程你没写一行代码。

什么样的小程序适合这么做

☕ 门店点单 / 商品展示
菜单、详情、购物车三页就够,纯前端能完整跑通
📝 记账 / 待办 / 打卡
数据存本地缓存,不用后端也是完整可用的工具
🔍 信息查询
课表、值班表、产品手册这类内容型小程序
🎫 活动报名 / 表单
先把界面和流程做出来给人看,再决定要不要接后端
📊 给老板看的原型
比 PPT 有说服力得多——真机上能点
🎓 学小程序开发
跟着六步走一遍,比看十集教程更快搞清目录结构

和「直接让 AI 写」有什么差别

环节 直接让 AI 写 装了这个 skill
开工前 你说一句它就开写 先反问四个问题,出一页需求单等你点头
技术选型 经常顺手上 uni-app / Taro / npm 锁死原生小程序,零依赖零构建
写代码节奏 一口气生成七八个文件 先空壳编译,再一次一页,每页停下来看
数据 有时直接写 wx.request 接口,跑不通 统一走 mock.js 假数据,界面先跑通
真机问题 大小写、tabBar 图标、rpx 全靠你自己踩 每页过八条自检清单,坑提前拦掉
交付 「代码给你了」 手把手教到扫码打开,并讲清这版的边界

🧠 原理其实很朴素:AI 的代码能力不是瓶颈,流程才是。
skill 做的事就是把「先问再写、小步验证、按清单收尾」这套工程习惯,变成它每次都会执行的固定动作。

常见问题

Q: 完全不懂前端,能用吗?

能。整个过程你只做三件事:回答它的问题、点编译、告诉它哪里不对。代码它写,报错它查。
唯一需要你装的软件是微信开发者工具。

Q: 一定要有 AppID 吗?没有能不能做?

不需要。导入项目时点「测试号」,本地预览和手机真机调试都正常。AppID 只在你要正式发布上线时才需要,
那一步要注册主体(个人或企业)并提交审核。

Q: 为什么不用 uni-app 或 Taro?那些不是更方便吗?

对熟手是更方便,对新手是劝退。它们要装 Node、装 CLI、跑构建,环境问题能耗掉一整晚,
而你还没看见界面。这个 skill 的目标是让你半小时内在手机上看见东西,所以默认锁原生。
你明确要求上框架时它会照做,但会先告诉你多出来的环境成本。

Q: 做出来的小程序能上架发布吗?

结构上可以,但要先补三件事:注册小程序主体并拿到 AppID、把假数据换成真实后端接口(需要备案域名和 HTTPS)、
按微信的类目要求提交审核。skill 在交付时会主动把这几条边界讲清楚。

Q: 真机白屏、tabBar 不显示,怎么办?

这两个是最高频的坑,reference.md 里有对照表。真机白屏九成是文件名大小写和代码引用不一致
(模拟器不区分、真机区分);tabBar 不显示通常是少了 iconPath 或 selectedIconPath,
两张图都必须有、且是项目内的本地图片。

Q: 改数据界面不动,是 bug 吗?

不是。小程序里直接改 this.data.xxx 不会触发渲染,必须走 this.setData({...})。
另外列表长了以后不要每次 set 整个数组,只 set 变化的字段,否则会明显卡顿。

Q: 中途想改需求怎么办?

直接说大白话即可,比如「详情页不用选规格了」。skill 的规矩是回到第一步改需求单,
确认后再动代码,而不是在代码里悄悄改结构——后者是返工的主要来源。

Q: Codex、Claude Code、Cursor 三个工具效果一样吗?

skill 本身是纯 markdown,三家都能读,流程完全一致。差别只在各自模型的代码质量和上下文长度上。
装的位置不同,见上面「如何使用」第 1 步的表格。

Q: 它会不会瞎编微信的 API?

skill 里明确写了「不要用没查证的 API,拿不准就换成能确定的写法或明说要查文档」。
但这属于约束不是保证——遇到不确定的接口,建议顺手在微信开放文档里核对一下。

Q: 可以商用吗?

可以。这是两个纯文本的提示词文件,随便用、随便改、随便分享,做出来的小程序归你。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享