start-vibing 1.1.2 → 1.1.4

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 (38) hide show
  1. package/package.json +1 -1
  2. package/template/.claude/CLAUDE.md +129 -168
  3. package/template/.claude/agents/analyzer.md +0 -14
  4. package/template/.claude/agents/commit-manager.md +0 -19
  5. package/template/.claude/agents/documenter.md +0 -10
  6. package/template/.claude/agents/domain-updater.md +194 -200
  7. package/template/.claude/agents/final-validator.md +0 -18
  8. package/template/.claude/agents/orchestrator.md +36 -34
  9. package/template/.claude/agents/quality-checker.md +0 -24
  10. package/template/.claude/agents/research.md +299 -262
  11. package/template/.claude/agents/security-auditor.md +1 -14
  12. package/template/.claude/agents/tester.md +0 -8
  13. package/template/.claude/agents/ui-ux-reviewer.md +80 -18
  14. package/template/.claude/commands/feature.md +48 -102
  15. package/template/.claude/config/README.md +30 -30
  16. package/template/.claude/config/project-config.json +53 -53
  17. package/template/.claude/config/quality-gates.json +46 -46
  18. package/template/.claude/config/security-rules.json +45 -45
  19. package/template/.claude/config/testing-config.json +168 -168
  20. package/template/.claude/hooks/SETUP.md +52 -181
  21. package/template/.claude/hooks/user-prompt-submit.py +184 -46
  22. package/template/.claude/settings.json +0 -39
  23. package/template/.claude/skills/codebase-knowledge/SKILL.md +145 -145
  24. package/template/.claude/skills/codebase-knowledge/domains/claude-system.md +260 -321
  25. package/template/.claude/skills/docs-tracker/SKILL.md +239 -239
  26. package/template/.claude/skills/final-check/SKILL.md +284 -284
  27. package/template/.claude/skills/quality-gate/SKILL.md +278 -278
  28. package/template/.claude/skills/research-cache/SKILL.md +207 -207
  29. package/template/.claude/skills/security-scan/SKILL.md +206 -206
  30. package/template/.claude/skills/test-coverage/SKILL.md +441 -441
  31. package/template/.claude/skills/ui-ux-audit/SKILL.md +254 -254
  32. package/template/.claude/config/domain-mapping.json +0 -26
  33. package/template/.claude/hooks/post-tool-use.py +0 -155
  34. package/template/.claude/hooks/pre-tool-use.py +0 -159
  35. package/template/.claude/hooks/stop-validation.py +0 -155
  36. package/template/.claude/hooks/validate-commit.py +0 -200
  37. package/template/.claude/hooks/workflow-manager.py +0 -350
  38. package/template/.claude/workflow-state.schema.json +0 -200
@@ -1,278 +1,278 @@
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: 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