Squashed 'docs/standards/playbook/' changes from b529012..a854534
a854534 ✨ feat(plan_progress): auto-detect env for blocked plans 0d9a8ec 🐛 fix(playbook): honor no_backup for sync 2d401fa ✅ test(templates): update prompts validation e23474e 📝 docs(playbook): update prompts and sync notes 60ff3cd 🐛 fix(playbook): sync templates per file 816f036 ✅ test(playbook): add sync and vendor coverage 625cabb 📝 docs(memory_bank): reformat templates 2554c87 📝 docs(prompts): refresh prompt templates 6774a9d ✨ feat(plan_progress): track plan status in progress.md 73d5c26 🔧 chore(playbook): split sync_templates into sections 278750e ✨ feat(playbook): add plan progress tracking and rules updates 6efd637 🐛 fix(sync): keep agents block blank lines ea00d43 🐛 fix(playbook): support toml without tomllib ab0dd11 📝 docs(playbook): drop docs/plans snapshots 398696c ✨ feat(playbook): merge unified cli d959f80 🎨 style(docs): format markdown b4f712a 🗑️ remove(legacy): drop old scripts and tests 0c4cd0e ✨ feat(actions): add install_skills and format_md 3d1582c ✨ feat(sync): add templates and standards actions 49bbfa1 ✨ feat(vendor): add playbook snapshot generation 8cfcc25 ✨ feat(cli): parse toml config and dispatch actions 05903c3 ✨ feat(cli): add toml config and dispatch order 65d216e ✅ test(cli): add basic playbook cli tests f0bcf54 📝 docs(plans): add unified playbook cli plan 0885309 📝 docs(plans): add unified playbook cli design 3483d8a 🔧 chore(git): ignore .worktrees dir eb75036 🔧 chore(templates): align agent templates and docs efb93f1 📝 docs(playbook): drop todo/confirm mentions 4a85306 🗑️ remove(workflow): drop todo/confirm artifacts 9c5ee9f 🎨 style(markdown): format docs with prettier 5a2925f 🐛 fix(scripts): repair windows script parsing 26a35e0 ✅ test(ci): update required skills list 8df3883 🐛 fix(test): skip external root doc links b067fc1 📦 deps(skills): sync superpowers c03cda0 🔧 chore(ci): sync from origin main 55e05cb 🔧 chore(ci): use superpowers sync script 73c97f3 🔧 chore(ci): centralize superpowers sync 945704f 🔧 chore(ci): add superpowers sync workflow e5d2c93 🗑️ remove(skills): drop duplicate workflows 3ae9708 🐛 fix(ci): update tests for flag-only scripts c44b9aa 🔧 chore(scripts): require flag-driven args e4e1d14 🔧 chore(scripts): unify single-dash options b2eb475 ✅ test(templates): add template coverage fc230b7 🎨 style(markdown): format markdown files 8dc8924 🔧 chore(markdown): add prettier config and usage 2045dd4 ✨ feat(vendor_playbook): add apply-templates option 872d8cf ✨ feat(templates): add sync templates scaffolding 5b1ca45 📝 docs(skills): clarify todo-plan template 054967a ✨ feat(skills): add todo-plan skill cc340f1 🔧 chore(ci): align standards-check workflow template e9de0aa 🔧 chore(ci): drop removed skill check e5dd7d9 🔧 fix(sync): avoid backtick expansion 087b0b9 🔧 chore(sync): align agents block across ps1/bat 9481510 🔧 chore(sync): scope agents block to existing langs b0ca842 🔧 fix(sync): rewrite docs path in agents c98d65c 🔧 chore(sync): rewrite agents docs paths c33611c 🗑️ remove(skills): drop unused skills and update references 2b37860 🎨 style(markdown): format markdown files e3ecd26 📝 docs(tsl): align syntax annotations and examples 37546fe 🐛 fix(playbook): enforce rulesets to agents flow f2df89d 🐛 fix(scripts): include language list in AGENTS.md c0d0737 🐛 fix(playbook): add agents mirror for sync 3b8b99b 🎨 style(markdown): normalize md headings and lists 31f3000 ♻️ refactor(playbook): rename agents template directory to rulesets 11b2bed ✨ feat(markdown): add ruleset and sync support 5b89580 ✅ test(scripts): quiet git init warnings 5822a87 ♻️ refactor(playbook): streamline agents and refresh tsl docs git-subtree-dir: docs/standards/playbook git-subtree-split: a85453439f65b0c0aa05a5bbece773a02216ce76
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# 代理指引
|
||||
|
||||
<!-- playbook:framework:start -->
|
||||
|
||||
## 快速导航
|
||||
|
||||
<!-- playbook:agents:start -->
|
||||
|
||||
请以 `.agents/` 下的规则为准:
|
||||
|
||||
- 入口:`.agents/index.md`
|
||||
- 语言规则:`.agents/{{MAIN_LANGUAGE}}/index.md`
|
||||
<!-- playbook:agents:end -->
|
||||
|
||||
<!-- playbook:templates:start -->
|
||||
|
||||
### 核心规则
|
||||
|
||||
- [AGENT_RULES.md](./AGENT_RULES.md) - 执行流程与优先级
|
||||
|
||||
### 项目上下文
|
||||
|
||||
- [memory-bank/project-brief.md](memory-bank/project-brief.md) - 项目定位
|
||||
- [memory-bank/tech-stack.md](memory-bank/tech-stack.md) - 技术栈
|
||||
- [memory-bank/architecture.md](memory-bank/architecture.md) - 架构设计
|
||||
- [memory-bank/progress.md](memory-bank/progress.md) - 进度追踪
|
||||
- [memory-bank/decisions.md](memory-bank/decisions.md) - 架构决策
|
||||
|
||||
### 工作流程
|
||||
|
||||
- [docs/prompts/coding/clarify.md](docs/prompts/coding/clarify.md) - 需求澄清
|
||||
- [docs/prompts/coding/review.md](docs/prompts/coding/review.md) - 复盘总结
|
||||
- [docs/prompts/system/agent-behavior.md](docs/prompts/system/agent-behavior.md) - 工作模式参考
|
||||
<!-- playbook:templates:end -->
|
||||
|
||||
<!-- playbook:framework:end -->
|
||||
|
||||
---
|
||||
|
||||
**最后更新**:{{DATE}}
|
||||
@@ -0,0 +1,220 @@
|
||||
# AGENT_RULES
|
||||
|
||||
目的:为本仓库提供稳定的执行流程与行为规范。
|
||||
|
||||
## 优先级
|
||||
|
||||
1. 系统/开发者指令与安全约束
|
||||
2. 项目私有规则:`AGENT_RULES.local.md`(如存在)
|
||||
3. 仓库规则:`.agents/` 与 `AGENTS.md`
|
||||
4. 本文件
|
||||
|
||||
## 安全红线
|
||||
|
||||
- 不得在代码/日志/注释中写入明文密钥、密码、Token
|
||||
- 修改鉴权/权限逻辑必须说明动机与风险
|
||||
- 不确定是否敏感时按敏感信息处理
|
||||
- 执行修改文件系统的命令前,必须解释目的和潜在影响
|
||||
|
||||
## 行为准则
|
||||
|
||||
### 项目适应
|
||||
|
||||
- **模仿项目风格**:优先分析周围代码和配置,遵循现有约定
|
||||
- **不假设可用性**:不假设库或框架可用,先验证再使用
|
||||
- **完整完成请求**:不遗漏用户要求的任何部分
|
||||
|
||||
### 技术态度
|
||||
|
||||
- **准确性优先**:技术准确性优先于迎合用户
|
||||
- **诚实纠正**:发现用户理解有误时,礼貌纠正
|
||||
- **先查后答**:不确定时先调查再回答
|
||||
|
||||
### 避免过度工程
|
||||
|
||||
- **只做要求的**:不主动添加未要求的功能或重构
|
||||
- **不过度抽象**:不为一次性操作创建工具函数
|
||||
- **不为未来设计**:不为假设的未来需求设计
|
||||
|
||||
## 沟通原则
|
||||
|
||||
- **简洁直接**:专业、直接、简洁,避免对话填充词
|
||||
- **拒绝时提供替代**:无法满足请求时,简洁说明并提供替代方案
|
||||
- **不给时间估算**:专注任务本身,让用户自己判断时间
|
||||
- **代码块标注语言**:输出代码时标注语言类型
|
||||
- **不使用 emoji**:除非用户明确要求
|
||||
|
||||
## 上下文加载(每次会话开始)
|
||||
|
||||
**必读文档**(按顺序):
|
||||
|
||||
1. `AGENT_RULES.local.md` - 项目私有规则(如存在,优先级高于本文件)
|
||||
2. `.agents/index.md` - 语言规则入口(如存在)
|
||||
3. `memory-bank/project-brief.md` - 项目定位、边界、约束
|
||||
4. `memory-bank/tech-stack.md` - 技术栈、工具链
|
||||
5. `memory-bank/architecture.md` - 架构设计、模块职责
|
||||
6. `memory-bank/decisions.md` - 重要决策记录(如存在)
|
||||
7. `memory-bank/progress.md` - 执行进度与状态(如存在)
|
||||
8. `docs/plans/` - 最新实施计划(如存在)
|
||||
|
||||
**目的**:让 AI 快速理解项目全貌,避免重复解释。
|
||||
|
||||
## 规划与执行分工
|
||||
|
||||
| 阶段 | 工具 | 产出 | 留痕 |
|
||||
| ------------ | ---------------------- | ----------------- | -------------------- |
|
||||
| 头脑风暴 | `$brainstorming` skill | 设计思路 | 无 |
|
||||
| 生成计划 | `$writing-plans` skill | `docs/plans/*.md` | 无 |
|
||||
| **执行计划** | **主循环** | 代码/配置变更 | **plan_progress.py** |
|
||||
|
||||
> **重要**:第三方 skills 不记录操作状态,执行必须通过主循环完成。
|
||||
|
||||
## 主循环
|
||||
|
||||
**触发词**:
|
||||
|
||||
| 触发词 | 模式 | 说明 |
|
||||
| --------------------------------------- | ---------- | ---------------------- |
|
||||
| `执行主循环`、`继续执行`、`下一个 Plan` | 常规模式 | 遇确认场景可询问用户 |
|
||||
| `自动执行所有 Plan` | 无交互模式 | 不询问,按规则自动处理 |
|
||||
|
||||
**Plan 状态**:
|
||||
|
||||
| 状态 | 含义 |
|
||||
| ----------- | ------------------------- |
|
||||
| pending | 待执行 |
|
||||
| in-progress | 执行中(崩溃恢复用) |
|
||||
| done | 已完成 |
|
||||
| blocked | 阻塞(需人工介入) |
|
||||
| skipped | 跳过(Plan 不再需要执行) |
|
||||
|
||||
> 说明:`skipped` 仅用于永久不再执行;如需恢复执行,需手动改回 `pending`。
|
||||
|
||||
**环境阻塞格式**:`blocked: env:<环境>:<Task列表>`
|
||||
|
||||
- 示例:`blocked: env:windows:Task2,Task4`
|
||||
- 含义:需要在指定环境执行列出的 Task
|
||||
- 约束:`Task` 列表使用英文逗号分隔,不要包含空格,便于解析
|
||||
|
||||
**流程**:
|
||||
|
||||
1. 检测环境:
|
||||
- 由 `plan_progress.py` 自动识别当前环境(`windows` / `linux` / `darwin`)
|
||||
2. 选择 Plan:
|
||||
- 运行 `python {{PLAYBOOK_SCRIPTS}}/plan_progress.py select -plans docs/plans -progress memory-bank/progress.md`
|
||||
- 返回第一个可执行的 Plan:
|
||||
- `pending` 或 `in-progress` 的 Plan
|
||||
- `blocked: env:<当前环境>:...` 的 Plan(环境匹配时恢复执行)
|
||||
- 如无可执行 Plan,跳到步骤 7
|
||||
- **注意**:每次 select 会重新扫描 `docs/plans/` 目录,支持动态添加 Plan
|
||||
3. 标记开始:
|
||||
- 运行 `python {{PLAYBOOK_SCRIPTS}}/plan_progress.py record -plan <plan> -status in-progress -progress memory-bank/progress.md`
|
||||
4. 阅读 Plan:
|
||||
- 理解目标、子任务与验证标准
|
||||
- 如果是从 `blocked: env:...` 恢复,只执行列出的 Task
|
||||
5. 逐步执行:
|
||||
- 按顺序执行 Task
|
||||
- 每个 Task 完成后进行必要验证(测试/日志/diff)
|
||||
- **Task 失败处理**:
|
||||
- 环境不匹配(`command not found`、路径不存在)→ 记录该 Task 及所需环境,**继续下一个 Task**
|
||||
- 其他阻塞 → 记录原因,跳到步骤 6 标记 Plan blocked
|
||||
- **安全红线**(明文密钥等)→ 立即停止,不继续后续 Plan
|
||||
- 遇到歧义/风险/决策点:
|
||||
- 常规模式:记录到回复中,可询问用户
|
||||
- 无交互模式:按「需要确认的场景」规则自动处理
|
||||
6. 记录结果:
|
||||
- 全部完成:`... -status done ...`
|
||||
- 有 Task 因环境跳过:`... -status blocked ... -note "env:<所需环境>:<Task列表>"`
|
||||
- 其他阻塞:`... -status blocked ... -note "<原因>"`
|
||||
- 跳过整个 Plan:`... -status skipped ... -note "<原因>"`
|
||||
- 回到步骤 2 继续下一个 Plan
|
||||
7. 汇总报告(所有 Plan 处理完毕后):
|
||||
- 已完成的 Plan
|
||||
- 阻塞/跳过的 Plan 及原因
|
||||
- 需要在其他环境执行的 Plan(`blocked: env:...`)
|
||||
- 待确认的歧义/风险/决策点
|
||||
- 如需记录重要决策,写入 `memory-bank/decisions.md`
|
||||
8. **结束**:主循环终止
|
||||
|
||||
## Plan 规则
|
||||
|
||||
- **Plan Meta 必填**:Plan 头部 `---` 之后、Task 1 之前插入 `## Plan Meta`,包含:
|
||||
- `Plan Group`(归类任务)
|
||||
- `Parent Plan`(上层/集成计划链接)
|
||||
- `Verification Scope`(local 或 integration)
|
||||
- `Verification Gate`(must-pass)
|
||||
- **不允许中断任务**:Plan 中不应包含必然失败或依赖未确认的信息;未确认项必须在 `$brainstorming` 阶段解决后再产出 Plan
|
||||
- **验证必须可通过**:Plan 内验证应为当前阶段可通过的局部验证;需要集成验证的内容放入上层/集成 Plan
|
||||
- 不因等待确认而中断可执行步骤;待确认事项在回复中列出
|
||||
- 每轮只处理一个 Plan
|
||||
- **小步快跑**:每个 Plan 应该可快速完成
|
||||
- **可验证**:每个 Plan 必须包含验证步骤
|
||||
|
||||
## 执行约束
|
||||
|
||||
### 代码修改
|
||||
|
||||
- **必须先读文件再修改**:不读文件就提议修改是禁止的
|
||||
- **必须运行测试验证**:相关测试必须通过
|
||||
- **遵循换行规则**:遵循 `.gitattributes` 规则
|
||||
- **命名一致性**:遵循项目现有的命名风格
|
||||
- **最小改动原则**:只修改必要的部分,不顺手重构
|
||||
|
||||
### 决策记录
|
||||
|
||||
- **重要决策**:记录到 `memory-bank/decisions.md`(ADR 格式)
|
||||
- **待确认事项**:在回复中列出并等待确认
|
||||
- **进度留痕**:通过 `{{PLAYBOOK_SCRIPTS}}/plan_progress.py` 维护 `memory-bank/progress.md` 的 Plan 状态块(唯一权威)
|
||||
|
||||
### Git 操作
|
||||
|
||||
- **不使用 --amend**:除非用户明确要求,总是创建新提交
|
||||
- **不使用 --force**:特别是推送到 main/master,如用户要求必须警告风险
|
||||
- **不跳过 hooks**:不使用 `--no-verify`
|
||||
|
||||
## 工具使用
|
||||
|
||||
- **并行执行**:独立的工具调用尽可能并行执行
|
||||
- **遵循 schema**:严格遵循工具参数定义
|
||||
- **避免循环**:避免重复调用同一工具获取相同信息
|
||||
- **优先专用工具**:文件操作用 Read/Edit/Write,搜索用 Grep/Glob
|
||||
|
||||
## 需要确认的场景
|
||||
|
||||
**常规模式**(可交互):
|
||||
|
||||
- 需求不明确或存在多种可行方案
|
||||
- 需要行为/兼容性取舍
|
||||
- 风险或约束冲突
|
||||
- **架构变更**:影响多个模块的修改
|
||||
- **性能权衡**:需要在性能和可维护性之间选择
|
||||
- **兼容性问题**:可能破坏现有用户代码
|
||||
|
||||
**无交互模式**(自动处理):
|
||||
|
||||
| 场景 | 处理方式 |
|
||||
| -------------------------- | ---------------------------------- |
|
||||
| 安全红线 | 立即停止,不继续后续 Plan |
|
||||
| 架构变更/兼容性/破坏性修改 | 标记 blocked,跳到下一个 Plan |
|
||||
| 多种可行方案 | 选择最保守方案,记录选择理由到报告 |
|
||||
| 歧义/风险/决策点 | 记录到报告,继续执行 |
|
||||
|
||||
**可以不确认**(两种模式通用):
|
||||
|
||||
- 明显的 bug 修复
|
||||
- 符合现有模式的小改动
|
||||
- 测试用例补充
|
||||
|
||||
## 验证清单
|
||||
|
||||
每个 Plan 完成后,必须验证:
|
||||
|
||||
- [ ] 代码修改符合 `.agents/` 下的规则(如有)
|
||||
- [ ] 相关测试通过(如有测试且未被豁免)
|
||||
- [ ] 换行符正确
|
||||
- [ ] 无语法错误
|
||||
- [ ] 已通过 `plan_progress.py` 记录 Plan 状态
|
||||
|
||||
---
|
||||
|
||||
**最后更新**:{{DATE}}
|
||||
@@ -0,0 +1,321 @@
|
||||
# 项目架构模板
|
||||
|
||||
本目录包含项目架构的模板文件,用于快速初始化新项目的 AI 代理工作环境。
|
||||
|
||||
## 目录结构
|
||||
|
||||
```text
|
||||
templates/
|
||||
├── README.md # 本文件
|
||||
├── AGENTS.template.md # 路由中心模板
|
||||
├── AGENT_RULES.template.md # 执行流程模板
|
||||
├── memory-bank/ # 项目上下文模板
|
||||
│ ├── project-brief.template.md
|
||||
│ ├── tech-stack.template.md
|
||||
│ ├── architecture.template.md
|
||||
│ ├── progress.template.md
|
||||
│ └── decisions.template.md
|
||||
├── prompts/ # 提示词库模板
|
||||
│ ├── README.md
|
||||
│ ├── system/
|
||||
│ │ └── agent-behavior.template.md
|
||||
│ ├── coding/
|
||||
│ │ ├── clarify.template.md
|
||||
│ │ └── review.template.md
|
||||
│ └── meta/
|
||||
│ └── prompt-generator.template.md
|
||||
├── ci/ # CI 模板
|
||||
│ └── gitea/
|
||||
│ └── .gitea/workflows/
|
||||
├── cpp/ # C++ 配置模板
|
||||
│ ├── .clang-format
|
||||
│ ├── .clangd
|
||||
│ └── ...
|
||||
└── python/ # Python 配置模板
|
||||
├── .editorconfig
|
||||
├── pyproject.toml
|
||||
└── ...
|
||||
```
|
||||
|
||||
## 文件分类
|
||||
|
||||
从部署角度,文件分为四类:
|
||||
|
||||
| 类型 | 说明 | 部署行为 |
|
||||
|------|------|----------|
|
||||
| **框架模板** | playbook 提供,可随框架升级 | 可覆盖更新 |
|
||||
| **项目上下文** | 首次部署后项目填写 | 首次创建,后续保护 |
|
||||
| **项目私有** | 项目手动创建 | 不部署 |
|
||||
| **参考资料** | 留在 playbook 快照中参考 | 不部署到项目根 |
|
||||
|
||||
### 框架模板(A类)
|
||||
|
||||
```
|
||||
AGENT_RULES.md
|
||||
AGENTS.md(区块更新)
|
||||
docs/prompts/system/*.md # 框架提供
|
||||
docs/prompts/coding/*.md # 框架提供
|
||||
docs/prompts/meta/*.md # 框架提供
|
||||
```
|
||||
|
||||
### 项目上下文(B类)
|
||||
|
||||
```
|
||||
memory-bank/
|
||||
├── project-brief.md
|
||||
├── tech-stack.md
|
||||
├── architecture.md
|
||||
├── progress.md
|
||||
└── decisions.md
|
||||
```
|
||||
|
||||
> ⚠️ B类文件首次创建后应由项目填写。`force=true` 会覆盖已填写内容(自动备份)。
|
||||
|
||||
### 项目私有(C类,不部署)
|
||||
|
||||
```
|
||||
AGENT_RULES.local.md # 项目私有规则
|
||||
docs/plans/ # 项目实施计划
|
||||
docs/prompts/custom/ # 项目自定义提示词
|
||||
docs/prompts/**/* # 项目新增的文件不会被删除
|
||||
```
|
||||
|
||||
### 参考资料(D类,不部署到项目根)
|
||||
|
||||
```
|
||||
# 留在 docs/standards/playbook/templates/ 中参考
|
||||
ci/ # CI 配置
|
||||
cpp/ # C++ 配置
|
||||
python/ # Python 配置
|
||||
```
|
||||
|
||||
## 快速部署
|
||||
|
||||
使用统一入口 `playbook.py`,配置节存在即启用:
|
||||
|
||||
```toml
|
||||
# playbook.toml
|
||||
[playbook]
|
||||
project_root = "/path/to/project"
|
||||
|
||||
# 同步 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 docs/standards/playbook/scripts/playbook.py -config playbook.toml
|
||||
```
|
||||
|
||||
参数说明见 `playbook.toml.example`(仓库根目录)或 vendoring 后的 `docs/standards/playbook/playbook.toml.example`。
|
||||
|
||||
### 配置节说明
|
||||
|
||||
| 配置节 | 部署内容 | 选项 |
|
||||
| -------------------- | -------------- | ----------------------- |
|
||||
| `[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 时覆盖框架文件(会先备份)
|
||||
- **不删除项目文件**:只更新框架提供的文件,项目新增的文件不会被删除
|
||||
- **占位符替换**:自动替换 `{{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
|
||||
```
|
||||
|
||||
### 部署后的目录结构
|
||||
|
||||
```text
|
||||
project/
|
||||
├── AGENTS.md # 路由中心(主入口)
|
||||
├── AGENT_RULES.md # 执行流程
|
||||
├── AGENT_RULES.local.md # 项目私有规则(可选,手动维护)
|
||||
├── memory-bank/ # 项目上下文
|
||||
│ ├── project-brief.md
|
||||
│ ├── tech-stack.md
|
||||
│ ├── architecture.md
|
||||
│ ├── progress.md
|
||||
│ └── decisions.md
|
||||
└── docs/prompts/ # 提示词库
|
||||
├── README.md
|
||||
├── system/agent-behavior.md
|
||||
├── coding/
|
||||
│ ├── clarify.md
|
||||
│ └── review.md
|
||||
└── meta/prompt-generator.md
|
||||
```
|
||||
|
||||
## 占位符说明
|
||||
|
||||
模板中使用 `{{PLACEHOLDER}}` 格式的占位符,需要替换为实际值:
|
||||
|
||||
| 占位符 | 说明 | 自动替换 |
|
||||
| ------------------------- | ------------ | -------- |
|
||||
| `{{DATE}}` | 日期 | ✅ 是 |
|
||||
| `{{PROJECT_NAME}}` | 项目名称 | ✅ 可选 |
|
||||
| `{{PROJECT_GOAL}}` | 项目目标 | ❌ 手动 |
|
||||
| `{{PROJECT_DESCRIPTION}}` | 项目描述 | ❌ 手动 |
|
||||
| `{{MAIN_LANGUAGE}}` | 主语言 | ✅ 可选 |
|
||||
| `{{PLAYBOOK_SCRIPTS}}` | 脚本路径 | ✅ 是 |
|
||||
| 其他 `{{...}}` | 项目特定内容 | ❌ 手动 |
|
||||
|
||||
`{{PROJECT_NAME}}` 可通过 `sync_memory_bank.project_name` 自动替换;未配置时保持原样。
|
||||
`{{MAIN_LANGUAGE}}` 可通过 `sync_standards.langs[0]` 自动替换;未配置时默认 `tsl`。
|
||||
`{{PLAYBOOK_SCRIPTS}}` 自动替换为 Playbook 脚本路径(默认 `docs/standards/playbook/scripts`)。
|
||||
|
||||
## 模板说明
|
||||
|
||||
### memory-bank/
|
||||
|
||||
项目上下文文档,用于让 AI 快速理解项目:
|
||||
|
||||
| 文件 | 用途 |
|
||||
| --------------------------- | -------------------- |
|
||||
| `project-brief.template.md` | 项目定位、边界、约束 |
|
||||
| `tech-stack.template.md` | 技术栈、工具链、环境 |
|
||||
| `architecture.template.md` | 架构设计、模块职责 |
|
||||
| `progress.template.md` | 开发进度追踪 |
|
||||
| `decisions.template.md` | 架构决策记录(ADR) |
|
||||
|
||||
### prompts/
|
||||
|
||||
工作流程模板(部署后去掉 `.template` 后缀):
|
||||
|
||||
| 文件 | 用途 | 使用场景 |
|
||||
| ----------------------------------- | -------------- | ---------------------- |
|
||||
| `system/agent-behavior.template.md` | 工作模式参考 | 切换探索/开发/调试模式 |
|
||||
| `coding/clarify.template.md` | 需求澄清模板 | 需求不明确时 |
|
||||
| `coding/review.template.md` | 复盘总结模板 | Plan 完成后复盘 |
|
||||
| `meta/prompt-generator.template.md` | 元提示词生成器 | 创建新的专用提示词 |
|
||||
|
||||
### AGENT_RULES.template.md
|
||||
|
||||
执行流程规范,定义 AI 的工作循环和约束。
|
||||
如需项目私有规则,建议创建 `AGENT_RULES.local.md`,其优先级高于 `AGENT_RULES.md`,
|
||||
且不会被 `playbook.py` 覆盖。
|
||||
主循环会根据 `memory-bank/progress.md` 的 Plan 状态清单,
|
||||
自动选择第一个 pending 的 Plan,并要求通过 `scripts/plan_progress.py` 写入状态。
|
||||
|
||||
### 示例:不跑测试的计划提示词
|
||||
|
||||
当你需要修改代码但暂时不运行测试时,可用以下提示词生成“可执行且不失败”的实施计划:
|
||||
|
||||
```text
|
||||
你是 Codex。先使用 $brainstorming。
|
||||
目标:修改 <模块/功能>,细节如下:<你的需求>
|
||||
约束:
|
||||
- 不跑任何测试(test/ci),但允许做可通过的局部验证(格式化/静态检查/人工 diff)。
|
||||
- Plan 不能包含任何必然失败或未确认的任务;所有依赖必须在 brainstorming 阶段确认清楚。
|
||||
- 采用 writing-plans 的固定头部格式,且在 `---` 之后追加 `## Plan Meta`:
|
||||
- Plan Group: <X>
|
||||
- Parent Plan: <docs/plans/...-design.md>
|
||||
- Verification Scope: local
|
||||
- Verification Gate: must-pass
|
||||
|
||||
流程:
|
||||
1) 先完成 brainstorming,并输出设计文档 `docs/plans/YYYY-MM-DD-<topic>-design.md`。
|
||||
2) 询问我“是否进入 `docs/plans/` 实施计划编写阶段”,确认后使用 writing-plans 生成实现计划。
|
||||
3) 实现计划内明确标注每步要改的文件与命令;验证步骤只包含可通过的局部验证,不包含测试。
|
||||
4) 执行计划并更新 `memory-bank/progress.md`。
|
||||
```
|
||||
|
||||
### AGENTS.template.md
|
||||
|
||||
路由中心模板,作为项目的主入口。
|
||||
|
||||
**设计理念**:
|
||||
|
||||
- **最小化内容**:只包含导航链接,不包含详细规则
|
||||
- **结构化导航**:分为核心规则、项目上下文、工作流程三个板块
|
||||
|
||||
**playbook 标记**(用于自动更新):
|
||||
|
||||
| 标记 | 用途 | 说明 |
|
||||
| --------------------------------------- | ------------ | -------------------------- |
|
||||
| `<!-- playbook:agents:start/end -->` | 语言规则链接 | 由 `[sync_standards]` 管理 |
|
||||
| `<!-- playbook:templates:start/end -->` | 路由链接 | AGENTS.md 始终按区块更新 |
|
||||
| `<!-- playbook:framework:start/end -->` | 完整框架 | AGENTS.md 始终按区块更新 |
|
||||
|
||||
### ci/、cpp/、python/
|
||||
|
||||
语言和 CI 配置模板。通过 playbook.py 的 `[vendor]` 复制到快照中:
|
||||
|
||||
| 目录 | 内容 | 部署位置 |
|
||||
| ----------- | ----------------------------------------- | ------------------------ |
|
||||
| `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]
|
||||
project_root = "/path/to/project"
|
||||
|
||||
[vendor]
|
||||
langs = ["tsl", "cpp", "python"]
|
||||
```
|
||||
|
||||
```bash
|
||||
python scripts/playbook.py -config playbook.toml
|
||||
# 然后手动从 docs/standards/playbook/templates/ 复制所需配置到项目根目录
|
||||
```
|
||||
|
||||
## 与 playbook 其他部分的关系
|
||||
|
||||
```text
|
||||
playbook/
|
||||
├── rulesets/ # 语言级硬规则 → 部署到 .agents/
|
||||
├── codex/skills/ # 按需加载的技能
|
||||
├── docs/ # 权威静态文档
|
||||
├── templates/ # 本目录:项目架构模板 → 部署到 memory-bank/ 等
|
||||
└── scripts/
|
||||
├── playbook.py # 统一入口:vendor/sync_rules/sync_memory_bank/sync_prompts/sync_standards/...
|
||||
└── plan_progress.py # Plan 选择与进度记录
|
||||
```
|
||||
|
||||
## 完整部署流程
|
||||
|
||||
```bash
|
||||
# 1. 准备配置并执行统一入口
|
||||
python docs/standards/playbook/scripts/playbook.py -config playbook.toml
|
||||
|
||||
# 2. 编辑 memory-bank/*.md 填写项目信息
|
||||
|
||||
# 3. 替换剩余的 {{PLACEHOLDER}} 占位符
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**最后更新**:2026-01-26
|
||||
@@ -6,6 +6,9 @@
|
||||
|
||||
- `gitea/`:Gitea Actions(GitHub Actions 语法)
|
||||
|
||||
说明:`templates/ci/gitea/.gitea/` 结构用于与目标项目根目录的 `.gitea/`
|
||||
保持一致,便于直接复制到项目根目录。
|
||||
|
||||
## 使用(Gitea Actions)
|
||||
|
||||
前提:目标项目已经 vendoring Playbook(例如 `docs/standards/playbook/`)。
|
||||
|
||||
@@ -1,19 +1,75 @@
|
||||
name: Standards Check
|
||||
name: ✅ Standards Check
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
workflow_dispatch: # 允许手动触发
|
||||
|
||||
concurrency:
|
||||
group: standards-${{ github.repository }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
# ==========================================
|
||||
# 🔧 配置区域 - 标准校验参数
|
||||
# ==========================================
|
||||
env:
|
||||
COMMIT_LINT_REQUIRE_EMOJI: "1"
|
||||
WORKSPACE_DIR: "/home/workspace"
|
||||
|
||||
jobs:
|
||||
commit-message:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Lint commit message / PR title
|
||||
env:
|
||||
COMMIT_LINT_REQUIRE_EMOJI: "1"
|
||||
run: |
|
||||
python3 .gitea/ci/commit_message_lint.py
|
||||
name: 🔍 Commit message lint
|
||||
runs-on: ubuntu-22.04
|
||||
|
||||
steps:
|
||||
- name: 📥 准备仓库
|
||||
run: |
|
||||
echo "========================================"
|
||||
echo "📥 准备仓库到 WORKSPACE_DIR"
|
||||
echo "========================================"
|
||||
|
||||
REPO_NAME="${{ github.event.repository.name }}"
|
||||
REPO_DIR="${{ env.WORKSPACE_DIR }}/$REPO_NAME"
|
||||
TOKEN="${{ secrets.WORKFLOW }}"
|
||||
if [ -n "$TOKEN" ]; then
|
||||
REPO_URL="https://oauth2:${TOKEN}@${GITHUB_SERVER_URL#https://}/${{ github.repository }}.git"
|
||||
else
|
||||
REPO_URL="${GITHUB_SERVER_URL}/${{ github.repository }}.git"
|
||||
fi
|
||||
|
||||
if [ -d "$REPO_DIR" ]; then
|
||||
if [ -d "$REPO_DIR/.git" ]; then
|
||||
cd "$REPO_DIR"
|
||||
git clean -fdx
|
||||
git reset --hard
|
||||
git fetch --all --tags --force --prune --prune-tags
|
||||
else
|
||||
rm -rf "$REPO_DIR"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -d "$REPO_DIR/.git" ]; then
|
||||
mkdir -p "${{ env.WORKSPACE_DIR }}"
|
||||
git clone "$REPO_URL" "$REPO_DIR"
|
||||
cd "$REPO_DIR"
|
||||
fi
|
||||
|
||||
TARGET_SHA="${{ github.sha }}"
|
||||
TARGET_REF="${{ github.ref }}"
|
||||
if git cat-file -e "$TARGET_SHA^{commit}" 2>/dev/null; then
|
||||
git checkout -f "$TARGET_SHA"
|
||||
else
|
||||
if [ -n "$TARGET_REF" ]; then
|
||||
git fetch origin "$TARGET_REF"
|
||||
git checkout -f FETCH_HEAD
|
||||
else
|
||||
git checkout -f "${{ github.ref_name }}"
|
||||
fi
|
||||
fi
|
||||
|
||||
git config --global --add safe.directory "$REPO_DIR"
|
||||
echo "REPO_DIR=$REPO_DIR" >> $GITHUB_ENV
|
||||
- name: 🧪 Lint commit message / PR title
|
||||
run: |
|
||||
cd "$REPO_DIR"
|
||||
python3 .gitea/ci/commit_message_lint.py
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
# 架构设计
|
||||
|
||||
<!--
|
||||
填写指南:
|
||||
- 【必填】:项目启动前必须填写
|
||||
- 【可选】:按需填写,可随项目发展补充
|
||||
- 小项目可只填核心模块,架构图可后补
|
||||
-->
|
||||
|
||||
## 整体架构
|
||||
|
||||
<!-- 【可选】项目成熟后补充 -->
|
||||
|
||||
```txt
|
||||
{{ARCHITECTURE_DIAGRAM}}
|
||||
```
|
||||
|
||||
## 核心模块
|
||||
|
||||
<!-- 【必填】至少列出主要模块 -->
|
||||
|
||||
### {{MODULE_1}}
|
||||
|
||||
**职责**:{{MODULE_1_DESC}}
|
||||
|
||||
## 关键约束
|
||||
|
||||
<!-- 【可选】 -->
|
||||
|
||||
- {{CONSTRAINT_1}}
|
||||
|
||||
## 扩展点
|
||||
|
||||
<!-- 【可选】大项目建议填写 -->
|
||||
|
||||
### {{EXTENSION_1}}
|
||||
|
||||
**步骤**:
|
||||
|
||||
1. {{STEP_1}}
|
||||
|
||||
---
|
||||
|
||||
**最后更新**:{{DATE}}
|
||||
@@ -0,0 +1,33 @@
|
||||
# 架构决策记录
|
||||
|
||||
<!--
|
||||
填写指南:
|
||||
- 本文件记录重要架构决策,使用 ADR 格式
|
||||
- 初始可为空,遇到重要决策时由 AI 或人工添加
|
||||
- 每个决策使用下方模板
|
||||
-->
|
||||
|
||||
## ADR 模板
|
||||
|
||||
```markdown
|
||||
## ADR-XXX: 决策标题
|
||||
|
||||
**日期**: YYYY-MM-DD
|
||||
**状态**: 已采纳 / 已废弃 / 待讨论
|
||||
|
||||
### 决策
|
||||
|
||||
简要描述决策内容
|
||||
|
||||
### 理由
|
||||
|
||||
为什么做出这个决策
|
||||
|
||||
### 影响
|
||||
|
||||
对项目的影响
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**最后更新**:{{DATE}}
|
||||
@@ -0,0 +1,4 @@
|
||||
# Plan 状态
|
||||
|
||||
<!-- plan-status:start -->
|
||||
<!-- plan-status:end -->
|
||||
@@ -0,0 +1,48 @@
|
||||
# {{PROJECT_NAME}} 项目简介
|
||||
|
||||
<!--
|
||||
填写指南:
|
||||
- 【必填】:项目启动前必须填写
|
||||
- 【可选】:按需填写,可随项目发展补充
|
||||
- 未填写的占位符保持原样或删除整行
|
||||
-->
|
||||
|
||||
## 项目定位
|
||||
|
||||
<!-- 【必填】 -->
|
||||
|
||||
**核心目标**:{{PROJECT_GOAL}}
|
||||
|
||||
**一句话描述**:{{PROJECT_DESCRIPTION}}
|
||||
|
||||
## 项目边界
|
||||
|
||||
<!-- 【必填】至少填写"做什么" -->
|
||||
|
||||
### 做什么
|
||||
|
||||
- {{DO_1}}
|
||||
|
||||
### 不做什么
|
||||
|
||||
<!-- 【可选】 -->
|
||||
|
||||
- {{DONT_1}}
|
||||
|
||||
### 约束条件
|
||||
|
||||
<!-- 【可选】 -->
|
||||
|
||||
- {{CONSTRAINT_1}}
|
||||
|
||||
## 核心概念
|
||||
|
||||
<!-- 【可选】项目特有的术语或概念 -->
|
||||
|
||||
## 参考资料
|
||||
|
||||
<!-- 【可选】 -->
|
||||
|
||||
---
|
||||
|
||||
**最后更新**:{{DATE}}
|
||||
@@ -0,0 +1,64 @@
|
||||
# 技术栈与工具链
|
||||
|
||||
<!--
|
||||
填写指南:
|
||||
- 【必填】:项目启动前必须填写
|
||||
- 【可选】:按需填写,可随项目发展补充
|
||||
- 未填写的占位符保持原样或删除整行
|
||||
-->
|
||||
|
||||
## 核心技术
|
||||
|
||||
<!-- 【必填】 -->
|
||||
|
||||
**主语言**:{{MAIN_LANGUAGE}}
|
||||
|
||||
**文件类型**:{{FILE_TYPES}}
|
||||
|
||||
## 项目结构
|
||||
|
||||
<!-- 【必填】 -->
|
||||
|
||||
```text
|
||||
{{PROJECT_NAME}}/
|
||||
├── {{DIR_1}}/ # {{DIR_1_DESC}}
|
||||
└── memory-bank/ # 项目上下文
|
||||
```
|
||||
|
||||
## 开发环境
|
||||
|
||||
<!-- 【必填】至少填写运行测试命令 -->
|
||||
|
||||
**必需工具**:
|
||||
|
||||
- {{TOOL_1}}
|
||||
|
||||
**运行测试**:
|
||||
|
||||
```bash
|
||||
{{TEST_CMD}}
|
||||
```
|
||||
|
||||
## 依赖管理
|
||||
|
||||
<!-- 【可选】 -->
|
||||
|
||||
**外部依赖**:
|
||||
|
||||
- {{EXTERNAL_DEP_1}}
|
||||
|
||||
## 测试策略
|
||||
|
||||
<!-- 【可选】大项目建议填写 -->
|
||||
|
||||
**测试类型**:
|
||||
|
||||
- {{TEST_TYPE_1}}
|
||||
|
||||
**验证标准**:
|
||||
|
||||
- {{PASS_CONDITION_1}}
|
||||
|
||||
---
|
||||
|
||||
**最后更新**:{{DATE}}
|
||||
@@ -0,0 +1,48 @@
|
||||
# 提示词库
|
||||
|
||||
本目录包含 AI 代理的工作流程参考模板。
|
||||
|
||||
## 目录结构
|
||||
|
||||
```text
|
||||
prompts/
|
||||
├── README.md # 本文件
|
||||
├── system/
|
||||
│ └── agent-behavior.md # 工作模式参考
|
||||
├── coding/
|
||||
│ ├── clarify.md # 需求澄清模板
|
||||
│ └── review.md # 复盘总结模板
|
||||
└── meta/
|
||||
└── prompt-generator.md # 元提示词生成器
|
||||
```
|
||||
|
||||
## 使用方式
|
||||
|
||||
| 模板 | 触发场景 |
|
||||
| ----------------------- | ------------------------------ |
|
||||
| **agent-behavior.md** | 切换工作模式(探索/开发/调试) |
|
||||
| **clarify.md** | 需求不明确时澄清 |
|
||||
| **review.md** | Plan 完成后复盘总结 |
|
||||
| **prompt-generator.md** | 创建新的专用提示词 |
|
||||
|
||||
## 工作流程
|
||||
|
||||
```
|
||||
需求不清 → clarify.md
|
||||
↓
|
||||
头脑风暴 → $brainstorming skill
|
||||
↓
|
||||
生成计划 → $writing-plans skill → docs/plans/*.md
|
||||
↓
|
||||
执行计划 → AGENT_RULES 主循环(留痕)
|
||||
↓
|
||||
完成复盘 → review.md
|
||||
↓
|
||||
沉淀提示词 → prompt-generator.md(可选)
|
||||
```
|
||||
|
||||
> **核心规则在 `AGENT_RULES.md`**,第三方 skills 负责规划,主循环负责执行和留痕。
|
||||
|
||||
---
|
||||
|
||||
**最后更新**:{{DATE}}
|
||||
@@ -0,0 +1,52 @@
|
||||
# 需求澄清模板
|
||||
|
||||
<!--
|
||||
按需使用:当需求不明确或存在歧义时参考本模板。
|
||||
Vibe-coding 场景下可跳过,直接开始实现。
|
||||
-->
|
||||
|
||||
## 何时使用
|
||||
|
||||
- 需求描述不明确
|
||||
- 存在多种理解方式
|
||||
- 缺少关键信息
|
||||
|
||||
---
|
||||
|
||||
## 澄清步骤
|
||||
|
||||
### 1. 复述需求
|
||||
|
||||
```text
|
||||
我理解你的需求是:[用自己的话复述]
|
||||
```
|
||||
|
||||
### 2. 识别歧义
|
||||
|
||||
- 歧义 1:[描述不明确的地方]
|
||||
- 歧义 2:[可能有多种理解的地方]
|
||||
|
||||
### 3. 提出问题
|
||||
|
||||
> 只问阻塞问题,最多 1–2 个;优先给出选项让用户选择。
|
||||
|
||||
- 这个功能是否包括 [场景 A]?
|
||||
- 当 [条件 X] 时,应该 [行为 Y] 还是 [行为 Z]?
|
||||
|
||||
### 4. 提供选项
|
||||
|
||||
**选项 A**:[方案描述]
|
||||
|
||||
- 优点:...
|
||||
- 缺点:...
|
||||
|
||||
**选项 B**:[方案描述]
|
||||
|
||||
- 优点:...
|
||||
- 缺点:...
|
||||
|
||||
**推荐**:[推荐哪个,为什么]
|
||||
|
||||
---
|
||||
|
||||
**最后更新**:{{DATE}}
|
||||
@@ -0,0 +1,66 @@
|
||||
# 复盘模板
|
||||
|
||||
<!--
|
||||
用途:Plan 或阶段完成后的回顾总结
|
||||
触发:主循环汇总报告时、阶段性工作完成时
|
||||
-->
|
||||
|
||||
## 何时使用
|
||||
|
||||
- 一批 Plan 执行完毕后
|
||||
- 阶段性工作告一段落
|
||||
- 遇到重大阻塞需要总结
|
||||
|
||||
---
|
||||
|
||||
## 复盘格式
|
||||
|
||||
```markdown
|
||||
# 复盘: [日期/阶段名称]
|
||||
|
||||
## 完成情况
|
||||
|
||||
### 已完成
|
||||
- [x] Plan 1: 简述
|
||||
- [x] Plan 2: 简述
|
||||
|
||||
### 阻塞
|
||||
- [ ] Plan 3: 阻塞原因
|
||||
|
||||
### 跳过
|
||||
- [ ] Plan 4: 跳过原因
|
||||
|
||||
## 关键发现
|
||||
|
||||
### 做得好的
|
||||
- 发现1
|
||||
- 发现2
|
||||
|
||||
### 待改进
|
||||
- 问题1 → 建议改进方式
|
||||
- 问题2 → 建议改进方式
|
||||
|
||||
## 决策记录
|
||||
|
||||
| 决策 | 理由 | 影响 |
|
||||
|------|------|------|
|
||||
| 决策1 | 为什么 | 影响范围 |
|
||||
|
||||
## 下一步
|
||||
|
||||
- [ ] 待处理事项1
|
||||
- [ ] 待处理事项2
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 复盘原则
|
||||
|
||||
- **客观记录**:如实记录完成/阻塞/跳过
|
||||
- **提取经验**:总结做得好的和待改进的
|
||||
- **决策留痕**:重要决策记录到 decisions.md
|
||||
- **明确下一步**:列出后续待处理事项
|
||||
|
||||
---
|
||||
|
||||
**最后更新**:{{DATE}}
|
||||
@@ -0,0 +1,126 @@
|
||||
# 提示词生成器(元提示词)
|
||||
|
||||
<!--
|
||||
用途:根据场景自动生成专用提示词
|
||||
原理:α-prompts(生成)+ Ω-prompts(优化)递归循环
|
||||
-->
|
||||
|
||||
## 何时使用
|
||||
|
||||
- 需要为新场景创建专用提示词
|
||||
- 现有提示词不满足特定需求
|
||||
- 需要批量生成同类提示词
|
||||
|
||||
---
|
||||
|
||||
## 生成流程(α循环)
|
||||
|
||||
### 1. 分析场景
|
||||
|
||||
```markdown
|
||||
**场景名称**:[名称]
|
||||
**目标用户**:[AI/人类/两者]
|
||||
**触发条件**:[何时使用这个提示词]
|
||||
**预期输出**:[使用后应该产出什么]
|
||||
```
|
||||
|
||||
### 2. 提取约束
|
||||
|
||||
```markdown
|
||||
**必须做**:
|
||||
- 约束1
|
||||
- 约束2
|
||||
|
||||
**禁止做**:
|
||||
- 禁止1
|
||||
- 禁止2
|
||||
|
||||
**边界条件**:
|
||||
- 边界1
|
||||
- 边界2
|
||||
```
|
||||
|
||||
### 3. 生成草稿
|
||||
|
||||
```markdown
|
||||
# [提示词标题]
|
||||
|
||||
<!--
|
||||
用途:[一句话描述]
|
||||
触发:[触发条件]
|
||||
-->
|
||||
|
||||
## 何时使用
|
||||
|
||||
- 场景1
|
||||
- 场景2
|
||||
|
||||
## [核心内容]
|
||||
|
||||
[根据场景填充]
|
||||
|
||||
## [约束/原则]
|
||||
|
||||
- 约束1
|
||||
- 约束2
|
||||
|
||||
---
|
||||
|
||||
**最后更新**:{{DATE}}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 优化流程(Ω循环)
|
||||
|
||||
### 1. 评估维度
|
||||
|
||||
| 维度 | 问题 |
|
||||
| ---------- | ---------------------- |
|
||||
| **清晰度** | 指令是否明确无歧义? |
|
||||
| **完整度** | 是否覆盖所有必要场景? |
|
||||
| **简洁度** | 是否有冗余内容可删除? |
|
||||
| **可操作** | AI 能否直接执行? |
|
||||
|
||||
### 2. 迭代优化
|
||||
|
||||
```
|
||||
草稿 → 评估 → 修改 → 再评估 → ... → 定稿
|
||||
```
|
||||
|
||||
### 3. 验证测试
|
||||
|
||||
- 用实际场景测试提示词效果
|
||||
- 收集反馈,持续迭代
|
||||
|
||||
---
|
||||
|
||||
## 提示词模板库
|
||||
|
||||
### 标准结构
|
||||
|
||||
```markdown
|
||||
# [标题]
|
||||
|
||||
<!--
|
||||
用途:
|
||||
触发:
|
||||
-->
|
||||
|
||||
## 何时使用
|
||||
## [核心内容]
|
||||
## [约束/原则]
|
||||
|
||||
---
|
||||
|
||||
**最后更新**:{{DATE}}
|
||||
```
|
||||
|
||||
### 命名规范
|
||||
|
||||
- 文件名:`[动词]-[对象].template.md`
|
||||
- 示例:`clarify-requirement.template.md`
|
||||
|
||||
---
|
||||
|
||||
**最后更新**:{{DATE}}
|
||||
@@ -0,0 +1,62 @@
|
||||
# 工作模式参考
|
||||
|
||||
<!--
|
||||
本文件定义三种工作模式,供 AI 根据任务类型选择。
|
||||
核心规则(安全红线、验证清单等)见 AGENT_RULES.md。
|
||||
-->
|
||||
|
||||
## 模式 1: 探索模式(Explore)
|
||||
|
||||
**目的**:理解代码库、分析问题、收集信息
|
||||
|
||||
**行为**:
|
||||
|
||||
- 使用搜索工具探索代码
|
||||
- 输出分析报告和发现
|
||||
- 不修改任何代码
|
||||
|
||||
**适用场景**:
|
||||
|
||||
- 理解某个模块的实现
|
||||
- 分析 bug 的根本原因
|
||||
- 评估功能实现的可行性
|
||||
|
||||
---
|
||||
|
||||
## 模式 2: 开发模式(Develop)
|
||||
|
||||
**目的**:实现功能、修复 bug、重构代码
|
||||
|
||||
**行为**:
|
||||
|
||||
- 先读取相关文件,理解现有逻辑
|
||||
- 进行精确修改
|
||||
- 修改后运行测试验证
|
||||
|
||||
**适用场景**:
|
||||
|
||||
- 实现新功能
|
||||
- 修复已知 bug
|
||||
- 优化性能
|
||||
|
||||
---
|
||||
|
||||
## 模式 3: 调试模式(Debug)
|
||||
|
||||
**目的**:诊断问题、对比差异、验证行为
|
||||
|
||||
**行为**:
|
||||
|
||||
- 收集相关日志和输出
|
||||
- 分析差异原因
|
||||
- 修复后重新验证
|
||||
|
||||
**适用场景**:
|
||||
|
||||
- 测试失败
|
||||
- 输出不符合预期
|
||||
- 性能问题诊断
|
||||
|
||||
---
|
||||
|
||||
**最后更新**:{{DATE}}
|
||||
Reference in New Issue
Block a user