start-vibing 1.1.2 → 1.1.3

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 (39) hide show
  1. package/package.json +1 -1
  2. package/template/.claude/CLAUDE.md +129 -168
  3. package/template/.claude/README.md +135 -126
  4. package/template/.claude/agents/analyzer.md +0 -14
  5. package/template/.claude/agents/commit-manager.md +0 -19
  6. package/template/.claude/agents/documenter.md +0 -10
  7. package/template/.claude/agents/domain-updater.md +194 -200
  8. package/template/.claude/agents/final-validator.md +0 -18
  9. package/template/.claude/agents/orchestrator.md +0 -12
  10. package/template/.claude/agents/quality-checker.md +0 -24
  11. package/template/.claude/agents/research.md +251 -262
  12. package/template/.claude/agents/security-auditor.md +1 -14
  13. package/template/.claude/agents/tester.md +0 -8
  14. package/template/.claude/agents/ui-ux-reviewer.md +0 -8
  15. package/template/.claude/commands/feature.md +48 -102
  16. package/template/.claude/config/README.md +30 -30
  17. package/template/.claude/config/domain-mapping.json +55 -26
  18. package/template/.claude/config/project-config.json +56 -53
  19. package/template/.claude/config/quality-gates.json +46 -46
  20. package/template/.claude/config/security-rules.json +45 -45
  21. package/template/.claude/config/testing-config.json +168 -168
  22. package/template/.claude/hooks/SETUP.md +52 -181
  23. package/template/.claude/hooks/user-prompt-submit.py +37 -246
  24. package/template/.claude/settings.json +39 -267
  25. package/template/.claude/skills/codebase-knowledge/SKILL.md +71 -145
  26. package/template/.claude/skills/codebase-knowledge/domains/claude-system.md +54 -321
  27. package/template/.claude/skills/docs-tracker/SKILL.md +63 -239
  28. package/template/.claude/skills/final-check/SKILL.md +72 -284
  29. package/template/.claude/skills/quality-gate/SKILL.md +71 -278
  30. package/template/.claude/skills/research-cache/SKILL.md +73 -207
  31. package/template/.claude/skills/security-scan/SKILL.md +75 -206
  32. package/template/.claude/skills/test-coverage/SKILL.md +66 -441
  33. package/template/.claude/skills/ui-ux-audit/SKILL.md +68 -254
  34. package/template/.claude/hooks/post-tool-use.py +0 -155
  35. package/template/.claude/hooks/pre-tool-use.py +0 -159
  36. package/template/.claude/hooks/stop-validation.py +0 -155
  37. package/template/.claude/hooks/validate-commit.py +0 -200
  38. package/template/.claude/hooks/workflow-manager.py +0 -350
  39. package/template/.claude/workflow-state.schema.json +0 -200
@@ -1,278 +1,71 @@
1
- ---
2
- name: quality-gate
3
- description: Automates quality checks (typecheck, lint, tests, build) and blocks commits that don't pass. Use before any commit to validate code quality.
4
- allowed-tools: Bash, Read, Grep
5
- ---
6
-
7
- # Quality Gate - Quality Verification System
8
-
9
- ## Purpose
10
-
11
- This skill automates quality checks:
12
-
13
- - **Typecheck** - TypeScript errors
14
- - **Lint** - Code patterns (ESLint)
15
- - **Build** - Build verification
16
- - **Tests** - Unit and E2E tests
17
- - **Blocks** commits that don't pass
18
-
19
- ---
20
-
21
- ## Commands
22
-
23
- ### 1. TypeScript Check
24
-
25
- ```bash
26
- bun run typecheck
27
- # or
28
- bunx tsc --noEmit
29
- ```
30
-
31
- ### 2. ESLint Check
32
-
33
- ```bash
34
- bun run lint
35
- # or
36
- bunx eslint . --ext .ts,.tsx
37
- ```
38
-
39
- ### 3. Build Check
40
-
41
- ```bash
42
- bun run build
43
- ```
44
-
45
- ### 4. Unit Tests
46
-
47
- ```bash
48
- bun run test
49
- # or
50
- bunx vitest run
51
- ```
52
-
53
- ### 5. E2E Tests
54
-
55
- ```bash
56
- bun run test:e2e
57
- # or
58
- bunx playwright test
59
- ```
60
-
61
- ### 6. All Checks (RECOMMENDED)
62
-
63
- ```bash
64
- bun run typecheck && bun run lint && bun run test && bun run test:e2e && bun run build
65
- ```
66
-
67
- ---
68
-
69
- ## Execution Flow
70
-
71
- ```
72
- 1. TYPECHECK → If fail: STOP and list errors
73
-
74
- 2. LINT → If fail: STOP and list errors
75
-
76
- 3. UNIT TESTS → If fail: STOP and list failures
77
-
78
- 4. E2E TESTS → If fail: STOP and list failures
79
-
80
- 5. BUILD → If fail: STOP and list errors
81
-
82
- RESULT: ✅ APPROVED or ❌ REJECTED
83
- ```
84
-
85
- ---
86
-
87
- ## Common TypeScript Errors
88
-
89
- ### Type 'X' is not assignable to type 'Y'
90
-
91
- ```typescript
92
- // ERROR
93
- const value: string = 123;
94
-
95
- // FIX
96
- const value: number = 123;
97
- ```
98
-
99
- ### Object is possibly 'undefined'
100
-
101
- ```typescript
102
- // ERROR
103
- const name = user.name.toUpperCase();
104
-
105
- // FIX
106
- const name = user?.name?.toUpperCase() ?? '';
107
- ```
108
-
109
- ### Property 'X' does not exist on type 'Y'
110
-
111
- ```typescript
112
- // ERROR
113
- const age = user.age; // age doesn't exist
114
-
115
- // FIX
116
- interface User {
117
- name: string;
118
- age?: number;
119
- }
120
- ```
121
-
122
- ---
123
-
124
- ## Common ESLint Errors
125
-
126
- ### @typescript-eslint/no-explicit-any
127
-
128
- ```typescript
129
- // ERROR
130
- function parse(data: any) {}
131
-
132
- // FIX
133
- function parse(data: unknown) {}
134
- ```
135
-
136
- ### @typescript-eslint/no-unused-vars
137
-
138
- ```typescript
139
- // ERROR
140
- const unused = 'value';
141
-
142
- // FIX - remove or prefix with _
143
- const _unused = 'value';
144
- ```
145
-
146
- ### react-hooks/exhaustive-deps
147
-
148
- ```typescript
149
- // ERROR
150
- useEffect(() => {
151
- fetchData(userId);
152
- }, []); // missing userId
153
-
154
- // FIX
155
- useEffect(() => {
156
- fetchData(userId);
157
- }, [userId]);
158
- ```
159
-
160
- ---
161
-
162
- ## Output Format
163
-
164
- ### Approved
165
-
166
- ```markdown
167
- ## QUALITY GATE - APPROVED
168
-
169
- ### Checks Executed
170
-
171
- | Check | Status | Time |
172
- | ---------- | ------------- | ----- |
173
- | TypeScript | ✅ Pass | 3.2s |
174
- | ESLint | ✅ Pass | 5.1s |
175
- | Unit Tests | ✅ 42/42 Pass | 8.3s |
176
- | E2E Tests | ✅ 15/15 Pass | 45.2s |
177
- | Build | ✅ Pass | 32.1s |
178
-
179
- **STATUS: APPROVED** - Ready to commit
180
- ```
181
-
182
- ### Rejected
183
-
184
- ```markdown
185
- ## QUALITY GATE - REJECTED
186
-
187
- ### Checks Executed
188
-
189
- | Check | Status |
190
- | ---------- | ----------- |
191
- | TypeScript | ❌ 3 errors |
192
-
193
- ### TypeScript Errors
194
-
195
- #### Error 1: server/routers/example.ts:45
196
- ```
197
-
198
- Type 'string | undefined' is not assignable to type 'string'.
199
-
200
- ````
201
-
202
- **Suggested fix:**
203
- ```typescript
204
- const name: string = input.name ?? "";
205
- ````
206
-
207
- **STATUS: REJECTED** - Fix 3 errors before commit
208
-
209
- ````
210
-
211
- ---
212
-
213
- ## Quick Checks
214
-
215
- ### Fast Check (typecheck + lint only)
216
- ```bash
217
- bun run typecheck && bun run lint
218
- ````
219
-
220
- ### Full Check (everything)
221
-
222
- ```bash
223
- bun run typecheck && bun run lint && bun run test && bun run test:e2e && bun run build
224
- ```
225
-
226
- ### Modified Files Only
227
-
228
- ```bash
229
- git diff --name-only | grep -E "\.(ts|tsx)$" | xargs bunx eslint
230
- ```
231
-
232
- ---
233
-
234
- ## Pre-Commit Checklist
235
-
236
- - [ ] `bun run typecheck` passes?
237
- - [ ] `bun run lint` passes?
238
- - [ ] `bun run test` passes?
239
- - [ ] `bun run test:e2e` passes?
240
- - [ ] `bun run build` passes?
241
- - [ ] No `any` in code?
242
- - [ ] No unused variables?
243
- - [ ] No debug console.log?
244
-
245
- ---
246
-
247
- ## Scripts (package.json)
248
-
249
- ```json
250
- {
251
- "scripts": {
252
- "typecheck": "tsc --noEmit",
253
- "lint": "eslint . --ext .ts,.tsx",
254
- "lint:fix": "eslint . --ext .ts,.tsx --fix",
255
- "test": "vitest run",
256
- "test:watch": "vitest",
257
- "test:e2e": "playwright test",
258
- "test:e2e:ui": "playwright test --ui",
259
- "test:all": "bun run typecheck && bun run lint && bun run test && bun run test:e2e",
260
- "build": "next build"
261
- }
262
- }
263
- ```
264
-
265
- ---
266
-
267
- ## Critical Rules
268
-
269
- 1. **NEVER commit with errors** - All checks must pass
270
- 2. **RUN IN ORDER** - typecheck → lint → test → e2e → build
271
- 3. **FIX IMMEDIATELY** - Errors cannot accumulate
272
- 4. **DON'T USE --force** - Solve problems, don't ignore
273
-
274
- ---
275
-
276
- ## Version
277
-
278
- - **v2.0.0** - Generic template
1
+ ---
2
+ name: quality-gate
3
+ description: Runs code quality checks (typecheck, lint, tests, build). Activates when user says 'check quality', 'run tests', 'typecheck', 'lint', 'build', or before any commit to validate code passes all gates.
4
+ allowed-tools: Bash, Read, Grep
5
+ ---
6
+
7
+ # Quality Gate
8
+
9
+ ## When to Use
10
+
11
+ - Before committing changes
12
+ - After implementation
13
+ - When user asks to "check", "validate", or "run tests"
14
+
15
+ ## Commands (Run in Order)
16
+
17
+ ```bash
18
+ # 1. TypeScript
19
+ bun run typecheck
20
+
21
+ # 2. ESLint
22
+ bun run lint
23
+
24
+ # 3. Unit Tests
25
+ bun run test
26
+
27
+ # 4. E2E Tests
28
+ bun run test:e2e
29
+
30
+ # 5. Build
31
+ bun run build
32
+ ```
33
+
34
+ ### All at Once
35
+
36
+ ```bash
37
+ bun run typecheck && bun run lint && bun run test && bun run test:e2e && bun run build
38
+ ```
39
+
40
+ ## Execution Flow
41
+
42
+ ```
43
+ TYPECHECK → LINT → TESTS → E2E → BUILD
44
+ ↓ fail ↓ fail ↓ fail ↓ fail ↓ fail
45
+ STOP STOP STOP STOP STOP
46
+ ```
47
+
48
+ ## Common Fixes
49
+
50
+ ### TypeScript: Object possibly undefined
51
+ ```typescript
52
+ // Fix: use optional chaining
53
+ const name = user?.name ?? '';
54
+ ```
55
+
56
+ ### ESLint: no-explicit-any
57
+ ```typescript
58
+ // Fix: use unknown
59
+ function parse(data: unknown) {}
60
+ ```
61
+
62
+ ## Output
63
+
64
+ **APPROVED:** All checks pass ready to commit
65
+ **REJECTED:** Fix errors before proceeding
66
+
67
+ ## Rules
68
+
69
+ 1. **Never commit with errors**
70
+ 2. **Run in order** - stop at first failure
71
+ 3. **Don't use --force** - solve problems properly
@@ -1,207 +1,73 @@
1
- ---
2
- name: research-cache
3
- description: Caches research findings to avoid redundant web searches. Stores best practices by topic with sources and dates. Use before researching to check existing knowledge.
4
- allowed-tools: Read, Write, Glob, Grep
5
- ---
6
-
7
- # Research Cache - Best Practices Storage
8
-
9
- ## Purpose
10
-
11
- This skill caches research findings to avoid redundant web searches and maintain institutional knowledge about best practices.
12
-
13
- ---
14
-
15
- ## Structure
16
-
17
- ```
18
- .claude/skills/research-cache/
19
- ├── SKILL.md # This file
20
- ├── TEMPLATE.md # Template for research findings
21
- └── cache/ # Cached research by topic
22
- ├── react-server-components.md
23
- ├── typescript-strict.md
24
- └── [topic].md
25
- ```
26
-
27
- ---
28
-
29
- ## How It Works
30
-
31
- ### Before Research
32
-
33
- 1. **Check cache first** - Look for existing research on the topic
34
- 2. **Verify freshness** - Research older than 6 months may need updating
35
- 3. **Reuse findings** - If recent research exists, use it directly
36
-
37
- ### After Research
38
-
39
- 1. **Create cache file** - Document findings in `cache/[topic].md`
40
- 2. **Follow template** - Use consistent structure
41
- 3. **Include sources** - Always cite URLs and dates
42
- 4. **Tag relevance** - Mark which parts of stack it applies to
43
-
44
- ---
45
-
46
- ## Cache File Template
47
-
48
- ```markdown
49
- # Research: [Topic Name]
50
-
51
- ## Metadata
52
- - **Date:** YYYY-MM-DD
53
- - **Researcher:** [agent/session]
54
- - **Freshness:** [fresh|stale|outdated]
55
- - **Stack:** [bun|typescript|mongodb|react|all]
56
-
57
- ## Problem Statement
58
- [What problem were we trying to solve?]
59
-
60
- ## Search Queries
61
- 1. "[query 1]"
62
- 2. "[query 2]"
63
- 3. "[query 3]"
64
-
65
- ## Key Findings
66
-
67
- ### Finding 1: [Title]
68
- **Source:** [URL]
69
- **Date:** [publication date]
70
- **Relevance:** [high|medium|low]
71
-
72
- [Summary of finding]
73
-
74
- **Code Example:**
75
- ```[language]
76
- [code]
77
- ```
78
-
79
- **Applies When:**
80
- - [condition 1]
81
- - [condition 2]
82
-
83
- ### Finding 2: [Title]
84
- ...
85
-
86
- ## Recommendations
87
-
88
- ### DO
89
- 1. [Best practice 1]
90
- 2. [Best practice 2]
91
-
92
- ### AVOID
93
- 1. [Anti-pattern 1]
94
- 2. [Anti-pattern 2]
95
-
96
- ### CONSIDER
97
- 1. [Alternative approach 1]
98
- 2. [Alternative approach 2]
99
-
100
- ## Implementation Notes
101
-
102
- ### For This Project
103
- - [Specific note for your project]
104
- - [Integration point]
105
-
106
- ### Gotchas
107
- - [Warning 1]
108
- - [Warning 2]
109
-
110
- ## Sources
111
-
112
- | Title | URL | Date | Relevance |
113
- |-------|-----|------|-----------|
114
- | [Source 1] | [url] | [date] | [high/med/low] |
115
- | [Source 2] | [url] | [date] | [high/med/low] |
116
-
117
- ## Related Topics
118
- - [[related-topic-1]]
119
- - [[related-topic-2]]
120
- ```
121
-
122
- ---
123
-
124
- ## Usage Patterns
125
-
126
- ### Quick Lookup
127
-
128
- ```bash
129
- # Check if research exists
130
- ls .claude/skills/research-cache/cache/
131
-
132
- # Read specific research
133
- cat .claude/skills/research-cache/cache/[topic].md
134
- ```
135
-
136
- ### Search Cached Research
137
-
138
- ```bash
139
- # Find all research mentioning a term
140
- grep -r "websocket" .claude/skills/research-cache/cache/
141
- ```
142
-
143
- ### Check Freshness
144
-
145
- ```bash
146
- # Find research older than 6 months
147
- find .claude/skills/research-cache/cache/ -mtime +180
148
- ```
149
-
150
- ---
151
-
152
- ## Integration with Research Agent
153
-
154
- The **research agent** uses this skill to:
155
-
156
- 1. **Check existing research** before web searching
157
- 2. **Store new findings** after web research
158
- 3. **Update stale research** when patterns change
159
- 4. **Cross-reference** findings across topics
160
-
161
- ---
162
-
163
- ## Freshness Guidelines
164
-
165
- | Age | Status | Action |
166
- |-----|--------|--------|
167
- | < 3 months | Fresh | Use directly |
168
- | 3-6 months | Aging | Verify still valid |
169
- | 6-12 months | Stale | Update recommended |
170
- | > 12 months | Outdated | Full re-research needed |
171
-
172
- ---
173
-
174
- ## Topic Naming Convention
175
-
176
- Use kebab-case descriptive names:
177
-
178
- ```
179
- react-server-components.md # Technology + feature
180
- typescript-strict-mode.md # Language + specific setting
181
- mongodb-indexes.md # Database + concept
182
- bun-docker-deploy.md # Runtime + deployment context
183
- error-handling-patterns.md # Generic pattern
184
- ```
185
-
186
- ---
187
-
188
- ## Rules
189
-
190
- ### MANDATORY
191
-
192
- 1. **Always check cache first** - Don't duplicate research
193
- 2. **Always include sources** - No unsourced recommendations
194
- 3. **Always date entries** - Freshness matters
195
- 4. **Always follow template** - Consistency helps retrieval
196
-
197
- ### FORBIDDEN
198
-
199
- 1. **Cache without sources** - All findings need citations
200
- 2. **Ignore freshness** - Old research may be wrong
201
- 3. **Duplicate topics** - One file per topic, update existing
202
-
203
- ---
204
-
205
- ## Version
206
-
207
- - **v1.0.0** - Initial implementation
1
+ ---
2
+ name: research-cache
3
+ description: Stores and retrieves research findings about best practices. Activates before web searching to check existing knowledge, or after researching to cache new findings. Use when user asks about patterns, best practices, or how to implement something.
4
+ allowed-tools: Read, Write, Glob, Grep
5
+ ---
6
+
7
+ # Research Cache
8
+
9
+ ## When to Use
10
+
11
+ - Before web searching: check if research exists
12
+ - After web searching: cache findings
13
+ - When implementing: apply cached patterns
14
+
15
+ ## Structure
16
+
17
+ ```
18
+ .claude/skills/research-cache/cache/
19
+ └── [topic-name].md
20
+ ```
21
+
22
+ ## Workflow
23
+
24
+ ### Check Cache First
25
+
26
+ ```bash
27
+ ls .claude/skills/research-cache/cache/
28
+ grep -r "keyword" .claude/skills/research-cache/cache/
29
+ ```
30
+
31
+ ### After Research
32
+
33
+ Create `cache/[topic].md`:
34
+
35
+ ```markdown
36
+ # Research: [Topic]
37
+
38
+ ## Metadata
39
+ - **Date:** YYYY-MM-DD
40
+ - **Freshness:** fresh|stale|outdated
41
+
42
+ ## Key Findings
43
+
44
+ ### Finding 1
45
+ **Source:** [URL]
46
+ [Summary and code example]
47
+
48
+ ## Recommendations
49
+
50
+ ### DO
51
+ - [Best practice]
52
+
53
+ ### AVOID
54
+ - [Anti-pattern]
55
+
56
+ ## Sources
57
+ | Title | URL | Date |
58
+ |-------|-----|------|
59
+ ```
60
+
61
+ ## Freshness Guidelines
62
+
63
+ | Age | Status | Action |
64
+ |-----|--------|--------|
65
+ | < 3 months | Fresh | Use directly |
66
+ | 3-6 months | Stale | Verify still valid |
67
+ | > 6 months | Outdated | Re-research |
68
+
69
+ ## Rules
70
+
71
+ 1. **Check cache first** - don't duplicate research
72
+ 2. **Include sources** - all findings need citations
73
+ 3. **Date entries** - freshness matters