多数步骤是:你在 Cursor 里下指令 → AI 写代码并跑终端。不是「AI 自动会做」,而是你说了它才做。
tasks.md = 待办勾选 · progress.md = 里程碑 + 环境网址 · setup-guide.html = 本手册(固定流程)
第一篇 · 初期配置(从零搭建,通常只做一次)
阶段 0 · 一次性准备
first-project → Cursor File → Open Folder阶段 1 · 本地网页
流程:你说需求 → AI 先写 tasks.md / progress.md → 再做页面 → 你在浏览器验收
tasks.md:列出「做页面 → Git → 云端…」等步骤,做完勾选progress.md:项目名 + 里程碑(做完什么、测通什么);环境网址、D1 ID 等有了一并写上,供新对话 @ 接力index.html:标题、表单、内嵌样式与脚本.gitignore、git init、配置签名、执行 commit(终端代跑,你不碰)。
阶段 2 · GitHub
first-project(Private,不勾 README)→ 复制仓库 URL。
git remote add + git push。
阶段 3 · Cloudflare Pages
📍 Cloudflare Dashboard → Workers & Pages → Create → Pages → Connect to Git
first-project、分支 main/验收正式站后补一句:
若 push 了但网站内容没变:
阶段 4 · D1 双库
test_first-project 与 prod_first-project → 各复制 Database ID。
wrangler.toml、migration、Pages Functions、改前端对接 API。
阶段 5 · 后端与本地开发
package.json、wrangler.toml(remote = true)、npm install。
functions/api/submit.js、submissions.js,改 index.html 表格列表。
npm run dev,由 dev-proxy 自动选空闲端口(常为 3002),并回复你可打开的完整网址。
阶段 6 · 上线验收
等 30 秒验收正式站;若内容没变:
setup-guide.html、tasks.md 模板,更新主页按钮与 progress.md 里程碑。
Replit 会自动改任务板;Cursor 不会,需要你对 AI 说一句「维护 tasks.md」。用两个文件分工,比只聊天清晰:
| 文件 | 写什么 | 谁更新 |
|---|---|---|
tasks.md |
当前要做的事(勾选清单:加栏目、migrate、push…) | 每次开工 / 做完一步,让 AI 勾选或增删 |
progress.md |
已经做好的里程碑、测试/正式网址、D1 ID、排错记录 | 阶段验收通过后,让 AI 写一段总结 |
setup-guide.html |
固定流程与可复制话术(搭建 + 运营) | 很少改;只有流程变了才动 |
不必为小事单独建任务文件。
你没说「要加 XXX 栏」→ 表就一直是现在的样子(名字、年龄、计数、时间)。
| 你做的事 | 要不要两个库一起更新表结构? |
|---|---|
| 改标题、颜色、按钮文字 | 不要 |
| 正常提交测试、保存数据 | 不要(自动进对的库) |
| 网页要多一个新输入,且要存进数据库(身高、电话…) | 要 |
满足下面任意一条,就表示「可能要动两个库」:
| 你改的是… | test 和 prod 之间 |
|---|---|
| 数据内容 (测试填「哈哈哈」、正式填「正式」) |
绝不互通。测试垃圾永远留在 test,正式客户数据只在 prod。这是故意设计的。 |
| 表结构 (多一列「身高」) |
两边都要一样。用同一份 migration 文件,对 test 执行一次、对 prod 再执行一次。 不是把 test 的数据复制到 prod。 |
你不用懂 migration、SQL。复制下面这句,把【】里的字改成你要的栏目名即可。
代码里只认一个叫 env.DB 的插座。Cloudflare 根据你打开的网址自动插不同的库:
| 你从哪里访问 | 数据写入 |
|---|---|
| 本地测试(如 127.0.0.1:3002) | test_first-project |
| 正式网址(pages.dev) | prod_first-project |
在测试地址(如 127.0.0.1:3002)看到「读取失败」或 error code: 1031,通常是下面两类原因之一:
| 可能原因 | 说明 |
|---|---|
| 本地 dev 没开或已挂掉 | 测试环境必须 Agent 跑着 npm run dev,不能只有网页文件、没有后台。 |
| Cloudflare 登录过期 | 本地要连云端 test 库,登录失效时也会报 1031,不等于没启动服务器。 |
wrangler login → 清理旧进程 → npm run dev → 告诉你正确测试地址。
GitHub 已有新代码,不等于 Cloudflare 部署成功。到 Dashboard → Deployments 看最新一条是否为 Failure(常见原因:wrangler.toml 写了 account_id)。
tasks.md,验收后写 progress.md 里程碑。速查
| 文件 | 是什么 | 何时更新 |
|---|---|---|
tasks.md | 待办清单(勾选) | 开工前拆步;每做完一步勾选 |
progress.md | 里程碑 + 测试/正式网址、D1 ID | 阶段验收通过后 |
setup-guide.html | 本手册(话术与流程) | 流程变了才改 |
| 类型 | 含义 | 你要做的 |
|---|---|---|
| 💬 你下指令 → AI 执行 | 技术活 | 在 Cursor 里说一句话(可复制本页蓝框) |
| 👤 仅你动手 | AI 替不了 | 注册、CF/GitHub 后台点选、浏览器验收 |
| 想… | 你对 AI 说 |
|---|---|
| 从零 / 新项目 | 「先建 tasks.md 和 progress.md(里程碑),再按 tasks 做…」 |
| 改页面(不动数据库) | 「把 XXX 改成 YYY」 |
| 加新栏目 | 「加【身高】栏,先更新 tasks,test 和 prod migrate,并 push」 |
| 上线 | 「commit 并 push」 |
| 本地测 / dev 挂了 | 「测试环境数据库读不出来,帮我重新登录 Cloudflare 并启动 dev 服务器」 |
| 上线 / push 后没变 | 「查 Cloudflare Deployments 是否 Failure,修好再部署」 |
| 阶段验收后 | 「勾选 tasks,并把里程碑写进 progress」 |
| 新对话接力 | @progress.md @tasks.md + 说明卡在哪 |