feat(playbook): add plan progress tracking and rules updates

This commit is contained in:
csh
2026-01-26 16:51:23 +08:00
parent 6efd637119
commit 278750e3c9
23 changed files with 919 additions and 275 deletions
+28 -16
View File
@@ -53,7 +53,7 @@ full = false
python docs/standards/playbook/scripts/playbook.py -config playbook.toml
```
参数说明见 `docs/standards/playbook/playbook.toml.example`
参数说明见 `playbook.toml.example`(仓库根目录)或 vendoring 后的 `docs/standards/playbook/playbook.toml.example`
### 部署行为
@@ -92,12 +92,18 @@ project/
| 占位符 | 说明 | 自动替换 |
| ------------------------- | ------------ | -------- |
| `{{DATE}}` | 日期 | ✅ 是 |
| `{{PROJECT_NAME}}` | 项目名称 | ❌ 手动 |
| `{{PROJECT_NAME}}` | 项目名称 | ✅ 可选 |
| `{{PROJECT_GOAL}}` | 项目目标 | ❌ 手动 |
| `{{PROJECT_DESCRIPTION}}` | 项目描述 | ❌ 手动 |
| `{{MAIN_LANGUAGE}}` | 主语言 | ❌ 手动 |
| `{{MAIN_LANGUAGE}}` | 主语言 | ✅ 可选 |
| `{{PLAYBOOK_SCRIPTS}}` | 脚本路径 | ✅ 是 |
| 其他 `{{...}}` | 项目特定内容 | ❌ 手动 |
`{{PROJECT_NAME}}` 可通过 `sync_templates.project_name` 自动替换;未配置时保持原样。
`{{MAIN_LANGUAGE}}` 可通过 `sync_templates.main_language``sync_standards.langs[0]` 自动替换;
未配置时默认 `tsl`
`{{PLAYBOOK_SCRIPTS}}` 自动替换为 Playbook 脚本路径(默认 `docs/standards/playbook/scripts`)。
## 模板说明
### memory-bank/
@@ -126,7 +132,9 @@ project/
执行流程规范,定义 AI 的工作循环和约束。
如需项目私有规则,建议创建 `AGENT_RULES.local.md`,其优先级高于 `AGENT_RULES.md`
且不会被同步脚本覆盖。
且不会被 `playbook.py` 覆盖。
主循环会根据 `memory-bank/progress.md` 的 Plan 状态与 `docs/plans/` 文件名日期,
自动选择最新未完成的 Plan,并要求通过 `scripts/plan_progress.py` 写入进度。
### 示例:不跑测试的计划提示词
@@ -170,27 +178,30 @@ project/
### ci/、cpp/、python/
语言和 CI 配置模板。通过 playbook.py 的 `[sync_templates]` 部署
语言和 CI 配置模板。通过 playbook.py 的 `[vendor]` 复制到快照中
| 目录 | 内容 | 部署位置 |
| ----------- | ----------------------------------------- | ---------- |
| `ci/gitea/` | Gitea Actions 工作流 | `.gitea/` |
| `cpp/` | .clang-format, .clangd, CMakeLists.txt 等 | 项目根目录 |
| `python/` | pyproject.toml, .editorconfig 等 | 项目根目录 |
| 目录 | 内容 | 部署位置 |
| ----------- | ----------------------------------------- | ------------------------ |
| `ci/gitea/` | Gitea Actions 工作流 | 快照 `templates/ci/` |
| `cpp/` | .clang-format, .clangd, CMakeLists.txt 等 | 快照 `templates/cpp/` |
| `python/` | pyproject.toml, .editorconfig 等 | 快照 `templates/python/` |
> 注意:这些模板通过 `[vendor]` 复制到快照的 `templates/` 目录,需手动从快照复制到项目根目录使用。
**使用方式**
```toml
# playbook.toml
# playbook.toml - 生成包含这些模板的快照
[playbook]
project_root = "/path/to/project"
[sync_templates]
project_name = "MyProject"
[vendor]
langs = ["tsl", "cpp", "python"]
```
```bash
python docs/standards/playbook/scripts/playbook.py -config playbook.toml
python scripts/playbook.py -config playbook.toml
# 然后手动从 docs/standards/playbook/templates/ 复制所需配置到项目根目录
```
## 与 playbook 其他部分的关系
@@ -202,7 +213,8 @@ playbook/
├── docs/ # 权威静态文档
├── templates/ # 本目录:项目架构模板 → 部署到 memory-bank/ 等
└── scripts/
── playbook.py # 统一入口:vendor/sync_templates/sync_standards/...
── playbook.py # 统一入口:vendor/sync_templates/sync_standards/...
└── plan_progress.py # Plan 选择与进度记录
```
## 完整部署流程
@@ -218,4 +230,4 @@ python docs/standards/playbook/scripts/playbook.py -config playbook.toml
---
**最后更新**2026-01-21
**最后更新**2026-01-26