✨ 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:
+16
-13
@@ -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 填写项目信息
|
||||
|
||||
|
||||
Reference in New Issue
Block a user