@haposoft/cafekit 0.13.4 → 0.14.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 (119) hide show
  1. package/README.md +2 -23
  2. package/bin/lib/i18n.js +2 -2
  3. package/bin/lib/manifest.js +15 -0
  4. package/bin/lib/opencode-install.js +0 -14
  5. package/bin/phases/claude-runtime.js +4 -1
  6. package/bin/phases/claude-settings.js +38 -7
  7. package/bin/phases/root-config.js +5 -24
  8. package/package.json +1 -1
  9. package/src/claude/agents/ui-ux-designer.md +4 -4
  10. package/src/claude/gitignore +4 -11
  11. package/src/claude/hooks/__tests__/privacy-block.test.js +79 -0
  12. package/src/claude/hooks/__tests__/session-writeenv.test.js +68 -0
  13. package/src/claude/hooks/__tests__/spec-gate.test.js +270 -0
  14. package/src/claude/hooks/privacy-block.cjs +22 -2
  15. package/src/claude/hooks/session.cjs +5 -1
  16. package/src/claude/hooks/spec-gate.cjs +173 -0
  17. package/src/claude/hooks/spec-state.cjs +10 -17
  18. package/src/claude/hooks/task-scaffold-guard.cjs +4 -2
  19. package/src/claude/migration-manifest.json +5 -5
  20. package/src/claude/rules/skill-domain-routing.md +2 -3
  21. package/src/claude/rules/skill-workflow-routing.md +2 -11
  22. package/src/claude/rules/state-sync.md +4 -0
  23. package/src/claude/runtime.json +4 -0
  24. package/src/claude/scripts/validate-docs.cjs +4 -7
  25. package/src/claude/scripts/validate-spec-output.cjs +29 -9
  26. package/src/claude/settings/settings.json +4 -0
  27. package/src/claude/skills/ai-multimodal/.env.example +11 -13
  28. package/src/claude/skills/ai-multimodal/SKILL.md +1 -1
  29. package/src/claude/skills/ai-multimodal/references/audio-processing.md +25 -27
  30. package/src/claude/skills/ai-multimodal/references/video-analysis.md +23 -27
  31. package/src/claude/skills/ai-multimodal/references/vision-understanding.md +26 -26
  32. package/src/claude/skills/ai-multimodal/scripts/check_setup.py +1 -1
  33. package/src/claude/skills/ai-multimodal/scripts/gemini_batch_process.py +7 -9
  34. package/src/claude/skills/brainstorm/SKILL.md +1 -2
  35. package/src/claude/skills/docx/SKILL.md +1 -1
  36. package/src/claude/skills/frontend-design/SKILL.md +1 -1
  37. package/src/claude/skills/frontend-design/references/ai-multimodal-overview.md +4 -4
  38. package/src/claude/skills/frontend-design/references/analysis-techniques.md +3 -3
  39. package/src/claude/skills/frontend-design/references/asset-generation.md +2 -2
  40. package/src/claude/skills/frontend-design/references/design-extraction-overview.md +4 -4
  41. package/src/claude/skills/frontend-design/references/extraction-best-practices.md +3 -3
  42. package/src/claude/skills/frontend-design/references/technical-accessibility.md +1 -1
  43. package/src/claude/skills/frontend-design/references/technical-optimization.md +1 -1
  44. package/src/claude/skills/frontend-design/references/technical-overview.md +2 -2
  45. package/src/claude/skills/frontend-design/references/technical-workflows.md +6 -6
  46. package/src/claude/skills/frontend-design/references/visual-analysis-overview.md +3 -3
  47. package/src/claude/skills/inspect/SKILL.md +3 -3
  48. package/src/claude/skills/inspect/references/external-gemini-inspection.md +9 -9
  49. package/src/claude/skills/pdf/SKILL.md +1 -1
  50. package/src/claude/skills/pptx/SKILL.md +1 -1
  51. package/src/claude/skills/specs/SKILL.md +1 -1
  52. package/src/claude/skills/xlsx/SKILL.md +1 -1
  53. package/src/opencode/AGENTS.md +1 -2
  54. package/src/opencode/plugins/session.ts +2 -2
  55. package/src/opencode/plugins/spec-state.ts +244 -0
  56. package/src/opencode/plugins/task-scaffold-guard.ts +161 -0
  57. package/src/claude/scripts/browser-tool.cjs +0 -138
  58. package/src/claude/skills/delegate/SKILL.md +0 -124
  59. package/src/claude/skills/delegate/references/codex-delegation.md +0 -71
  60. package/src/claude/skills/delegate/references/grok-delegation.md +0 -84
  61. package/src/claude/skills/generate-graph/LICENSE +0 -21
  62. package/src/claude/skills/generate-graph/README.md +0 -523
  63. package/src/claude/skills/generate-graph/SKILL.md +0 -429
  64. package/src/claude/skills/generate-graph/agentloop-core.svg +0 -101
  65. package/src/claude/skills/generate-graph/agents/openai.yaml +0 -4
  66. package/src/claude/skills/generate-graph/assets/samples/sample-style1-flat.png +0 -0
  67. package/src/claude/skills/generate-graph/assets/samples/sample-style2-dark.png +0 -0
  68. package/src/claude/skills/generate-graph/assets/samples/sample-style3-blueprint.png +0 -0
  69. package/src/claude/skills/generate-graph/assets/samples/sample-style4-notion.png +0 -0
  70. package/src/claude/skills/generate-graph/assets/samples/sample-style5-glass.png +0 -0
  71. package/src/claude/skills/generate-graph/assets/samples/sample-style6-claude.png +0 -0
  72. package/src/claude/skills/generate-graph/assets/samples/sample-style7-openai.png +0 -0
  73. package/src/claude/skills/generate-graph/fixtures/agent-memory-types-style4.json +0 -181
  74. package/src/claude/skills/generate-graph/fixtures/api-flow-style7.json +0 -40
  75. package/src/claude/skills/generate-graph/fixtures/mem0-style1.json +0 -297
  76. package/src/claude/skills/generate-graph/fixtures/microservices-style3.json +0 -64
  77. package/src/claude/skills/generate-graph/fixtures/multi-agent-style5.json +0 -45
  78. package/src/claude/skills/generate-graph/fixtures/system-architecture-style6.json +0 -48
  79. package/src/claude/skills/generate-graph/fixtures/tool-call-style2.json +0 -182
  80. package/src/claude/skills/generate-graph/package.json +0 -42
  81. package/src/claude/skills/generate-graph/references/icons.md +0 -281
  82. package/src/claude/skills/generate-graph/references/style-1-flat-icon.md +0 -108
  83. package/src/claude/skills/generate-graph/references/style-2-dark-terminal.md +0 -107
  84. package/src/claude/skills/generate-graph/references/style-3-blueprint.md +0 -113
  85. package/src/claude/skills/generate-graph/references/style-4-notion-clean.md +0 -94
  86. package/src/claude/skills/generate-graph/references/style-5-glassmorphism.md +0 -125
  87. package/src/claude/skills/generate-graph/references/style-6-claude-official.md +0 -209
  88. package/src/claude/skills/generate-graph/references/style-7-openai.md +0 -215
  89. package/src/claude/skills/generate-graph/references/style-diagram-matrix.md +0 -135
  90. package/src/claude/skills/generate-graph/references/svg-layout-best-practices.md +0 -100
  91. package/src/claude/skills/generate-graph/scripts/generate-diagram.sh +0 -157
  92. package/src/claude/skills/generate-graph/scripts/generate-from-template.py +0 -1556
  93. package/src/claude/skills/generate-graph/scripts/test-all-styles.sh +0 -135
  94. package/src/claude/skills/generate-graph/scripts/validate-svg.sh +0 -292
  95. package/src/claude/skills/generate-graph/templates/agent-architecture.svg +0 -28
  96. package/src/claude/skills/generate-graph/templates/architecture.svg +0 -23
  97. package/src/claude/skills/generate-graph/templates/comparison-matrix.svg +0 -14
  98. package/src/claude/skills/generate-graph/templates/data-flow.svg +0 -28
  99. package/src/claude/skills/generate-graph/templates/er-diagram.svg +0 -21
  100. package/src/claude/skills/generate-graph/templates/flowchart.svg +0 -21
  101. package/src/claude/skills/generate-graph/templates/sequence.svg +0 -20
  102. package/src/claude/skills/generate-graph/templates/state-machine.svg +0 -20
  103. package/src/claude/skills/generate-graph/templates/timeline.svg +0 -19
  104. package/src/claude/skills/generate-graph/templates/use-case.svg +0 -21
  105. package/src/claude/skills/impact-analysis/SKILL.md +0 -276
  106. package/src/claude/skills/impact-analysis/references/change-detection.md +0 -270
  107. package/src/claude/skills/impact-analysis/references/dependency-scouting.md +0 -338
  108. package/src/claude/skills/impact-analysis/references/edge-case-identification.md +0 -439
  109. package/src/claude/skills/impact-analysis/references/industry-techniques.md +0 -695
  110. package/src/claude/skills/impact-analysis/references/practical-techniques-guide.md +0 -753
  111. package/src/claude/skills/impact-analysis/references/project-detection.md +0 -704
  112. package/src/claude/skills/impact-analysis/references/react-native-customization.md +0 -508
  113. package/src/claude/skills/impact-analysis/references/report-template.md +0 -604
  114. package/src/claude/skills/impact-analysis/references/test-scenario-generation.md +0 -459
  115. package/src/claude/skills/impact-analysis/scripts/README.md +0 -476
  116. package/src/claude/skills/impact-analysis/scripts/ast-analyze.js +0 -403
  117. package/src/claude/skills/impact-analysis/scripts/calculate-risk.js +0 -475
  118. package/src/claude/skills/impact-analysis/scripts/find-dependencies.sh +0 -202
  119. package/src/claude/skills/impact-analysis/scripts/run-analysis.sh +0 -312
@@ -1,338 +0,0 @@
1
- # Dependency Inspection - Finding Affected Files
2
-
3
- Methods for finding and analyzing dependencies to determine impact scope.
4
-
5
- ## Inspection Strategies
6
-
7
- ### 1. Import Analysis (Direct Dependencies)
8
-
9
- Find files that import the modified code:
10
-
11
- ```bash
12
- # JavaScript/TypeScript
13
- grep -r "from ['\"].*{module-name}" src/
14
- grep -r "import.*{module-name}" src/
15
- grep -r "require(['\"].*{module-name}" src/
16
-
17
- # Python
18
- grep -r "from {module} import" src/
19
- grep -r "import {module}" src/
20
-
21
- # Go
22
- grep -r "import.*{package}" .
23
- ```
24
-
25
- **Example:**
26
- ```bash
27
- # Changed: src/utils/auth.ts
28
- # Find who imports it:
29
- grep -r "from.*utils/auth" src/
30
-
31
- # Output:
32
- # src/api/users.ts:import { verifyToken } from '@/utils/auth'
33
- # src/middleware/auth.ts:import { verifyToken } from '@/utils/auth'
34
- ```
35
-
36
- ### 2. Function/Class Usage (Reverse Dependencies)
37
-
38
- Find where functions/classes are used:
39
-
40
- ```bash
41
- # Function calls
42
- grep -r "{function-name}(" src/
43
-
44
- # Class instantiation
45
- grep -r "new {ClassName}" src/
46
-
47
- # Method calls
48
- grep -r "\.{method-name}(" src/
49
- ```
50
-
51
- **Example:**
52
- ```bash
53
- # Changed function: validateEmail()
54
- grep -r "validateEmail(" src/
55
-
56
- # Output:
57
- # src/api/auth.ts: if (!validateEmail(email)) {
58
- # src/components/SignupForm.tsx: const isValid = validateEmail(value)
59
- ```
60
-
61
- ### 3. API Endpoint Consumers
62
-
63
- If backend API is modified, find frontend calls:
64
-
65
- ```bash
66
- # Fetch/Axios calls
67
- grep -r "fetch.*['\"].*{endpoint}" src/
68
- grep -r "axios.*['\"].*{endpoint}" src/
69
- grep -r "api\.{method}.*{endpoint}" src/
70
-
71
- # API client methods
72
- grep -r "api\.(get|post|put|delete).*{endpoint}" src/
73
- ```
74
-
75
- **Example:**
76
- ```bash
77
- # Changed: POST /api/users
78
- grep -r "api/users" src/
79
-
80
- # Output:
81
- # src/services/userService.ts: return fetch('/api/users', { method: 'POST' })
82
- # src/hooks/useUsers.ts: const { data } = useSWR('/api/users')
83
- ```
84
-
85
- ### 4. Database Dependencies
86
-
87
- If database schema is modified:
88
-
89
- ```bash
90
- # Table usage
91
- grep -r "{table_name}" src/
92
-
93
- # Column usage
94
- grep -r "{column_name}" src/
95
-
96
- # Prisma queries
97
- grep -r "prisma\.{model}\." src/
98
- ```
99
-
100
- **Example:**
101
- ```bash
102
- # Changed: users table, added 'role' column
103
- grep -r "users\." src/
104
- grep -r "\.role" src/
105
-
106
- # Find queries that need updating
107
- grep -r "prisma.user.findMany" src/
108
- ```
109
-
110
- ### 5. Type/Interface Dependencies
111
-
112
- Find where types are used:
113
-
114
- ```bash
115
- # TypeScript interfaces
116
- grep -r ":\s*{TypeName}" src/
117
- grep -r "as {TypeName}" src/
118
- grep -r "extends {TypeName}" src/
119
-
120
- # Type imports
121
- grep -r "import.*type.*{TypeName}" src/
122
- ```
123
-
124
- **Example:**
125
- ```bash
126
- # Changed: User interface
127
- grep -r ": User" src/
128
- grep -r "as User" src/
129
-
130
- # Output:
131
- # src/api/users.ts: const user: User = await getUser()
132
- # src/components/UserCard.tsx: props: { user: User }
133
- ```
134
-
135
- ## Using /hapo:inspect for Dependency Inspection
136
-
137
- When multiple files change, use `/hapo:inspect` for scoped discovery first:
138
-
139
- ```
140
- /hapo:inspect Inspect dependencies for these changes.
141
-
142
- Scope:
143
- - src/api/
144
- - src/utils/
145
- - prisma/
146
-
147
- Changed files:
148
- - src/api/auth.ts (authentication logic)
149
- - src/utils/validation.ts (email validation)
150
- - prisma/schema.prisma (users table)
151
-
152
- Find:
153
- 1. Files importing these modules
154
- 2. Functions/classes being used
155
- 3. API endpoints affected
156
- 4. Database queries using changed tables
157
- 5. Frontend components calling changed APIs
158
- 6. Test files covering changed code
159
-
160
- Keep scope narrow. Do not scan repo root.
161
- ```
162
-
163
- ## Dependency Graph
164
-
165
- ### Build Dependency Map
166
-
167
- ```javascript
168
- // dependency-map.js
169
- const dependencies = {
170
- "src/api/auth.ts": {
171
- directDeps: [
172
- "src/utils/validation.ts",
173
- "src/services/userService.ts"
174
- ],
175
- reverseDeps: [
176
- "src/middleware/auth.ts",
177
- "src/api/users.ts"
178
- ],
179
- integrationPoints: [
180
- "POST /api/login",
181
- "POST /api/register"
182
- ]
183
- }
184
- };
185
- ```
186
-
187
- ### Visualize Impact
188
-
189
- ```
190
- src/api/auth.ts (CHANGED)
191
- ├── Direct Dependencies (what it uses)
192
- │ ├── src/utils/validation.ts
193
- │ └── src/services/userService.ts
194
- │
195
- └── Reverse Dependencies (who uses it)
196
- ├── src/middleware/auth.ts
197
- │ └── src/api/users.ts (affected)
198
- │ └── src/api/posts.ts (affected)
199
- └── src/api/profile.ts (affected)
200
- ```
201
-
202
- ## Integration Points Analysis
203
-
204
- ### API Endpoints
205
-
206
- ```bash
207
- # Find route definitions
208
- grep -r "router\.(get|post|put|delete)" src/api/
209
-
210
- # Find endpoint usage in frontend
211
- grep -r "fetch.*api/" src/components/
212
- grep -r "axios.*api/" src/services/
213
- ```
214
-
215
- ### Event Handlers
216
-
217
- ```bash
218
- # React event handlers
219
- grep -r "onClick.*{handler}" src/
220
- grep -r "onChange.*{handler}" src/
221
-
222
- # Event emitters
223
- grep -r "emit(['\"].*{event}" src/
224
- grep -r "on(['\"].*{event}" src/
225
- ```
226
-
227
- ### State Management
228
-
229
- ```bash
230
- # Redux actions
231
- grep -r "dispatch.*{action}" src/
232
-
233
- # Context usage
234
- grep -r "useContext.*{Context}" src/
235
-
236
- # Zustand stores
237
- grep -r "use{Store}" src/
238
- ```
239
-
240
- ## Automated Inspection Script
241
-
242
- ```bash
243
- #!/bin/bash
244
- # inspect-dependencies.sh
245
-
246
- CHANGED_FILE=$1
247
-
248
- echo "=== Dependency inspection for: $CHANGED_FILE ==="
249
- echo ""
250
-
251
- # Extract module name
252
- MODULE_NAME=$(basename "$CHANGED_FILE" | sed 's/\.[^.]*$//')
253
-
254
- echo "1. Direct Imports:"
255
- grep -r "from.*$MODULE_NAME" src/ | head -10
256
- echo ""
257
-
258
- echo "2. Function Usage:"
259
- # Extract function names from changed file
260
- FUNCTIONS=$(grep -E "^(export )?(function|const) \w+" "$CHANGED_FILE" | awk '{print $2}' | sed 's/[=(].*//')
261
- for func in $FUNCTIONS; do
262
- echo " - $func:"
263
- grep -r "$func(" src/ | grep -v "$CHANGED_FILE" | head -5
264
- done
265
- echo ""
266
-
267
- echo "3. Type Usage:"
268
- TYPES=$(grep -E "^(export )?(interface|type) \w+" "$CHANGED_FILE" | awk '{print $2}')
269
- for type in $TYPES; do
270
- echo " - $type:"
271
- grep -r ": $type" src/ | grep -v "$CHANGED_FILE" | head -5
272
- done
273
- echo ""
274
-
275
- echo "4. API Endpoints (if applicable):"
276
- grep -E "router\.(get|post|put|delete)" "$CHANGED_FILE" | while read line; do
277
- ENDPOINT=$(echo "$line" | grep -oE "['\"][^'\"]+['\"]" | head -1 | tr -d "'\"")
278
- echo " - $ENDPOINT:"
279
- grep -r "$ENDPOINT" src/ | grep -v "$CHANGED_FILE" | head -5
280
- done
281
- ```
282
-
283
- ## Output Format
284
-
285
- ```json
286
- {
287
- "changedFile": "src/api/auth.ts",
288
- "dependencies": {
289
- "direct": [
290
- {
291
- "file": "src/utils/validation.ts",
292
- "imports": ["validateEmail", "validatePassword"],
293
- "risk": "medium"
294
- }
295
- ],
296
- "reverse": [
297
- {
298
- "file": "src/middleware/auth.ts",
299
- "uses": ["verifyToken", "refreshToken"],
300
- "impact": "high",
301
- "reason": "Authentication middleware affected"
302
- },
303
- {
304
- "file": "src/api/users.ts",
305
- "uses": ["verifyToken"],
306
- "impact": "medium",
307
- "reason": "User API needs auth"
308
- }
309
- ],
310
- "integrationPoints": [
311
- {
312
- "type": "api",
313
- "endpoint": "POST /api/login",
314
- "consumers": [
315
- "src/components/LoginForm.tsx",
316
- "src/services/authService.ts"
317
- ]
318
- }
319
- ]
320
- },
321
- "affectedComponents": 8,
322
- "riskLevel": "high"
323
- }
324
- ```
325
-
326
- ## Best Practices
327
-
328
- 1. **Start with direct imports** - Easiest to find
329
- 2. **Use parallel inspection** - For multiple files
330
- 3. **Check integration points** - APIs, events, state
331
- 4. **Verify test coverage** - Find test files
332
- 5. **Document findings** - For test scenario generation
333
-
334
- ## Next Steps
335
-
336
- After inspection, proceed to:
337
- 1. **Edge Case Identification** - Analyze risks in affected files
338
- 2. **Test Scenario Generation** - Create tests for affected components