feat(playbook): add install_mode deployment config

BREAKING CHANGE: [vendor] and playbook.deploy_root are no longer supported. Use [playbook].install_mode and playbook.playbook_root instead.
This commit is contained in:
csh
2026-06-01 10:49:16 +08:00
parent 2c3a559a30
commit f2ab57b39f
15 changed files with 376 additions and 184 deletions
+16 -13
View File
@@ -82,6 +82,8 @@ templates/
# playbook.toml
[playbook]
project_root = "/path/to/project"
playbook_root = "docs/standards/playbook"
install_mode = "snapshot"
# 同步 AGENT_RULES.md(配置节存在即启用)
[sync_rules]
@@ -98,15 +100,15 @@ project_name = "MyProject"
```
```bash
python <deploy_root>/scripts/playbook.py -config playbook.toml
python <playbook_root>/scripts/playbook.py -config playbook.toml
```
参数说明见 `playbook.toml.example`(仓库根目录)或项目内的
`<deploy_root>/playbook.toml.example`
`<playbook_root>/playbook.toml.example`
其中 `<deploy_root>` 默认为 `docs/standards/playbook`
其中 `<playbook_root>` 默认为 `docs/standards/playbook`
也可以按项目配置改成 `custom/playbook` 等自定义目录;
对应文档入口会变成 `<deploy_root>/docs/...`
对应文档入口会变成 `<playbook_root>/docs/...`
如果你当前是在 **外部 clone 的 playbook 仓库** 中执行,而不是在目标项目内执行快照,请使用:
@@ -114,8 +116,8 @@ python <deploy_root>/scripts/playbook.py -config playbook.toml
python scripts/playbook.py -config playbook.toml
```
此时 `[vendor]` 会把快照写入 `<project_root>/<deploy_root>`
后续再在目标项目内使用 `<deploy_root>/scripts/playbook.py`
此时 `install_mode = "snapshot"` 会把快照写入 `<project_root>/<playbook_root>`
后续再在目标项目内使用 `<playbook_root>/scripts/playbook.py`
做同步更新。
### 配置节说明
@@ -296,8 +298,7 @@ project/
### ci/、cpp/、python/
语言和 CI 配置模板。通过 playbook.py 的 `[vendor]`
复制到快照中:
语言和 CI 配置模板。`install_mode = "snapshot"` 安装快照时会复制这些模板:
- `ci/gitea/`Gitea Actions 工作流与辅助脚本。
部署到快照 `templates/ci/`
@@ -307,7 +308,7 @@ project/
- `python/``pyproject.toml``.editorconfig` 等文件。
部署到快照 `templates/python/`
> 注意:这些模板通过 `[vendor]` 复制到快照的 `templates/` 目录,需手动从快照复制到项目根目录使用。
> 注意:这些模板复制到快照的 `templates/` 目录,需手动从快照复制到项目根目录使用。
> 其中 `ci/gitea/` 应按 `templates/ci/README.md` 的说明,整块复制 `.gitea/` 目录,而不只是复制 workflows。
**使用方式**
@@ -316,14 +317,16 @@ project/
# playbook.toml - 生成包含这些模板的快照
[playbook]
project_root = "/path/to/project"
playbook_root = "docs/standards/playbook"
install_mode = "snapshot"
[vendor]
[sync_standards]
langs = ["tsl", "cpp", "python"]
```
```bash
python scripts/playbook.py -config playbook.toml
# 然后手动从 <deploy_root>/templates/ 复制所需配置到项目根目录
# 然后手动从 <playbook_root>/templates/ 复制所需配置到项目根目录
```
## 与 playbook 其他部分的关系
@@ -335,14 +338,14 @@ playbook/
├── docs/ # 权威静态文档
├── templates/ # 本目录:项目架构模板 → 部署到 memory-bank/ 等
└── scripts/
└── playbook.py # 统一入口:vendor / sync_*
└── playbook.py # 统一入口:snapshot install / sync_*
```
## 完整部署流程
```bash
# 1. 准备配置并执行统一入口
python <deploy_root>/scripts/playbook.py -config playbook.toml
python <playbook_root>/scripts/playbook.py -config playbook.toml
# 2. 编辑 memory-bank/*.md 填写项目信息