project-docs-init
在任意项目根目录初始化 AI 协作文档骨架。从通用模板复制 docs/ai/(00-08 编号文件 + 7 个子目录)和根入口 CLAUDE.md、AGENTS.md。
触发
用户说「初始化 AI 协作文档」「初始化 docs/ai」「初始化项目文档体系」或 /project-docs-init 时触发。
执行流程
1. 确认目标
- 目标 = 当前工作目录(项目根)
- 向用户复述一次目标路径
- 如果不在项目根(没有
.git或典型项目文件),提示确认
2. 安全检查
检查以下目录/文件是否已存在:
docs/ai/CLAUDE.mdAGENTS.md.gitignore
任一存在 → 停止,列出冲突项,询问用户决定:
- 跳过冲突的文件 — 不覆盖已有文件,只创建不存在的
- 覆盖 — 用模板覆盖已有文件
- 手动处理 — 停止,让用户自己处理
绝不默认覆盖,必须等用户明确选择。
3. 复制模板
用户确认后,将本 skill 的 template/ 目录下所有内容复制到目标项目根:
template/CLAUDE.md→<项目根>/CLAUDE.mdtemplate/AGENTS.md→<项目根>/AGENTS.mdtemplate/.gitignore→<项目根>/.gitignoretemplate/docs/ai/*→<项目根>/docs/ai/*
保留子目录结构和 .gitkeep 文件。
4. 替换占位符
在已复制的文件中做文本替换:
| 占位符 | 替换为 | 出现位置 |
|---|---|---|
{{PROJECT_NAME}} |
项目根目录名(basename) | 00_PROJECT_CONTEXT.md |
{{DATE}} |
当天日期 YYYY-MM-DD | 00_PROJECT_CONTEXT.md、01_CURRENT_PROGRESS.md、02_TASK_LOG.md、07_CURRENT_SYSTEM_BASELINE.md、08_INTERFACE_CATALOG.md |
5. 可选问答(收集项目基本信息)
询问用户最多 3 个问题(每个都可以答「跳过」):
- 项目一句话定位:这个项目是做什么的?
- 主要技术栈:Python / TypeScript / Rust / 其他?
- 当前阶段:刚起步 / 已有基础 / 迭代中?
如果用户答了,写入 00_PROJECT_CONTEXT.md 对应段落,替换待填提示。
如果用户说「跳过」,保留待填提示不变。
6. 收尾
输出完成清单:
初始化完成。已创建:
入口文件:
CLAUDE.md
AGENTS.md
.gitignore
docs/ai/ 核心文件:
00_PROJECT_CONTEXT.md ← 建议先填:项目定位 + 关键文件
01_CURRENT_PROGRESS.md ← 建议先填:当前状态 + 下一步
02_TASK_LOG.md
03_ISSUE_KNOWLEDGE_BASE.md
04_REUSABLE_PATTERNS.md
05_DECISIONS.md
06_AI_WORKFLOW.md ← AI 工作流核心规则
07_CURRENT_SYSTEM_BASELINE.md
08_INTERFACE_CATALOG.md
子目录:designs/ plans/ domain/ runs/ retrospectives/ evidence/ archive/
下一步:
1. 打开 docs/ai/00_PROJECT_CONTEXT.md 填入项目定位和关键文件
2. 打开 docs/ai/01_CURRENT_PROGRESS.md 填入当前状态
3. 如果项目有领域知识文档,在 00_PROJECT_CONTEXT.md 中声明
如果目标不是 git 仓库,加一句提示:「当前目录不是 git 仓库,建议 git init。」
不自动 git commit。