sumulige-claude 1.0.6 → 1.0.8

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.
Files changed (53) hide show
  1. package/.claude/.kickoff-hint.txt +51 -0
  2. package/.claude/ANCHORS.md +40 -0
  3. package/.claude/MEMORY.md +34 -0
  4. package/.claude/PROJECT_LOG.md +101 -0
  5. package/.claude/THINKING_CHAIN_GUIDE.md +287 -0
  6. package/.claude/commands/commit-push-pr.md +59 -0
  7. package/.claude/commands/commit.md +53 -0
  8. package/.claude/commands/pr.md +76 -0
  9. package/.claude/commands/review.md +61 -0
  10. package/.claude/commands/sessions.md +62 -0
  11. package/.claude/commands/skill-create.md +131 -0
  12. package/.claude/commands/test.md +56 -0
  13. package/.claude/commands/todos.md +99 -0
  14. package/.claude/commands/verify-work.md +63 -0
  15. package/.claude/hooks/code-formatter.cjs +187 -0
  16. package/.claude/hooks/code-tracer.cjs +331 -0
  17. package/.claude/hooks/conversation-recorder.cjs +340 -0
  18. package/.claude/hooks/decision-tracker.cjs +398 -0
  19. package/.claude/hooks/export.cjs +329 -0
  20. package/.claude/hooks/multi-session.cjs +181 -0
  21. package/.claude/hooks/privacy-filter.js +224 -0
  22. package/.claude/hooks/project-kickoff.cjs +114 -0
  23. package/.claude/hooks/rag-skill-loader.cjs +159 -0
  24. package/.claude/hooks/session-end.sh +61 -0
  25. package/.claude/hooks/sync-to-log.sh +83 -0
  26. package/.claude/hooks/thinking-silent.cjs +145 -0
  27. package/.claude/hooks/tl-summary.sh +54 -0
  28. package/.claude/hooks/todo-manager.cjs +248 -0
  29. package/.claude/hooks/verify-work.cjs +134 -0
  30. package/.claude/sessions/active-sessions.json +359 -0
  31. package/.claude/settings.local.json +43 -2
  32. package/.claude/thinking-routes/.last-sync +1 -0
  33. package/.claude/thinking-routes/QUICKREF.md +98 -0
  34. package/.claude-plugin/marketplace.json +71 -0
  35. package/.github/workflows/sync-skills.yml +74 -0
  36. package/AGENTS.md +81 -22
  37. package/DEV_TOOLS_GUIDE.md +190 -0
  38. package/PROJECT_STRUCTURE.md +10 -1
  39. package/README.md +142 -708
  40. package/cli.js +116 -822
  41. package/config/defaults.json +34 -0
  42. package/config/skill-categories.json +40 -0
  43. package/development/todos/INDEX.md +14 -58
  44. package/docs/DEVELOPMENT.md +423 -0
  45. package/docs/MARKETPLACE.md +352 -0
  46. package/lib/commands.js +698 -0
  47. package/lib/config.js +71 -0
  48. package/lib/marketplace.js +486 -0
  49. package/lib/utils.js +62 -0
  50. package/package.json +11 -5
  51. package/scripts/sync-external.mjs +298 -0
  52. package/scripts/update-registry.mjs +325 -0
  53. package/sources.yaml +83 -0
@@ -0,0 +1,34 @@
1
+ {
2
+ "version": "1.0.7",
3
+ "model": "claude-opus-4.5",
4
+ "agents": {
5
+ "conductor": {
6
+ "role": "Task coordination and decomposition"
7
+ },
8
+ "architect": {
9
+ "role": "Architecture design and decisions"
10
+ },
11
+ "builder": {
12
+ "role": "Code implementation and testing"
13
+ },
14
+ "reviewer": {
15
+ "role": "Code review and quality check"
16
+ },
17
+ "librarian": {
18
+ "role": "Documentation and knowledge"
19
+ }
20
+ },
21
+ "skills": [
22
+ "anthropics/skills",
23
+ "numman-ali/n-skills"
24
+ ],
25
+ "hooks": {
26
+ "preTask": [],
27
+ "postTask": []
28
+ },
29
+ "thinkingLens": {
30
+ "enabled": true,
31
+ "autoSync": true,
32
+ "syncInterval": 20
33
+ }
34
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "categories": {
4
+ "tools": {
5
+ "name": "CLI 工具",
6
+ "description": "命令行工具和实用程序",
7
+ "icon": "🔧"
8
+ },
9
+ "development": {
10
+ "name": "开发辅助",
11
+ "description": "语言特定的开发辅助工具",
12
+ "icon": "💻"
13
+ },
14
+ "productivity": {
15
+ "name": "效率工具",
16
+ "description": "工作流自动化和效率提升",
17
+ "icon": "⚡"
18
+ },
19
+ "automation": {
20
+ "name": "自动化",
21
+ "description": "浏览器、CI/CD、系统自动化",
22
+ "icon": "🤖"
23
+ },
24
+ "data": {
25
+ "name": "数据处理",
26
+ "description": "数据库、数据处理和分析",
27
+ "icon": "📊"
28
+ },
29
+ "documentation": {
30
+ "name": "文档",
31
+ "description": "文档、图表、规范生成",
32
+ "icon": "📚"
33
+ },
34
+ "workflow": {
35
+ "name": "工作流编排",
36
+ "description": "多代理编排和协调",
37
+ "icon": "🎼"
38
+ }
39
+ }
40
+ }
@@ -2,62 +2,22 @@
2
2
 
3
3
  > 本目录由 AI 自动维护,记录项目开发任务和进度
4
4
 
5
- **最后更新**: 2026-01-11
5
+ **最后更新**: 2026-01-14
6
6
 
7
- ---
7
+ @version: 1.0.0
8
8
 
9
- ## 📊 整体进度
9
+ ## 目录结构
10
10
 
11
11
  ```
12
- Total: `███████░░░░░░░░░░░░░` 33%
13
-
14
- P0 (关键任务): `░░░░░░░░░░░░░░░░░░░░` 0% (0/0)
15
- P1 (高优先级): `██████████░░░░░░░░░░` 50% (1/2)
16
- P2 (中优先级): `░░░░░░░░░░░░░░░░░░░░` 0% (0/1)
17
- P3 (低优先级): `░░░░░░░░░░░░░░░░░░░░` 0% (0/0)
12
+ development/todos/
13
+ ├── INDEX.md # 本文件 - 任务总览
14
+ ├── active/ # 进行中的任务 (1)
15
+ ├── completed/ # 已完成的任务 (1)
16
+ ├── backlog/ # 待规划的任务 (1)
17
+ └── archived/ # 已归档的任务 (0)
18
18
  ```
19
19
 
20
- ---
21
-
22
- ## 📁 按状态查看
23
-
24
- | 状态 | 目录 | 数量 |
25
- |------|------|------|
26
- | 🚧 进行中 | `active/` | 1 |
27
- | ✅ 已完成 | `completed/` | 1 |
28
- | 📋 待办 | `backlog/` | 1 |
29
- | 📦 已归档 | `archived/` | 0 |
30
-
31
- ---
32
-
33
- ## 🎯 按优先级查看
34
-
35
- ### P0 - 关键任务 `0/0`
36
-
37
- > 阻塞发布,必须完成
38
-
39
- *暂无 P0 任务*
40
-
41
- ### P1 - 高优先级 `1/2`
42
-
43
- > 重要功能,下个里程碑
44
-
45
- - 🚧 [TODO 任务管理系统](./active/todo-system.md) `branch: feature/todo-system`
46
- - ✅ [Boris 最佳实践集成](./completed/boris-optimizations.md) `branch: feature/boris-optimizations`
47
-
48
- ### P2 - 中优先级 `0/1`
49
-
50
- > 正常功能开发
51
-
52
- - 📋 [MCP 集成增强](./backlog/mcp-integration.md) `branch: feature/mcp-integration`
53
-
54
- ### P3 - 低优先级 `0/0`
55
-
56
- > 改进优化,有空再做
57
-
58
- *暂无 P3 任务*
59
-
60
- ---
20
+ ## 快速跳转
61
21
 
62
22
  ## 🚧 进行中的任务 (1)
63
23
 
@@ -65,23 +25,19 @@ P3 (低优先级): `░░░░░░░░░░░░░░░░░░░
65
25
 
66
26
  ## ✅ 最近完成的任务
67
27
 
68
- - [P1] [Boris 最佳实践集成](./completed/boris-optimizations.md)
28
+ - [Boris 最佳实践集成](./completed/boris-optimizations.md)
69
29
 
70
30
  ## 📋 待办任务 (1)
71
31
 
72
32
  - [P2] [MCP 集成增强](./backlog/mcp-integration.md)
73
33
 
74
- ---
75
-
76
- ## 📂 全部目录
34
+ ## 全部目录
77
35
 
78
36
  - [🚧 所有进行中的任务](./active/) - 当前开发重点
79
37
  - [✅ 所有已完成的任务](./completed/) - 完整历史
80
38
  - [📋 所有待办任务](./backlog/) - 待规划
81
39
  - [📦 所有已归档任务](./archived/) - 历史记录
82
40
 
83
- ---
84
-
85
41
  ## 使用方式
86
42
 
87
43
  ### 查看任务
@@ -97,7 +53,7 @@ cat development/todos/active/feature-name.md
97
53
  ### 创建新任务
98
54
  在 Claude Code 中:
99
55
  ```
100
- 创建一个新任务:实现用户登录功能,优先级 P1
56
+ 创建一个新任务:实现用户登录功能
101
57
  ```
102
58
 
103
59
  AI 会自动在 `active/` 目录创建对应的任务文件。
@@ -111,4 +67,4 @@ AI 会自动将任务移动到 `completed/` 目录。
111
67
 
112
68
  ---
113
69
 
114
- > **维护说明**: 本系统由 AI 自动维护,请勿手动编辑 INDEX.md(除非你知道自己在做什么)
70
+ > **维护说明**: 本系统由 AI 自动维护,请勿手动编辑(除非你知道自己在做什么)
@@ -0,0 +1,423 @@
1
+ # Development Guide - SMC Marketplace
2
+
3
+ 本文档详细说明了 SMC 技能市场和自动同步系统的开发细节。
4
+
5
+ ## 目录
6
+
7
+ - [架构概述](#架构概述)
8
+ - [项目结构](#项目结构)
9
+ - [添加新技能](#添加新技能)
10
+ - [同步机制原理](#同步机制原理)
11
+ - [命令开发](#命令开发)
12
+ - [调试指南](#调试指南)
13
+
14
+ ---
15
+
16
+ ## 架构概述
17
+
18
+ ### 核心组件
19
+
20
+ ```
21
+ ┌─────────────────────────────────────────────────────────────┐
22
+ │ SMC CLI │
23
+ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐ │
24
+ │ │ Commands │ │ Marketplace │ │ Config │ │
25
+ │ │ │ │ Commands │ │ │ │
26
+ │ └──────────────┘ └──────────────┘ └──────────────────┘ │
27
+ └─────────────────────────────────────────────────────────────┘
28
+ │ │ │
29
+ ▼ ▼ ▼
30
+ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
31
+ │ sources.yaml │ │ sync-external.mjs│ │ update-registry │
32
+ │ │ │ │ │ .mjs │
33
+ └──────────────────┘ └──────────────────┘ └──────────────────┘
34
+ │ │ │
35
+ ▼ ▼ ▼
36
+ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
37
+ │ External Repos │ │ Template Skills │ │ marketplace.json │
38
+ │ (GitHub) │ │ │ │ │
39
+ └──────────────────┘ └──────────────────┘ └──────────────────┘
40
+ ```
41
+
42
+ ### 数据流
43
+
44
+ ```
45
+ sources.yaml ──► sync-external.mjs ──► template/.claude/skills/
46
+ │ │
47
+ │ ▼
48
+ └──────────────────► update-registry.mjs ──► marketplace.json
49
+ ```
50
+
51
+ ---
52
+
53
+ ## 项目结构
54
+
55
+ ```
56
+ sumulige-claude/
57
+ ├── .claude-plugin/
58
+ │ └── marketplace.json # Claude Code 插件注册表
59
+ ├── .github/workflows/
60
+ │ └── sync-skills.yml # 自动同步工作流
61
+ ├── scripts/
62
+ │ ├── sync-external.mjs # 同步引擎 (ES Module)
63
+ │ └── update-registry.mjs # 注册表生成器 (ES Module)
64
+ ├── config/
65
+ │ └── skill-categories.json # 技能分类配置
66
+ ├── lib/
67
+ │ ├── commands.js # 基础命令 (CommonJS)
68
+ │ ├── config.js # 配置管理
69
+ │ ├── marketplace.js # 市场命令 (CommonJS)
70
+ │ └── utils.js # 工具函数
71
+ ├── template/.claude/skills/
72
+ │ ├── manus-kickoff/ # 本地技能
73
+ │ └── ...
74
+ ├── sources.yaml # 外部技能清单
75
+ ├── cli.js # 入口文件
76
+ └── package.json # 项目配置
77
+ ```
78
+
79
+ ---
80
+
81
+ ## 添加新技能
82
+
83
+ ### 1. 本地技能 (Native Skill)
84
+
85
+ 直接在 `template/.claude/skills/` 下创建目录:
86
+
87
+ ```bash
88
+ mkdir -p template/.claude/skills/my-skill
89
+ cd template/.claude/skills/my-skill
90
+
91
+ # 创建 SKILL.md
92
+ cat > SKILL.md << 'EOF'
93
+ # My Skill
94
+
95
+ > A brief description of what this skill does
96
+
97
+ ## Usage
98
+
99
+ When to use this skill...
100
+
101
+ EOF
102
+
103
+ # 创建 metadata.yaml
104
+ cat > metadata.yaml << 'EOF'
105
+ name: my-skill
106
+ description: A brief description
107
+ version: 1.0.0
108
+ category: tools
109
+ keywords:
110
+ - my-skill
111
+ - example
112
+ dependencies: []
113
+ author:
114
+ name: Your Name
115
+ github: yourusername
116
+ license: MIT
117
+ EOF
118
+ ```
119
+
120
+ 在 `sources.yaml` 中声明为 native:
121
+
122
+ ```yaml
123
+ - name: my-skill
124
+ description: "A brief description"
125
+ native: true
126
+ target:
127
+ category: tools
128
+ path: template/.claude/skills/my-skill
129
+ author:
130
+ name: Your Name
131
+ github: yourusername
132
+ license: MIT
133
+ homepage: https://github.com/yourusername/your-repo
134
+ ```
135
+
136
+ ### 2. 外部技能 (External Skill)
137
+
138
+ 编辑 `sources.yaml` 添加外部技能:
139
+
140
+ ```yaml
141
+ - name: external-skill
142
+ description: "Skill from external repository"
143
+ source:
144
+ repo: owner/repo
145
+ path: skills/external-skill
146
+ ref: main
147
+ target:
148
+ category: automation
149
+ path: template/.claude/skills/automation/external-skill
150
+ author:
151
+ name: Owner Name
152
+ github: owner
153
+ license: MIT
154
+ homepage: https://github.com/owner/repo
155
+ verified: false
156
+ sync:
157
+ include:
158
+ - SKILL.md
159
+ - src/
160
+ exclude:
161
+ - node_modules/
162
+ - "*.lock"
163
+ ```
164
+
165
+ ### 3. 更新注册表
166
+
167
+ ```bash
168
+ # 同步外部技能
169
+ npm run sync
170
+
171
+ # 更新市场注册表
172
+ npm run update-registry
173
+
174
+ # 或一次性执行
175
+ npm run sync:all
176
+ ```
177
+
178
+ ---
179
+
180
+ ## 同步机制原理
181
+
182
+ ### sync-external.mjs 工作流程
183
+
184
+ ```
185
+ ┌─────────────────────────────────────────────────────────────┐
186
+ │ 1. 解析 sources.yaml │
187
+ │ - 读取技能清单 │
188
+ │ - 区分 native 和 external 技能 │
189
+ └─────────────────────────────────────────────────────────────┘
190
+
191
+
192
+ ┌─────────────────────────────────────────────────────────────┐
193
+ │ 2. 遍历每个技能 │
194
+ │ - 跳过 native 技能 │
195
+ │ - 验证 external 技能配置 │
196
+ └─────────────────────────────────────────────────────────────┘
197
+
198
+
199
+ ┌─────────────────────────────────────────────────────────────┐
200
+ │ 3. 克隆外部仓库 │
201
+ │ - git clone --depth 1 │
202
+ │ - 使用指定的 ref (branch/tag) │
203
+ └─────────────────────────────────────────────────────────────┘
204
+
205
+
206
+ ┌─────────────────────────────────────────────────────────────┐
207
+ │ 4. 复制文件到目标目录 │
208
+ │ - 根据 sync.include 过滤文件 │
209
+ │ - 根据 sync.exclude 排除文件 │
210
+ └─────────────────────────────────────────────────────────────┘
211
+
212
+
213
+ ┌─────────────────────────────────────────────────────────────┐
214
+ │ 5. 生成源信息文件 │
215
+ │ - 写入 .source.json │
216
+ │ - 记录同步时间和来源 │
217
+ └─────────────────────────────────────────────────────────────┘
218
+
219
+
220
+ ┌─────────────────────────────────────────────────────────────┐
221
+ │ 6. 清理临时文件 │
222
+ │ - 删除克隆的临时目录 │
223
+ └─────────────────────────────────────────────────────────────┘
224
+ ```
225
+
226
+ ### update-registry.mjs 工作流程
227
+
228
+ ```
229
+ ┌─────────────────────────────────────────────────────────────┐
230
+ │ 1. 扫描技能目录 │
231
+ │ - 递归查找所有包含 SKILL.md 或 .source.json 的目录 │
232
+ └─────────────────────────────────────────────────────────────┘
233
+
234
+
235
+ ┌─────────────────────────────────────────────────────────────┐
236
+ │ 2. 提取技能元数据 │
237
+ │ - 读取 metadata.yaml │
238
+ │ - 读取 .source.json │
239
+ │ - 从 SKILL.md 提取描述 │
240
+ └─────────────────────────────────────────────────────────────┘
241
+
242
+
243
+ ┌─────────────────────────────────────────────────────────────┐
244
+ │ 3. 确定技能分类 │
245
+ │ - 根据 metadata.category │
246
+ │ - 或根据路径推断 │
247
+ └─────────────────────────────────────────────────────────────┘
248
+
249
+
250
+ ┌─────────────────────────────────────────────────────────────┐
251
+ │ 4. 构建插件注册表 │
252
+ │ - 按分类组织技能 │
253
+ │ - 添加元数据 (版本、时间戳、数量) │
254
+ └─────────────────────────────────────────────────────────────┘
255
+
256
+
257
+ ┌─────────────────────────────────────────────────────────────┐
258
+ │ 5. 写入 marketplace.json │
259
+ │ - 格式化为 JSON │
260
+ │ - 符合 Claude Code 插件规范 │
261
+ └─────────────────────────────────────────────────────────────┘
262
+ ```
263
+
264
+ ---
265
+
266
+ ## 命令开发
267
+
268
+ ### 添加新命令
269
+
270
+ #### 1. 在 `lib/commands.js` 或 `lib/marketplace.js` 添加处理函数
271
+
272
+ ```javascript
273
+ const commands = {
274
+ // ...existing commands...
275
+
276
+ // 新命令
277
+ 'my:command': (arg1, arg2) => {
278
+ console.log('Executing my:command with:', arg1, arg2);
279
+ // 命令逻辑
280
+ }
281
+ };
282
+ ```
283
+
284
+ #### 2. 在 `cli.js` 的 COMMANDS 注册表添加
285
+
286
+ ```javascript
287
+ const COMMANDS = {
288
+ // ...existing commands...
289
+
290
+ 'my:command': {
291
+ help: 'Command description',
292
+ args: '<arg1> <arg2>'
293
+ }
294
+ };
295
+ ```
296
+
297
+ #### 3. 添加帮助示例
298
+
299
+ ```javascript
300
+ // 在 showHelp() 函数的 Examples 部分
301
+ console.log(' smc my:command value1 value2');
302
+ ```
303
+
304
+ ### 命令分类
305
+
306
+ - **核心命令**: 直接在 `lib/commands.js` 实现
307
+ - **市场命令**: 在 `lib/marketplace.js` 实现
308
+ - **技能命令**: 在 `lib/commands.js` 的 `skill:*` 组
309
+
310
+ ---
311
+
312
+ ## 调试指南
313
+
314
+ ### 启用详细输出
315
+
316
+ ```bash
317
+ # 运行同步脚本并查看完整输出
318
+ node --trace-warnings scripts/sync-external.mjs
319
+ ```
320
+
321
+ ### 检查配置
322
+
323
+ ```bash
324
+ # 查看市场状态
325
+ smc marketplace:status
326
+
327
+ # 列出所有技能
328
+ smc marketplace:list
329
+ ```
330
+
331
+ ### 常见问题
332
+
333
+ #### 1. YAML 解析错误
334
+
335
+ ```bash
336
+ # 验证 YAML 语法
337
+ node -e "const yaml = require('yaml'); console.log(yaml.parse(require('fs').readFileSync('sources.yaml', 'utf8')))"
338
+ ```
339
+
340
+ #### 2. Git 克隆失败
341
+
342
+ ```bash
343
+ # 手动测试克隆
344
+ git clone --depth 1 https://github.com/owner/repo /tmp/test-repo
345
+ ```
346
+
347
+ #### 3. 权限问题
348
+
349
+ ```bash
350
+ # 检查目录权限
351
+ ls -la template/.claude/skills/
352
+
353
+ # 修复权限
354
+ chmod -R u+rwX template/.claude/skills/
355
+ ```
356
+
357
+ ### 调试日志
358
+
359
+ 同步脚本会在 `.tmp/` 目录存储临时克隆的仓库。如果同步失败,检查此目录:
360
+
361
+ ```bash
362
+ ls -la .tmp/
363
+ ```
364
+
365
+ ---
366
+
367
+ ## 测试
368
+
369
+ ### 手动测试
370
+
371
+ ```bash
372
+ # 测试同步
373
+ npm run sync
374
+
375
+ # 测试注册表生成
376
+ npm run update-registry
377
+
378
+ # 测试完整流程
379
+ npm run sync:all
380
+ ```
381
+
382
+ ### CI/CD 测试
383
+
384
+ 推送更改到 GitHub,自动触发工作流:
385
+
386
+ ```bash
387
+ git add .
388
+ git commit -m "test: update sources.yaml"
389
+ git push
390
+ ```
391
+
392
+ 手动触发工作流:
393
+ 1. 进入 GitHub 仓库页面
394
+ 2. 点击 "Actions" 标签
395
+ 3. 选择 "Sync External Skills" 工作流
396
+ 4. 点击 "Run workflow"
397
+
398
+ ---
399
+
400
+ ## 发布
401
+
402
+ ### 更新版本号
403
+
404
+ ```bash
405
+ # 更新 package.json
406
+ npm version patch # 或 minor, major
407
+
408
+ # 更新 marketplace.json 中的版本
409
+ npm run update-registry
410
+ ```
411
+
412
+ ### 发布到 npm
413
+
414
+ ```bash
415
+ npm publish
416
+ ```
417
+
418
+ ### 创建 Git 标签
419
+
420
+ ```bash
421
+ git tag v$(node -p "require('./package.json').version")
422
+ git push --tags
423
+ ```