2026-06-22 21:44:11 +08:00
|
|
|
|
# Harness Coding 文档样本库
|
|
|
|
|
|
|
|
|
|
|
|
本仓库用于沉淀一个新项目交给 AI coding agent 开发前,建议准备的文档集合。
|
|
|
|
|
|
|
2026-07-13 09:34:48 +08:00
|
|
|
|
这些文档参考了 `D:\opc_project\lingo\docs` 的实际项目文档结构,抽象为可复用模板:从项目入口、愿景、需求、技术栈、架构、编码规则,到任务路线图、任务文件、API、路由和当前状态。
|
2026-06-22 21:44:11 +08:00
|
|
|
|
|
|
|
|
|
|
## 推荐文档集合
|
|
|
|
|
|
|
|
|
|
|
|
| 文档 | 作用 |
|
|
|
|
|
|
| --- | --- |
|
|
|
|
|
|
| [`AGENTS.md`](AGENTS.md) | Codex / 通用 AI coding agent 的仓库级入口 |
|
2026-06-24 17:07:53 +08:00
|
|
|
|
| [`CLAUDE.md`](CLAUDE.md) | Claude Code 的仓库级薄入口 |
|
2026-06-22 22:26:57 +08:00
|
|
|
|
| [`tasks.md`](tasks.md) | 本样本库自身的维护任务列表 |
|
2026-06-28 22:32:49 +08:00
|
|
|
|
| [`init.sh`](init.sh) | 标准启动与验证入口脚本(Unix shell / WSL / Git Bash),统一安装 + 验证 + 打印启动命令 |
|
|
|
|
|
|
| [`init.ps1`](init.ps1) | 标准启动与验证入口脚本(Windows 原生 PowerShell),与 `init.sh` 等价,按操作系统二选一 |
|
2026-07-14 12:00:53 +08:00
|
|
|
|
| [`gitea.env.example`](gitea.env.example) | Gitea MCP 本机私有配置示例;复制后替换,真实文件不得入库 |
|
2026-07-13 09:34:48 +08:00
|
|
|
|
| [`progress.md`](progress.md) | 可选:历史归档 / 项目级大事记;执行记录默认写各任务文件 |
|
2026-06-22 21:44:11 +08:00
|
|
|
|
| [`docs/README.md`](docs/README.md) | 文档导航,总览所有项目文档 |
|
|
|
|
|
|
| [`docs/00-ai-start-here.md`](docs/00-ai-start-here.md) | AI coding agent 的入口、阅读顺序、任务领取规则 |
|
|
|
|
|
|
| [`docs/01-vision.md`](docs/01-vision.md) | 项目为什么做、为谁做、什么不做 |
|
|
|
|
|
|
| [`docs/02-requirements.md`](docs/02-requirements.md) | 产品需求、用户故事、验收标准 |
|
|
|
|
|
|
| [`docs/03-tech-stack.md`](docs/03-tech-stack.md) | 技术选型和运行命令 |
|
|
|
|
|
|
| [`docs/04-architecture.md`](docs/04-architecture.md) | 系统结构、职责边界、数据模型、开发顺序 |
|
|
|
|
|
|
| [`docs/05-coding-rules.md`](docs/05-coding-rules.md) | AI 写代码前必须遵守的硬规则 |
|
2026-07-13 09:34:48 +08:00
|
|
|
|
| [`docs/06-tasks.md`](docs/06-tasks.md) | 任务路线图:阶段划分、里程碑、待办池(只读,不跟踪单任务状态) |
|
|
|
|
|
|
| [`docs/tasks/README.md`](docs/tasks/README.md) | 默认任务管理:一任务一文件 `docs/tasks/T-<编号>.md`,单/多 agent 通用 |
|
2026-06-28 22:32:49 +08:00
|
|
|
|
| [`docs/adoption-checklist.md`](docs/adoption-checklist.md) | 已有项目接入 harness 文档的迁移清单 |
|
2026-06-22 21:44:11 +08:00
|
|
|
|
| [`docs/api.md`](docs/api.md) | API 合约模板 |
|
|
|
|
|
|
| [`docs/routes.md`](docs/routes.md) | 页面路由、组件归属、导航规则 |
|
2026-06-28 22:32:49 +08:00
|
|
|
|
| [`docs/clean-state-checklist.md`](docs/clean-state-checklist.md) | 会话收尾检查清单,保证下一轮无需人工修复即可开工 |
|
2026-06-24 17:07:53 +08:00
|
|
|
|
| [`docs/current-state.md`](docs/current-state.md) | 当前实现状态快照,防止计划和代码现实脱节 |
|
2026-07-14 12:07:50 +08:00
|
|
|
|
| [`docs/agent-context.json`](docs/agent-context.json) | 机器可读上下文路由:最小必读、任务类型和 SHA 刷新规则 |
|
|
|
|
|
|
| [`docs/agent-context.schema.json`](docs/agent-context.schema.json) | 上下文清单结构契约 |
|
|
|
|
|
|
| [`docs/agent-context.md`](docs/agent-context.md) | 上下文清单的读取、缓存、权威来源和断连降级说明 |
|
2026-07-14 12:00:53 +08:00
|
|
|
|
| [`docs/gitea-mcp.md`](docs/gitea-mcp.md) | 可选:Gitea MCP 共享文档与任务协调接入、安全和降级规则 |
|
2026-07-14 12:07:50 +08:00
|
|
|
|
| [`scripts/validate_agent_context.py`](scripts/validate_agent_context.py) | 零第三方依赖校验上下文清单、Schema 和仓库相对路径 |
|
2026-06-28 22:32:49 +08:00
|
|
|
|
| [`docs/method-map.md`](docs/method-map.md) | 失败模式 → 首要修复 → 工件的诊断 / 导航对照表 |
|
|
|
|
|
|
| [`docs/evaluator-rubric.md`](docs/evaluator-rubric.md) | 单次会话输出的结构化评审评分表 |
|
|
|
|
|
|
| [`docs/quality-document.md`](docs/quality-document.md) | 代码库长期健康度追踪(产品域 × 架构层评级) |
|
2026-06-22 21:44:11 +08:00
|
|
|
|
|
|
|
|
|
|
## 使用方式
|
|
|
|
|
|
|
2026-06-28 22:32:49 +08:00
|
|
|
|
### 最小必选集
|
|
|
|
|
|
|
|
|
|
|
|
只想先让 agent 稳定工作时,先复制这些文件:
|
|
|
|
|
|
|
|
|
|
|
|
- `AGENTS.md`
|
|
|
|
|
|
- `CLAUDE.md`
|
|
|
|
|
|
- `docs/00-ai-start-here.md`
|
2026-07-14 12:07:50 +08:00
|
|
|
|
- `docs/agent-context.json`、`docs/agent-context.schema.json`、`docs/agent-context.md`
|
2026-06-28 22:32:49 +08:00
|
|
|
|
- `docs/05-coding-rules.md`
|
|
|
|
|
|
- `docs/06-tasks.md`
|
2026-07-13 09:34:48 +08:00
|
|
|
|
- `docs/tasks/`(`README.md` + `_template.md`)
|
2026-06-28 22:32:49 +08:00
|
|
|
|
- `docs/current-state.md`
|
2026-07-14 12:07:50 +08:00
|
|
|
|
- `scripts/validate_agent_context.py`
|
2026-06-28 22:32:49 +08:00
|
|
|
|
- `init.sh` 或 `init.ps1`
|
|
|
|
|
|
|
|
|
|
|
|
### 完整推荐集
|
|
|
|
|
|
|
2026-07-13 09:34:48 +08:00
|
|
|
|
新项目从零开始时,建议复制根目录入口文件和 `docs/` 目录(含 `docs/tasks/`),并按操作系统选择 `init.sh` 或 `init.ps1`。复制后按顺序处理:
|
2026-06-28 22:32:49 +08:00
|
|
|
|
|
|
|
|
|
|
1. 从 `docs/01-vision.md` 和 `docs/02-requirements.md` 开始替换业务内容。
|
|
|
|
|
|
2. 在 `docs/03-tech-stack.md` 固定技术选型,不确定的选项标为待定。
|
|
|
|
|
|
3. 在 `docs/04-architecture.md` 写清事实来源、数据模型、系统边界。
|
2026-07-13 09:34:48 +08:00
|
|
|
|
4. 在 `docs/06-tasks.md` 拆出阶段路线图和建议任务;开工时按 `docs/tasks/README.md` 把任务落成 `docs/tasks/T-<编号>.md`,要求 AI 每轮只领取一个任务。
|
2026-06-28 22:32:49 +08:00
|
|
|
|
5. 替换 `init.sh` 或 `init.ps1` 顶部三个命令,并把真实命令同步到 `docs/03-tech-stack.md`、`docs/00-ai-start-here.md` 和 `docs/current-state.md`。
|
2026-07-13 09:34:48 +08:00
|
|
|
|
6. 执行记录写进各任务文件的 `## 执行记录`,用 `docs/current-state.md` 覆盖更新当前快照;`progress.md` 可选,用作历史归档或项目级大事记。
|
2026-06-28 22:32:49 +08:00
|
|
|
|
7. 开始编码前,让 agent 先读 `docs/00-ai-start-here.md`。
|
|
|
|
|
|
|
|
|
|
|
|
### 已有项目接入
|
|
|
|
|
|
|
2026-07-13 09:34:48 +08:00
|
|
|
|
已有代码仓库不要急着让 agent 做新功能。先按 [`docs/adoption-checklist.md`](docs/adoption-checklist.md) 建立当前状态、启动路径、验证路径和任务文件;第一轮任务优先修复基线,而不是扩大功能范围。
|
2026-06-28 22:32:49 +08:00
|
|
|
|
|
|
|
|
|
|
### 可选增强集
|
|
|
|
|
|
|
|
|
|
|
|
项目进入多轮长期开发后,再按需启用:
|
|
|
|
|
|
|
2026-07-14 12:00:53 +08:00
|
|
|
|
- `docs/gitea-mcp.md`:需要跨 agent 读取 Gitea 文档、Issue 和 PR 时启用。
|
2026-06-28 22:32:49 +08:00
|
|
|
|
- `docs/clean-state-checklist.md`:每轮结束前检查仓库是否可恢复。
|
|
|
|
|
|
- `docs/method-map.md`:遇到失败模式时定位该补哪个工件。
|
|
|
|
|
|
- `docs/evaluator-rubric.md`:评审单次 agent 输出质量。
|
|
|
|
|
|
- `docs/quality-document.md`:追踪代码库长期健康度。
|
2026-06-24 17:07:53 +08:00
|
|
|
|
|
2026-07-13 09:34:48 +08:00
|
|
|
|
`tasks.md` 是本样本库自身的维护任务;复制到新项目后,项目任务默认以一任务一文件写在 `docs/tasks/`,阶段路线图维护在 `docs/06-tasks.md`。
|
2026-06-22 21:44:11 +08:00
|
|
|
|
|
2026-07-14 12:00:53 +08:00
|
|
|
|
核心原则:文档不是给人看的装饰,而是给 agent 执行时用的约束、事实来源和验收标准。
|