@the-bearded-bear/claude-craft 8.1.0 → 8.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/Dev/i18n/base/Common/hooks/templates/settings-hooks.json +1 -1
- package/Dev/i18n/de/Common/commands/getting-started.md +348 -0
- package/Dev/i18n/de/Common/templates/settings.json.template +32 -39
- package/Dev/i18n/en/Common/commands/getting-started.md +348 -0
- package/Dev/i18n/en/Common/templates/settings.json.template +10 -80
- package/Dev/i18n/es/Common/commands/getting-started.md +348 -0
- package/Dev/i18n/es/Common/templates/settings.json.template +32 -39
- package/Dev/i18n/fr/Common/commands/getting-started.md +348 -0
- package/Dev/i18n/fr/Common/templates/settings.json.template +32 -39
- package/Dev/i18n/pt/Common/commands/getting-started.md +348 -0
- package/Dev/i18n/pt/Common/templates/settings.json.template +32 -39
- package/Dev/scripts/check-prerequisites.sh +4 -3
- package/Dev/scripts/install-common-rules.sh +10 -2
- package/Dev/scripts/lib/install-tech-common.sh +3 -0
- package/Dev/scripts/lib/shell-ui.sh +2 -0
- package/Dev/scripts/tcl-common.sh +2 -0
- package/Infra/install-ansible-rules.sh +2 -0
- package/Infra/install-coolify-rules.sh +2 -0
- package/Infra/install-docker-rules.sh +2 -0
- package/Infra/install-frankenphp-rules.sh +2 -0
- package/Infra/install-hcloud-rules.sh +2 -0
- package/Infra/install-kubernetes-rules.sh +2 -0
- package/Infra/install-opentofu-rules.sh +2 -0
- package/Infra/install-pgbouncer-rules.sh +2 -0
- package/README.md +12 -3
- package/Tools/AgentTeams/lib/ralph-teams-adapter.sh +45 -8
- package/Tools/MultiAccount/claude-accounts.sh +7 -5
- package/Tools/PluginExport/export-plugin.sh +2 -0
- package/Tools/ProjectConfig/claude-projects.sh +2 -0
- package/Tools/RTK/install-rtk.sh +55 -2
- package/Tools/Ralph/lib/parallel-manager.sh +21 -3
- package/Tools/Recette/lib/browser-executor.sh +2 -0
- package/Tools/Recette/lib/chrome-check.sh +2 -0
- package/Tools/Recette/lib/plan-generator.sh +2 -0
- package/Tools/Recette/lib/regression-detector.sh +2 -0
- package/Tools/Recette/lib/report-generator.sh +2 -0
- package/Tools/Recette/lib/session.sh +2 -0
- package/Tools/Recette/lib/test-generator.sh +2 -0
- package/Tools/StatusLine/statusline.sh +3 -1
- package/Tools/lib/tools-ui.sh +2 -0
- package/cli/kanban/client/src/views/KanbanView.svelte +229 -1
- package/cli/lib/banner.js +2 -1
- package/cli/lib/check.js +10 -9
- package/cli/lib/symbols.js +88 -0
- package/package.json +11 -8
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Interactive 10-minute guided tour for new Claude Craft users
|
|
3
|
+
argument-hint: (no arguments)
|
|
4
|
+
allowed-tools: Read, Glob, Bash, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /getting-started - Your First 10 Minutes with Claude Craft
|
|
8
|
+
|
|
9
|
+
Welcome! This wizard helps you discover Claude Craft's value in under 10 minutes.
|
|
10
|
+
|
|
11
|
+
211 commands can feel overwhelming — let's find the 3 that matter most for YOUR project right now.
|
|
12
|
+
|
|
13
|
+
## Step 1: Detect Your Project Stack (30 seconds)
|
|
14
|
+
|
|
15
|
+
Scanning your project to identify the technology stack...
|
|
16
|
+
|
|
17
|
+
**Actions:**
|
|
18
|
+
1. Check for technology markers in root directory:
|
|
19
|
+
- `package.json` → JavaScript/TypeScript (React, Angular, Vue.js, React Native)
|
|
20
|
+
- `composer.json` → PHP (Symfony, Laravel)
|
|
21
|
+
- `pyproject.toml` or `requirements.txt` → Python
|
|
22
|
+
- `pubspec.yaml` → Flutter/Dart
|
|
23
|
+
- `*.csproj` or `*.sln` → C# / .NET
|
|
24
|
+
- `Cargo.toml` → Rust (Paperclip)
|
|
25
|
+
- `go.mod` → Go
|
|
26
|
+
- `mix.exs` → Elixir
|
|
27
|
+
|
|
28
|
+
2. For JavaScript/TypeScript projects, check dependencies to determine framework:
|
|
29
|
+
- Look for `react`, `@angular/core`, `vue`, `react-native` in package.json dependencies
|
|
30
|
+
|
|
31
|
+
3. If multiple technology files found:
|
|
32
|
+
- Ask user which stack to prioritize
|
|
33
|
+
- Store the detected stack
|
|
34
|
+
|
|
35
|
+
**Output format:**
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
✓ Stack Detected: [Technology Name]
|
|
39
|
+
|
|
40
|
+
Your project uses [Technology]. Claude Craft has specialized commands and agents for this stack.
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Step 2: Propose 3 High-Impact Actions (1 minute)
|
|
44
|
+
|
|
45
|
+
Based on the detected stack, recommend 3 contextualized commands that provide immediate value.
|
|
46
|
+
|
|
47
|
+
### Stack to Commands Mapping
|
|
48
|
+
|
|
49
|
+
**Symfony / PHP:**
|
|
50
|
+
- `/symfony:check-architecture` — Verify Clean Architecture + DDD compliance
|
|
51
|
+
- `/symfony:check-testing` — Analyze test coverage and quality
|
|
52
|
+
- `/symfony:check-security` — OWASP Top 10:2025 security audit
|
|
53
|
+
|
|
54
|
+
**React:**
|
|
55
|
+
- `/react:check-code-quality` — TypeScript, ESLint, code standards
|
|
56
|
+
- `/react:accessibility-check` — WCAG compliance audit
|
|
57
|
+
- `/react:bundle-analyze` — Identify bundle size issues
|
|
58
|
+
|
|
59
|
+
**Python:**
|
|
60
|
+
- `/python:check-code-quality` — Ruff, type hints, PEP 8
|
|
61
|
+
- `/python:check-security` — Bandit security scan
|
|
62
|
+
- `/python:type-coverage` — MyPy/Pyright coverage analysis
|
|
63
|
+
|
|
64
|
+
**Flutter / Dart:**
|
|
65
|
+
- `/flutter:check-testing` — Test coverage and golden tests
|
|
66
|
+
- `/flutter:analyze-performance` — Widget rebuild analysis
|
|
67
|
+
- `/flutter:golden-update` — Update visual regression tests
|
|
68
|
+
|
|
69
|
+
**Vue.js:**
|
|
70
|
+
- `/vuejs:check-code-quality` — Composition API, TypeScript, ESLint
|
|
71
|
+
- `/vuejs:check-architecture` — Feature structure validation
|
|
72
|
+
- `/vuejs:check-security` — XSS, CSP, OWASP audit
|
|
73
|
+
|
|
74
|
+
**Laravel:**
|
|
75
|
+
- `/laravel:check-code-quality` — PSR-12, Pest 4, coding standards
|
|
76
|
+
- `/laravel:check-testing` — Test coverage with Pest
|
|
77
|
+
- `/laravel:check-security` — OWASP audit, Sanctum config
|
|
78
|
+
|
|
79
|
+
**Angular:**
|
|
80
|
+
- `/angular:check-code-quality` — Signals, standalone components, ESLint
|
|
81
|
+
- `/angular:check-architecture` — Module structure, dependency graph
|
|
82
|
+
- `/angular:check-security` — XSS protection, security headers
|
|
83
|
+
|
|
84
|
+
**React Native:**
|
|
85
|
+
- `/reactnative:check-code-quality` — TypeScript, ESLint, code patterns
|
|
86
|
+
- `/reactnative:check-architecture` — Feature structure, navigation
|
|
87
|
+
- `/reactnative:app-size` — Bundle size analysis
|
|
88
|
+
|
|
89
|
+
**C# / .NET:**
|
|
90
|
+
- `/csharp:check-architecture` — Clean Architecture + CQRS validation
|
|
91
|
+
- `/csharp:check-testing` — xUnit coverage and quality
|
|
92
|
+
- `/csharp:check-security` — OWASP audit for .NET
|
|
93
|
+
|
|
94
|
+
**PHP (standalone):**
|
|
95
|
+
- `/php:check-code-quality` — PSR-12, PHPStan Level 10
|
|
96
|
+
- `/php:check-testing` — Pest 4 test coverage
|
|
97
|
+
- `/php:check-security` — Security best practices
|
|
98
|
+
|
|
99
|
+
**Unknown/Multi-stack:**
|
|
100
|
+
- `/common:audit-freshness` — Check dependency updates and security
|
|
101
|
+
- `/common:pre-commit-check` — Quality gates before commits
|
|
102
|
+
- `/team:audit` — Full project audit (architecture, security, performance)
|
|
103
|
+
|
|
104
|
+
### Output Format
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
ℹ Recommended Quick Wins for [Technology]
|
|
108
|
+
|
|
109
|
+
Based on your stack, these 3 commands will give you immediate insights:
|
|
110
|
+
|
|
111
|
+
1. ✓ /[command-1] — [2-sentence explanation of value]
|
|
112
|
+
Why now? [1 sentence on TTFV benefit]
|
|
113
|
+
|
|
114
|
+
2. ✓ /[command-2] — [2-sentence explanation of value]
|
|
115
|
+
Why now? [1 sentence on TTFV benefit]
|
|
116
|
+
|
|
117
|
+
3. ✓ /[command-3] — [2-sentence explanation of value]
|
|
118
|
+
Why now? [1 sentence on TTFV benefit]
|
|
119
|
+
|
|
120
|
+
Choose one to run (type the number 1-3), or skip to explore all 211 commands with /help
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Step 3: Execute with Pedagogical Commentary (5 minutes)
|
|
124
|
+
|
|
125
|
+
When user selects an action (1, 2, or 3):
|
|
126
|
+
|
|
127
|
+
### Before Execution
|
|
128
|
+
|
|
129
|
+
Explain the command in simple terms:
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
▶ Running /[selected-command]...
|
|
133
|
+
|
|
134
|
+
This command will:
|
|
135
|
+
- [What it does technically]
|
|
136
|
+
- [What insights you'll gain]
|
|
137
|
+
- [How it helps you improve code quality / security / architecture]
|
|
138
|
+
|
|
139
|
+
This is your first value from Claude Craft — let's see what we find.
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### During Execution
|
|
143
|
+
|
|
144
|
+
Run the selected command with appropriate arguments (usually current directory).
|
|
145
|
+
|
|
146
|
+
### After Execution
|
|
147
|
+
|
|
148
|
+
Summarize results in accessible language:
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
✓ Analysis Complete
|
|
152
|
+
|
|
153
|
+
Key Findings:
|
|
154
|
+
- [Summarize top 3 findings in simple language]
|
|
155
|
+
- [Translate technical issues to actionable items]
|
|
156
|
+
- [Highlight quick wins vs. longer-term improvements]
|
|
157
|
+
|
|
158
|
+
Score: [X]/100 (if applicable)
|
|
159
|
+
|
|
160
|
+
What this means:
|
|
161
|
+
[2-3 sentences explaining the score and next steps in plain language]
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## Step 4: Next Steps (1 minute)
|
|
165
|
+
|
|
166
|
+
Suggest concrete follow-up actions:
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
⚡ What's Next?
|
|
170
|
+
|
|
171
|
+
Choose your path:
|
|
172
|
+
|
|
173
|
+
A. Run another check
|
|
174
|
+
ℹ /[remaining-command-1] — [brief description]
|
|
175
|
+
ℹ /[remaining-command-2] — [brief description]
|
|
176
|
+
|
|
177
|
+
B. Fix a finding
|
|
178
|
+
→ Pick one issue from the report above
|
|
179
|
+
→ Ask me: "Help me fix [issue description]"
|
|
180
|
+
→ I'll guide you through TDD (Test-Driven Development)
|
|
181
|
+
|
|
182
|
+
C. Join the community
|
|
183
|
+
→ Questions? Join our Discord: https://discord.gg/claude-craft
|
|
184
|
+
→ See community guidelines: @COMMUNITY.md
|
|
185
|
+
|
|
186
|
+
📚 Resources:
|
|
187
|
+
- Full quickstart guide: @docs/QUICKSTART.md (section "First 10 Minutes")
|
|
188
|
+
- All 211 commands: /help
|
|
189
|
+
- Technology-specific guides: @.claude/references/[your-tech]/
|
|
190
|
+
|
|
191
|
+
✓ You've completed your first 10 minutes with Claude Craft!
|
|
192
|
+
|
|
193
|
+
Type /workflow:init when ready to start a feature with full BMAD workflow.
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## Example Walkthrough
|
|
197
|
+
|
|
198
|
+
### User Types: `/getting-started`
|
|
199
|
+
|
|
200
|
+
**Step 1 Output:**
|
|
201
|
+
```
|
|
202
|
+
Scanning project for technology markers...
|
|
203
|
+
|
|
204
|
+
✓ Stack Detected: React
|
|
205
|
+
|
|
206
|
+
Your project uses React 19.x. Claude Craft has 15+ specialized commands for React development.
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
**Step 2 Output:**
|
|
210
|
+
```
|
|
211
|
+
ℹ Recommended Quick Wins for React
|
|
212
|
+
|
|
213
|
+
Based on your stack, these 3 commands will give you immediate insights:
|
|
214
|
+
|
|
215
|
+
1. ✓ /react:check-code-quality — Analyze TypeScript types, ESLint config, and coding standards
|
|
216
|
+
Why now? Catches common mistakes early and enforces best practices across your team.
|
|
217
|
+
|
|
218
|
+
2. ✓ /react:accessibility-check — Audit WCAG 2.2 compliance and keyboard navigation
|
|
219
|
+
Why now? 15% of users need accessibility features — find issues before users do.
|
|
220
|
+
|
|
221
|
+
3. ✓ /react:bundle-analyze — Identify large dependencies bloating your bundle
|
|
222
|
+
Why now? Every 100KB costs users money and slows load time — quick wins here.
|
|
223
|
+
|
|
224
|
+
Choose one to run (type the number 1-3), or skip to explore all 211 commands with /help
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
**User Types: 1**
|
|
228
|
+
|
|
229
|
+
**Step 3 Output (Before):**
|
|
230
|
+
```
|
|
231
|
+
▶ Running /react:check-code-quality...
|
|
232
|
+
|
|
233
|
+
This command will:
|
|
234
|
+
- Scan your components for TypeScript best practices
|
|
235
|
+
- Check ESLint configuration and violations
|
|
236
|
+
- Verify React Hooks rules and component patterns
|
|
237
|
+
|
|
238
|
+
This is your first value from Claude Craft — let's see what we find.
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
**[Command executes]**
|
|
242
|
+
|
|
243
|
+
**Step 3 Output (After):**
|
|
244
|
+
```
|
|
245
|
+
✓ Analysis Complete
|
|
246
|
+
|
|
247
|
+
Key Findings:
|
|
248
|
+
- 23 components missing prop type definitions (quick fix with interfaces)
|
|
249
|
+
- ESLint configured but 47 warnings ignored with // eslint-disable
|
|
250
|
+
- 12% 'any' type usage (target is <5%)
|
|
251
|
+
|
|
252
|
+
Score: 68/100
|
|
253
|
+
|
|
254
|
+
What this means:
|
|
255
|
+
Your TypeScript setup is solid but needs refinement. Start by fixing the 23 missing prop types (easy wins), then tackle the ESLint warnings. The 'any' usage isn't critical but reducing it improves type safety.
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
**Step 4 Output:**
|
|
259
|
+
```
|
|
260
|
+
⚡ What's Next?
|
|
261
|
+
|
|
262
|
+
Choose your path:
|
|
263
|
+
|
|
264
|
+
A. Run another check
|
|
265
|
+
ℹ /react:accessibility-check — WCAG compliance audit
|
|
266
|
+
ℹ /react:bundle-analyze — Bundle size analysis
|
|
267
|
+
|
|
268
|
+
B. Fix a finding
|
|
269
|
+
→ Pick one issue from the report above
|
|
270
|
+
→ Ask me: "Help me fix missing prop types in UserProfile.tsx"
|
|
271
|
+
→ I'll guide you through TDD (Test-Driven Development)
|
|
272
|
+
|
|
273
|
+
C. Join the community
|
|
274
|
+
→ Questions? Join our Discord: https://discord.gg/claude-craft
|
|
275
|
+
→ See community guidelines: @COMMUNITY.md
|
|
276
|
+
|
|
277
|
+
📚 Resources:
|
|
278
|
+
- Full quickstart guide: @docs/QUICKSTART.md (section "First 10 Minutes")
|
|
279
|
+
- All 211 commands: /help
|
|
280
|
+
- React-specific guides: @.claude/references/react/
|
|
281
|
+
|
|
282
|
+
✓ You've completed your first 10 minutes with Claude Craft!
|
|
283
|
+
|
|
284
|
+
Type /workflow:init when ready to start a feature with full BMAD workflow.
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
## Implementation Notes
|
|
288
|
+
|
|
289
|
+
### Technology Detection Logic
|
|
290
|
+
|
|
291
|
+
Use Bash tool to check for files:
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
# Check for package.json
|
|
295
|
+
test -f package.json && echo "node"
|
|
296
|
+
|
|
297
|
+
# Check for composer.json
|
|
298
|
+
test -f composer.json && echo "php"
|
|
299
|
+
|
|
300
|
+
# Check for pyproject.toml or requirements.txt
|
|
301
|
+
(test -f pyproject.toml || test -f requirements.txt) && echo "python"
|
|
302
|
+
|
|
303
|
+
# And so on...
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
For JavaScript/TypeScript, parse package.json:
|
|
307
|
+
|
|
308
|
+
```bash
|
|
309
|
+
# Check React
|
|
310
|
+
grep -q '"react"' package.json && echo "react"
|
|
311
|
+
|
|
312
|
+
# Check Angular
|
|
313
|
+
grep -q '"@angular/core"' package.json && echo "angular"
|
|
314
|
+
|
|
315
|
+
# Check Vue
|
|
316
|
+
grep -q '"vue"' package.json && echo "vuejs"
|
|
317
|
+
|
|
318
|
+
# Check React Native
|
|
319
|
+
grep -q '"react-native"' package.json && echo "reactnative"
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### User Interaction
|
|
323
|
+
|
|
324
|
+
The wizard must:
|
|
325
|
+
1. ✅ Be conversational and welcoming
|
|
326
|
+
2. ✅ Use symbols (✓, ℹ, ⚠, ✗) for visual clarity
|
|
327
|
+
3. ✅ Keep each step under 3 minutes
|
|
328
|
+
4. ✅ Explain technical concepts in simple language
|
|
329
|
+
5. ✅ Provide clear next actions
|
|
330
|
+
6. ✅ Link to resources for deeper learning
|
|
331
|
+
|
|
332
|
+
### Accessibility
|
|
333
|
+
|
|
334
|
+
Follow P1-06 accessibility standards:
|
|
335
|
+
- ✓ Use clear symbols with text labels
|
|
336
|
+
- ✓ No color-only indicators
|
|
337
|
+
- ✅ Plain language explanations
|
|
338
|
+
- ✅ Clear navigation between steps
|
|
339
|
+
|
|
340
|
+
## Success Criteria
|
|
341
|
+
|
|
342
|
+
User should:
|
|
343
|
+
- ✓ Understand what Claude Craft does (within 2 minutes)
|
|
344
|
+
- ✓ Get value from their first command (within 5 minutes)
|
|
345
|
+
- ✓ Know what to do next (clear paths A/B/C)
|
|
346
|
+
- ✓ Feel confident exploring further
|
|
347
|
+
|
|
348
|
+
Time to First Value (TTFV): **< 10 minutes total**
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://
|
|
2
|
+
"$schema": "https://json.schemastore.org/claude-code-settings.json",
|
|
3
|
+
|
|
4
|
+
"env": {
|
|
5
|
+
"CLAUDE_CODE_SUBAGENT_MODEL": "claude-sonnet-4-5"
|
|
6
|
+
},
|
|
3
7
|
|
|
4
8
|
"spinnerVerbs": {
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"Write": ["Schreiben", "Erstellen", "Generieren"],
|
|
8
|
-
"Bash": ["Ausführen", "Starten", "Verarbeiten"],
|
|
9
|
-
"Read": ["Lesen", "Laden", "Scannen"],
|
|
10
|
-
"Task": ["Delegieren", "Koordinieren", "Versenden"]
|
|
9
|
+
"mode": "replace",
|
|
10
|
+
"verbs": ["Denken", "Verarbeiten", "Analysieren", "Arbeiten", "Bearbeiten", "Schreiben", "Lesen", "Ausführen", "Delegieren"]
|
|
11
11
|
},
|
|
12
12
|
|
|
13
13
|
"permissions": {
|
|
@@ -51,86 +51,79 @@
|
|
|
51
51
|
"plansDirectory": ".claude/plans",
|
|
52
52
|
|
|
53
53
|
"hooks": {
|
|
54
|
-
"
|
|
54
|
+
"PreCompact": [
|
|
55
55
|
{
|
|
56
|
-
"matcher": "",
|
|
56
|
+
"matcher": "auto",
|
|
57
57
|
"hooks": [
|
|
58
58
|
{
|
|
59
59
|
"type": "command",
|
|
60
|
-
"command": ".claude/
|
|
61
|
-
"timeout":
|
|
60
|
+
"command": "if [ -f .claude/context-essentials.md ]; then echo 'Context preserved for restoration after compaction'; else echo 'No context-essentials.md found'; fi",
|
|
61
|
+
"timeout": 5000
|
|
62
62
|
}
|
|
63
63
|
]
|
|
64
64
|
}
|
|
65
65
|
],
|
|
66
|
-
"
|
|
66
|
+
"SessionStart": [
|
|
67
67
|
{
|
|
68
|
-
"matcher": "
|
|
68
|
+
"matcher": "compact",
|
|
69
69
|
"hooks": [
|
|
70
70
|
{
|
|
71
71
|
"type": "command",
|
|
72
|
-
"command": ".claude/
|
|
73
|
-
"timeout": 5
|
|
72
|
+
"command": "if [ -f .claude/context-essentials.md ]; then cat .claude/context-essentials.md; else echo 'No context-essentials.md found.'; fi"
|
|
74
73
|
}
|
|
75
74
|
]
|
|
76
75
|
}
|
|
77
76
|
],
|
|
78
|
-
"
|
|
77
|
+
"PreToolUse": [
|
|
79
78
|
{
|
|
80
|
-
"matcher": "
|
|
79
|
+
"matcher": "Edit",
|
|
81
80
|
"hooks": [
|
|
82
81
|
{
|
|
83
82
|
"type": "command",
|
|
84
|
-
"command": ".
|
|
85
|
-
"timeout": 60
|
|
83
|
+
"command": "FILEPATH=$(echo '$TOOL_INPUT' | jq -r '.file_path // empty'); if echo \"$FILEPATH\" | grep -qE '(\\.env|\\.env\\.|credentials|secrets|private.*key|id_rsa)'; then echo \"BLOCKED: Cannot edit sensitive file: $FILEPATH\" && exit 1; fi; exit 0"
|
|
86
84
|
}
|
|
87
85
|
]
|
|
88
|
-
}
|
|
89
|
-
],
|
|
90
|
-
"PostToolUseFailure": [
|
|
86
|
+
},
|
|
91
87
|
{
|
|
92
|
-
"matcher": "",
|
|
88
|
+
"matcher": "Write",
|
|
93
89
|
"hooks": [
|
|
94
90
|
{
|
|
95
91
|
"type": "command",
|
|
96
|
-
"command": "
|
|
97
|
-
"timeout": 5
|
|
92
|
+
"command": "FILEPATH=$(echo '$TOOL_INPUT' | jq -r '.file_path // empty'); if echo \"$FILEPATH\" | grep -qE '(\\.env|\\.env\\.|credentials|secrets|private.*key|id_rsa)'; then echo \"BLOCKED: Cannot write sensitive file: $FILEPATH\" && exit 1; fi; exit 0"
|
|
98
93
|
}
|
|
99
94
|
]
|
|
100
95
|
}
|
|
101
96
|
],
|
|
102
|
-
"
|
|
97
|
+
"PostToolUse": [
|
|
103
98
|
{
|
|
104
|
-
"matcher": "",
|
|
99
|
+
"matcher": "Bash",
|
|
105
100
|
"hooks": [
|
|
106
101
|
{
|
|
107
102
|
"type": "command",
|
|
108
|
-
"command": ".
|
|
109
|
-
"timeout":
|
|
103
|
+
"command": "OUTPUT_SIZE=$(echo '$TOOL_OUTPUT' | wc -c); if [ \"$OUTPUT_SIZE\" -gt 50000 ]; then echo 'NOTICE: Large output (>50KB). Extract only the relevant information and summarize in under 20 lines.'; elif [ \"$OUTPUT_SIZE\" -gt 10000 ]; then echo 'NOTICE: Moderate output (>10KB). Focus on errors, warnings, and key results.'; fi; exit 0",
|
|
104
|
+
"timeout": 3000
|
|
110
105
|
}
|
|
111
106
|
]
|
|
112
|
-
}
|
|
113
|
-
],
|
|
114
|
-
"Stop": [
|
|
107
|
+
},
|
|
115
108
|
{
|
|
116
|
-
"matcher": "",
|
|
109
|
+
"matcher": "Grep",
|
|
117
110
|
"hooks": [
|
|
118
111
|
{
|
|
119
112
|
"type": "command",
|
|
120
|
-
"command": "
|
|
121
|
-
"timeout":
|
|
113
|
+
"command": "OUTPUT_SIZE=$(echo '$TOOL_OUTPUT' | wc -c); if [ \"$OUTPUT_SIZE\" -gt 50000 ]; then echo 'NOTICE: Large output (>50KB). Summarize key findings in under 20 lines.'; fi; exit 0",
|
|
114
|
+
"timeout": 3000
|
|
122
115
|
}
|
|
123
116
|
]
|
|
124
117
|
}
|
|
125
118
|
],
|
|
126
|
-
"
|
|
119
|
+
"PostCompact": [
|
|
127
120
|
{
|
|
128
|
-
"matcher": "",
|
|
121
|
+
"matcher": "auto",
|
|
129
122
|
"hooks": [
|
|
130
123
|
{
|
|
131
124
|
"type": "command",
|
|
132
|
-
"command": ".claude/
|
|
133
|
-
"timeout":
|
|
125
|
+
"command": "if [ -f .claude/context-essentials.md ]; then jq -n --rawfile c .claude/context-essentials.md '{\"systemMessage\": (\"CONTEXT RESTORED AFTER COMPACTION:\\n\" + $c)}'; else echo '{}'; fi",
|
|
126
|
+
"timeout": 5000
|
|
134
127
|
}
|
|
135
128
|
]
|
|
136
129
|
}
|