aigroup-workflow 1.1.0 → 1.1.2
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/.claude/commands/git-commit.md +61 -0
- package/.claude/commands/init-project.md +83 -0
- package/.claude/commands/jarvis.md +6 -3
- package/README.md +404 -621
- package/bin/aigroup.mjs +11 -8
- package/cli/commands/init.mjs +3 -3
- package/cli/commands/menu.mjs +65 -0
- package/cli/utils/prompts.mjs +135 -48
- package/package.json +4 -5
package/README.md
CHANGED
|
@@ -1,621 +1,404 @@
|
|
|
1
|
-
# aiGroup - AI 团队协作框架
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
#
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
→ Max
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
participant
|
|
144
|
-
participant
|
|
145
|
-
participant
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
Ella
|
|
153
|
-
Ella
|
|
154
|
-
Max
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
Max
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
###
|
|
297
|
-
|
|
298
|
-
```
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
#
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
#
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
> Windows 用户:用 Git Bash 运行以上命令(`"D:\Git\bin\bash.exe" scripts/harness/run-all.sh`)。
|
|
406
|
-
|
|
407
|
-
### 自定义与扩展
|
|
408
|
-
|
|
409
|
-
| 想要做 | 修改什么 |
|
|
410
|
-
|--------|---------|
|
|
411
|
-
| 调整 Agent 角色定义 | `.dev-agents/{name}/PERSONA.md` |
|
|
412
|
-
| 修改工作流规则 | `skills/max/workflow/{skill}/SKILL.md` |
|
|
413
|
-
| 添加新的编码规范 | `docs/coding-standards.md` |
|
|
414
|
-
| 添加新的传感器检查 | `scripts/harness/lint-*.sh` 中添加检查项 |
|
|
415
|
-
| 添加新的危险信号 | `docs/red-flags.md` 中添加条目 |
|
|
416
|
-
| 将重复问题编码为约束 | 遵循 `docs/steering-loop.md` 转向循环流程 |
|
|
417
|
-
| 添加新的 Hook | `.claude/hooks.json` 中添加事件 |
|
|
418
|
-
| 修改权限控制 | `.claude/settings.json` 中调整 allow/deny |
|
|
419
|
-
| 添加新团队成员 | 新建 `.dev-agents/{name}/PERSONA.md` + `.claude/commands/{name}.md` |
|
|
420
|
-
|
|
421
|
-
## 项目结构
|
|
422
|
-
|
|
423
|
-
```
|
|
424
|
-
agentGroup/
|
|
425
|
-
├── CLAUDE.md # Agent 入口:全局地图(< 100 行,目录式)
|
|
426
|
-
├── docs/ # 知识库(唯一事实源)
|
|
427
|
-
│ ├── README.md # 知识库索引
|
|
428
|
-
│ ├── ARCHITECTURE.md # 项目架构总览
|
|
429
|
-
│ ├── workflow-pipeline.md # 工作流管道详细规则
|
|
430
|
-
│ ├── dispatch-rules.md # 派遣规则与上下文传递
|
|
431
|
-
│ ├── coding-standards.md # 编码与 Git 规范
|
|
432
|
-
│ ├── red-flags.md # 危险信号检测
|
|
433
|
-
│ ├── QUALITY_SCORE.md # 质量评分追踪
|
|
434
|
-
│ ├── tech-debt-tracker.md # 技术债追踪
|
|
435
|
-
│ └── steering-loop.md # Harness 转向循环
|
|
436
|
-
├── .claude/ # Claude Code 原生配置
|
|
437
|
-
│ ├── settings.json # 项目级权限设置
|
|
438
|
-
│ ├── hooks.json # Harness 生命周期 Hooks
|
|
439
|
-
│ └── commands/ # 斜杠命令
|
|
440
|
-
│ ├── ella.md # /ella 派遣设计师
|
|
441
|
-
│ ├── jarvis.md # /jarvis 派遣开发
|
|
442
|
-
│ └── kyle.md # /kyle 派遣质量保障
|
|
443
|
-
├── .dev-agents/ # 角色定义 + 协作产物
|
|
444
|
-
│ ├── ella/PERSONA.md # 艾拉角色定义
|
|
445
|
-
│ ├── jarvis/PERSONA.md # 贾维斯角色定义
|
|
446
|
-
│ ├── kyle/PERSONA.md # 凯尔角色定义
|
|
447
|
-
│ └── shared/ # 协作产物
|
|
448
|
-
│ ├── tasks/ # 实现计划(writing-plans 产出)
|
|
449
|
-
│ ├── designs/ # 设计方案和设计稿
|
|
450
|
-
│ ├── reviews/ # 审查报告
|
|
451
|
-
│ └── templates/ # 文档模板(PRD/API/Bug/实现计划/审查报告)
|
|
452
|
-
├── skills/ # 技能资源(按角色分组)
|
|
453
|
-
│ ├── ella/ # 设计技能
|
|
454
|
-
│ │ ├── ui-ux-pro-max/ # 50+ 设计风格、97 色彩方案
|
|
455
|
-
│ │ ├── senior-frontend/ # 前端最佳实践
|
|
456
|
-
│ │ └── commands/ # 设计工具命令
|
|
457
|
-
│ ├── jarvis/ # 开发技能
|
|
458
|
-
│ │ ├── claude-simone/ # 开发框架方法论
|
|
459
|
-
│ │ └── engineering-team/ # 205+ 工程技能集(见下表)
|
|
460
|
-
│ ├── kyle/ # 测试技能
|
|
461
|
-
│ │ ├── senior-qa/ # QA 最佳实践
|
|
462
|
-
│ │ └── tdd-guide/ # TDD 指南
|
|
463
|
-
│ └── max/ # 管理技能
|
|
464
|
-
│ ├── ccpm/ # 关键链项目管理
|
|
465
|
-
│ ├── pm-claude-skills/ # PM 技能集
|
|
466
|
-
│ └── workflow/ # 工作流技能(7 个门禁技能)
|
|
467
|
-
│ ├── brainstorming/
|
|
468
|
-
│ ├── writing-plans/
|
|
469
|
-
│ ├── subagent-driven-development/
|
|
470
|
-
│ ├── systematic-debugging/
|
|
471
|
-
│ ├── verification-before-completion/
|
|
472
|
-
│ ├── finishing-a-development-branch/
|
|
473
|
-
│ └── entropy-management/ # 熵管理/垃圾回收
|
|
474
|
-
├── scripts/ # 自动化脚本
|
|
475
|
-
│ ├── harness/ # Harness 传感器套件
|
|
476
|
-
│ │ ├── run-all.sh # 全量传感器运行器
|
|
477
|
-
│ │ ├── lint-structure.sh # 结构检查
|
|
478
|
-
│ │ ├── lint-docs.sh # 文档新鲜度检查
|
|
479
|
-
│ │ ├── lint-workflow-artifacts.sh # 工作流产物检查
|
|
480
|
-
│ │ ├── hook-post-edit.sh # PostToolUse Hook
|
|
481
|
-
│ │ ├── hook-stop.sh # Stop Hook(back-pressure)
|
|
482
|
-
│ │ └── hook-subagent-stop.sh # SubagentStop Hook
|
|
483
|
-
│ ├── update-skills.sh # 技能更新(支持镜像加速)
|
|
484
|
-
│ ├── check-gitignore.sh # .gitignore 规则检查
|
|
485
|
-
│ └── clean-system-files.sh # 系统文件清理
|
|
486
|
-
└── README.md
|
|
487
|
-
```
|
|
488
|
-
|
|
489
|
-
## 技能体系
|
|
490
|
-
|
|
491
|
-
### 技能与角色对应
|
|
492
|
-
|
|
493
|
-
```mermaid
|
|
494
|
-
flowchart TB
|
|
495
|
-
subgraph MAX["Max 项目经理"]
|
|
496
|
-
M1["ccpm\n关键链项目管理"]
|
|
497
|
-
M2["pm-claude-skills\nPM 技能集"]
|
|
498
|
-
M3["workflow\n7 个门禁工作流技能"]
|
|
499
|
-
end
|
|
500
|
-
|
|
501
|
-
subgraph ELLA["Ella 设计师"]
|
|
502
|
-
E1["ui-ux-pro-max\n50+ 设计风格"]
|
|
503
|
-
E2["senior-frontend\n前端最佳实践"]
|
|
504
|
-
end
|
|
505
|
-
|
|
506
|
-
subgraph JARVIS["Jarvis 开发"]
|
|
507
|
-
J1["claude-simone\n开发框架"]
|
|
508
|
-
J2["engineering-team\n205+ 工程技能"]
|
|
509
|
-
end
|
|
510
|
-
|
|
511
|
-
subgraph KYLE["Kyle 质量保障"]
|
|
512
|
-
K1["senior-qa\nQA 最佳实践"]
|
|
513
|
-
K2["tdd-guide\nTDD 指南"]
|
|
514
|
-
end
|
|
515
|
-
```
|
|
516
|
-
|
|
517
|
-
### Engineering Team 技能清单(205+ 技能)
|
|
518
|
-
|
|
519
|
-
更新 engineering-team 后,贾维斯获得了 9 大领域的技能支持:
|
|
520
|
-
|
|
521
|
-
| 领域 | 技能数 | 核心技能 |
|
|
522
|
-
|--------------------|--------|----------------------------------------------------------------|
|
|
523
|
-
| 核心工程 | 29 | senior-architect, senior-fullstack, senior-frontend, senior-backend, senior-devops, code-reviewer, tdd-guide, a11y-audit, playwright-pro, epic-design |
|
|
524
|
-
| 高级工程 (POWERFUL) | 30 | agent-designer, rag-architect, mcp-server-builder, ci-cd-pipeline-builder, database-designer, observability-designer |
|
|
525
|
-
| 产品团队 | 13 | RICE 评分, OKR 规划, 用户故事, SaaS 脚手架, 落地页生成器 |
|
|
526
|
-
| 营销技能 | 43 | 内容创作, SEO, ASO, 需求生成, 品牌声音, 竞品分析 |
|
|
527
|
-
| 项目管理 | 6 | Jira/Confluence 集成, CCPM, Sprint 规划 |
|
|
528
|
-
| C-Level 顾问 | 28 | CEO/CTO 战略决策, 组织架构, OKR 战略 |
|
|
529
|
-
| 合规质量 (RA/QM) | 12 | ISO 13485, FDA, GDPR, ISO 27001 |
|
|
530
|
-
| 商业增长 | 4 | 客户成功, 销售工程, 收入运营 |
|
|
531
|
-
| 财务分析 | 2 | DCF 估值, SaaS 指标, 预算编制 |
|
|
532
|
-
|
|
533
|
-
附带 **268 个 Python 自动化工具** 和 **384 份参考指南**。
|
|
534
|
-
|
|
535
|
-
## 技能来源与更新
|
|
536
|
-
|
|
537
|
-
| 技能 | 来源 | 许可证 | 更新方式 |
|
|
538
|
-
|-------------------|--------------------------------------------------------------------------------------|----------|----------|
|
|
539
|
-
| 工作流技能 (7个) | 原创,受 [obra/superpowers](https://github.com/obra/superpowers) 和 [Harness Engineering](https://martinfowler.com/articles/harness-engineering.html) 启发 | MIT | 内置 |
|
|
540
|
-
| CCPM 项目管理 | [automazeio/ccpm](https://github.com/automazeio/ccpm) | MIT | 脚本自动 |
|
|
541
|
-
| PM Claude Skills | [mohitagw15856/pm-claude-skills](https://github.com/mohitagw15856/pm-claude-skills) | MIT | 脚本自动 |
|
|
542
|
-
| Claude Simone | [Helmi/claude-simone](https://github.com/Helmi/claude-simone) | 见原仓库 | 脚本自动 |
|
|
543
|
-
| Engineering Team | [alirezarezvani/claude-skills](https://github.com/alirezarezvani/claude-skills) | 见原仓库 | 脚本自动 |
|
|
544
|
-
| UI/UX Pro Max | SkillsMP 技能市场 | MIT | 手动下载 |
|
|
545
|
-
| Senior Frontend | SkillsMP 技能市场 | MIT | 手动下载 |
|
|
546
|
-
| Senior QA / TDD | SkillsMP 技能市场 | MIT | 手动下载 |
|
|
547
|
-
|
|
548
|
-
### 更新 Skills
|
|
549
|
-
|
|
550
|
-
```bash
|
|
551
|
-
bash scripts/update-skills.sh all # 更新所有 GitHub 来源
|
|
552
|
-
bash scripts/update-skills.sh ccpm # 只更新 CCPM
|
|
553
|
-
bash scripts/update-skills.sh pm # 只更新 PM Skills
|
|
554
|
-
bash scripts/update-skills.sh simone # 只更新 Claude Simone
|
|
555
|
-
bash scripts/update-skills.sh engineering # 只更新 Engineering Team
|
|
556
|
-
bash scripts/update-skills.sh manual # 显示需手动更新的技能
|
|
557
|
-
```
|
|
558
|
-
|
|
559
|
-
> 直连 GitHub 失败时脚本自动切换镜像加速(ghfast.top / ghproxy)。
|
|
560
|
-
|
|
561
|
-
## Harness Engineering 体系
|
|
562
|
-
|
|
563
|
-
aiGroup 采用 [Harness Engineering](https://martinfowler.com/articles/harness-engineering.html) 理念,通过约束、反馈回路和持续改进循环提升 Agent 可靠性。
|
|
564
|
-
|
|
565
|
-
### 核心公式
|
|
566
|
-
|
|
567
|
-
```
|
|
568
|
-
Agent = Model + Harness
|
|
569
|
-
```
|
|
570
|
-
|
|
571
|
-
不优化模型本身,而是优化模型运行的环境。
|
|
572
|
-
|
|
573
|
-
### 四层防线
|
|
574
|
-
|
|
575
|
-
| 层级 | 机制 | 实现 |
|
|
576
|
-
|------|------|------|
|
|
577
|
-
| **前馈引导** | 在 Agent 行动前引导方向 | CLAUDE.md 地图、Skills 渐进披露、工作流管道 |
|
|
578
|
-
| **计算型反馈** | 确定性检查,快速自动运行 | `scripts/harness/` 传感器套件 + Claude Code Hooks |
|
|
579
|
-
| **推理型反馈** | AI 语义审查 | Kyle 两阶段审查(规格符合性 + 代码质量) |
|
|
580
|
-
| **熵管理** | 防止长期退化 | entropy-management 技能 + 质量评分追踪 |
|
|
581
|
-
|
|
582
|
-
### Harness 传感器
|
|
583
|
-
|
|
584
|
-
```bash
|
|
585
|
-
bash scripts/harness/run-all.sh # 全量检查
|
|
586
|
-
```
|
|
587
|
-
|
|
588
|
-
传感器输出对 Agent 友好:`[PASS]` 通过、`[FAIL]` 失败 + `[FIX]` 修复指令。
|
|
589
|
-
|
|
590
|
-
### 转向循环
|
|
591
|
-
|
|
592
|
-
```
|
|
593
|
-
发现重复问题 → 编码为约束(Linter/文档/技能)→ 自动执行 → 更新质量评分
|
|
594
|
-
```
|
|
595
|
-
|
|
596
|
-
详见 `docs/steering-loop.md`。
|
|
597
|
-
|
|
598
|
-
### 知识库
|
|
599
|
-
|
|
600
|
-
所有规范、架构决策、质量追踪均版本化存储在 `docs/` 目录下,作为项目的唯一事实源。
|
|
601
|
-
CLAUDE.md 仅作为地图入口(< 100 行),详细内容按需从 `docs/` 检索。
|
|
602
|
-
|
|
603
|
-
## 致谢
|
|
604
|
-
|
|
605
|
-
本项目基于 [yezannnnn/agentGroup](https://github.com/yezannnnn/agentGroup) 进行开发和扩展。感谢原作者 [@yezannnnn](https://github.com/yezannnnn) 提出的四 AI 专业分工协作框架理念,为本项目奠定了坚实的基础。
|
|
606
|
-
|
|
607
|
-
## 社区支持
|
|
608
|
-
|
|
609
|
-
<div align="center">
|
|
610
|
-
|
|
611
|
-
**学 AI,上 L 站**
|
|
612
|
-
|
|
613
|
-
[](https://linux.do/) [](https://linux.do/)
|
|
614
|
-
|
|
615
|
-
本项目在 [LINUX DO](https://linux.do/) 社区发布与交流,感谢佬友们的支持与反馈。
|
|
616
|
-
|
|
617
|
-
</div>
|
|
618
|
-
|
|
619
|
-
## 许可证
|
|
620
|
-
|
|
621
|
-
MIT License
|
|
1
|
+
# aiGroup - AI 团队协作框架
|
|
2
|
+
|
|
3
|
+
[](https://npmjs.com/package/aigroup-workflow)
|
|
4
|
+
[](LICENSE)
|
|
5
|
+
[](https://claude.ai/code)
|
|
6
|
+
|
|
7
|
+
> 单入口 AI 团队:一个命令启动,按需自动派遣设计、开发、测试专家。
|
|
8
|
+
> 内置门禁式工作流:需求澄清 → 方案设计 → 实现计划 → 子代理开发 → 两阶段审查 → 分支收尾。
|
|
9
|
+
|
|
10
|
+
## 快速开始
|
|
11
|
+
|
|
12
|
+
### 环境要求
|
|
13
|
+
|
|
14
|
+
| 依赖 | 最低版本 | 用途 |
|
|
15
|
+
|------|---------|------|
|
|
16
|
+
| [Claude Code](https://docs.anthropic.com/en/docs/claude-code) | 最新版 | AI Agent 运行时(推荐) |
|
|
17
|
+
| [Cursor](https://cursor.com) | 最新版 | AI IDE(可选) |
|
|
18
|
+
| Node.js | 18+ | CLI 工具 |
|
|
19
|
+
| Git | 2.x | 版本控制 |
|
|
20
|
+
| Bash | 4.x+ | Harness 传感器(Windows 用 Git Bash) |
|
|
21
|
+
|
|
22
|
+
### 安装
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# 方式一:全局安装(推荐,安装后可直接用 aig 命令)
|
|
26
|
+
npm install -g aigroup-workflow
|
|
27
|
+
aig init
|
|
28
|
+
|
|
29
|
+
# 方式二:npx 免安装
|
|
30
|
+
npx aigroup-workflow init
|
|
31
|
+
|
|
32
|
+
# 方式三:克隆仓库
|
|
33
|
+
git clone https://github.com/codeApe-7/ai-agent-workflowGroup.git
|
|
34
|
+
cd ai-agent-workflowGroup
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### CLI 命令
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
aig # 交互式主菜单(无参数启动)
|
|
41
|
+
aig init # 初始化(交互式选择角色和技能)
|
|
42
|
+
aig init --yes # 跳过确认,使用默认配置
|
|
43
|
+
aig update # 增量更新(不覆盖自定义配置)
|
|
44
|
+
aig check # Harness 健康检查
|
|
45
|
+
aig status # 工作流状态
|
|
46
|
+
aig help # 帮助
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
> `aig` 是 `aigroup` 的短别名,两者等效。npx 用户使用 `npx aigroup-workflow <命令>`。
|
|
50
|
+
|
|
51
|
+
`init` 命令支持 inquirer 风格交互:**方向键** 移动、**空格** 切换选中、**a** 全选、**回车** 确认。
|
|
52
|
+
|
|
53
|
+
### 启动
|
|
54
|
+
|
|
55
|
+
**Claude Code(推荐):**
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
cd your-project
|
|
59
|
+
claude
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
启动后 Max 自动就位,读取 `CLAUDE.md` 作为入口,根据你的需求驱动整个团队。
|
|
63
|
+
|
|
64
|
+
**Cursor:** 直接打开项目目录,Agent 自动读取 `CLAUDE.md`。
|
|
65
|
+
|
|
66
|
+
### 三种使用模式
|
|
67
|
+
|
|
68
|
+
**模式一:完整管道(复杂任务)**
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
你: 帮我做一个用户认证系统
|
|
72
|
+
→ Max 启动 brainstorming,逐步澄清需求
|
|
73
|
+
→ Max 产出实现计划,用户确认
|
|
74
|
+
→ Max 派遣 Jarvis 逐任务开发,Kyle 两阶段审查
|
|
75
|
+
→ Max 收尾集成
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**模式二:斜杠命令直接派遣(明确任务)**
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
/ella 设计一个登录页面 # 直接派遣设计师
|
|
82
|
+
/jarvis 实现用户认证 API # 直接派遣开发
|
|
83
|
+
/kyle 审查用户模块代码 # 直接派遣质量保障
|
|
84
|
+
/init-project 我的项目 # 初始化项目 AI 上下文
|
|
85
|
+
/git-commit # 智能 Git 提交
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**模式三:简单问答(轻量任务)**
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
你: 这个项目用的什么技术栈?
|
|
92
|
+
→ Max 直接回答,不启动管道
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
判断标准:涉及 2 个以上文件或需要设计决策 → 走完整管道。
|
|
96
|
+
|
|
97
|
+
## 团队成员
|
|
98
|
+
|
|
99
|
+
| 成员 | 角色 | 技能数 | 负责什么 |
|
|
100
|
+
|------|------|--------|---------|
|
|
101
|
+
| 麦克斯 (Max) | 项目经理 | 16 | 需求分析、任务拆解、进度协调、工作流管道 |
|
|
102
|
+
| 艾拉 (Ella) | UI/UX 设计师 | 10 | 界面设计、交互原型、前端框架参考 |
|
|
103
|
+
| 贾维斯 (Jarvis) | 全栈开发 | 45 | 架构设计、前后端编码、API、DevOps |
|
|
104
|
+
| 凯尔 (Kyle) | 质量保障 | 7 | 代码审查、测试策略、安全审计、E2E |
|
|
105
|
+
|
|
106
|
+
## 斜杠命令
|
|
107
|
+
|
|
108
|
+
| 命令 | 说明 |
|
|
109
|
+
|------|------|
|
|
110
|
+
| `/ella <任务>` | 派遣设计师 — 界面设计、交互原型、设计规范 |
|
|
111
|
+
| `/jarvis <任务>` | 派遣开发 — 编码、技术方案、Bug 修复 |
|
|
112
|
+
| `/kyle <任务>` | 派遣质量保障 — 代码审查、功能验收 |
|
|
113
|
+
| `/init-project <名称>` | 初始化项目 AI 上下文 — 生成根级和模块级 CLAUDE.md 索引 |
|
|
114
|
+
| `/git-commit` | 智能 Git 提交 — 分析变更、生成 Conventional Commits 信息 |
|
|
115
|
+
|
|
116
|
+
## 工作流程
|
|
117
|
+
|
|
118
|
+
### 总体协作流程
|
|
119
|
+
|
|
120
|
+
```mermaid
|
|
121
|
+
flowchart TD
|
|
122
|
+
User(["用户提出需求"]) --> Max{"Max 分析需求类型"}
|
|
123
|
+
Max -->|设计类| Ella["Ella 设计师"]
|
|
124
|
+
Max -->|开发类| Jarvis["Jarvis 开发"]
|
|
125
|
+
Max -->|测试/审查| Kyle["Kyle 质量保障"]
|
|
126
|
+
Max -->|简单问题| Direct["Max 直接回答"]
|
|
127
|
+
|
|
128
|
+
Ella -->|设计稿| D1["shared/designs/"]
|
|
129
|
+
Jarvis -->|代码实现| D2["项目代码"]
|
|
130
|
+
Kyle -->|审查报告| D3["shared/reviews/"]
|
|
131
|
+
|
|
132
|
+
D1 --> Summary["Max 汇总结果"]
|
|
133
|
+
D2 --> Summary
|
|
134
|
+
D3 --> Summary
|
|
135
|
+
Direct --> Summary
|
|
136
|
+
Summary --> Done(["反馈给用户"])
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### 完整流水线
|
|
140
|
+
|
|
141
|
+
```mermaid
|
|
142
|
+
sequenceDiagram
|
|
143
|
+
participant User
|
|
144
|
+
participant Max
|
|
145
|
+
participant Ella
|
|
146
|
+
participant Jarvis
|
|
147
|
+
participant Kyle
|
|
148
|
+
|
|
149
|
+
User->>Max: 提出需求
|
|
150
|
+
Max->>Max: 分析并拆解任务
|
|
151
|
+
|
|
152
|
+
Note over Max,Ella: 阶段一 设计
|
|
153
|
+
Max->>Ella: 派遣设计任务
|
|
154
|
+
Ella-->>Max: 设计完成
|
|
155
|
+
|
|
156
|
+
Note over Max,Jarvis: 阶段二 开发
|
|
157
|
+
Max->>Jarvis: 派遣开发任务+设计稿路径
|
|
158
|
+
Jarvis-->>Max: 开发完成
|
|
159
|
+
|
|
160
|
+
Note over Max,Kyle: 阶段三 验收
|
|
161
|
+
Max->>Kyle: 派遣验收任务+代码路径
|
|
162
|
+
Kyle-->>Max: 验收完成
|
|
163
|
+
|
|
164
|
+
Max-->>User: 汇总全流程结果
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### 上下文传递机制
|
|
168
|
+
|
|
169
|
+
```mermaid
|
|
170
|
+
flowchart LR
|
|
171
|
+
subgraph CTX["独立上下文窗口"]
|
|
172
|
+
MaxCtx["Max\nRules 注入"]
|
|
173
|
+
EllaCtx["Ella\n独立窗口"]
|
|
174
|
+
JarvisCtx["Jarvis\n独立窗口"]
|
|
175
|
+
KyleCtx["Kyle\n独立窗口"]
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
subgraph SHARED["共享产物目录"]
|
|
179
|
+
Tasks[("tasks/")]
|
|
180
|
+
Designs[("designs/")]
|
|
181
|
+
Reviews[("reviews/")]
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
MaxCtx -->|"派遣注入\n需求+产物路径"| EllaCtx
|
|
185
|
+
MaxCtx -->|"派遣注入\n需求+设计稿路径"| JarvisCtx
|
|
186
|
+
MaxCtx -->|"派遣注入\n代码路径+需求"| KyleCtx
|
|
187
|
+
|
|
188
|
+
EllaCtx -->|写入设计稿| Designs
|
|
189
|
+
JarvisCtx -->|读取设计稿| Designs
|
|
190
|
+
KyleCtx -->|写入审查报告| Reviews
|
|
191
|
+
|
|
192
|
+
style MaxCtx fill:#4A90D9,color:#fff
|
|
193
|
+
style EllaCtx fill:#E91E63,color:#fff
|
|
194
|
+
style JarvisCtx fill:#4CAF50,color:#fff
|
|
195
|
+
style KyleCtx fill:#FF9800,color:#fff
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
> **关键规则**:子 Agent 之间不能直接通信,所有上下文由 Max 在派遣时注入,跨 Agent 协作通过 `.dev-agents/shared/` 目录下的文件实现。
|
|
199
|
+
|
|
200
|
+
## 工作流技能(门禁式管道)
|
|
201
|
+
|
|
202
|
+
受 [Superpowers](https://github.com/obra/superpowers) 和 [Harness Engineering](https://martinfowler.com/articles/harness-engineering.html) 启发,内置 8 阶段门禁管道:
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
需求收集 → 需求验证 → 方案设计 → 任务拆解 → 实施开发 → 测试验证 → 文档更新 → 分支收尾
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
| 技能 | 触发时机 | 核心规则 |
|
|
209
|
+
|------|---------|---------|
|
|
210
|
+
| **brainstorming** | 创造性工作之前 | 一次一个问题、2-3 方案对比、用户批准后继续 |
|
|
211
|
+
| **writing-plans** | 编码前 | 任务粒度 2-5 分钟、禁止占位符、每步有完整代码 |
|
|
212
|
+
| **subagent-driven-development** | 开发执行 | 每任务新子代理、两阶段审查 |
|
|
213
|
+
| **systematic-debugging** | Bug/测试失败 | 四阶段根因分析、3 次失败后质疑架构 |
|
|
214
|
+
| **verification-before-completion** | 声称完成前 | 无验证证据不得声明完成 |
|
|
215
|
+
| **finishing-a-development-branch** | 任务完成后 | 全量测试 → 集成 → 清理 |
|
|
216
|
+
| **entropy-management** | 定期维护 | 传感器扫描 → 修复 → 更新质量评分 |
|
|
217
|
+
|
|
218
|
+
### 两阶段审查
|
|
219
|
+
|
|
220
|
+
1. **Stage 1:规格符合性** — 多了什么?少了什么?偏离了什么?
|
|
221
|
+
2. **Stage 2:代码质量** — 干净、安全、可维护?
|
|
222
|
+
|
|
223
|
+
Stage 1 不通过 → 修复 → 重审 → 通过后才进入 Stage 2。
|
|
224
|
+
|
|
225
|
+
### 三条铁律
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
1. 证据优于断言 — 任何完成声明必须附带验证证据
|
|
229
|
+
2. 流程不可跳过 — 工作流管道的每个环节必须走完
|
|
230
|
+
3. 不确定时先问 — 宁可多问一句,不要假设
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
## 技能体系
|
|
234
|
+
|
|
235
|
+
### 技能与角色对应
|
|
236
|
+
|
|
237
|
+
```mermaid
|
|
238
|
+
flowchart TB
|
|
239
|
+
subgraph MAX["Max 项目经理"]
|
|
240
|
+
M1["workflow\n8阶段工作流管道"]
|
|
241
|
+
M2["PM 辅助技能\n竞品分析/PRD/会议纪要等"]
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
subgraph ELLA["Ella 设计师"]
|
|
245
|
+
E1["ui-ux-pro-max\n50+ 设计风格"]
|
|
246
|
+
E2["senior-frontend\n前端最佳实践"]
|
|
247
|
+
E3["前端框架 x7\nReact/Vue/Angular/Next.js\nFlutter/RN"]
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
subgraph JARVIS["Jarvis 开发"]
|
|
251
|
+
J1["架构与设计 x7"]
|
|
252
|
+
J2["后端框架 x7"]
|
|
253
|
+
J3["编程语言 x11"]
|
|
254
|
+
J4["数据库与数据 x8"]
|
|
255
|
+
J5["DevOps x6"]
|
|
256
|
+
J6["安全与工具 x6"]
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
subgraph KYLE["Kyle 质量保障"]
|
|
260
|
+
K1["senior-qa + tdd-guide"]
|
|
261
|
+
K2["test-master + code-reviewer"]
|
|
262
|
+
K3["security-reviewer"]
|
|
263
|
+
K4["playwright-expert + chaos-engineer"]
|
|
264
|
+
end
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### 技能分布
|
|
268
|
+
|
|
269
|
+
| 角色 | 技能数 | 核心领域 |
|
|
270
|
+
|------|--------|---------|
|
|
271
|
+
| **Max** (PM) | 16 | 8 阶段工作流管道 + 3 横切技能 + 5 PM 辅助技能 |
|
|
272
|
+
| **Ella** (设计) | 10 | UI/UX 设计 + 前端最佳实践 + 7 前端框架 |
|
|
273
|
+
| **Jarvis** (开发) | 45 | 架构设计、后端框架、编程语言、数据库、DevOps、安全编码 |
|
|
274
|
+
| **Kyle** (QA) | 7 | QA 实践、TDD、测试策略、代码审查、安全审计、E2E、混沌工程 |
|
|
275
|
+
|
|
276
|
+
### 技能来源
|
|
277
|
+
|
|
278
|
+
| 技能 | 来源 | 许可证 |
|
|
279
|
+
|------|------|--------|
|
|
280
|
+
| 工作流技能 (11个) | 原创,受 [obra/superpowers](https://github.com/obra/superpowers) 和 [Harness Engineering](https://martinfowler.com/articles/harness-engineering.html) 启发 | MIT |
|
|
281
|
+
| 开发/QA/前端技能 (62个) | [Jeffallan/claude-skills](https://github.com/Jeffallan/claude-skills) | MIT |
|
|
282
|
+
| PM 辅助技能 (5个) | [mohitagw15856/pm-claude-skills](https://github.com/mohitagw15856/pm-claude-skills) | MIT |
|
|
283
|
+
| UI/UX Pro Max / Senior 系列 | SkillsMP 技能市场 | MIT |
|
|
284
|
+
|
|
285
|
+
## 集成到已有项目
|
|
286
|
+
|
|
287
|
+
### 方式一:CLI 工具(推荐)
|
|
288
|
+
|
|
289
|
+
```bash
|
|
290
|
+
cd your-project
|
|
291
|
+
npx aigroup-workflow init
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
交互式选择需要的角色,自动安装所有框架文件。
|
|
295
|
+
|
|
296
|
+
### 方式二:手动复制
|
|
297
|
+
|
|
298
|
+
```bash
|
|
299
|
+
# 必须复制
|
|
300
|
+
CLAUDE.md # Agent 入口
|
|
301
|
+
docs/ # 知识库
|
|
302
|
+
.claude/ # Claude Code 配置
|
|
303
|
+
.dev-agents/ # 角色定义 + 协作产物目录
|
|
304
|
+
scripts/harness/ # Harness 传感器
|
|
305
|
+
|
|
306
|
+
# 按需复制
|
|
307
|
+
skills/max/workflow/ # 工作流技能(强烈推荐)
|
|
308
|
+
skills/ella/ # 设计技能
|
|
309
|
+
skills/jarvis/ # 开发技能
|
|
310
|
+
skills/kyle/ # QA 技能
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
### 验证安装
|
|
314
|
+
|
|
315
|
+
```bash
|
|
316
|
+
aig check
|
|
317
|
+
# 或
|
|
318
|
+
bash scripts/harness/run-all.sh
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
## 项目结构
|
|
322
|
+
|
|
323
|
+
```
|
|
324
|
+
aiGroup/
|
|
325
|
+
├── CLAUDE.md # Agent 入口
|
|
326
|
+
├── package.json # npm 包配置
|
|
327
|
+
├── bin/aigroup.mjs # CLI 入口
|
|
328
|
+
├── cli/ # CLI 实现
|
|
329
|
+
│ ├── commands/ # init / update / check / status / menu
|
|
330
|
+
│ └── utils/ # prompts / logger / scaffold
|
|
331
|
+
├── docs/ # 知识库(唯一事实源)
|
|
332
|
+
├── .claude/ # Claude Code 配置
|
|
333
|
+
│ ├── settings.json # 权限设置
|
|
334
|
+
│ ├── hooks.json # Harness Hooks
|
|
335
|
+
│ └── commands/ # 斜杠命令
|
|
336
|
+
│ ├── ella.md # /ella
|
|
337
|
+
│ ├── jarvis.md # /jarvis
|
|
338
|
+
│ ├── kyle.md # /kyle
|
|
339
|
+
│ ├── init-project.md # /init-project
|
|
340
|
+
│ └── git-commit.md # /git-commit
|
|
341
|
+
├── .dev-agents/ # 角色定义 + 协作产物
|
|
342
|
+
│ ├── ella/PERSONA.md
|
|
343
|
+
│ ├── jarvis/PERSONA.md
|
|
344
|
+
│ ├── kyle/PERSONA.md
|
|
345
|
+
│ └── shared/ # tasks/ designs/ reviews/ templates/
|
|
346
|
+
├── skills/ # 技能库(按角色分组)
|
|
347
|
+
│ ├── max/ # PM: workflow(11) + 辅助技能(5)
|
|
348
|
+
│ ├── ella/ # 设计: UI/UX + 前端框架(10)
|
|
349
|
+
│ ├── jarvis/ # 开发: 45 Skills
|
|
350
|
+
│ └── kyle/ # QA: 7 Skills
|
|
351
|
+
└── scripts/harness/ # Harness 传感器套件
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
## Harness Engineering
|
|
355
|
+
|
|
356
|
+
```
|
|
357
|
+
Agent = Model + Harness
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
| 层级 | 机制 | 实现 |
|
|
361
|
+
|------|------|------|
|
|
362
|
+
| **前馈引导** | 行动前引导 | CLAUDE.md、Skills、工作流管道 |
|
|
363
|
+
| **计算型反馈** | 确定性检查 | Harness 传感器 + Hooks |
|
|
364
|
+
| **推理型反馈** | AI 审查 | Kyle 两阶段审查 |
|
|
365
|
+
| **熵管理** | 防退化 | entropy-management + 质量评分 |
|
|
366
|
+
|
|
367
|
+
```bash
|
|
368
|
+
bash scripts/harness/run-all.sh # 全量检查
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
## 常用命令速查
|
|
372
|
+
|
|
373
|
+
| 命令 | 说明 |
|
|
374
|
+
|------|------|
|
|
375
|
+
| `aig` | 交互式主菜单 |
|
|
376
|
+
| `aig init` | 初始化框架 |
|
|
377
|
+
| `aig update` | 增量更新 |
|
|
378
|
+
| `aig check` | 健康检查 |
|
|
379
|
+
| `aig status` | 工作流状态 |
|
|
380
|
+
| `/ella <任务>` | 派遣设计师 |
|
|
381
|
+
| `/jarvis <任务>` | 派遣开发 |
|
|
382
|
+
| `/kyle <任务>` | 派遣 QA |
|
|
383
|
+
| `/init-project <名称>` | 项目 AI 上下文初始化 |
|
|
384
|
+
| `/git-commit` | 智能 Git 提交 |
|
|
385
|
+
|
|
386
|
+
> `aig` 是 `aigroup` 的短别名。npx 用户:`npx aigroup-workflow <命令>`。
|
|
387
|
+
|
|
388
|
+
## 致谢
|
|
389
|
+
|
|
390
|
+
本项目基于 [yezannnnn/agentGroup](https://github.com/yezannnnn/agentGroup) 进行开发和扩展。感谢原作者 [@yezannnnn](https://github.com/yezannnnn) 提出的四 AI 专业分工协作框架理念。
|
|
391
|
+
|
|
392
|
+
## 社区支持
|
|
393
|
+
|
|
394
|
+
<div align="center">
|
|
395
|
+
|
|
396
|
+
[](https://linux.do/) [](https://linux.do/)
|
|
397
|
+
|
|
398
|
+
本项目在 [LINUX DO](https://linux.do/) 社区发布与交流,感谢佬友们的支持与反馈。
|
|
399
|
+
|
|
400
|
+
</div>
|
|
401
|
+
|
|
402
|
+
## 许可证
|
|
403
|
+
|
|
404
|
+
MIT License
|