@deepstorm/cli 0.1.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.
Files changed (148) hide show
  1. package/README.md +72 -0
  2. package/dist/agents/reef-inspect-figma.md +77 -0
  3. package/dist/agents/reef-review-backend.md.tmpl +112 -0
  4. package/dist/agents/reef-review-frontend.md.tmpl +78 -0
  5. package/dist/agents/reef-review-infra.md +47 -0
  6. package/dist/agents/reef-review-security.md.tmpl +80 -0
  7. package/dist/agents/reef-scope-analysis.md +64 -0
  8. package/dist/build-registry.js +375 -0
  9. package/dist/cli.js +8581 -0
  10. package/dist/config-schema.json +133 -0
  11. package/dist/env-examples/context7.env-example +19 -0
  12. package/dist/env-examples/feishu-wiki.env-example +16 -0
  13. package/dist/env-examples/figma.env-example +16 -0
  14. package/dist/env-examples/github.env-example +20 -0
  15. package/dist/env-examples/jira.env-example +20 -0
  16. package/dist/hooks/mcp-hook.sh +77 -0
  17. package/dist/hooks/reef-auto-format.sh.tmpl +72 -0
  18. package/dist/hooks/reef-block-dangerous.sh +70 -0
  19. package/dist/hooks/reef-hooks.json +72 -0
  20. package/dist/hooks/reef-intent-detect.sh +129 -0
  21. package/dist/hooks/reef-protect-files.sh +55 -0
  22. package/dist/hooks/reef-run-tests.sh +84 -0
  23. package/dist/hooks/reef-scope-check.sh +386 -0
  24. package/dist/hooks/reef-scope-ci.sh +28 -0
  25. package/dist/hooks/reef-scope-gate.sh +115 -0
  26. package/dist/hooks/reef-scope-pre-commit.sh.tmpl +28 -0
  27. package/dist/hooks/reef-scope-setup.sh +204 -0
  28. package/dist/hooks/reef-scope-split.sh +203 -0
  29. package/dist/hooks/sweep-hooks.json +14 -0
  30. package/dist/hooks/sweep-mcp-hook.sh +77 -0
  31. package/dist/hooks/tide-hooks.json +14 -0
  32. package/dist/hooks/tide-session-preload.sh +17 -0
  33. package/dist/mcp/code-hosting/github.json +20 -0
  34. package/dist/mcp/design-tools/figma.json +19 -0
  35. package/dist/mcp/docs-reference/context7.json +28 -0
  36. package/dist/mcp/e2e-testing/playwright.json +13 -0
  37. package/dist/mcp/knowledge-base/feishu-wiki.json +19 -0
  38. package/dist/mcp/project-management/jira.json +27 -0
  39. package/dist/mcp-skills/deepflow-mcp-feishu-wiki-read/SKILL.md +65 -0
  40. package/dist/mcp-skills/deepflow-mcp-feishu-wiki-write/SKILL.md +63 -0
  41. package/dist/mcp-skills/deepflow-mcp-figma-read/SKILL.md +98 -0
  42. package/dist/mcp-skills/deepflow-mcp-github-read/SKILL.md +62 -0
  43. package/dist/mcp-skills/deepflow-mcp-github-write/SKILL.md +63 -0
  44. package/dist/mcp-skills/deepflow-mcp-jira-read/SKILL.md +80 -0
  45. package/dist/mcp-skills/deepflow-mcp-jira-write/SKILL.md +74 -0
  46. package/dist/mcp-skills/deepflow-mcp-playwright-read/SKILL.md +79 -0
  47. package/dist/mcp-skills/deepstorm-mcp-feishu-wiki-read/SKILL.md +65 -0
  48. package/dist/mcp-skills/deepstorm-mcp-feishu-wiki-write/SKILL.md +63 -0
  49. package/dist/mcp-skills/deepstorm-mcp-figma-read/SKILL.md +98 -0
  50. package/dist/mcp-skills/deepstorm-mcp-github-read/SKILL.md +62 -0
  51. package/dist/mcp-skills/deepstorm-mcp-github-write/SKILL.md +63 -0
  52. package/dist/mcp-skills/deepstorm-mcp-jira-read/SKILL.md +80 -0
  53. package/dist/mcp-skills/deepstorm-mcp-jira-write/SKILL.md +74 -0
  54. package/dist/mcp-skills/deepstorm-mcp-playwright-read/SKILL.md +79 -0
  55. package/dist/registry.json +818 -0
  56. package/dist/skills/atoll-ops/SKILL.md +46 -0
  57. package/dist/skills/reef-commit/SKILL.md +127 -0
  58. package/dist/skills/reef-gen-backend/SKILL.md.tmpl +87 -0
  59. package/dist/skills/reef-gen-backend/variants/java/steps.md +28 -0
  60. package/dist/skills/reef-gen-backend/variants/python/steps.md +70 -0
  61. package/dist/skills/reef-gen-frontend/SKILL.md.tmpl +83 -0
  62. package/dist/skills/reef-gen-frontend/variants/angular/steps.md +30 -0
  63. package/dist/skills/reef-harden/EXAMPLES.md +89 -0
  64. package/dist/skills/reef-harden/SKILL.md +136 -0
  65. package/dist/skills/reef-pr/SKILL.md +97 -0
  66. package/dist/skills/reef-review/SKILL.md.tmpl +107 -0
  67. package/dist/skills/reef-scope/SKILL.md +134 -0
  68. package/dist/skills/reef-start/SKILL.md.tmpl +562 -0
  69. package/dist/skills/reef-start/references/jira-start-subagent.md +60 -0
  70. package/dist/skills/reef-style-backend/SKILL.md.tmpl +134 -0
  71. package/dist/skills/reef-style-backend/fragments/java/ai/spring-ai/examples/chat-client.md +96 -0
  72. package/dist/skills/reef-style-backend/fragments/java/ai/spring-ai/examples/rag.md +94 -0
  73. package/dist/skills/reef-style-backend/fragments/java/ai/spring-ai/examples/structured-output.md +62 -0
  74. package/dist/skills/reef-style-backend/fragments/java/ai/spring-ai/examples/tool-calling.md +68 -0
  75. package/dist/skills/reef-style-backend/fragments/java/ai/spring-ai/quick-reference.md +220 -0
  76. package/dist/skills/reef-style-backend/fragments/java/api-spec/quick-reference.md +148 -0
  77. package/dist/skills/reef-style-backend/fragments/java/db-migration/liquibase/examples/database-migration.md +131 -0
  78. package/dist/skills/reef-style-backend/fragments/java/db-migration/liquibase/quick-reference.md +103 -0
  79. package/dist/skills/reef-style-backend/fragments/java/dependency-management/quick-reference.md +119 -0
  80. package/dist/skills/reef-style-backend/fragments/java/exception-handling/examples/error-code-enum.md +101 -0
  81. package/dist/skills/reef-style-backend/fragments/java/exception-handling/quick-reference.md +181 -0
  82. package/dist/skills/reef-style-backend/fragments/java/framework/spring-boot/examples/controller.md +95 -0
  83. package/dist/skills/reef-style-backend/fragments/java/framework/spring-boot/examples/dto-mapper.md +121 -0
  84. package/dist/skills/reef-style-backend/fragments/java/framework/spring-boot/examples/infrastructure.md +179 -0
  85. package/dist/skills/reef-style-backend/fragments/java/framework/spring-boot/examples/service-entity.md +202 -0
  86. package/dist/skills/reef-style-backend/fragments/java/framework/spring-boot/examples/testing.md +107 -0
  87. package/dist/skills/reef-style-backend/fragments/java/framework/spring-boot/quick-reference.md +83 -0
  88. package/dist/skills/reef-style-backend/fragments/java/orm/hibernate/quick-reference.md +150 -0
  89. package/dist/skills/reef-style-backend/fragments/java/security-redlines/quick-reference.md +197 -0
  90. package/dist/skills/reef-style-backend/fragments/java/test/data-jpa-test/examples/user-repository-test.md +69 -0
  91. package/dist/skills/reef-style-backend/fragments/java/test/data-jpa-test/quick-reference.md +101 -0
  92. package/dist/skills/reef-style-backend/fragments/java/test/junit5/examples/user-service-test.md +61 -0
  93. package/dist/skills/reef-style-backend/fragments/java/test/junit5/quick-reference.md +100 -0
  94. package/dist/skills/reef-style-backend/fragments/java/test/spring-mvc-test/examples/user-controller-test.md +61 -0
  95. package/dist/skills/reef-style-backend/fragments/java/test/spring-mvc-test/quick-reference.md +85 -0
  96. package/dist/skills/reef-style-backend/fragments/java/test/spring-service-test/examples/user-service-integration-test.md +56 -0
  97. package/dist/skills/reef-style-backend/fragments/java/test/spring-service-test/quick-reference.md +83 -0
  98. package/dist/skills/reef-style-backend/fragments/python/alembic-migration/quick-reference.md +77 -0
  99. package/dist/skills/reef-style-backend/fragments/python/api-spec/quick-reference.md +164 -0
  100. package/dist/skills/reef-style-backend/fragments/python/dependency-management/quick-reference.md +139 -0
  101. package/dist/skills/reef-style-backend/fragments/python/exception-handling/quick-reference.md +177 -0
  102. package/dist/skills/reef-style-backend/fragments/python/fastapi-quick-reference/quick-reference.md +101 -0
  103. package/dist/skills/reef-style-backend/fragments/python/langchain/quick-reference.md +135 -0
  104. package/dist/skills/reef-style-backend/fragments/python/pytest-testing/quick-reference.md +111 -0
  105. package/dist/skills/reef-style-backend/fragments/python/ruff-mypy-toolchain/quick-reference.md +83 -0
  106. package/dist/skills/reef-style-backend/fragments/python/security-redlines/quick-reference.md +207 -0
  107. package/dist/skills/reef-style-backend/fragments/python/sqlalchemy-orm/quick-reference.md +91 -0
  108. package/dist/skills/reef-style-backend/variants/java/examples/code-wrapping.md +227 -0
  109. package/dist/skills/reef-style-backend/variants/java/examples/contributor-pattern.md +97 -0
  110. package/dist/skills/reef-style-backend/variants/java/quick-reference.md +117 -0
  111. package/dist/skills/reef-style-backend/variants/python/examples/crud-router.md +71 -0
  112. package/dist/skills/reef-style-backend/variants/python/examples/pydantic-schema.md +45 -0
  113. package/dist/skills/reef-style-backend/variants/python/examples/pytest-fixture.md +60 -0
  114. package/dist/skills/reef-style-backend/variants/python/examples/sqlalchemy-model.md +31 -0
  115. package/dist/skills/reef-style-backend/variants/python/quick-reference.md +111 -0
  116. package/dist/skills/reef-style-frontend/SKILL.md.tmpl +70 -0
  117. package/dist/skills/reef-style-frontend/fragments/css/tailwind/quick-reference.md +79 -0
  118. package/dist/skills/reef-style-frontend/fragments/test/vitest/examples/testing.md +150 -0
  119. package/dist/skills/reef-style-frontend/fragments/test/vitest/quick-reference.md +141 -0
  120. package/dist/skills/reef-style-frontend/fragments/ts-config/strict/quick-reference.md +112 -0
  121. package/dist/skills/reef-style-frontend/fragments/ui-lib/primeng/examples/ui-components.md +134 -0
  122. package/dist/skills/reef-style-frontend/fragments/ui-lib/primeng/quick-reference.md +66 -0
  123. package/dist/skills/reef-style-frontend/variants/angular/examples/code-wrapping.md +252 -0
  124. package/dist/skills/reef-style-frontend/variants/angular/examples/component-types-pipes.md +56 -0
  125. package/dist/skills/reef-style-frontend/variants/angular/examples/entity-types.md +100 -0
  126. package/dist/skills/reef-style-frontend/variants/angular/examples/forms-layer.md +119 -0
  127. package/dist/skills/reef-style-frontend/variants/angular/examples/service-routing.md +95 -0
  128. package/dist/skills/reef-style-frontend/variants/angular/quick-reference.md +100 -0
  129. package/dist/skills/reef-testcase/SKILL.md +138 -0
  130. package/dist/skills/reef-testcase/references/coverage-dimensions.md +99 -0
  131. package/dist/skills/reef-testcase/references/test-case-template.md +63 -0
  132. package/dist/skills/sweep-init/SKILL.md +286 -0
  133. package/dist/skills/sweep-init/scripts/flow-selector.mjs +305 -0
  134. package/dist/skills/sweep-plan/SKILL.md.tmpl +312 -0
  135. package/dist/skills/sweep-plan/references/test-flow-template.md +46 -0
  136. package/dist/skills/sweep-run/SKILL.md +437 -0
  137. package/dist/skills/sweep-run/scripts/env-manager.mjs +208 -0
  138. package/dist/skills/sweep-run/scripts/flow-parser.mjs +329 -0
  139. package/dist/skills/sweep-run/scripts/flow-selector.mjs +483 -0
  140. package/dist/skills/sweep-run/scripts/mcp-manager.mjs +208 -0
  141. package/dist/skills/sweep-run/scripts/spec-compiler.mjs +303 -0
  142. package/dist/skills/tide-discuss/SKILL.md.tmpl +449 -0
  143. package/dist/skills/tide-discuss/references/checklists.md +88 -0
  144. package/dist/skills/tide-discuss/references/data-format.md +237 -0
  145. package/dist/skills/tide-discuss/references/prd-template.md +134 -0
  146. package/dist/skills/tide-discuss/references/publish-flow.md +167 -0
  147. package/dist/skills/tide-discuss/references/role-prompts.md +105 -0
  148. package/package.json +38 -0
@@ -0,0 +1,818 @@
1
+ {
2
+ "version": "1",
3
+ "tools": {
4
+ "tide": {
5
+ "label": "产品侧",
6
+ "description": "BMAD 需求讨论、PRD、Jira",
7
+ "mcpDependencies": [
8
+ "jira",
9
+ "feishu-wiki",
10
+ "figma"
11
+ ]
12
+ },
13
+ "reef": {
14
+ "label": "开发侧",
15
+ "description": "规范生成、代码实现",
16
+ "mcpDependencies": [
17
+ "jira",
18
+ "feishu-wiki",
19
+ "figma",
20
+ "github",
21
+ "context7"
22
+ ]
23
+ },
24
+ "sweep": {
25
+ "label": "测试侧",
26
+ "description": "测试生成、覆盖率、CI",
27
+ "mcpDependencies": [
28
+ "jira",
29
+ "feishu-wiki",
30
+ "playwright"
31
+ ]
32
+ },
33
+ "atoll": {
34
+ "label": "运维侧",
35
+ "description": "部署辅助、监控、故障排查",
36
+ "mcpDependencies": [
37
+ "jira",
38
+ "feishu-wiki"
39
+ ]
40
+ }
41
+ },
42
+ "wizards": {
43
+ "tide": {
44
+ "tool": "tide",
45
+ "label": "产品侧",
46
+ "description": "BMAD 需求讨论、PRD、Jira",
47
+ "mcpSkills": [
48
+ "deepstorm-mcp-jira-write",
49
+ "deepstorm-mcp-feishu-wiki-write"
50
+ ],
51
+ "questions": []
52
+ },
53
+ "reef": {
54
+ "tool": "reef",
55
+ "label": "开发侧",
56
+ "description": "规范生成、代码实现",
57
+ "mcpSkills": [
58
+ "deepstorm-mcp-jira-read",
59
+ "deepstorm-mcp-feishu-wiki-read",
60
+ "deepstorm-mcp-figma-read"
61
+ ],
62
+ "questions": [
63
+ {
64
+ "key": "reef.techs",
65
+ "label": "技术选型",
66
+ "description": "选择需要配置的技术领域",
67
+ "type": "multiselect",
68
+ "options": [
69
+ {
70
+ "value": "frontend",
71
+ "label": "前端技术选型",
72
+ "template": {},
73
+ "affectedTemplates": []
74
+ },
75
+ {
76
+ "value": "backend",
77
+ "label": "后端技术选型",
78
+ "template": {},
79
+ "affectedTemplates": []
80
+ }
81
+ ]
82
+ },
83
+ {
84
+ "key": "reef.frontend.details",
85
+ "label": "前端技术选型",
86
+ "description": "前端技术栈细节配置",
87
+ "type": "group",
88
+ "dependsOn": {
89
+ "key": "reef.techs",
90
+ "value": "frontend",
91
+ "contains": true
92
+ },
93
+ "questions": [
94
+ {
95
+ "key": "reef.frontend.framework",
96
+ "label": "框架",
97
+ "type": "select",
98
+ "options": [
99
+ {
100
+ "value": "angular",
101
+ "label": "Angular",
102
+ "template": {
103
+ "label": "Angular 21 + TypeScript + Signal + PrimeNG + Tailwind CSS 4",
104
+ "buildTool": "pnpm:*",
105
+ "formatCmd": "pnpm",
106
+ "fileExt": "*.component.ts / *.service.ts / *.ts",
107
+ "sourcePath": "src/main/web/",
108
+ "styleRef": "→ 参考 [Angular 前端速查](quick-reference.md)"
109
+ },
110
+ "affectedTemplates": [
111
+ "skills/reef-style-frontend/SKILL.md.tmpl",
112
+ "agents/reef-review-frontend.md.tmpl",
113
+ "skills/reef-review/SKILL.md.tmpl",
114
+ "skills/reef-gen-frontend/SKILL.md.tmpl"
115
+ ]
116
+ },
117
+ {
118
+ "value": "none",
119
+ "label": "不选择",
120
+ "template": {
121
+ "label": "",
122
+ "buildTool": "",
123
+ "formatCmd": "",
124
+ "fileExt": "",
125
+ "sourcePath": "",
126
+ "styleRef": ""
127
+ },
128
+ "affectedTemplates": [
129
+ "skills/reef-style-frontend/SKILL.md.tmpl",
130
+ "agents/reef-review-frontend.md.tmpl",
131
+ "skills/reef-review/SKILL.md.tmpl",
132
+ "skills/reef-gen-frontend/SKILL.md.tmpl"
133
+ ]
134
+ }
135
+ ]
136
+ },
137
+ {
138
+ "key": "reef.frontend.uiLibrary",
139
+ "label": "UI 组件库",
140
+ "type": "select",
141
+ "dependsOn": {
142
+ "key": "reef.frontend.framework",
143
+ "value": "angular"
144
+ },
145
+ "options": [
146
+ {
147
+ "value": "primeng",
148
+ "label": "PrimeNG",
149
+ "template": {
150
+ "styleRef": "→ 参考 [PrimeNG 规范](primeng.md)"
151
+ },
152
+ "affectedTemplates": [
153
+ "skills/reef-style-frontend/SKILL.md.tmpl"
154
+ ],
155
+ "fragments": [
156
+ "ui-lib/primeng"
157
+ ]
158
+ },
159
+ {
160
+ "value": "none",
161
+ "label": "不使用 UI 组件库",
162
+ "template": {
163
+ "styleRef": ""
164
+ },
165
+ "affectedTemplates": [
166
+ "skills/reef-style-frontend/SKILL.md.tmpl"
167
+ ]
168
+ }
169
+ ]
170
+ },
171
+ {
172
+ "key": "reef.frontend.tsConfig",
173
+ "label": "TypeScript",
174
+ "type": "select",
175
+ "options": [
176
+ {
177
+ "value": "strict",
178
+ "label": "严格模式",
179
+ "template": {
180
+ "styleRef": "→ 参考 [TypeScript Strict 规范](strict.md)"
181
+ },
182
+ "affectedTemplates": [
183
+ "skills/reef-style-frontend/SKILL.md.tmpl"
184
+ ],
185
+ "fragments": [
186
+ "ts-config/strict"
187
+ ]
188
+ },
189
+ {
190
+ "value": "standard",
191
+ "label": "标准模式",
192
+ "template": {
193
+ "styleRef": ""
194
+ },
195
+ "affectedTemplates": [
196
+ "skills/reef-style-frontend/SKILL.md.tmpl"
197
+ ]
198
+ },
199
+ {
200
+ "value": "none",
201
+ "label": "不配置",
202
+ "template": {
203
+ "styleRef": ""
204
+ },
205
+ "affectedTemplates": [
206
+ "skills/reef-style-frontend/SKILL.md.tmpl"
207
+ ]
208
+ }
209
+ ]
210
+ },
211
+ {
212
+ "key": "reef.frontend.css",
213
+ "label": "CSS",
214
+ "type": "select",
215
+ "options": [
216
+ {
217
+ "value": "tailwind",
218
+ "label": "Tailwind CSS",
219
+ "template": {
220
+ "styleRef": "→ 参考 [Tailwind CSS 规范](tailwind.md)"
221
+ },
222
+ "affectedTemplates": [
223
+ "skills/reef-style-frontend/SKILL.md.tmpl"
224
+ ],
225
+ "fragments": [
226
+ "css/tailwind"
227
+ ]
228
+ },
229
+ {
230
+ "value": "none",
231
+ "label": "不使用",
232
+ "template": {
233
+ "styleRef": ""
234
+ },
235
+ "affectedTemplates": [
236
+ "skills/reef-style-frontend/SKILL.md.tmpl"
237
+ ]
238
+ }
239
+ ]
240
+ },
241
+ {
242
+ "key": "reef.frontend.test",
243
+ "label": "单元测试",
244
+ "type": "select",
245
+ "options": [
246
+ {
247
+ "value": "vitest",
248
+ "label": "Vitest",
249
+ "template": {
250
+ "styleRef": "→ 参考 [Vitest 规范](vitest.md)"
251
+ },
252
+ "affectedTemplates": [
253
+ "skills/reef-style-frontend/SKILL.md.tmpl"
254
+ ],
255
+ "fragments": [
256
+ "test/vitest"
257
+ ]
258
+ },
259
+ {
260
+ "value": "none",
261
+ "label": "不使用",
262
+ "template": {
263
+ "styleRef": ""
264
+ },
265
+ "affectedTemplates": [
266
+ "skills/reef-style-frontend/SKILL.md.tmpl"
267
+ ]
268
+ }
269
+ ]
270
+ }
271
+ ]
272
+ },
273
+ {
274
+ "key": "reef.backend.language",
275
+ "label": "后端语言",
276
+ "description": "项目使用的后端技术栈",
277
+ "type": "select",
278
+ "dependsOn": {
279
+ "key": "reef.techs",
280
+ "value": "backend",
281
+ "contains": true
282
+ },
283
+ "options": [
284
+ {
285
+ "value": "java",
286
+ "label": "Java",
287
+ "template": {
288
+ "label": "Spring Boot 3.5 + Java 25",
289
+ "buildTool": "./gradlew:*",
290
+ "formatCmd": "./gradlew",
291
+ "fileExt": "*.java",
292
+ "sourcePath": "src/main/java/ src/test/java/",
293
+ "styleRef": "→ 参考 [Java 后端速查](quick-reference.md)"
294
+ },
295
+ "affectedTemplates": [
296
+ "skills/reef-style-backend/SKILL.md.tmpl",
297
+ "agents/reef-review-backend.md.tmpl",
298
+ "skills/reef-review/SKILL.md.tmpl",
299
+ "skills/reef-gen-backend/SKILL.md.tmpl"
300
+ ],
301
+ "fragments": [
302
+ "java/api-spec",
303
+ "java/dependency-management",
304
+ "java/exception-handling",
305
+ "java/security-redlines"
306
+ ]
307
+ },
308
+ {
309
+ "value": "python",
310
+ "label": "Python / FastAPI",
311
+ "template": {
312
+ "label": "FastAPI + Python 3.10+",
313
+ "buildTool": "uv:*",
314
+ "formatCmd": "ruff",
315
+ "fileExt": "*.py",
316
+ "sourcePath": "app/ tests/",
317
+ "styleRef": "→ 参考 [Python FastAPI 后瑞速查](quick-reference.md)",
318
+ "isPython": "true"
319
+ },
320
+ "affectedTemplates": [
321
+ "skills/reef-style-backend/SKILL.md.tmpl",
322
+ "agents/reef-review-backend.md.tmpl",
323
+ "skills/reef-review/SKILL.md.tmpl",
324
+ "skills/reef-gen-backend/SKILL.md.tmpl"
325
+ ],
326
+ "fragments": [
327
+ "python/api-spec",
328
+ "python/dependency-management",
329
+ "python/exception-handling",
330
+ "python/security-redlines"
331
+ ]
332
+ },
333
+ {
334
+ "value": "none",
335
+ "label": "不使用后端",
336
+ "template": {
337
+ "label": "不使用后端",
338
+ "buildTool": "",
339
+ "formatCmd": "",
340
+ "fileExt": "",
341
+ "sourcePath": "",
342
+ "styleRef": ""
343
+ },
344
+ "affectedTemplates": [
345
+ "skills/reef-style-backend/SKILL.md.tmpl",
346
+ "agents/reef-review-backend.md.tmpl",
347
+ "skills/reef-review/SKILL.md.tmpl",
348
+ "skills/reef-gen-backend/SKILL.md.tmpl"
349
+ ]
350
+ }
351
+ ]
352
+ },
353
+ {
354
+ "key": "reef.backend.java.details",
355
+ "label": "Java 框架选型",
356
+ "description": "选择需要使用的 Java 框架和技术",
357
+ "type": "group",
358
+ "dependsOn": {
359
+ "key": "reef.backend.language",
360
+ "value": "java"
361
+ },
362
+ "questions": [
363
+ {
364
+ "key": "reef.backend.java.framework",
365
+ "label": "Web 框架",
366
+ "type": "select",
367
+ "options": [
368
+ {
369
+ "value": "spring-boot",
370
+ "label": "Spring Boot",
371
+ "template": {
372
+ "styleRef": "→ 参考 [Spring Boot 规范](spring-boot.md)"
373
+ },
374
+ "affectedTemplates": [
375
+ "skills/reef-style-backend/SKILL.md.tmpl"
376
+ ],
377
+ "fragments": [
378
+ "java/framework/spring-boot",
379
+ "java/test/spring-mvc-test",
380
+ "java/test/spring-service-test"
381
+ ]
382
+ },
383
+ {
384
+ "value": "none",
385
+ "label": "不使用",
386
+ "template": {},
387
+ "affectedTemplates": [
388
+ "skills/reef-style-backend/SKILL.md.tmpl"
389
+ ]
390
+ }
391
+ ]
392
+ },
393
+ {
394
+ "key": "reef.backend.java.orm",
395
+ "label": "ORM",
396
+ "type": "select",
397
+ "options": [
398
+ {
399
+ "value": "hibernate",
400
+ "label": "Hibernate / JPA",
401
+ "template": {
402
+ "styleRef": "→ 参考 [Hibernate 规范](hibernate.md)"
403
+ },
404
+ "affectedTemplates": [
405
+ "skills/reef-style-backend/SKILL.md.tmpl"
406
+ ],
407
+ "fragments": [
408
+ "java/orm/hibernate",
409
+ "java/test/data-jpa-test"
410
+ ]
411
+ },
412
+ {
413
+ "value": "none",
414
+ "label": "不使用",
415
+ "template": {},
416
+ "affectedTemplates": [
417
+ "skills/reef-style-backend/SKILL.md.tmpl"
418
+ ]
419
+ }
420
+ ]
421
+ },
422
+ {
423
+ "key": "reef.backend.java.dbMigration",
424
+ "label": "数据库迁移",
425
+ "type": "select",
426
+ "options": [
427
+ {
428
+ "value": "liquibase",
429
+ "label": "Liquibase",
430
+ "template": {
431
+ "styleRef": "→ 参考 [Liquibase 规范](liquibase.md)"
432
+ },
433
+ "affectedTemplates": [
434
+ "skills/reef-style-backend/SKILL.md.tmpl"
435
+ ],
436
+ "fragments": [
437
+ "java/db-migration/liquibase"
438
+ ]
439
+ },
440
+ {
441
+ "value": "none",
442
+ "label": "不使用",
443
+ "template": {},
444
+ "affectedTemplates": [
445
+ "skills/reef-style-backend/SKILL.md.tmpl"
446
+ ]
447
+ }
448
+ ]
449
+ },
450
+ {
451
+ "key": "reef.backend.java.ai",
452
+ "label": "AI 集成",
453
+ "type": "select",
454
+ "options": [
455
+ {
456
+ "value": "spring-ai",
457
+ "label": "Spring AI",
458
+ "template": {
459
+ "styleRef": "→ 参考 [Spring AI 规范](spring-ai.md)"
460
+ },
461
+ "affectedTemplates": [
462
+ "skills/reef-style-backend/SKILL.md.tmpl"
463
+ ],
464
+ "fragments": [
465
+ "java/ai/spring-ai"
466
+ ]
467
+ },
468
+ {
469
+ "value": "none",
470
+ "label": "不使用",
471
+ "template": {},
472
+ "affectedTemplates": [
473
+ "skills/reef-style-backend/SKILL.md.tmpl"
474
+ ]
475
+ }
476
+ ]
477
+ },
478
+ {
479
+ "key": "reef.backend.java.test",
480
+ "label": "单元测试",
481
+ "type": "select",
482
+ "options": [
483
+ {
484
+ "value": "junit5",
485
+ "label": "JUnit 5",
486
+ "template": {
487
+ "styleRef": "→ 参考 [JUnit5 规范](junit5.md)、[Spring MVC Test](spring-mvc-test.md)、[Spring Service Test](spring-service-test.md)、[DataJPA Test](data-jpa-test.md)"
488
+ },
489
+ "affectedTemplates": [
490
+ "skills/reef-style-backend/SKILL.md.tmpl"
491
+ ],
492
+ "fragments": [
493
+ "java/test/junit5"
494
+ ]
495
+ },
496
+ {
497
+ "value": "none",
498
+ "label": "不使用",
499
+ "template": {},
500
+ "affectedTemplates": [
501
+ "skills/reef-style-backend/SKILL.md.tmpl"
502
+ ]
503
+ }
504
+ ]
505
+ }
506
+ ]
507
+ },
508
+ {
509
+ "key": "reef.backend.python.details",
510
+ "label": "Python 框架选型",
511
+ "description": "选择需要使用的 Python 框架和技术",
512
+ "type": "group",
513
+ "dependsOn": {
514
+ "key": "reef.backend.language",
515
+ "value": "python"
516
+ },
517
+ "questions": [
518
+ {
519
+ "key": "reef.backend.python.framework",
520
+ "label": "Web 框架",
521
+ "type": "select",
522
+ "options": [
523
+ {
524
+ "value": "fastapi",
525
+ "label": "FastAPI",
526
+ "template": {
527
+ "styleRef": "→ 参考 [FastAPI 规范](fastapi-quick-reference.md)"
528
+ },
529
+ "affectedTemplates": [
530
+ "skills/reef-style-backend/SKILL.md.tmpl"
531
+ ],
532
+ "fragments": [
533
+ "python/fastapi-quick-reference"
534
+ ]
535
+ },
536
+ {
537
+ "value": "none",
538
+ "label": "不使用",
539
+ "template": {},
540
+ "affectedTemplates": [
541
+ "skills/reef-style-backend/SKILL.md.tmpl"
542
+ ]
543
+ }
544
+ ]
545
+ },
546
+ {
547
+ "key": "reef.backend.python.orm",
548
+ "label": "ORM",
549
+ "type": "select",
550
+ "options": [
551
+ {
552
+ "value": "sqlalchemy",
553
+ "label": "SQLAlchemy",
554
+ "template": {
555
+ "styleRef": "→ 参考 [SQLAlchemy 规范](sqlalchemy-orm.md)"
556
+ },
557
+ "affectedTemplates": [
558
+ "skills/reef-style-backend/SKILL.md.tmpl"
559
+ ],
560
+ "fragments": [
561
+ "python/sqlalchemy-orm"
562
+ ]
563
+ },
564
+ {
565
+ "value": "none",
566
+ "label": "不使用",
567
+ "template": {},
568
+ "affectedTemplates": [
569
+ "skills/reef-style-backend/SKILL.md.tmpl"
570
+ ]
571
+ }
572
+ ]
573
+ },
574
+ {
575
+ "key": "reef.backend.python.dbMigration",
576
+ "label": "数据库迁移",
577
+ "type": "select",
578
+ "options": [
579
+ {
580
+ "value": "alembic",
581
+ "label": "Alembic",
582
+ "template": {
583
+ "styleRef": "→ 参考 [Alembic 规范](alembic-migration.md)"
584
+ },
585
+ "affectedTemplates": [
586
+ "skills/reef-style-backend/SKILL.md.tmpl"
587
+ ],
588
+ "fragments": [
589
+ "python/alembic-migration"
590
+ ]
591
+ },
592
+ {
593
+ "value": "none",
594
+ "label": "不使用",
595
+ "template": {},
596
+ "affectedTemplates": [
597
+ "skills/reef-style-backend/SKILL.md.tmpl"
598
+ ]
599
+ }
600
+ ]
601
+ },
602
+ {
603
+ "key": "reef.backend.python.ai",
604
+ "label": "AI 集成",
605
+ "type": "select",
606
+ "options": [
607
+ {
608
+ "value": "langchain",
609
+ "label": "LangChain",
610
+ "template": {
611
+ "styleRef": "→ 参考 [LangChain 规范](langchain/quick-reference.md)"
612
+ },
613
+ "affectedTemplates": [
614
+ "skills/reef-style-backend/SKILL.md.tmpl"
615
+ ],
616
+ "fragments": [
617
+ "python/langchain"
618
+ ]
619
+ },
620
+ {
621
+ "value": "none",
622
+ "label": "不使用",
623
+ "template": {},
624
+ "affectedTemplates": [
625
+ "skills/reef-style-backend/SKILL.md.tmpl"
626
+ ]
627
+ }
628
+ ]
629
+ },
630
+ {
631
+ "key": "reef.backend.python.test",
632
+ "label": "单元测试",
633
+ "type": "select",
634
+ "options": [
635
+ {
636
+ "value": "pytest",
637
+ "label": "pytest",
638
+ "template": {
639
+ "styleRef": "→ 参考 [pytest 规范](pytest-testing.md)"
640
+ },
641
+ "affectedTemplates": [
642
+ "skills/reef-style-backend/SKILL.md.tmpl"
643
+ ],
644
+ "fragments": [
645
+ "python/pytest-testing"
646
+ ]
647
+ },
648
+ {
649
+ "value": "none",
650
+ "label": "不使用",
651
+ "template": {},
652
+ "affectedTemplates": [
653
+ "skills/reef-style-backend/SKILL.md.tmpl"
654
+ ]
655
+ }
656
+ ]
657
+ },
658
+ {
659
+ "key": "reef.backend.python.typeChecker",
660
+ "label": "类型检查",
661
+ "type": "select",
662
+ "options": [
663
+ {
664
+ "value": "mypy",
665
+ "label": "mypy",
666
+ "template": {
667
+ "styleRef": "→ 参考 [ruff + mypy 工具链规范](ruff-mypy-toolchain.md)"
668
+ },
669
+ "affectedTemplates": [
670
+ "skills/reef-style-backend/SKILL.md.tmpl"
671
+ ],
672
+ "fragments": [
673
+ "python/ruff-mypy-toolchain"
674
+ ]
675
+ },
676
+ {
677
+ "value": "none",
678
+ "label": "不使用",
679
+ "template": {},
680
+ "affectedTemplates": [
681
+ "skills/reef-style-backend/SKILL.md.tmpl"
682
+ ]
683
+ }
684
+ ]
685
+ },
686
+ {
687
+ "key": "reef.backend.python.formatter",
688
+ "label": "代码格式化",
689
+ "type": "select",
690
+ "options": [
691
+ {
692
+ "value": "ruff",
693
+ "label": "ruff",
694
+ "template": {
695
+ "styleRef": "→ 参考 [ruff + mypy 工具链规范](ruff-mypy-toolchain.md)"
696
+ },
697
+ "affectedTemplates": [
698
+ "skills/reef-style-backend/SKILL.md.tmpl"
699
+ ],
700
+ "fragments": [
701
+ "python/ruff-mypy-toolchain"
702
+ ]
703
+ },
704
+ {
705
+ "value": "none",
706
+ "label": "不使用",
707
+ "template": {},
708
+ "affectedTemplates": [
709
+ "skills/reef-style-backend/SKILL.md.tmpl"
710
+ ]
711
+ }
712
+ ]
713
+ }
714
+ ]
715
+ }
716
+ ]
717
+ },
718
+ "sweep": {
719
+ "tool": "sweep",
720
+ "label": "测试侧",
721
+ "description": "测试生成、覆盖率、CI",
722
+ "mcpSkills": [
723
+ "deepstorm-mcp-jira-read",
724
+ "deepstorm-mcp-feishu-wiki-read"
725
+ ],
726
+ "questions": [
727
+ {
728
+ "key": "sweep.e2eFramework",
729
+ "label": "E2E 测试框架",
730
+ "description": "选择要使用的端到端测试框架",
731
+ "type": "select",
732
+ "options": [
733
+ {
734
+ "value": "playwright",
735
+ "label": "Playwright",
736
+ "description": "Microsoft 出品的跨浏览器 E2E 测试框架"
737
+ }
738
+ ]
739
+ }
740
+ ]
741
+ },
742
+ "atoll": {
743
+ "tool": "atoll",
744
+ "label": "运维侧",
745
+ "description": "部署辅助、监控、故障排查",
746
+ "mcpSkills": [],
747
+ "questions": []
748
+ }
749
+ },
750
+ "skills": {},
751
+ "mcpTools": {
752
+ "github": {
753
+ "domain": "code-hosting",
754
+ "label": "GitHub",
755
+ "description": "源码托管与协作"
756
+ },
757
+ "figma": {
758
+ "domain": "design-tools",
759
+ "label": "Figma",
760
+ "description": "原型设计与协作"
761
+ },
762
+ "context7": {
763
+ "domain": "docs-reference",
764
+ "label": "Context7",
765
+ "description": "库/框架文档实时查询 — React、Next.js、Angular、Prisma、Django 等"
766
+ },
767
+ "playwright": {
768
+ "domain": "e2e-testing",
769
+ "label": "Playwright",
770
+ "description": "浏览器自动化 E2E 测试 — 通过 Playwright MCP 操作浏览器执行测试步骤"
771
+ },
772
+ "feishu-wiki": {
773
+ "domain": "knowledge-base",
774
+ "label": "飞书知识库",
775
+ "description": "文档协作与知识库"
776
+ },
777
+ "jira": {
778
+ "domain": "project-management",
779
+ "label": "Jira",
780
+ "description": "任务跟踪与敏捷管理"
781
+ }
782
+ },
783
+ "toolAssets": {
784
+ "tide": {
785
+ "hooks": [
786
+ "tide-session-preload.sh"
787
+ ]
788
+ },
789
+ "reef": {
790
+ "agents": [
791
+ "reef-inspect-figma.md",
792
+ "reef-review-backend.md",
793
+ "reef-review-frontend.md",
794
+ "reef-review-infra.md",
795
+ "reef-review-security.md",
796
+ "reef-scope-analysis.md"
797
+ ],
798
+ "hooks": [
799
+ "reef-auto-format.sh",
800
+ "reef-block-dangerous.sh",
801
+ "reef-intent-detect.sh",
802
+ "reef-protect-files.sh",
803
+ "reef-run-tests.sh",
804
+ "reef-scope-check.sh",
805
+ "reef-scope-ci.sh",
806
+ "reef-scope-gate.sh",
807
+ "reef-scope-pre-commit.sh",
808
+ "reef-scope-setup.sh",
809
+ "reef-scope-split.sh"
810
+ ]
811
+ },
812
+ "sweep": {
813
+ "hooks": [
814
+ "sweep-mcp-hook.sh"
815
+ ]
816
+ }
817
+ }
818
+ }