jvibe 1.0.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/JVIBE.md +75 -0
- package/LICENSE +21 -0
- package/README.md +175 -0
- package/bin/jvibe.js +62 -0
- package/package.json +50 -0
- package/scripts/init.js +118 -0
- package/scripts/status.js +98 -0
- package/scripts/upgrade.js +103 -0
- package/scripts/validate.js +132 -0
- package/template/.claude/agents/developer.md +172 -0
- package/template/.claude/agents/doc-sync.md +247 -0
- package/template/.claude/agents/planner.md +410 -0
- package/template/.claude/agents/reviewer.md +237 -0
- package/template/.claude/commands/JVibe:init.md +125 -0
- package/template/.claude/commands/JVibe:pr.md +159 -0
- package/template/.claude/commands/JVibe:status.md +160 -0
- package/template/.claude/hooks/load-context.sh +67 -0
- package/template/.claude/hooks/sync-feature-status.sh +172 -0
- package/template/.claude/hooks/sync-stats.sh +104 -0
- package/template/.claude/settings.json +43 -0
- package/template/README.md +144 -0
- package/template/docs/core//345/212/237/350/203/275/346/270/205/345/215/225.md +306 -0
- package/template/docs/core//350/247/204/350/214/203/346/226/207/346/241/243.md +309 -0
- package/template/docs/core//351/231/204/345/212/240/346/235/220/346/226/231.md +423 -0
- package/template/docs/core//351/241/271/347/233/256/346/226/207/346/241/243.md +263 -0
- package/template/docs/project/.gitkeep +0 -0
- package/template/docs/project/README.md +83 -0
- package/template/docs/project/api.md.example +145 -0
- package/template/docs/project/database.md.example +172 -0
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
# [项目名称] 规范文档
|
|
2
|
+
|
|
3
|
+
## 📌 文档定位
|
|
4
|
+
|
|
5
|
+
本文档是项目文档体系的**入口和索引**,帮助AI Agent和开发者:
|
|
6
|
+
|
|
7
|
+
1. 快速定位所需文档
|
|
8
|
+
2. 理解开发流程
|
|
9
|
+
3. 掌握文档使用和维护规则
|
|
10
|
+
|
|
11
|
+
**阅读顺序**:规范文档 → 项目文档 → 功能清单 → 按需查阅其他文档
|
|
12
|
+
|
|
13
|
+
------
|
|
14
|
+
|
|
15
|
+
## 1. 快速导航
|
|
16
|
+
|
|
17
|
+
### 1.1 我想...
|
|
18
|
+
|
|
19
|
+
| 我想... | 查看文档 | 具体章节 |
|
|
20
|
+
| ---------------------- | -------------------------------- | ------------------- |
|
|
21
|
+
| 了解项目整体架构 | [项目文档](./项目文档.md) | §1 项目架构图 |
|
|
22
|
+
| 查看某个模块有哪些功能 | [项目文档](./项目文档.md) | §4 模块清单 |
|
|
23
|
+
| 开发某个功能的具体TODO | [功能清单](./功能清单.md) | 按 F-XXX 编号查找 |
|
|
24
|
+
| 查阅编码规范/技术标准 | [附加材料](./附加材料.md) | 按条目 ID 查找 |
|
|
25
|
+
| 调用某个API | [API文档](./docs/api.md) | - |
|
|
26
|
+
|
|
27
|
+
### 1.2 文档状态总览
|
|
28
|
+
|
|
29
|
+
| 文档 | 类型 | 状态 | 最后更新 |
|
|
30
|
+
| -------- | ------- | ---------- | ---------- |
|
|
31
|
+
| 规范文档 | Core | ✅ 已完成 | YYYY-MM-DD |
|
|
32
|
+
| 项目文档 | Core | ✅ 已完成 | YYYY-MM-DD |
|
|
33
|
+
| 功能清单 | Core | 🔄 持续更新 | YYYY-MM-DD |
|
|
34
|
+
| 附加材料 | Core | 🔄 持续更新 | YYYY-MM-DD |
|
|
35
|
+
| API文档 | Project | ✅ 已完成 | YYYY-MM-DD |
|
|
36
|
+
|
|
37
|
+
------
|
|
38
|
+
|
|
39
|
+
## 2. 文档体系
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
📁 docs/
|
|
43
|
+
├── 📄 规范文档.md ← 你在这里(入口)
|
|
44
|
+
├── 📄 项目文档.md ← 架构 + 模块 + 功能索引
|
|
45
|
+
├── 📄 功能清单.md ← 功能详情 + TODO(状态唯一来源)
|
|
46
|
+
├── 📄 附加材料.md ← 规范索引 + 技术细节
|
|
47
|
+
└── 📁 project/ ← 项目特定文档
|
|
48
|
+
├── api.md
|
|
49
|
+
├── database.md
|
|
50
|
+
└── ...
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 2.1 Core文档(固定结构)
|
|
54
|
+
|
|
55
|
+
Core文档在所有项目中**结构相同**,是文档体系的基础框架。
|
|
56
|
+
|
|
57
|
+
| 文档 | 职责(单一) | 核心内容 |
|
|
58
|
+
| ------------ | -------------------- | ---------------------------------- |
|
|
59
|
+
| **规范文档** | 入口与索引 | 文档导航、开发流程、使用规则 |
|
|
60
|
+
| **项目文档** | 架构与模块边界 | 技术栈、模块清单、功能索引(不含状态) |
|
|
61
|
+
| **功能清单** | 功能状态唯一来源(SoT) | 每个功能的描述 + 实现TODO + 状态 |
|
|
62
|
+
| **附加材料** | 规范索引 | 编码规范、技术细节、用户记忆 |
|
|
63
|
+
|
|
64
|
+
**文档间关系**:
|
|
65
|
+
|
|
66
|
+
```mermaid
|
|
67
|
+
graph LR
|
|
68
|
+
A[规范文档] -->|导航到| B[项目文档]
|
|
69
|
+
B -->|功能详情见| C[功能清单]
|
|
70
|
+
B -->|规范详情见| D[附加材料]
|
|
71
|
+
C -->|状态推导| B
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
> ⚠️ **单一事实来源(SoT)原则**:功能状态只在功能清单中维护,项目文档的统计数据由功能清单推导。
|
|
75
|
+
|
|
76
|
+
### 2.2 Project文档(按需扩展)
|
|
77
|
+
|
|
78
|
+
Project文档根据项目类型**按需创建**,结构和数量可变。
|
|
79
|
+
|
|
80
|
+
#### 2.2.1 Project文档注册表
|
|
81
|
+
|
|
82
|
+
> ⚠️ 所有Project文档必须在此注册,否则视为无效文档
|
|
83
|
+
|
|
84
|
+
| 文档ID | 文档名称 | 位置 | 用途 | 维护者 | 状态 |
|
|
85
|
+
| ------ | ------------ | ------------------ | -------------------- | ------ | ------ |
|
|
86
|
+
| P-001 | API文档 | `docs/api.md` | 记录所有REST API端点 | 后端 | active |
|
|
87
|
+
| P-002 | 数据库Schema | `docs/database.md` | 数据库表结构和ER图 | 后端 | active |
|
|
88
|
+
| P-003 | 部署文档 | `docs/deploy.md` | 部署流程和环境配置 | DevOps | draft |
|
|
89
|
+
|
|
90
|
+
#### 2.2.2 常见Project文档类型
|
|
91
|
+
|
|
92
|
+
根据项目类型选择需要的文档:
|
|
93
|
+
|
|
94
|
+
**后端项目**:
|
|
95
|
+
- [ ] API文档(REST/GraphQL端点)
|
|
96
|
+
- [ ] 数据库Schema文档
|
|
97
|
+
- [ ] 部署文档
|
|
98
|
+
|
|
99
|
+
**前端项目**:
|
|
100
|
+
- [ ] 组件文档(Storybook等)
|
|
101
|
+
- [ ] 路由文档
|
|
102
|
+
- [ ] 状态管理文档
|
|
103
|
+
|
|
104
|
+
**全栈项目**:
|
|
105
|
+
- [ ] 以上全部按需选择
|
|
106
|
+
|
|
107
|
+
**其他**:
|
|
108
|
+
- [ ] 第三方集成文档
|
|
109
|
+
- [ ] 性能优化文档
|
|
110
|
+
- [ ] 安全审计文档
|
|
111
|
+
|
|
112
|
+
------
|
|
113
|
+
|
|
114
|
+
## 3. 开发流程
|
|
115
|
+
|
|
116
|
+
> 💡 根据项目特点配置,以下为示例流程
|
|
117
|
+
|
|
118
|
+
### 3.1 流程总览
|
|
119
|
+
|
|
120
|
+
```mermaid
|
|
121
|
+
graph LR
|
|
122
|
+
A[需求分析] --> B[功能拆解]
|
|
123
|
+
B --> C[技术设计]
|
|
124
|
+
C --> D[编码实现]
|
|
125
|
+
D --> E[测试验证]
|
|
126
|
+
E --> F[代码合并]
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### 3.2 各阶段文档操作
|
|
130
|
+
|
|
131
|
+
| 阶段 | 输入 | 操作 | 输出 |
|
|
132
|
+
| ------------ | -------- | ------------------------------ | ------------- |
|
|
133
|
+
| **需求分析** | 需求描述 | 理解需求范围 | 需求确认 |
|
|
134
|
+
| **功能拆解** | 需求确认 | 在功能清单新增 F-XXX | 功能条目+TODO |
|
|
135
|
+
| **技术设计** | 功能TODO | 查阅附加材料相关规范 | 技术方案 |
|
|
136
|
+
| **编码实现** | 技术方案 | 按TODO逐项完成 | 代码 |
|
|
137
|
+
| **测试验证** | 代码 | 执行测试TODO | 测试报告 |
|
|
138
|
+
| **代码合并** | 测试通过 | 更新功能清单状态为✅ | PR合并 |
|
|
139
|
+
|
|
140
|
+
### 3.3 功能开发检查清单
|
|
141
|
+
|
|
142
|
+
开发新功能时,按顺序检查:
|
|
143
|
+
|
|
144
|
+
- [ ] 在功能清单中创建功能条目(F-XXX)
|
|
145
|
+
- [ ] 在项目文档对应模块添加功能索引行(可选)
|
|
146
|
+
- [ ] 查阅附加材料相关规范(如有)
|
|
147
|
+
- [ ] 完成TODO中的所有任务
|
|
148
|
+
- [ ] 更新功能清单状态:❌ → 🚧 → ✅
|
|
149
|
+
|
|
150
|
+
> ⚠️ **注意**:功能状态只需在功能清单中更新,项目文档的统计数据按 sprint/里程碑周期性推导。
|
|
151
|
+
|
|
152
|
+
### 3.4 PR 描述引用规范
|
|
153
|
+
|
|
154
|
+
创建 PR 前,检查是否命中附加材料中的触发条件。如命中,使用以下模板:
|
|
155
|
+
|
|
156
|
+
```markdown
|
|
157
|
+
## 命中规范条目
|
|
158
|
+
- [ ] CS-___ : [说明如何满足]
|
|
159
|
+
- [ ] API-___ : [说明如何满足]
|
|
160
|
+
- [ ] SEC-___ : [说明如何满足]
|
|
161
|
+
|
|
162
|
+
## 变更说明
|
|
163
|
+
...
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
------
|
|
167
|
+
|
|
168
|
+
## 4. 文档使用规则
|
|
169
|
+
|
|
170
|
+
### 4.1 规范文档
|
|
171
|
+
|
|
172
|
+
**是什么**:文档体系的入口和索引
|
|
173
|
+
|
|
174
|
+
**怎么用**:
|
|
175
|
+
- AI Agent首次接触项目时,先读此文档
|
|
176
|
+
- 通过"快速导航"定位目标文档
|
|
177
|
+
- 了解开发流程和文档规则
|
|
178
|
+
|
|
179
|
+
**更新时机**:
|
|
180
|
+
- 新增/删除Core或Project文档时
|
|
181
|
+
- 开发流程调整时
|
|
182
|
+
- 文档规则变更时
|
|
183
|
+
|
|
184
|
+
### 4.2 项目文档
|
|
185
|
+
|
|
186
|
+
**是什么**:项目架构和模块边界的总览视图
|
|
187
|
+
|
|
188
|
+
**怎么用**:
|
|
189
|
+
- 了解项目技术栈和整体架构
|
|
190
|
+
- 查看各模块的职责边界和代码落点
|
|
191
|
+
- 通过功能索引跳转到功能清单查看详情
|
|
192
|
+
|
|
193
|
+
**更新时机**:
|
|
194
|
+
- 新增模块时:添加模块章节
|
|
195
|
+
- 新增功能时:在对应模块添加功能索引行(可选)
|
|
196
|
+
- 技术栈变更时:更新版本表
|
|
197
|
+
- 按 sprint/里程碑:更新统计数据
|
|
198
|
+
|
|
199
|
+
> ⚠️ **注意**:项目文档不维护功能状态,状态以功能清单为准。
|
|
200
|
+
|
|
201
|
+
### 4.3 功能清单
|
|
202
|
+
|
|
203
|
+
**是什么**:每个功能的详细描述和开发TODO,**功能状态的唯一来源**
|
|
204
|
+
|
|
205
|
+
**怎么用**:
|
|
206
|
+
- 理解功能的业务目标
|
|
207
|
+
- 获取具体的开发任务列表
|
|
208
|
+
- 跟踪TODO完成进度
|
|
209
|
+
- 更新功能状态
|
|
210
|
+
|
|
211
|
+
**更新时机**:
|
|
212
|
+
- 新增功能时:创建功能条目
|
|
213
|
+
- TODO完成时:勾选对应项
|
|
214
|
+
- 全部TODO完成时:状态改为✅
|
|
215
|
+
|
|
216
|
+
**编号规则**:
|
|
217
|
+
- 格式:`F-XXX`(F = Feature,XXX = 三位数字)
|
|
218
|
+
- 连续编号,不重复使用已删除的编号
|
|
219
|
+
|
|
220
|
+
### 4.4 附加材料
|
|
221
|
+
|
|
222
|
+
**是什么**:开发规范、技术细节、用户偏好的索引库
|
|
223
|
+
|
|
224
|
+
**怎么用**:
|
|
225
|
+
- 创建PR前:检查是否命中条目的"触发条件"
|
|
226
|
+
- 代码审查时:引用条目ID说明问题
|
|
227
|
+
- 技术方案设计时:查阅相关规范
|
|
228
|
+
|
|
229
|
+
**更新时机**:
|
|
230
|
+
- 发现新的规范需求时:添加条目
|
|
231
|
+
- 用户强调特定偏好时:添加UM条目
|
|
232
|
+
- 外部链接失效时:更新Links字典
|
|
233
|
+
|
|
234
|
+
**条目ID命名**:
|
|
235
|
+
|
|
236
|
+
| 分类 | 前缀 | 示例 |
|
|
237
|
+
| ---------- | ----- | --------------- |
|
|
238
|
+
| 编码规范 | CS- | CS-001 |
|
|
239
|
+
| API设计 | API- | API-001 |
|
|
240
|
+
| 数据库设计 | DB- | DB-001 |
|
|
241
|
+
| 安全检查 | SEC- | SEC-001 |
|
|
242
|
+
| 测试策略 | TEST- | TEST-001 |
|
|
243
|
+
| 技术细节 | TD- | TD-001 |
|
|
244
|
+
| 设计风格 | DS- | DS-001 |
|
|
245
|
+
| 用户记忆 | UM- | UM-20260109-001 |
|
|
246
|
+
|
|
247
|
+
### 4.5 Project文档
|
|
248
|
+
|
|
249
|
+
**是什么**:项目特定的技术文档(API、数据库、部署等)
|
|
250
|
+
|
|
251
|
+
**怎么用**:
|
|
252
|
+
- 根据具体需求查阅对应文档
|
|
253
|
+
- 通过注册表(§2.2.1)确认文档位置和状态
|
|
254
|
+
|
|
255
|
+
**更新时机**:
|
|
256
|
+
- 由各文档自身定义(见各文档内说明)
|
|
257
|
+
|
|
258
|
+
**新增Project文档规则**:
|
|
259
|
+
1. 在注册表(§2.2.1)添加记录
|
|
260
|
+
2. 在文档开头说明:是什么、怎么用、更新时机
|
|
261
|
+
3. 通知相关维护者
|
|
262
|
+
|
|
263
|
+
------
|
|
264
|
+
|
|
265
|
+
## 5. 文档维护规则
|
|
266
|
+
|
|
267
|
+
### 5.1 同步规则
|
|
268
|
+
|
|
269
|
+
| 变更类型 | 需更新的文档 |
|
|
270
|
+
| --------------- | ---------------------------------------------- |
|
|
271
|
+
| 新增模块 | 项目文档(添加模块章节) |
|
|
272
|
+
| 新增功能 | 功能清单(功能条目)+ 项目文档(功能索引,可选) |
|
|
273
|
+
| 功能状态变更 | **仅更新功能清单** |
|
|
274
|
+
| 统计数据更新 | 项目文档(按 sprint/里程碑从功能清单推导) |
|
|
275
|
+
| 新增规范 | 附加材料(条目)+ 规范文档(如影响流程) |
|
|
276
|
+
| 新增Project文档 | 规范文档(注册表)+ 快速导航(如常用) |
|
|
277
|
+
|
|
278
|
+
> ⚠️ **核心原则**:功能状态只在功能清单中维护,避免双向同步的维护成本。
|
|
279
|
+
|
|
280
|
+
### 5.2 版本控制
|
|
281
|
+
|
|
282
|
+
- 文档随代码一起提交到Git
|
|
283
|
+
- 重大变更在文档末尾记录变更日志
|
|
284
|
+
- 使用有意义的commit message:`docs: 更新功能F-018状态`
|
|
285
|
+
|
|
286
|
+
### 5.3 质量检查
|
|
287
|
+
|
|
288
|
+
**每次PR前**:
|
|
289
|
+
- [ ] 新增功能在功能清单中有完整的TODO列表
|
|
290
|
+
- [ ] 命中的附加材料条目已在PR描述中引用
|
|
291
|
+
- [ ] Project文档在注册表中有记录
|
|
292
|
+
|
|
293
|
+
**每月检查**:
|
|
294
|
+
- [ ] 附加材料中的外部链接有效性
|
|
295
|
+
- [ ] 清理已完成的用户记忆条目
|
|
296
|
+
- [ ] 更新文档状态总览
|
|
297
|
+
|
|
298
|
+
**每 sprint/里程碑**:
|
|
299
|
+
- [ ] 从功能清单推导项目文档的统计数据
|
|
300
|
+
|
|
301
|
+
------
|
|
302
|
+
|
|
303
|
+
## 📋 附录
|
|
304
|
+
|
|
305
|
+
### A. 文档模板位置
|
|
306
|
+
|
|
307
|
+
- [项目文档模板](./模板-项目文档.md)
|
|
308
|
+
- [功能清单模板](./模板-功能清单.md)
|
|
309
|
+
- [附加材料模板](./模板-附加材料.md)
|