sumulige-claude 1.1.1 → 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/.claude/hooks/code-formatter.cjs +7 -2
- package/.claude/hooks/multi-session.cjs +9 -3
- package/.claude/hooks/pre-commit.cjs +0 -0
- package/.claude/hooks/pre-push.cjs +0 -0
- package/.claude/hooks/project-kickoff.cjs +22 -11
- package/.claude/hooks/rag-skill-loader.cjs +7 -0
- package/.claude/hooks/thinking-silent.cjs +9 -3
- package/.claude/hooks/todo-manager.cjs +19 -13
- package/.claude/hooks/verify-work.cjs +10 -4
- package/.claude/quality-gate.json +9 -3
- package/.claude/settings.local.json +18 -1
- package/.claude/templates/hooks/README.md +302 -0
- package/.claude/templates/hooks/hook.sh.template +94 -0
- package/.claude/templates/hooks/user-prompt-submit.cjs.template +116 -0
- package/.claude/templates/hooks/user-response-submit.cjs.template +94 -0
- package/.claude/templates/hooks/validate.js +173 -0
- package/.claude/workflow/document-scanner.js +426 -0
- package/.claude/workflow/knowledge-engine.js +941 -0
- package/.claude/workflow/notebooklm/browser.js +1028 -0
- package/.claude/workflow/phases/phase1-research.js +578 -0
- package/.claude/workflow/phases/phase1-research.ts +465 -0
- package/.claude/workflow/phases/phase2-approve.js +722 -0
- package/.claude/workflow/phases/phase3-plan.js +1200 -0
- package/.claude/workflow/phases/phase4-develop.js +894 -0
- package/.claude/workflow/search-cache.js +230 -0
- package/.claude/workflow/templates/approval.md +315 -0
- package/.claude/workflow/templates/development.md +377 -0
- package/.claude/workflow/templates/planning.md +328 -0
- package/.claude/workflow/templates/research.md +250 -0
- package/.claude/workflow/types.js +37 -0
- package/.claude/workflow/web-search.js +278 -0
- package/.claude-plugin/marketplace.json +2 -2
- package/AGENTS.md +416 -1
- package/CHANGELOG.md +7 -14
- package/Q&A.md +230 -213
- package/README.md +256 -230
- package/cli.js +20 -0
- package/config/quality-gate.json +9 -3
- package/development/cache/web-search/search_1193d605f8eb364651fc2f2041b58a31.json +36 -0
- package/development/cache/web-search/search_3798bf06960edc125f744a1abb5b72c5.json +36 -0
- package/development/cache/web-search/search_37c7d4843a53f0d83f1122a6f908a2a3.json +36 -0
- package/development/cache/web-search/search_44166fa0153709ee168485a22aa0ab40.json +36 -0
- package/development/cache/web-search/search_4deaebb1f77e86a8ca066dc5a49c59fd.json +36 -0
- package/development/cache/web-search/search_94da91789466070a7f545612e73c7372.json +36 -0
- package/development/cache/web-search/search_dd5de8491b8b803a3cb01339cd210fb0.json +36 -0
- package/development/knowledge-base/.index.clean.json +0 -0
- package/development/knowledge-base/.index.json +486 -0
- package/development/knowledge-base/test-best-practices.md +29 -0
- package/development/projects/proj_mkh1pazz_ixmt1/phase1/feasibility-report.md +160 -0
- package/development/projects/proj_mkh4jvnb_z7rwf/phase1/feasibility-report.md +160 -0
- package/development/projects/proj_mkh4jxkd_ewz5a/phase1/feasibility-report.md +160 -0
- package/development/projects/proj_mkh4k84n_ni73k/phase1/feasibility-report.md +160 -0
- package/development/projects/proj_mkh4wfyd_u9w88/phase1/feasibility-report.md +160 -0
- package/development/projects/proj_mkh4wsbo_iahvf/development/projects/proj_mkh4xbpg_4na5w/phase1/feasibility-report.md +160 -0
- package/development/projects/proj_mkh4wsbo_iahvf/phase1/feasibility-report.md +160 -0
- package/development/projects/proj_mkh4xulg_1ka8x/phase1/feasibility-report.md +160 -0
- package/development/projects/proj_mkh4xwhj_gch8j/phase1/feasibility-report.md +160 -0
- package/development/projects/proj_mkh4y2qk_9lm8z/phase1/feasibility-report.md +160 -0
- package/development/projects/proj_mkh4y2qk_9lm8z/phase2/requirements.md +226 -0
- package/development/projects/proj_mkh4y2qk_9lm8z/phase3/PRD.md +345 -0
- package/development/projects/proj_mkh4y2qk_9lm8z/phase3/TASK_PLAN.md +284 -0
- package/development/projects/proj_mkh4y2qk_9lm8z/phase3/prototype/README.md +14 -0
- package/development/projects/proj_mkh4y2qk_9lm8z/phase4/DEVELOPMENT_LOG.md +35 -0
- package/development/projects/proj_mkh4y2qk_9lm8z/phase4/TASKS.md +34 -0
- package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/.env.example +5 -0
- package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/README.md +60 -0
- package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/package.json +25 -0
- package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/src/index.js +70 -0
- package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/src/routes/index.js +48 -0
- package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/tests/health.test.js +20 -0
- package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/tests/jest.config.js +21 -0
- package/development/projects/proj_mkh7veqg_3lypc/phase1/feasibility-report.md +160 -0
- package/development/projects/proj_mkh7veqg_3lypc/phase2/requirements.md +226 -0
- package/development/projects/proj_mkh7veqg_3lypc/phase3/PRD.md +345 -0
- package/development/projects/proj_mkh7veqg_3lypc/phase3/TASK_PLAN.md +284 -0
- package/development/projects/proj_mkh7veqg_3lypc/phase3/prototype/README.md +14 -0
- package/development/projects/proj_mkh8k8fo_rmqn5/phase1/feasibility-report.md +160 -0
- package/development/projects/proj_mkh8xyhy_1vshq/phase1/feasibility-report.md +178 -0
- package/development/projects/proj_mkh8zddd_dhamf/phase1/feasibility-report.md +377 -0
- package/development/projects/proj_mkh8zddd_dhamf/phase2/requirements.md +442 -0
- package/development/projects/proj_mkh8zddd_dhamf/phase3/api-design.md +800 -0
- package/development/projects/proj_mkh8zddd_dhamf/phase3/architecture.md +625 -0
- package/development/projects/proj_mkh8zddd_dhamf/phase3/data-model.md +830 -0
- package/development/projects/proj_mkh8zddd_dhamf/phase3/risks.md +957 -0
- package/development/projects/proj_mkh8zddd_dhamf/phase3/wbs.md +381 -0
- package/development/todos/.state.json +14 -1
- package/development/todos/INDEX.md +31 -73
- package/development/todos/completed/develop/local-knowledge-index.md +85 -0
- package/development/todos/{active → completed/develop}/todo-system.md +13 -3
- package/development/todos/completed/develop/web-search-integration.md +83 -0
- package/development/todos/completed/test/phase1-e2e-test.md +103 -0
- package/docs/DEVELOPMENT.md +329 -291
- package/lib/commands.js +388 -0
- package/package.json +3 -2
- package/tests/config-manager.test.js +677 -0
- package/tests/config-validator.test.js +436 -0
- package/tests/errors.test.js +477 -0
- package/tests/manual/phase1-e2e.sh +389 -0
- package/tests/manual/phase2-test-cases.md +311 -0
- package/tests/manual/phase3-test-cases.md +309 -0
- package/tests/manual/phase4-test-cases.md +414 -0
- package/tests/manual/test-cases.md +417 -0
- package/tests/quality-gate.test.js +679 -0
- package/tests/quality-rules.test.js +619 -0
- package/tests/version-check.test.js +75 -0
package/Q&A.md
CHANGED
|
@@ -1,308 +1,325 @@
|
|
|
1
|
-
# Sumulige Claude
|
|
1
|
+
# Sumulige Claude 渐进式指南
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> 从零开始,逐步理解项目的核心设计理念
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Level 1: 基础概念 (5 分钟)
|
|
8
8
|
|
|
9
|
-
###
|
|
10
|
-
**它不是"工具",是"数字合伙人"**——需要跟随项目一起成长。
|
|
9
|
+
### Q: sumulige-claude 是什么?
|
|
11
10
|
|
|
12
|
-
|
|
11
|
+
**一句话答案**:它是 Claude Code 的"能力扩展器"。
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
|--------------|-----------------|
|
|
16
|
-
| 全局安装,到处通用 | 嵌入项目,专属定制 |
|
|
17
|
-
| 静态能力,版本固定 | 动态进化,持续学习 |
|
|
18
|
-
| 扳手(用完即走) | 副驾驶(全程陪伴) |
|
|
19
|
-
|
|
20
|
-
### 💡 四大设计深意
|
|
13
|
+
**类比理解**:
|
|
21
14
|
|
|
22
15
|
```
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
│ 2️⃣ 上下文记忆 │
|
|
29
|
-
│ .claude/rag/ 是 Agent 的"海马体" │
|
|
30
|
-
│ 项目架构决策 → 长期记忆沉淀 │
|
|
31
|
-
├─────────────────────────────────────────────────────────────┤
|
|
32
|
-
│ 3️⃣ 团队一致性 │
|
|
33
|
-
│ 工具链即代码 (Toolchain as Code) │
|
|
34
|
-
│ git clone → pnpm install → 获得一致的 AI 环境 │
|
|
35
|
-
├─────────────────────────────────────────────────────────────┤
|
|
36
|
-
│ 4️⃣ 构建联动 │
|
|
37
|
-
│ 修改共享类型 → 自动触发 Agent 重新构建 │
|
|
38
|
-
│ 确保 AI 永不基于过时定义生成代码 │
|
|
39
|
-
└─────────────────────────────────────────────────────────────┘
|
|
16
|
+
Claude Code = 一辆基础款汽车
|
|
17
|
+
sumulige-claude = 给汽车加装:
|
|
18
|
+
├─ 导航系统 (Template)
|
|
19
|
+
├─ 自动驾驶 (Agents)
|
|
20
|
+
└─ 第三方配件接口 (Skills)
|
|
40
21
|
```
|
|
41
22
|
|
|
42
|
-
|
|
23
|
+
**核心价值**:
|
|
24
|
+
1. **记忆** - 记住你的项目决策
|
|
25
|
+
2. **分工** - 不同 AI 专注不同任务
|
|
26
|
+
3. **复用** - 技能可以在项目间共享
|
|
43
27
|
|
|
44
|
-
|
|
28
|
+
---
|
|
45
29
|
|
|
46
|
-
|
|
47
|
-
**`template/` 是"工厂",根目录 `.claude/` 是"产品"。**
|
|
30
|
+
## Level 2: 目录结构理解 (10 分钟)
|
|
48
31
|
|
|
49
|
-
###
|
|
32
|
+
### Q: 为什么要保留在项目中?
|
|
50
33
|
|
|
34
|
+
**传统 CLI 工具**:
|
|
51
35
|
```
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
▼ ▼
|
|
55
|
-
🏭 安装光盘 💾 存档文件
|
|
56
|
-
🎓 毕业证书模板 📝 你的毕业证
|
|
57
|
-
🧬 DNA 模板 🧑 具体的人
|
|
58
|
-
📘 类定义 (Class) 📦 实例 (Instance)
|
|
36
|
+
npm install -g tool → 全局安装
|
|
37
|
+
tool command → 到处都能用
|
|
59
38
|
```
|
|
60
39
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
| 特性 | **根目录 `.claude/`** | **template/.claude/** |
|
|
64
|
-
|------|----------------------|----------------------|
|
|
65
|
-
| **性质** | 实例 (Instance) | 模板 (Blueprint) |
|
|
66
|
-
| **状态** | ✅ 有状态 | ❌ 无状态 |
|
|
67
|
-
| **内容** | sessions/, 本地配置, 项目 RAG | commands/, skills/, thinking-routes/ |
|
|
68
|
-
| **作用** | 记录"聊过什么" | 定义"能做什么" |
|
|
69
|
-
| **Git** | 部分忽略 (sessions/) | 完整提交 |
|
|
70
|
-
| **生命周期** | 随项目存在 | 发布即固化 |
|
|
71
|
-
|
|
72
|
-
### 🔄 工作流程
|
|
73
|
-
|
|
40
|
+
**sumulige-claude**:
|
|
74
41
|
```
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
│ template/ │ │ xxx/ │
|
|
78
|
-
│ .claude/ │ 复制模板 │ .claude/ │
|
|
79
|
-
│ ├─commands/ │ ─────────────────▶ │ ├─commands/ │
|
|
80
|
-
│ ├─skills/ │ │ ├─skills/ │
|
|
81
|
-
│ └─... │ │ ├─sessions/ │ ← 新增:对话记忆
|
|
82
|
-
│ │ │ ├─rag/ │ ← 新增:项目知识
|
|
83
|
-
│ │ │ └─... │
|
|
84
|
-
└────────────────┘ └────────────────┘
|
|
85
|
-
工厂 产品
|
|
42
|
+
npm install -g sumulige-claude → 全局安装框架
|
|
43
|
+
smc template → 每个项目专属配置
|
|
86
44
|
```
|
|
87
45
|
|
|
88
|
-
|
|
46
|
+
**关键区别**:
|
|
89
47
|
|
|
90
|
-
|
|
|
91
|
-
|
|
92
|
-
|
|
|
93
|
-
|
|
|
94
|
-
|
|
|
95
|
-
|
|
96
|
-
---
|
|
48
|
+
| 特性 | 传统 CLI | sumulige-claude |
|
|
49
|
+
|------|---------|-----------------|
|
|
50
|
+
| 安装位置 | 全局 | 全局框架 + 项目配置 |
|
|
51
|
+
| 配置方式 | 一个全局配置 | 每个项目独立配置 |
|
|
52
|
+
| 记忆能力 | 无 | 项目级记忆 (RAG) |
|
|
53
|
+
| 团队协作 | 每人各自配置 | 配置随项目共享 |
|
|
97
54
|
|
|
98
|
-
|
|
55
|
+
**为什么这样设计?**
|
|
99
56
|
|
|
100
57
|
```
|
|
101
58
|
┌─────────────────────────────────────────────────────────────┐
|
|
102
|
-
│
|
|
59
|
+
│ 场景:你有一个团队,大家在同一个项目上工作 │
|
|
103
60
|
├─────────────────────────────────────────────────────────────┤
|
|
104
61
|
│ │
|
|
105
|
-
│
|
|
106
|
-
│
|
|
107
|
-
│
|
|
108
|
-
│
|
|
109
|
-
│ │
|
|
110
|
-
│
|
|
111
|
-
│
|
|
112
|
-
│
|
|
113
|
-
│
|
|
114
|
-
│
|
|
115
|
-
│
|
|
116
|
-
│ 能力定义 运行实例 │
|
|
117
|
-
│ (无状态) (有状态) │
|
|
62
|
+
│ 传统方式: │
|
|
63
|
+
│ ├─ 每个人自己配置 Claude │
|
|
64
|
+
│ ├─ 张三用 Opus,李四用 Sonnet │
|
|
65
|
+
│ ├─ 王五知道项目架构,赵六不知道 │
|
|
66
|
+
│ └─ 结果:代码风格不一致,决策不统一 │
|
|
67
|
+
│ │
|
|
68
|
+
│ sumulige-claude 方式: │
|
|
69
|
+
│ ├─ git clone 项目 │
|
|
70
|
+
│ ├─ smc sync 获取统一配置 │
|
|
71
|
+
│ ├─ 所有人使用相同的 Agent 定义 │
|
|
72
|
+
│ └─ RAG 系统让所有人了解项目历史 │
|
|
118
73
|
│ │
|
|
119
74
|
└─────────────────────────────────────────────────────────────┘
|
|
120
75
|
```
|
|
121
76
|
|
|
122
77
|
---
|
|
123
78
|
|
|
124
|
-
##
|
|
79
|
+
## Level 3: 两个目录的区别 (15 分钟)
|
|
125
80
|
|
|
126
|
-
###
|
|
127
|
-
**`template` 是"全屋装修",`sync` 是"添置物品"。**
|
|
81
|
+
### Q: `.claude/` 和 `template/.claude/` 有什么不同?
|
|
128
82
|
|
|
129
|
-
|
|
83
|
+
**最简单的理解**:
|
|
130
84
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
85
|
+
```
|
|
86
|
+
template/.claude/ = 工厂 (生产配置)
|
|
87
|
+
.claude/ = 家 (你实际使用的配置)
|
|
88
|
+
```
|
|
135
89
|
|
|
136
|
-
|
|
90
|
+
**类比**:
|
|
137
91
|
|
|
138
92
|
```
|
|
139
|
-
|
|
140
|
-
|
|
93
|
+
template/.claude/ 你的项目 .claude/
|
|
94
|
+
│ │
|
|
95
|
+
▼ ▼
|
|
96
|
+
🏭 工厂 🏠 你的家
|
|
97
|
+
├─ 蓝图 ├─ 实际建筑
|
|
98
|
+
├─ 生产线 ├─ 家具物品
|
|
99
|
+
└─ 模板 └─ 个人物品
|
|
100
|
+
|
|
101
|
+
(无状态,不可变) (有状态,可变化)
|
|
102
|
+
```
|
|
141
103
|
|
|
142
|
-
|
|
104
|
+
**详细对比**:
|
|
143
105
|
|
|
144
|
-
|
|
106
|
+
| 维度 | `template/.claude/` | 项目 `.claude/` |
|
|
107
|
+
|------|---------------------|-----------------|
|
|
108
|
+
| **性质** | 模板 | 实例 |
|
|
109
|
+
| **状态** | 只读 | 可写 |
|
|
110
|
+
| **内容** | commands/, skills/, hooks/ | + sessions/, rag/ |
|
|
111
|
+
| **Git 追踪** | 完整提交 | sessions/ 忽略 |
|
|
112
|
+
| **更新方式** | npm update | smc sync |
|
|
145
113
|
|
|
146
|
-
|
|
147
|
-
(窗帘+地板+沙发) (只买沙发)
|
|
114
|
+
**工作流程**:
|
|
148
115
|
|
|
149
|
-
覆盖原有装修 不动已有物品
|
|
150
116
|
```
|
|
117
|
+
┌──────────────────────┐
|
|
118
|
+
│ template/.claude/ │ npm 包的一部分
|
|
119
|
+
│ (能力定义) │ 定义"能做什么"
|
|
120
|
+
└──────────┬───────────┘
|
|
121
|
+
│ smc template
|
|
122
|
+
▼
|
|
123
|
+
┌──────────────────────┐
|
|
124
|
+
│ 项目/.claude/ │ 项目的一部分
|
|
125
|
+
│ (运行状态) │ 记录"做过什么"
|
|
126
|
+
│ ├─ commands/ │ (来自模板)
|
|
127
|
+
│ ├─ skills/ │ (来自模板)
|
|
128
|
+
│ ├─ sessions/ │ (新增:对话记录)
|
|
129
|
+
│ └─ rag/ │ (新增:项目知识)
|
|
130
|
+
└──────────────────────┘
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
---
|
|
151
134
|
|
|
152
|
-
|
|
135
|
+
## Level 4: 命令选择 (20 分钟)
|
|
136
|
+
|
|
137
|
+
### Q: `smc template` vs `smc sync`?
|
|
138
|
+
|
|
139
|
+
**决策树**:
|
|
153
140
|
|
|
154
|
-
**场景 A:启动新项目**
|
|
155
|
-
```bash
|
|
156
|
-
mkdir my-new-project
|
|
157
|
-
cd my-new-project
|
|
158
|
-
smc template # ✅ 一次性配置好所有 AI 能力
|
|
159
141
|
```
|
|
142
|
+
你的项目
|
|
143
|
+
│
|
|
144
|
+
├─ 是空的?
|
|
145
|
+
│ └─ 是 → smc template
|
|
146
|
+
│ (全屋装修)
|
|
147
|
+
│
|
|
148
|
+
└─ 已有文件?
|
|
149
|
+
└─ 是 → smc sync
|
|
150
|
+
(添置家具)
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
**详细对比**:
|
|
154
|
+
|
|
155
|
+
| 操作 | `smc template` | `smc sync` |
|
|
156
|
+
|------|----------------|------------|
|
|
157
|
+
| **用途** | 新项目初始化 | 现有项目更新 |
|
|
158
|
+
| **行为** | 完整覆盖 | 增量同步 |
|
|
159
|
+
| **风险** | 会覆盖已有文件 | 只补缺失的 |
|
|
160
|
+
| **sessions/** | 创建空目录 | 完整保留 |
|
|
161
|
+
|
|
162
|
+
**安全选项** (v1.1.0+):
|
|
160
163
|
|
|
161
|
-
**场景 B:已有项目想用 sumulige-claude**
|
|
162
164
|
```bash
|
|
163
|
-
|
|
164
|
-
smc
|
|
165
|
+
smc template # 默认:覆盖前备份
|
|
166
|
+
smc template --safe # 跳过已存在的文件
|
|
167
|
+
smc template --force# 强制覆盖,不备份
|
|
165
168
|
```
|
|
166
169
|
|
|
167
|
-
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Level 5: 更新机制 (25 分钟)
|
|
168
173
|
|
|
169
|
-
|
|
170
|
-
|------|--------------|----------|
|
|
171
|
-
| `.claude/` 目录 | ✅ 创建/覆盖 | ✅ 补充缺失 |
|
|
172
|
-
| `CLAUDE.md` | ⚠️ 覆盖 | ✅ 保留已有 |
|
|
173
|
-
| `hooks/*` | ⚠️ 覆盖 | ✅ 保留已有 |
|
|
174
|
-
| `commands/*` | ⚠️ 覆盖 | ✅ 保留已有 |
|
|
175
|
-
| `sessions/` | ✅ 新建空目录 | ✅ 完整保留 |
|
|
174
|
+
### Q: 如何更新到新版本?
|
|
176
175
|
|
|
177
|
-
|
|
176
|
+
**三层结构**:
|
|
178
177
|
|
|
179
178
|
```
|
|
180
179
|
┌─────────────────────────────────────────────────────────────┐
|
|
181
|
-
│
|
|
182
|
-
|
|
183
|
-
│
|
|
184
|
-
│ 项目是空的? │
|
|
185
|
-
│ │ │
|
|
186
|
-
│ ├─ 是 → smc template │
|
|
187
|
-
│ │ (全屋装修) │
|
|
188
|
-
│ │ │
|
|
189
|
-
│ └─ 否 → smc sync │
|
|
190
|
-
│ (添置物品) │
|
|
191
|
-
│ │
|
|
180
|
+
│ 全局层 (~/.claude/) → 工具箱 │
|
|
181
|
+
│ 项目层 (./.claude/) → 工作台 │
|
|
182
|
+
│ 代码层 (node_modules/) → 零件 │
|
|
192
183
|
└─────────────────────────────────────────────────────────────┘
|
|
193
184
|
```
|
|
194
185
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
`smc template` 会**覆盖**以下关键文件:
|
|
198
|
-
- `.claude/CLAUDE.md` - 项目配置
|
|
199
|
-
- `.claude/hooks/*` - 钩子脚本
|
|
200
|
-
- `.claude/commands/*` - 命令定义
|
|
201
|
-
|
|
202
|
-
**v1.1.0 新增安全选项**:
|
|
203
|
-
- `smc template --safe` - 跳过已存在的文件(不覆盖)
|
|
204
|
-
- `smc template --force` - 强制覆盖(不备份)
|
|
205
|
-
- `smc template` (默认) - 覆盖前自动备份到 `.claude/backup/`
|
|
206
|
-
|
|
207
|
-
### 🛡️ 安全机制
|
|
208
|
-
|
|
209
|
-
默认情况下,`smc template` 会自动备份被覆盖的文件:
|
|
186
|
+
**更新流程**:
|
|
210
187
|
|
|
211
188
|
```bash
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
```
|
|
189
|
+
# 1️⃣ 更新全局包 (新零件)
|
|
190
|
+
npm update -g sumulige-claude
|
|
215
191
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
smc
|
|
192
|
+
# 2️⃣ 同步到项目 (组装到工作台)
|
|
193
|
+
cd your-project
|
|
194
|
+
smc sync
|
|
219
195
|
```
|
|
220
196
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
197
|
+
**为什么需要两步?**
|
|
198
|
+
|
|
199
|
+
```
|
|
200
|
+
npm update smc sync
|
|
201
|
+
│ │
|
|
202
|
+
▼ ▼
|
|
203
|
+
┌─────────────────┐ ┌─────────────────┐
|
|
204
|
+
│ 更新工具箱 │ │ 更新工作台 │
|
|
205
|
+
│ ├─ 新的工具 │ │ ├─ 新的命令 │
|
|
206
|
+
│ ├─ 新的模板 │ │ ├─ 新的技能 │
|
|
207
|
+
│ └─ 新的能力 │ │ └─ 新的配置 │
|
|
208
|
+
│ │ │ │
|
|
209
|
+
│ 但你的项目 │ │ 把新能力 │
|
|
210
|
+
│ 还没用到 │ │ 应用到项目 │
|
|
211
|
+
└─────────────────┘ └─────────────────┘
|
|
224
212
|
```
|
|
225
213
|
|
|
226
214
|
---
|
|
227
215
|
|
|
228
|
-
##
|
|
229
|
-
|
|
230
|
-
### 🔑 一句话答案
|
|
231
|
-
**更新全局包 → 同步到项目**
|
|
216
|
+
## Level 6: 深入架构 (30 分钟)
|
|
232
217
|
|
|
233
|
-
###
|
|
234
|
-
|
|
235
|
-
```bash
|
|
236
|
-
# 1️⃣ 检查当前版本
|
|
237
|
-
smc --version
|
|
218
|
+
### Q: 整个系统是如何工作的?
|
|
238
219
|
|
|
239
|
-
|
|
240
|
-
npm update -g sumulige-claude
|
|
220
|
+
**数据流图**:
|
|
241
221
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
222
|
+
```
|
|
223
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
224
|
+
│ 用户输入 │
|
|
225
|
+
│ "帮我实现一个 API" │
|
|
226
|
+
└─────────────────────────────┬───────────────────────────────┘
|
|
227
|
+
│
|
|
228
|
+
▼
|
|
229
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
230
|
+
│ Conductor Agent │
|
|
231
|
+
│ (理解需求,分解任务) │
|
|
232
|
+
│ ├─ 查询 RAG:了解项目架构 │
|
|
233
|
+
│ ├─ 查询 Sessions:了解历史决策 │
|
|
234
|
+
│ └─ 生成任务计划 │
|
|
235
|
+
└─────────────────────────────┬───────────────────────────────┘
|
|
236
|
+
│
|
|
237
|
+
┌───────────────┼───────────────┐
|
|
238
|
+
▼ ▼ ▼
|
|
239
|
+
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
240
|
+
│ Architect │ │ Builder │ │ Reviewer │
|
|
241
|
+
│ 设计架构 │ → 实现代码 │ → 审查代码 │
|
|
242
|
+
└─────────────┘ └─────────────┘ └─────────────┘
|
|
243
|
+
│
|
|
244
|
+
▼
|
|
245
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
246
|
+
│ Librarian Agent │
|
|
247
|
+
│ (整理文档,更新知识库) │
|
|
248
|
+
│ ├─ 更新 RAG:新架构决策 │
|
|
249
|
+
│ └─ 更新 Sessions:对话记录 │
|
|
250
|
+
└─────────────────────────────────────────────────────────────┘
|
|
245
251
|
```
|
|
246
252
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
| 维度 | 全局 `~/.claude/` | 项目 `./.claude/` |
|
|
250
|
-
|------|-------------------|-------------------|
|
|
251
|
-
| **作用域** | 用户级 | 项目级 |
|
|
252
|
-
| **初始化** | `smc init` | `smc template` / `smc sync` |
|
|
253
|
-
| **更新时机** | npm update 后 | 运行 smc sync |
|
|
254
|
-
| **内容性质** | 能力定义 (能做什么) | 运行状态 (做过什么) |
|
|
253
|
+
**记忆系统**:
|
|
255
254
|
|
|
256
255
|
```
|
|
257
256
|
┌─────────────────────────────────────────────────────────────┐
|
|
258
|
-
│
|
|
257
|
+
│ ThinkingLens (对话记忆) │
|
|
258
|
+
│ ├─ 记录每次对话的完整上下文 │
|
|
259
|
+
│ ├─ 可搜索历史对话 │
|
|
260
|
+
│ └─ 自动同步到项目 │
|
|
259
261
|
├─────────────────────────────────────────────────────────────┤
|
|
260
|
-
│
|
|
261
|
-
│
|
|
262
|
-
│
|
|
263
|
-
│
|
|
264
|
-
│ init = "买工具箱" → 一次购买,终身使用 │
|
|
265
|
-
│ template = "摆工具" → 每个项目摆一次 │
|
|
266
|
-
│ sync = "补工具" → 发现缺什么补什么 │
|
|
267
|
-
│ │
|
|
262
|
+
│ RAG System (项目知识) │
|
|
263
|
+
│ ├─ 存储架构决策 │
|
|
264
|
+
│ ├─ 存储代码风格约定 │
|
|
265
|
+
│ └─ Agent 可以查询获取上下文 │
|
|
268
266
|
└─────────────────────────────────────────────────────────────┘
|
|
269
267
|
```
|
|
270
268
|
|
|
271
|
-
|
|
269
|
+
**质量门禁**:
|
|
270
|
+
|
|
271
|
+
```
|
|
272
|
+
git commit
|
|
273
|
+
│
|
|
274
|
+
▼
|
|
275
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
276
|
+
│ pre-commit hook │
|
|
277
|
+
│ ├─ 运行质量检查 │
|
|
278
|
+
│ ├─ 检查代码行数 │
|
|
279
|
+
│ ├─ 检查文件大小 │
|
|
280
|
+
│ └─ 检查代码风格 │
|
|
281
|
+
└─────────────────────────────┬───────────────────────────────┘
|
|
282
|
+
│
|
|
283
|
+
┌─────────┴─────────┐
|
|
284
|
+
▼ ▼
|
|
285
|
+
通过 ✅ 失败 ❌
|
|
286
|
+
│ │
|
|
287
|
+
▼ ▼
|
|
288
|
+
允许提交 阻止提交
|
|
289
|
+
```
|
|
272
290
|
|
|
273
|
-
|
|
291
|
+
---
|
|
274
292
|
|
|
275
|
-
|
|
276
|
-
|------|---------|------|
|
|
277
|
-
| `smc --version` | 主动检查 | 用户主动触发,零性能开销 |
|
|
278
|
-
| `smc sync` | 主动检查 | 同步时已联网,无额外开销 |
|
|
279
|
-
| 其他命令 | 不检查 | 不影响正常使用 |
|
|
293
|
+
## 快速参考
|
|
280
294
|
|
|
281
|
-
###
|
|
295
|
+
### 常用命令速查
|
|
282
296
|
|
|
283
297
|
```bash
|
|
284
|
-
#
|
|
285
|
-
|
|
286
|
-
|
|
298
|
+
# 初始化
|
|
299
|
+
smc init # 全局配置初始化
|
|
300
|
+
smc template # 新项目部署
|
|
301
|
+
smc sync # 增量同步
|
|
287
302
|
|
|
288
|
-
#
|
|
289
|
-
|
|
303
|
+
# 技能管理
|
|
304
|
+
smc marketplace:list # 浏览技能市场
|
|
305
|
+
smc skill:list # 查看已安装技能
|
|
290
306
|
|
|
291
|
-
#
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
```
|
|
307
|
+
# 质量检查
|
|
308
|
+
smc qg:check # 运行质量检查
|
|
309
|
+
smc config:validate # 验证配置文件
|
|
295
310
|
|
|
296
|
-
|
|
311
|
+
# 项目规划
|
|
312
|
+
smc kickoff # 启动项目规划
|
|
313
|
+
```
|
|
297
314
|
|
|
298
|
-
|
|
315
|
+
### 配置文件位置
|
|
299
316
|
|
|
300
|
-
```json
|
|
301
|
-
"postinstall": "node cli.js init"
|
|
302
317
|
```
|
|
303
|
-
|
|
304
|
-
|
|
318
|
+
~/.claude/config.json # 全局配置
|
|
319
|
+
./.claude/settings.json # 项目配置
|
|
320
|
+
./.claude/quality-gate.json # 质量门禁配置
|
|
321
|
+
```
|
|
305
322
|
|
|
306
323
|
---
|
|
307
324
|
|
|
308
|
-
|
|
325
|
+
*更多细节查看 [README.md](./README.md)*
|