@haposoft/cafekit 0.13.3 → 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 (114) hide show
  1. package/README.md +1 -2
  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/package.json +1 -1
  8. package/src/claude/agents/ui-ux-designer.md +4 -4
  9. package/src/claude/hooks/__tests__/privacy-block.test.js +79 -0
  10. package/src/claude/hooks/__tests__/session-writeenv.test.js +68 -0
  11. package/src/claude/hooks/__tests__/spec-gate.test.js +270 -0
  12. package/src/claude/hooks/privacy-block.cjs +22 -2
  13. package/src/claude/hooks/session.cjs +5 -1
  14. package/src/claude/hooks/spec-gate.cjs +173 -0
  15. package/src/claude/hooks/spec-state.cjs +10 -17
  16. package/src/claude/hooks/task-scaffold-guard.cjs +4 -2
  17. package/src/claude/migration-manifest.json +5 -4
  18. package/src/claude/rules/skill-domain-routing.md +2 -3
  19. package/src/claude/rules/skill-workflow-routing.md +2 -3
  20. package/src/claude/rules/state-sync.md +4 -0
  21. package/src/claude/runtime.json +4 -0
  22. package/src/claude/scripts/validate-docs.cjs +4 -7
  23. package/src/claude/scripts/validate-spec-output.cjs +29 -9
  24. package/src/claude/settings/settings.json +4 -0
  25. package/src/claude/skills/ai-multimodal/.env.example +11 -13
  26. package/src/claude/skills/ai-multimodal/SKILL.md +1 -1
  27. package/src/claude/skills/ai-multimodal/references/audio-processing.md +25 -27
  28. package/src/claude/skills/ai-multimodal/references/video-analysis.md +23 -27
  29. package/src/claude/skills/ai-multimodal/references/vision-understanding.md +26 -26
  30. package/src/claude/skills/ai-multimodal/scripts/check_setup.py +1 -1
  31. package/src/claude/skills/ai-multimodal/scripts/gemini_batch_process.py +7 -9
  32. package/src/claude/skills/brainstorm/SKILL.md +1 -2
  33. package/src/claude/skills/docx/SKILL.md +1 -1
  34. package/src/claude/skills/frontend-design/SKILL.md +1 -1
  35. package/src/claude/skills/frontend-design/references/ai-multimodal-overview.md +4 -4
  36. package/src/claude/skills/frontend-design/references/analysis-techniques.md +3 -3
  37. package/src/claude/skills/frontend-design/references/asset-generation.md +2 -2
  38. package/src/claude/skills/frontend-design/references/design-extraction-overview.md +4 -4
  39. package/src/claude/skills/frontend-design/references/extraction-best-practices.md +3 -3
  40. package/src/claude/skills/frontend-design/references/technical-accessibility.md +1 -1
  41. package/src/claude/skills/frontend-design/references/technical-optimization.md +1 -1
  42. package/src/claude/skills/frontend-design/references/technical-overview.md +2 -2
  43. package/src/claude/skills/frontend-design/references/technical-workflows.md +6 -6
  44. package/src/claude/skills/frontend-design/references/visual-analysis-overview.md +3 -3
  45. package/src/claude/skills/inspect/SKILL.md +3 -3
  46. package/src/claude/skills/inspect/references/external-gemini-inspection.md +9 -9
  47. package/src/claude/skills/pdf/SKILL.md +1 -1
  48. package/src/claude/skills/pptx/SKILL.md +1 -1
  49. package/src/claude/skills/specs/SKILL.md +1 -1
  50. package/src/claude/skills/xlsx/SKILL.md +1 -1
  51. package/src/opencode/AGENTS.md +1 -2
  52. package/src/opencode/plugins/session.ts +2 -2
  53. package/src/opencode/plugins/spec-state.ts +244 -0
  54. package/src/opencode/plugins/task-scaffold-guard.ts +161 -0
  55. package/src/claude/scripts/browser-tool.cjs +0 -138
  56. package/src/claude/skills/generate-graph/LICENSE +0 -21
  57. package/src/claude/skills/generate-graph/README.md +0 -523
  58. package/src/claude/skills/generate-graph/SKILL.md +0 -429
  59. package/src/claude/skills/generate-graph/agentloop-core.svg +0 -101
  60. package/src/claude/skills/generate-graph/agents/openai.yaml +0 -4
  61. package/src/claude/skills/generate-graph/assets/samples/sample-style1-flat.png +0 -0
  62. package/src/claude/skills/generate-graph/assets/samples/sample-style2-dark.png +0 -0
  63. package/src/claude/skills/generate-graph/assets/samples/sample-style3-blueprint.png +0 -0
  64. package/src/claude/skills/generate-graph/assets/samples/sample-style4-notion.png +0 -0
  65. package/src/claude/skills/generate-graph/assets/samples/sample-style5-glass.png +0 -0
  66. package/src/claude/skills/generate-graph/assets/samples/sample-style6-claude.png +0 -0
  67. package/src/claude/skills/generate-graph/assets/samples/sample-style7-openai.png +0 -0
  68. package/src/claude/skills/generate-graph/fixtures/agent-memory-types-style4.json +0 -181
  69. package/src/claude/skills/generate-graph/fixtures/api-flow-style7.json +0 -40
  70. package/src/claude/skills/generate-graph/fixtures/mem0-style1.json +0 -297
  71. package/src/claude/skills/generate-graph/fixtures/microservices-style3.json +0 -64
  72. package/src/claude/skills/generate-graph/fixtures/multi-agent-style5.json +0 -45
  73. package/src/claude/skills/generate-graph/fixtures/system-architecture-style6.json +0 -48
  74. package/src/claude/skills/generate-graph/fixtures/tool-call-style2.json +0 -182
  75. package/src/claude/skills/generate-graph/package.json +0 -42
  76. package/src/claude/skills/generate-graph/references/icons.md +0 -281
  77. package/src/claude/skills/generate-graph/references/style-1-flat-icon.md +0 -108
  78. package/src/claude/skills/generate-graph/references/style-2-dark-terminal.md +0 -107
  79. package/src/claude/skills/generate-graph/references/style-3-blueprint.md +0 -113
  80. package/src/claude/skills/generate-graph/references/style-4-notion-clean.md +0 -94
  81. package/src/claude/skills/generate-graph/references/style-5-glassmorphism.md +0 -125
  82. package/src/claude/skills/generate-graph/references/style-6-claude-official.md +0 -209
  83. package/src/claude/skills/generate-graph/references/style-7-openai.md +0 -215
  84. package/src/claude/skills/generate-graph/references/style-diagram-matrix.md +0 -135
  85. package/src/claude/skills/generate-graph/references/svg-layout-best-practices.md +0 -100
  86. package/src/claude/skills/generate-graph/scripts/generate-diagram.sh +0 -157
  87. package/src/claude/skills/generate-graph/scripts/generate-from-template.py +0 -1556
  88. package/src/claude/skills/generate-graph/scripts/test-all-styles.sh +0 -135
  89. package/src/claude/skills/generate-graph/scripts/validate-svg.sh +0 -292
  90. package/src/claude/skills/generate-graph/templates/agent-architecture.svg +0 -28
  91. package/src/claude/skills/generate-graph/templates/architecture.svg +0 -23
  92. package/src/claude/skills/generate-graph/templates/comparison-matrix.svg +0 -14
  93. package/src/claude/skills/generate-graph/templates/data-flow.svg +0 -28
  94. package/src/claude/skills/generate-graph/templates/er-diagram.svg +0 -21
  95. package/src/claude/skills/generate-graph/templates/flowchart.svg +0 -21
  96. package/src/claude/skills/generate-graph/templates/sequence.svg +0 -20
  97. package/src/claude/skills/generate-graph/templates/state-machine.svg +0 -20
  98. package/src/claude/skills/generate-graph/templates/timeline.svg +0 -19
  99. package/src/claude/skills/generate-graph/templates/use-case.svg +0 -21
  100. package/src/claude/skills/impact-analysis/SKILL.md +0 -276
  101. package/src/claude/skills/impact-analysis/references/change-detection.md +0 -270
  102. package/src/claude/skills/impact-analysis/references/dependency-scouting.md +0 -338
  103. package/src/claude/skills/impact-analysis/references/edge-case-identification.md +0 -439
  104. package/src/claude/skills/impact-analysis/references/industry-techniques.md +0 -695
  105. package/src/claude/skills/impact-analysis/references/practical-techniques-guide.md +0 -753
  106. package/src/claude/skills/impact-analysis/references/project-detection.md +0 -704
  107. package/src/claude/skills/impact-analysis/references/react-native-customization.md +0 -508
  108. package/src/claude/skills/impact-analysis/references/report-template.md +0 -604
  109. package/src/claude/skills/impact-analysis/references/test-scenario-generation.md +0 -459
  110. package/src/claude/skills/impact-analysis/scripts/README.md +0 -476
  111. package/src/claude/skills/impact-analysis/scripts/ast-analyze.js +0 -403
  112. package/src/claude/skills/impact-analysis/scripts/calculate-risk.js +0 -475
  113. package/src/claude/skills/impact-analysis/scripts/find-dependencies.sh +0 -202
  114. 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