@alenfitz/spec-copilot 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -50,7 +50,8 @@ The framework auto-detects your tool on subsequent commands (`update`, `doctor`,
50
50
  | `/spec:smoke <name>` | After /spec:apply | Build + API smoke test |
51
51
  | `/spec:review <name>` | After /spec:smoke | Spec compliance + code quality report |
52
52
  | `/spec:fix <name>` | After review issues | Fix commits + doc sync |
53
- | `/spec:archive <name>` | After review passes | Knowledge captured, merge prompt |
53
+ | `/spec:archive <name>` | After review passes | Knowledge captured, docs updated, merge prompt |
54
+ | `/spec:docs [type]` | Anytime | README + API + Architecture + Deploy docs |
54
55
  | `/spec:hotfix <desc>` | Production incident | Minimal fix on hotfix branch |
55
56
  | `/spec:test <name>` | Need automated tests | Test code + run results |
56
57
 
@@ -71,9 +72,11 @@ npx @alenfitz/spec-copilot uninstall --confirm # Remove framework
71
72
  your-project/
72
73
  ├── <tool-specific prompt file> ← AI reads this
73
74
  ├── <tool-specific commands/> ← Native commands (if supported)
75
+ ├── README.md ← Auto-generated project docs
76
+ ├── docs/ ← API, architecture, deploy docs
74
77
 
75
78
  └── spec_copilot/
76
- ├── commands/ ← 11 command definitions
79
+ ├── commands/ ← 12 command definitions
77
80
  ├── rules/
78
81
  │ ├── coding-style.md ← Universal coding standards
79
82
  │ ├── security.md ← Security red lines
package/README.zh-CN.md CHANGED
@@ -50,7 +50,8 @@ npx @alenfitz/spec-copilot doctor
50
50
  | `/spec:smoke <变更名>` | /spec:apply 完成后 | 编译 + 接口冒烟报告 |
51
51
  | `/spec:review <变更名>` | /spec:smoke 通过后 | Spec 合规 + 代码质量审查报告 |
52
52
  | `/spec:fix <变更名>` | review 有问题 | 修复 commit + 文档同步 |
53
- | `/spec:archive <变更名>` | review 通过后 | 知识沉淀 + 分支合并提示 |
53
+ | `/spec:archive <变更名>` | review 通过后 | 知识沉淀 + 文档更新 + 分支合并提示 |
54
+ | `/spec:docs [类型]` | 任何时候 | README + API + 架构 + 部署文档 |
54
55
  | `/spec:hotfix <描述>` | 线上故障 | 最小修复 + hotfix 分支 |
55
56
  | `/spec:test <变更名>` | 补自动化测试 | 测试代码 + 运行报告 |
56
57
 
@@ -72,8 +73,11 @@ npx @alenfitz/spec-copilot uninstall --confirm # 移除框架
72
73
  ├── <工具专属提示词文件> ← AI 读取
73
74
  ├── <工具专属命令目录/> ← 原生命令(如支持)
74
75
 
76
+ ├── README.md ← 自动生成的项目文档
77
+ ├── docs/ ← API、架构、部署文档
78
+
75
79
  └── spec_copilot/
76
- ├── commands/ ← 11 个命令定义
80
+ ├── commands/ ← 12 个命令定义
77
81
  ├── rules/
78
82
  │ ├── coding-style.md ← 编码通用规范
79
83
  │ ├── security.md ← 安全红线
@@ -16,14 +16,25 @@ description: 归档变更 + 知识沉淀
16
16
  3. 移动 `spec_copilot/changes/<变更名>/` → `spec_copilot/archives/<YYYY-MM>/<变更名>/`
17
17
  4. 提示合并分支:`git merge feature/<变更名> --no-ff`
18
18
 
19
+ ## 自动生成/更新项目文档
20
+
21
+ 归档完成后,**自动执行 `/spec:docs`**,生成或更新:
22
+ - `README.md` — 项目说明(根目录)
23
+ - `docs/api.md` — API 接口文档
24
+ - `docs/architecture.md` — 系统架构(含 Mermaid ER 图、状态机图)
25
+ - `docs/deploy.md` — 部署指南
26
+
27
+ > 这是确保项目文档与代码同步的关键机制。每次归档 = 文档自动刷新。
28
+
19
29
  ## 结束后
20
30
 
21
31
  ```
22
32
  需求 [变更名] 已归档 ✓
23
33
  知识已沉淀:<N> 条
34
+ 文档已更新:README.md + docs/(api + architecture + deploy)
24
35
  请执行:git merge feature/<变更名> --no-ff
25
36
 
26
37
  → 下一个需求:/spec:propose <描述>
27
38
  ```
28
39
 
29
- 没有 /archive,knowledge/ 永远是空的,知识飞轮不转。
40
+ 没有 /archive,knowledge/ 永远是空的,知识飞轮不转。文档不更新,新人永远看不懂项目。
@@ -0,0 +1,132 @@
1
+ ---
2
+ description: 生成/更新项目文档(README + API + 架构 + 部署)
3
+ ---
4
+
5
+ # /spec:docs — 项目文档生成
6
+
7
+ **参数**:$ARGUMENTS(可选,指定只更新某个文档:readme / api / architecture / deploy)
8
+
9
+ ## 数据源
10
+
11
+ 文档内容从以下来源自动提取,**不凭空编造**:
12
+
13
+ | 来源 | 提取什么 |
14
+ |------|---------|
15
+ | `spec_copilot/rules/project-context.md` | 项目概况、技术栈、目录结构、启动命令、依赖版本 |
16
+ | `spec_copilot/archives/` | 所有已归档需求的功能清单、业务规则、数据模型 |
17
+ | `spec_copilot/changes/` | 进行中的变更(标注为 WIP) |
18
+ | `spec_copilot/stack-adapters/<栈>.md` | 技术规范、分层架构 |
19
+ | 源代码 | Controller 路由扫描(API 文档)、Entity 扫描(ER 图) |
20
+
21
+ ## 产出文件
22
+
23
+ ### 1. `README.md`(项目根目录)
24
+
25
+ ```markdown
26
+ # 项目名称
27
+
28
+ > 项目简介(来自 project-context.md §1)
29
+
30
+ ## 技术栈
31
+ (来自 project-context.md §1 + §4)
32
+
33
+ ## 快速开始
34
+ (来自 project-context.md §8)
35
+
36
+ ## 目录结构
37
+ (来自 project-context.md §2)
38
+
39
+ ## 功能模块
40
+ (从 archives/ 聚合所有已完成需求,每个需求一行:名称 + 简介 + 完成日期)
41
+
42
+ ## API 概览
43
+ (从 docs/api.md 提取摘要表格)
44
+
45
+ ## 开发规范
46
+ > 详见 spec_copilot/ 目录下的规范文件
47
+
48
+ ## License
49
+ ```
50
+
51
+ ### 2. `docs/api.md`(API 接口文档)
52
+
53
+ **生成方式**:扫描所有 Controller 类,提取 `@RequestMapping` / `@GetMapping` / `@PostMapping` 等注解。
54
+
55
+ ```markdown
56
+ # API 接口文档
57
+
58
+ ## 概览
59
+ | 模块 | 前缀 | 接口数 |
60
+ |------|------|--------|
61
+
62
+ ## 详细接口
63
+
64
+ ### 模块名
65
+ #### GET /api/xxx — 接口说明
66
+ - **参数**:(从 DTO 类提取字段+注释)
67
+ - **返回**:(从 VO 类提取字段+注释)
68
+ - **业务规则**:(从对应 spec.md §4 提取)
69
+ ```
70
+
71
+ > 对于非 Java 项目(Node/Python/Go),扫描对应框架的路由定义文件。
72
+
73
+ ### 3. `docs/architecture.md`(系统架构)
74
+
75
+ ```markdown
76
+ # 系统架构
77
+
78
+ ## 分层架构
79
+ (来自 stack-adapter §6,Mermaid 流程图)
80
+
81
+ ## 数据模型
82
+ (扫描 Entity 类 / schema.sql,生成 Mermaid ER 图)
83
+
84
+ ## 状态机
85
+ (如存在状态枚举,生成 Mermaid 状态图)
86
+
87
+ ## 外部依赖
88
+ (从 spec.md 提取外部服务清单)
89
+
90
+ ## 模块关系
91
+ (Mermaid 组件图,展示模块间调用关系)
92
+ ```
93
+
94
+ ### 4. `docs/deploy.md`(部署指南)
95
+
96
+ ```markdown
97
+ # 部署指南
98
+
99
+ ## 环境要求
100
+ (从 project-context.md §4 提取版本要求)
101
+
102
+ ## 配置说明
103
+ (从 project-context.md §9 和 stack-adapter §4 提取)
104
+
105
+ ## 构建命令
106
+ (从 project-context.md §8 提取)
107
+
108
+ ## 数据库初始化
109
+ (检测 schema.sql / flyway / liquibase)
110
+
111
+ ## 注意事项
112
+ (从 knowledge/index.md 提取 #deploy 标签的知识条目)
113
+ ```
114
+
115
+ ## 执行规则
116
+
117
+ 1. **增量更新**:如果文档已存在,只更新有变化的章节,保留用户手动添加的内容(通过 `<!-- auto-generated -->` 和 `<!-- /auto-generated -->` 标记区分)
118
+ 2. **Mermaid 图表**:使用 Mermaid 语法,GitHub/GitLab 原生渲染
119
+ 3. **不编造内容**:所有文档内容必须有数据源出处。无法提取的章节标注 `> TODO: 待补充`
120
+ 4. **中文输出**:与项目语言一致
121
+
122
+ ## 结束后
123
+
124
+ ```
125
+ 文档已生成/更新 ✓
126
+ ├── README.md (项目说明)
127
+ ├── docs/api.md (N 个接口)
128
+ ├── docs/architecture.md(含 ER 图 + 状态机图)
129
+ └── docs/deploy.md (部署指南)
130
+
131
+ → 建议:git commit -m "docs: 更新项目文档"
132
+ ```
@@ -55,6 +55,7 @@
55
55
  | "帮我看看代码" / "review 一下" | → /spec:review |
56
56
  | "写测试" / "补单测" | → /spec:test |
57
57
  | "归档 xxx" | → /spec:archive |
58
+ | "生成文档" / "更新文档" / "README" | → /spec:docs |
58
59
  | "线上出问题了" / "紧急修" | → /spec:hotfix |
59
60
 
60
61
  ## 必读规则文件
@@ -4,6 +4,24 @@
4
4
 
5
5
  ---
6
6
 
7
+ ## [1.6.0] - 2026-05-21
8
+
9
+ ### 新增
10
+
11
+ **`/spec:docs` — 项目文档自动生成:**
12
+ - 新增第 12 个命令 `/spec:docs`,从 project-context、archives、源代码自动生成四类文档
13
+ - `README.md`:项目说明(技术栈、快速开始、功能模块、API 概览)
14
+ - `docs/api.md`:API 接口文档(扫描 Controller 注解自动提取)
15
+ - `docs/architecture.md`:系统架构(分层架构、Mermaid ER 图、状态机图、模块关系图)
16
+ - `docs/deploy.md`:部署指南(环境要求、配置说明、构建命令、数据库初始化)
17
+ - 增量更新机制:通过 `<!-- auto-generated -->` 标记区分自动生成和手动编写内容
18
+
19
+ **`/spec:archive` 自动触发文档更新:**
20
+ - 归档完成后自动执行 `/spec:docs`,确保每次归档 = 文档同步刷新
21
+ - 解决"所有文档锁在 spec_copilot/ 里、新人看不到"的问题
22
+
23
+ ---
24
+
7
25
  ## [1.5.0] - 2026-05-21
8
26
 
9
27
  ### 变更(基于真实项目端到端测试反馈)
package/framework/VERSION CHANGED
@@ -1 +1 @@
1
- 1.5.0
1
+ 1.6.0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alenfitz/spec-copilot",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "Spec-Driven Development Framework — one package, six AI coding tools (opencode, Claude Code, Cursor, Windsurf, GitHub Copilot, Cline)",
5
5
  "keywords": [
6
6
  "ai-coding",