Files
nexus/Project/fonrey/核心文档体系.md

7.5 KiB
Raw Blame History

1. 产品愿景与 MVP 范围书 (PRD_MVP.md)

AI 需要知道“终点”在哪里,以及“当前阶段”的界限。

  • 核心功能清单: 明确第一阶段MVP必须实现的 3-5 个核心功能。

  • 非目标 (Out of Scope) 明确哪些功能在 MVP 阶段绝对不做,防止 Claude 在生成代码时过度设计。

  • 用户故事: 简单的 As a [user], I want to [action], so that [value],这有助于 Claude 理解业务逻辑的优先级。

2. 技术栈与规范定义 (TECH_STACK.md)

Vibe Coding 最怕 AI 随意引入不兼容的库。

  • 固定技术栈: 例如 Frontend (Next.js 14, Tailwind), Backend (Supabase/PostgreSQL), Auth (Clerk)。

  • 代码风格: 比如“使用 Functional Components”、“优先使用 TypeScript 严格模式”、“所有的 API 调用必须遵循 RESTful 规范”。

  • 项目结构: 预定义文件夹结构(如 /components, /hooks, /lib, /types),让 AI 生成的代码能够准确归位。

3. 领域模型与数据库 Schema (DATA_MODEL.md)

这是项目的“骨架”。即便你使用 NoSQL也要先定义好数据关系。

  • 实体关系图 (ERD) 描述 User, Project, Task 等实体的关系。

  • Schema 定义: 提供 SQL DDL 或 Prisma Schema 示例。

  • 核心业务状态机: 如果有复杂逻辑(如订单状态、工作流状态),定义好状态转换矩阵。

4. UI/UX 风格与组件指南 (UI_SYSTEM.md)

为了让生成的页面不至于太丑或不统一:

  • 设计语言: 明确使用哪个组件库(如 shadcn/ui, Ant Design

  • 核心页面路由: 定义 MVP 阶段的所有 URL 路径及对应的功能页面。

  • 全局布局: 描述 Header, Sidebar, Footer 的行为。

5. 项目骨架设计(ARCHITECTURE.md)

  • 技术栈

    • Backend: Django 4.x
    • 前端交互: HTMX 1.x + Alpine.js 3.x
    • 样式: [Tailwind / 你的选择]
    • 数据库: [PostgreSQL / SQLite]
  • 目录结构说明 [说明每个目录的职责]

  • Django App 划分原则

    • 每个 App 对应一个业务域,不跨域
    • App 列表accounts / dashboard / [其他]
  • 模板约定

    • base.html 定义全局布局和 block 插槽
    • HTMX 局部刷新的模板放在 partials/ 下
    • block 结构title / content / extra_css / extra_js
  • HTMX 使用约定

    • 所有 HTMX 请求的 view 需判断 HX-Request header
    • 局部响应只返回对应的 partial 模板
    • 示例: def my_view(request): if request.htmx: return render(request, 'partials/xxx.html', context) return render(request, 'full/xxx.html', context)
  • Alpine.js 使用约定

    • 只负责纯客户端状态下拉展开、tab 切换、表单校验提示)
    • 不处理需要服务端数据的逻辑,那部分交给 HTMX
  • URL 命名规范

    • 格式app_name:resource-action
    • 示例accounts:login, dashboard:report-list
  • 环境变量

    • 使用 .env 文件管理,通过 django-environ 读取
    • 敏感配置不进 settings.py 硬编码

6. 任务清单(TASK.md)

这是 Vibe Coding 中最关键的"指挥文件"。它不只是任务清单,更是 AI 在每次对话中快速定位上下文的锚点。

分解 User Story 的标准方法 每个 User Story 在交给 AI 编码前,需要满足 INVEST 原则 中最关键的三条:

原则 实操含义
Independent独立 这个 Story 能单独开发、单独测试,不强依赖其他未完成的 Story
Small 一个 Story 的编码工作控制在一次对话内能完成
Testable可验证 有明确的验收标准,你能用眼睛或操作来判断是否完成
拆分的实用规则: 如果一个 Story 的描述里出现了"并且"或"还可以",就应该拆成两个。

6. AI 指令手册 (.cursorrulesAI_INSTRUCTIONS.md)

这是 Vibe Coding 的“灵魂”,专门给 Claude 看的“说明书”。

  • 角色设定: “你是一个资深的 Full-stack Engineer擅长编写可维护的、高性能的 React 代码。”

  • 禁止事项: “禁止使用任何未在 TECH_STACK.md 中定义的第三方库。”

  • 报错处理: “如果遇到错误,优先检查类型定义,并输出详细的 Debug Log。”

针对 Vibe Coding 的特化建议

1. 采用“模块化文档”而非“长篇大论”

不要给 Claude 一个 5000 字的文档。将文档拆分为上述的 .md 文件。在对话时,使用 @ 功能(在 Cursor/OpenCode 中)按需引用。例如:“基于 @DATA_MODEL.md 实现 @PRD_MVP.md 中的用户注册流程。”

2. 准备“上下文脚手架”

在开始第一行代码前,先让 Claude 生成一个 README.md,概括整个项目的架构。这会成为后续对话中最重要的上下文参考。

3. 动态更新的“决策记录” (ADR.md)

在 Vibe Coding 过程中AI 可能会建议一些架构改动。一旦你接受了某个改动,立即记录在 Architecture Decision Records (ADR) 中。这样当你在后续对话中开启新 Session 时,可以把这个文档丢给它,避免它推翻之前的设计方案。


建议的执行流程

  1. 初始化阶段: 编写上述 5 份 Markdown 文档。

  2. 环境对齐: 将文档喂给 Claude问它“基于这些文档你认为实现 MVP 的第一步是什么?请列出任务清单。”

  3. 循环迭代: 按照 任务清单 -> 生成代码 -> 测试反馈 -> 更新文档 的循环进行。

准备阶段(你现在所在的位置)
        ↓
① 整理 TASK.md按 P0/P1/P2 排优先级
        ↓
② 从 Phase 1 挑第一个 Story 开始
        ↓
③ 每次开启新对话,给 AI 提供以下上下文包:
   - TASK.md让 AI 知道全局和当前任务)
   - 相关模块的 PRD 片段
   - 对应的 UI HTML 原型
   - Tech Stack 文档
   - 相关的 Data Model
        ↓
④ AI 完成编码后,你验收(对照验收标准)
        ↓
⑤ 验收通过 → 在 TASK.md 勾选 [x] → 进入下一个 Story
        ↓
⑥ 每完成一个模块,检查是否需要更新 Data Model 或 Tech 文档

给 AI 的标准开场提示词

每次开始一个新 Story 时,用这个模板开场:

## 当前任务
我正在开发 [项目名],现在要实现 US-XXX[Story 标题]

## 上下文文件(我将依次提供)
1. TASK.md - 了解项目全局状态和本任务优先级
2. Tech Stack 文档 - 了解技术约束
3. Data Model - 了解数据结构
4. 本模块 PRD - 了解功能需求
5. 本模块 UI 原型 HTML - 了解视觉要求

## 本次任务的验收标准
- [条件1]
- [条件2]

## 约束
- 只实现本 Story 范围内的功能Phase 2/3 的内容不要提前实现
- 如遇到需要修改 Data Model 的情况,先告知我,不要擅自修改
- 完成后告诉我你新建或修改了哪些文件

TASK.md 是活文档AI 也要帮你维护它。

每次 Story 完成后,让 AI 顺手输出一行更新指令,比如:

请在 TASK.md 中将 US-003 标记为已完成,并在备注中记录:
"Session 存储改用 httpOnly cookie与原方案不同"

这样你的 TASK.md 不只是任务清单,还成了项目的决策日志,下一次换新对话时 AI 能快速理解为什么某些事情是现在这样做的。