# 项目架构模板 本目录包含以 `superpowers` 为基石的项目模板,用于快速初始化新项目的 AI 代理工作环境。 ## 目录结构 ```text templates/ ├── README.md # 本文件 ├── AGENTS.template.md # 入口导航模板 ├── AGENT_RULES.template.md # superpowers-first 执行规则模板 ├── memory-bank/ # 项目上下文模板 │ ├── project-brief.template.md │ ├── tech-context.template.md │ ├── system-patterns.template.md │ ├── active-context.template.md │ ├── progress.template.md │ └── decisions.template.md ├── prompts/ # 任务入口模板(不是流程权威) │ ├── README.md │ ├── system/ │ │ └── agent-behavior.template.md │ ├── coding/ │ │ ├── clarify.template.md │ │ ├── verify-change.template.md │ │ ├── close-task.template.md │ │ ├── update-memory.template.md │ │ └── code-review.template.md ├── ci/ # CI 模板 │ ├── README.md │ └── gitea/ │ └── .gitea/ │ ├── workflows/ │ └── ci/ ├── cpp/ # C++ 配置模板 │ ├── .clang-format │ ├── .clangd │ └── ... └── python/ # Python 配置模板 ├── .editorconfig ├── pyproject.toml └── ... ``` ## 文件分类 从部署角度看,本目录的文件分成三类: - **会同步更新的框架模板** - `AGENT_RULES.md` - `docs/prompts/README.md` - `docs/prompts/system/*.md` - `docs/prompts/coding/*.md` - `AGENTS.md`、`CLAUDE.md`(按 playbook 区块更新) - **首次创建后由项目维护的上下文文件** - `memory-bank/*.md` - `AGENT_RULES.local.md` - **只保留在快照中参考的模板** - `ci/` - `cpp/` - `python/` 补充说明: - `memory-bank/*.md` 首次创建后应由项目填写;`force=true` 会覆盖已填写内容并先备份。 - `AGENT_RULES.local.md` 由 `[sync_rules]` 首次自动创建, 后续不再覆盖。 - `docs/prompts/custom/` 和项目新增的 `docs/prompts/**/*` 不会被 playbook 删除。 - `CLAUDE.md` 如已有 playbook 区块则更新;如未引用 `@AGENTS.md` 则追加;如已手工引用 `@AGENTS.md` 则跳过。 - 流程约束统一收敛到 `AGENT_RULES.md`;`docs/prompts/` 只负责把代理导向正确的任务入口。 ## 快速部署 以下命令假设 **playbook 已经部署到项目内**,使用统一入口 `playbook.py`,配置节存在即启用: ```toml # playbook.toml [playbook] project_root = "/path/to/project" playbook_root = "docs/standards/playbook" install_mode = "snapshot" # 同步 AGENT_RULES.md(配置节存在即启用) [sync_rules] # force = true # 可选,强制覆盖已存在的文件 # 同步 memory-bank/(配置节存在即启用) [sync_memory_bank] project_name = "MyProject" # force = true # 可选,强制覆盖(会先备份) # 同步 docs/prompts/(配置节存在即启用) [sync_prompts] # force = true # 可选,强制覆盖(会先备份) ``` ```bash python /scripts/playbook.py -config playbook.toml ``` 参数说明见 `playbook.toml.example`(仓库根目录)或项目内的 `/playbook.toml.example`。 其中 `` 默认为 `docs/standards/playbook`, 也可以按项目配置改成 `custom/playbook` 等自定义目录; 对应文档入口会变成 `/docs/...`。 如果你当前是在 **外部 clone 的 playbook 仓库** 中执行,而不是在目标项目内执行快照,请使用: ```bash python scripts/playbook.py -config playbook.toml ``` 此时 `install_mode = "snapshot"` 会把快照写入 `/`; 后续再在目标项目内使用 `/scripts/playbook.py` 做同步更新。 ### 配置节说明 - `[sync_rules]`:部署 `AGENT_RULES.md`;必要时创建 `.local.md`。 选项:`force`、`no_backup`、`date` - `[sync_memory_bank]`:部署 `memory-bank/`。 选项:`project_name`、`force`、`no_backup`、`date` - `[sync_prompts]`:部署 `docs/prompts/`。 选项:`force`、`no_backup`、`date` - `[sync_standards]`:部署 `.agents//`。 选项:`langs`、`gitattr_mode`、`no_backup` - `[install_skills]`:部署到 `~/.agents/skills/` 或 `~/.claude/skills/`。 选项:`mode`、`skills`、`agents_home`、`skill_link`、 `no_backup` - **配置节存在即启用**:只写需要同步的配置节 - **AGENTS.md**:始终按区块更新(``),不受配置节控制 - **CLAUDE.md**:自动检测/创建;如已存在 playbook 区块则更新,如未引用 `@AGENTS.md` 则追加,否则跳过 - **force**:默认 false,已存在则跳过;设为 true 时覆盖框架文件(会先备份) - **no_backup**:默认 false;设为 true 时跳过备份直接覆盖 - **不删除项目文件**:只更新框架提供的文件,项目新增的文件不会被删除 - **占位符替换**:自动替换 `{{DATE}}`、`{{PROJECT_NAME}}`、`{{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 ``` ### docs/superpowers 命名约定 `docs/superpowers/` 统一承载设计稿和实施计划: - 设计只落到 `specs/` - 计划只落到 `plans/` - 执行状态只写回 `memory-bank/progress.md` 为与 thirdparty `superpowers` 上游当前工作流对齐,建议统一使用: - `docs/superpowers/specs/YYYY-MM-DD--design.md`: `brainstorming` 产出的设计稿 - `docs/superpowers/plans/YYYY-MM-DD-.md`: `writing-plans` 产出的实施计划 其中 `plans/` 为主执行入口;`specs/` 只作为设计背景和上游文档。 ### 生命周期总览 完整主链只在 `AGENT_RULES.template.md` 定义;本文件不重复展开。 这里仅说明职责分层: - `docs/prompts/`:任务入口层,只负责把代理导向正确入口 - `docs/superpowers/specs/`:设计稿 - `docs/superpowers/plans/`:实施计划与主执行输入 - `memory-bank/progress.md`:执行状态留痕 ### 部署后的目录结构 ```text project/ ├── AGENTS.md # 入口导航(Codex 入口) ├── AGENT_RULES.md # superpowers-first 执行规则 ├── AGENT_RULES.local.md # 项目私有规则(自动创建,项目维护) ├── CLAUDE.md # Claude Code 入口(按规则维护/追加 playbook 区块) ├── memory-bank/ # 项目上下文 │ ├── project-brief.md │ ├── tech-context.md │ ├── system-patterns.md │ ├── active-context.md │ ├── progress.md │ └── decisions.md └── docs/ ├── prompts/ # 任务入口层 │ ├── README.md │ ├── system/agent-behavior.md │ └── coding/ │ ├── clarify.md │ ├── verify-change.md │ ├── close-task.md │ ├── update-memory.md │ └── code-review.md └── superpowers/ ├── specs/ # brainstorming 产物 └── plans/ # writing-plans / main_loop 消费 ``` ## 占位符说明 模板中使用 `{{PLACEHOLDER}}` 格式的占位符,需要替换为实际值: | 占位符 | 说明 | 自动替换 | | ------------------------- | ------------ | -------- | | `{{DATE}}` | 日期 | ✅ 是 | | `{{PROJECT_NAME}}` | 项目名称 | ✅ 可选 | | `{{PROJECT_GOAL}}` | 项目目标 | ❌ 手动 | | `{{PROJECT_DESCRIPTION}}` | 项目描述 | ❌ 手动 | | `{{PLAYBOOK_SCRIPTS}}` | 脚本路径 | ✅ 是 | | 其他 `{{...}}` | 项目特定内容 | ❌ 手动 | `{{PROJECT_NAME}}` 可通过 `sync_memory_bank.project_name` 自动替换; 未配置时保持原样。 `{{PLAYBOOK_SCRIPTS}}` 自动替换为 Playbook 脚本路径 (默认 `docs/standards/playbook/scripts`, 也可按项目配置改成 `custom/playbook/scripts` 等)。 ## 模板说明 ### memory-bank/ 项目上下文文档,用于让 AI 快速理解项目: | 文件 | 用途 | | ----------------------------- | -------------------------- | | `project-brief.template.md` | 项目定位、边界、约束 | | `tech-context.template.md` | 技术上下文、工具链、入口 | | `system-patterns.template.md` | 系统模式、边界、不变量 | | `active-context.template.md` | 当前目标、最近变更、下一步 | | `progress.template.md` | 人类摘要 + Plan 状态块 | | `decisions.template.md` | 架构决策记录(ADR) | ### prompts/ 任务入口模板(部署后去掉 `.template` 后缀): 其中 `templates/prompts/README.md` 部署后对应 `docs/prompts/README.md`, 作为任务入口索引。 | 文件 | 用途 | 使用场景 | | ----------------------------------- | ------------ | ------------------- | | `system/agent-behavior.template.md` | 入口路由模板 | 选择执行路径 | | `coding/clarify.template.md` | 需求澄清模板 | 需求不明确时 | | `coding/verify-change.template.md` | 变更验证模板 | 声称完成前验证 | | `coding/close-task.template.md` | 本轮收尾模板 | 一轮工作结束时 | | `coding/update-memory.template.md` | 回写记忆模板 | 上下文变化后回写 | | `coding/code-review.template.md` | 代码评审入口 | 执行 MR/PR 代码评审 | ### AGENT_RULES.template.md 执行规则模板,定义 AI 的工作循环和约束。 如需项目私有规则,建议维护 `AGENT_RULES.local.md`;该文件通常由 `[sync_rules]` 首次自动创建,其优先级高于 `AGENT_RULES.md`,且后续不会被 `playbook.py` 覆盖。 计划编排与执行细节统一指向 `docs/superpowers/`、 `playbook.py -record-spec/-record-plan` 与 `main_loop.py claim/finish`; 这里仅说明模板职责与部署边界。 ### AGENTS.template.md 入口导航模板,作为项目的主入口。 **设计理念**: - **最小化内容**:只包含导航链接,不包含详细规则 - **结构化导航**:分为核心规则、项目上下文、任务入口三个板块 **playbook 标记**(用于自动更新): - ``:语言规则链接。 由 `[sync_standards]` 管理 - ``:路由链接。 `AGENTS.md` 始终按区块更新 - ``:完整框架。 `AGENTS.md` 始终按区块更新 ### ci/、cpp/、python/ 语言和 CI 配置模板。`install_mode = "snapshot"` 安装快照时会复制这些模板: - `ci/gitea/`:Gitea Actions 工作流与辅助脚本。 部署到快照 `templates/ci/` - `cpp/`:`.clang-format`、`.clangd`、`CMakeLists.txt` 等文件。 部署到快照 `templates/cpp/` - `python/`:`pyproject.toml`、`.editorconfig` 等文件。 部署到快照 `templates/python/` > 注意:这些模板会复制到快照的 `templates/` 目录,需手动从快照复制到项目根目录使用。 > 其中 `ci/gitea/` 应按 `templates/ci/README.md` 的说明,整块复制 `.gitea/` 目录,而不只是复制 workflows。 **使用方式**: ```toml # playbook.toml - 生成包含这些模板的快照 [playbook] project_root = "/path/to/project" playbook_root = "docs/standards/playbook" install_mode = "snapshot" [sync_standards] langs = ["tsl", "cpp", "python"] ``` ```bash python scripts/playbook.py -config playbook.toml # 然后手动从 /templates/ 复制所需配置到项目根目录 ``` ## 与 playbook 其他部分的关系 ```text playbook/ ├── rulesets/ # 语言级硬规则 → 部署到 .agents/ ├── skills/ # 按需加载的技能(thirdparty/ 为第三方同步) ├── docs/ # 权威静态文档 ├── templates/ # 本目录:项目架构模板 → 部署到 memory-bank/ 等 └── scripts/ └── playbook.py # 统一入口:snapshot install / sync_* ``` ## 完整部署流程 ```bash # 1. 准备配置并执行统一入口 python /scripts/playbook.py -config playbook.toml # 2. 编辑 memory-bank/*.md 填写项目信息 # 3. 替换剩余的 {{PLACEHOLDER}} 占位符 ``` --- **最后更新**:2026-05-18