🔧 chore(playbook): split sync_templates into sections
This commit is contained in:
+50
-19
@@ -37,16 +37,25 @@ templates/
|
||||
|
||||
## 快速部署
|
||||
|
||||
使用统一入口 `playbook.py`:
|
||||
使用统一入口 `playbook.py`,配置节存在即启用:
|
||||
|
||||
```toml
|
||||
# playbook.toml
|
||||
[playbook]
|
||||
project_root = "/path/to/project"
|
||||
|
||||
[sync_templates]
|
||||
# 同步 AGENT_RULES.md(配置节存在即启用)
|
||||
[sync_rules]
|
||||
# force = true # 可选,强制覆盖已存在的文件
|
||||
|
||||
# 同步 memory-bank/(配置节存在即启用)
|
||||
[sync_memory_bank]
|
||||
project_name = "MyProject"
|
||||
full = false
|
||||
# force = true # 可选,强制覆盖(会先备份)
|
||||
|
||||
# 同步 docs/prompts/(配置节存在即启用)
|
||||
[sync_prompts]
|
||||
# force = true # 可选,强制覆盖(会先备份)
|
||||
```
|
||||
|
||||
```bash
|
||||
@@ -55,14 +64,37 @@ python docs/standards/playbook/scripts/playbook.py -config playbook.toml
|
||||
|
||||
参数说明见 `playbook.toml.example`(仓库根目录)或 vendoring 后的 `docs/standards/playbook/playbook.toml.example`。
|
||||
|
||||
### 部署行为
|
||||
### 配置节说明
|
||||
|
||||
- **新项目**:创建完整的 AGENTS.md、AGENT_RULES.md、memory-bank/、docs/prompts/
|
||||
- **已有 AGENTS.md**:
|
||||
- 默认:追加路由链接(`<!-- playbook:templates:start/end -->`)
|
||||
- `full = true`:追加完整框架(规则优先级 + 路由 + 新会话开始时)
|
||||
- **其他文件**:如果已存在则跳过(使用 `force = true` 覆盖)
|
||||
- **占位符替换**:自动替换 `{{DATE}}` 为当前日期
|
||||
| 配置节 | 部署内容 | 选项 |
|
||||
| -------------------- | -------------- | ----------------------- |
|
||||
| `[sync_rules]` | AGENT_RULES.md | `force` |
|
||||
| `[sync_memory_bank]` | memory-bank/ | `project_name`, `force` |
|
||||
| `[sync_prompts]` | docs/prompts/ | `force` |
|
||||
|
||||
- **配置节存在即启用**:只写需要同步的配置节
|
||||
- **AGENTS.md**:始终按区块更新(`<!-- playbook:xxx:start/end -->`),不受配置节控制
|
||||
- **force**:默认 false,已存在则跳过;设为 true 时强制覆盖(memory-bank/ 和 prompts/ 会先备份)
|
||||
- **占位符替换**:自动替换 `{{DATE}}`、`{{PLAYBOOK_SCRIPTS}}` 等
|
||||
|
||||
### 典型场景
|
||||
|
||||
```toml
|
||||
# 场景 1:初次部署(全部)
|
||||
[sync_rules]
|
||||
[sync_memory_bank]
|
||||
project_name = "MyProject"
|
||||
[sync_prompts]
|
||||
|
||||
# 场景 2:框架升级(只更新规则)
|
||||
[sync_rules]
|
||||
force = true
|
||||
|
||||
# 场景 3:重置项目上下文
|
||||
[sync_memory_bank]
|
||||
project_name = "MyProject"
|
||||
force = true
|
||||
```
|
||||
|
||||
### 部署后的目录结构
|
||||
|
||||
@@ -99,9 +131,8 @@ project/
|
||||
| `{{PLAYBOOK_SCRIPTS}}` | 脚本路径 | ✅ 是 |
|
||||
| 其他 `{{...}}` | 项目特定内容 | ❌ 手动 |
|
||||
|
||||
`{{PROJECT_NAME}}` 可通过 `sync_templates.project_name` 自动替换;未配置时保持原样。
|
||||
`{{MAIN_LANGUAGE}}` 可通过 `sync_templates.main_language` 或 `sync_standards.langs[0]` 自动替换;
|
||||
未配置时默认 `tsl`。
|
||||
`{{PROJECT_NAME}}` 可通过 `sync_memory_bank.project_name` 自动替换;未配置时保持原样。
|
||||
`{{MAIN_LANGUAGE}}` 可通过 `sync_standards.langs[0]` 自动替换;未配置时默认 `tsl`。
|
||||
`{{PLAYBOOK_SCRIPTS}}` 自动替换为 Playbook 脚本路径(默认 `docs/standards/playbook/scripts`)。
|
||||
|
||||
## 模板说明
|
||||
@@ -170,11 +201,11 @@ project/
|
||||
|
||||
**playbook 标记**(用于自动更新):
|
||||
|
||||
| 标记 | 用途 | 管理入口 |
|
||||
| --------------------------------------- | --------------------- | ------------------------------ |
|
||||
| `<!-- playbook:agents:start/end -->` | 语言规则链接 | playbook.py `[sync_standards]` |
|
||||
| `<!-- playbook:templates:start/end -->` | 路由链接(默认追加) | playbook.py `[sync_templates]` |
|
||||
| `<!-- playbook:framework:start/end -->` | 完整框架(full 追加) | playbook.py `[sync_templates]` |
|
||||
| 标记 | 用途 | 说明 |
|
||||
| --------------------------------------- | ------------ | -------------------------- |
|
||||
| `<!-- playbook:agents:start/end -->` | 语言规则链接 | 由 `[sync_standards]` 管理 |
|
||||
| `<!-- playbook:templates:start/end -->` | 路由链接 | AGENTS.md 始终按区块更新 |
|
||||
| `<!-- playbook:framework:start/end -->` | 完整框架 | AGENTS.md 始终按区块更新 |
|
||||
|
||||
### ci/、cpp/、python/
|
||||
|
||||
@@ -213,7 +244,7 @@ playbook/
|
||||
├── docs/ # 权威静态文档
|
||||
├── templates/ # 本目录:项目架构模板 → 部署到 memory-bank/ 等
|
||||
└── scripts/
|
||||
├── playbook.py # 统一入口:vendor/sync_templates/sync_standards/...
|
||||
├── playbook.py # 统一入口:vendor/sync_rules/sync_memory_bank/sync_prompts/sync_standards/...
|
||||
└── plan_progress.py # Plan 选择与进度记录
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user