63 lines
3.6 KiB
Markdown
63 lines
3.6 KiB
Markdown
# DevHarness
|
||
|
||
DevHarness 是一个以 Gitea 工单管理任务过程、以 Gitea Wiki 管理长期文档、以 Git 提交记录代码变更、由人负责确认和验收的 AI 辅助开发模板。
|
||
|
||
它约束的是开发过程,不限制项目使用 Python、Go、JavaScript 或其他技术栈。
|
||
|
||
## 需要工单的任务闭环
|
||
|
||
```text
|
||
讨论需求或缺陷
|
||
-> 阅读代码并提出方案
|
||
-> 人工确认方案
|
||
-> 创建 Epic / MVP / 单元任务工单
|
||
-> Agent 实现并测试
|
||
-> 提交代码并更新工单
|
||
-> 工单集中回写最终证据并等待人工验收
|
||
-> 人工验收后在工单记录结论
|
||
-> 关闭工单并更新父工单;长期事实变化时才同步 Wiki
|
||
```
|
||
|
||
轻量模式下符合直接实施条件的小 Bug、局部 UI 和单模块低风险调整不走上述工单闭环:确认目标 → 最小修改 → 受影响范围测试 → 提交并报告结果。
|
||
|
||
## 快速开始
|
||
|
||
1. 复制或克隆本仓库,并修改仓库名称。
|
||
2. 创建 Gitea 远端仓库并推送当前引导提交,启用工单和 Wiki。
|
||
3. 配置 `wiki-docs.json` 和安全访问方式;优先使用已配置的 Gitea MCP,MCP 不可用时才使用 Gitea API 并记录原因。令牌只通过环境变量或 MCP 安全配置提供。
|
||
4. 按 [新项目文档初始化](docs/07-new-project-documentation-setup.md) 查询线上 Wiki;`Home` 不存在时先创建并回读 `Home`,取得 revision 后再创建其他核心页面。
|
||
5. 在项目档案选择治理模式;内部、单人、低风险项目优先选择轻量,并把不可违反的安全规则写入根目录或子项目的 `AGENTS.md`。
|
||
6. 需要工单时使用 `.gitea/issue_template/` 中的模板;小型项目不要求预先创建 Epic 或 MVP。本地 `docs/` 的存在不能证明线上 Wiki 已初始化。
|
||
7. 开始产品代码前运行:
|
||
|
||
```powershell
|
||
python dev_scripts/harness.py sync --verify
|
||
```
|
||
|
||
新仓库在 Gitea 尚未建立前允许一次不关联工单的引导提交。远端和工单系统配置完成后,按项目治理模式和任务真实风险判断是否需要工单;完整独立需求和中高风险变化必须建单。
|
||
|
||
## 目录
|
||
|
||
```text
|
||
AGENTS.md Agent 的通用工作规则
|
||
CLAUDE.md Claude Code 的规则入口
|
||
.gitea/issue_template/ Epic、MVP、单元任务工单模板
|
||
docs/00-project-profile.md Wiki 项目档案的只读镜像
|
||
docs/01-workflow.md Wiki 开发工作流的只读镜像
|
||
docs/02-07*.md 代码地图、业务、验证、修改、排错和初始化镜像
|
||
docs/templates/task-archive.md 可选 Wiki 任务快照模板的只读镜像
|
||
docs/task/ 人工明确要求的专项或历史兼容快照
|
||
wiki-docs.json 核心 Wiki 页面到本地镜像的显式映射
|
||
dev_scripts/harness.py check / sync / archive / export 单一入口
|
||
dev_scripts/wiki_docs.py Gitea Wiki 客户端与镜像生成库
|
||
```
|
||
|
||
## 设计原则
|
||
|
||
- 人决定目标、范围和验收结果,Agent 负责检查、实现和验证。
|
||
- 需要工单的任务以 Gitea 工单为单次任务事实来源;轻量直接实施项以 Git 提交和结果报告留痕。Wiki 保存长期有效事实,`docs/` 默认保存核心镜像。
|
||
- 默认不创建任务归档;`archive`、`export` 和 `export --all` 只作为人工显式触发的兼容能力。
|
||
- 一个单元工单只解决一个可独立测试和回退的问题。
|
||
- 实现提交与必要的核心文档镜像提交分开,便于审查与追溯。
|
||
- 凭据、真实个人数据和生产数据不得进入代码、工单或归档;明确虚构的测试数据无需形式化脱敏。
|