@su-record/vibe 2.5.6 → 2.5.8

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 (188) hide show
  1. package/CLAUDE.md +338 -338
  2. package/LICENSE +21 -21
  3. package/README.md +262 -262
  4. package/agents/build-error-resolver.md +115 -0
  5. package/agents/compounder.md +261 -261
  6. package/agents/diagrammer.md +178 -178
  7. package/agents/e2e-tester.md +266 -266
  8. package/agents/explorer.md +48 -48
  9. package/agents/implementer.md +54 -54
  10. package/agents/refactor-cleaner.md +143 -0
  11. package/agents/research/best-practices-agent.md +189 -189
  12. package/agents/research/codebase-patterns-agent.md +147 -147
  13. package/agents/research/framework-docs-agent.md +178 -178
  14. package/agents/research/security-advisory-agent.md +203 -203
  15. package/agents/review/architecture-reviewer.md +107 -107
  16. package/agents/review/complexity-reviewer.md +116 -116
  17. package/agents/review/data-integrity-reviewer.md +88 -88
  18. package/agents/review/git-history-reviewer.md +103 -103
  19. package/agents/review/performance-reviewer.md +86 -86
  20. package/agents/review/python-reviewer.md +150 -150
  21. package/agents/review/rails-reviewer.md +139 -139
  22. package/agents/review/react-reviewer.md +144 -144
  23. package/agents/review/security-reviewer.md +80 -80
  24. package/agents/review/simplicity-reviewer.md +140 -140
  25. package/agents/review/test-coverage-reviewer.md +116 -116
  26. package/agents/review/typescript-reviewer.md +127 -127
  27. package/agents/searcher.md +54 -54
  28. package/agents/simplifier.md +120 -120
  29. package/agents/tester.md +49 -49
  30. package/agents/ui-previewer.md +129 -129
  31. package/commands/vibe.analyze.md +356 -356
  32. package/commands/vibe.reason.md +329 -329
  33. package/commands/vibe.review.md +326 -326
  34. package/commands/vibe.run.md +1031 -1031
  35. package/commands/vibe.spec.md +1022 -1022
  36. package/commands/vibe.utils.md +296 -202
  37. package/commands/vibe.verify.md +375 -375
  38. package/dist/cli/collaborator.js +52 -52
  39. package/dist/cli/detect.js +32 -32
  40. package/dist/cli/index.js +112 -112
  41. package/dist/cli/llm.js +144 -144
  42. package/dist/cli/mcp.d.ts +49 -0
  43. package/dist/cli/mcp.d.ts.map +1 -0
  44. package/dist/cli/mcp.js +169 -0
  45. package/dist/cli/mcp.js.map +1 -0
  46. package/dist/lib/PythonParser.js +108 -108
  47. package/dist/lib/gemini-mcp.d.ts +10 -0
  48. package/dist/lib/gemini-mcp.d.ts.map +1 -0
  49. package/dist/lib/gemini-mcp.js +353 -0
  50. package/dist/lib/gemini-mcp.js.map +1 -0
  51. package/dist/lib/gpt-api.js +4 -4
  52. package/dist/lib/gpt-mcp.d.ts +10 -0
  53. package/dist/lib/gpt-mcp.d.ts.map +1 -0
  54. package/dist/lib/gpt-mcp.js +352 -0
  55. package/dist/lib/gpt-mcp.js.map +1 -0
  56. package/dist/lib/memory/KnowledgeGraph.js +4 -4
  57. package/dist/lib/memory/MemorySearch.js +20 -20
  58. package/dist/lib/memory/MemoryStorage.js +64 -64
  59. package/dist/tools/analytics/getUsageAnalytics.d.ts +10 -0
  60. package/dist/tools/analytics/getUsageAnalytics.d.ts.map +1 -0
  61. package/dist/tools/analytics/getUsageAnalytics.js +246 -0
  62. package/dist/tools/analytics/getUsageAnalytics.js.map +1 -0
  63. package/dist/tools/analytics/index.d.ts +5 -0
  64. package/dist/tools/analytics/index.d.ts.map +1 -0
  65. package/dist/tools/analytics/index.js +5 -0
  66. package/dist/tools/analytics/index.js.map +1 -0
  67. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  68. package/dist/tools/convention/getCodingGuide.d.ts +7 -0
  69. package/dist/tools/convention/getCodingGuide.d.ts.map +1 -0
  70. package/dist/tools/convention/getCodingGuide.js +69 -0
  71. package/dist/tools/convention/getCodingGuide.js.map +1 -0
  72. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  73. package/dist/tools/planning/analyzeRequirements.d.ts +9 -0
  74. package/dist/tools/planning/analyzeRequirements.d.ts.map +1 -0
  75. package/dist/tools/planning/analyzeRequirements.js +171 -0
  76. package/dist/tools/planning/analyzeRequirements.js.map +1 -0
  77. package/dist/tools/planning/createUserStories.d.ts +9 -0
  78. package/dist/tools/planning/createUserStories.d.ts.map +1 -0
  79. package/dist/tools/planning/createUserStories.js +124 -0
  80. package/dist/tools/planning/createUserStories.js.map +1 -0
  81. package/dist/tools/planning/featureRoadmap.d.ts +10 -0
  82. package/dist/tools/planning/featureRoadmap.d.ts.map +1 -0
  83. package/dist/tools/planning/featureRoadmap.js +207 -0
  84. package/dist/tools/planning/featureRoadmap.js.map +1 -0
  85. package/dist/tools/planning/generatePrd.d.ts +11 -0
  86. package/dist/tools/planning/generatePrd.d.ts.map +1 -0
  87. package/dist/tools/planning/generatePrd.js +161 -0
  88. package/dist/tools/planning/generatePrd.js.map +1 -0
  89. package/dist/tools/planning/index.d.ts +8 -0
  90. package/dist/tools/planning/index.d.ts.map +1 -0
  91. package/dist/tools/planning/index.js +8 -0
  92. package/dist/tools/planning/index.js.map +1 -0
  93. package/dist/tools/prompt/analyzePrompt.d.ts +7 -0
  94. package/dist/tools/prompt/analyzePrompt.d.ts.map +1 -0
  95. package/dist/tools/prompt/analyzePrompt.js +150 -0
  96. package/dist/tools/prompt/analyzePrompt.js.map +1 -0
  97. package/dist/tools/prompt/enhancePrompt.d.ts +8 -0
  98. package/dist/tools/prompt/enhancePrompt.d.ts.map +1 -0
  99. package/dist/tools/prompt/enhancePrompt.js +110 -0
  100. package/dist/tools/prompt/enhancePrompt.js.map +1 -0
  101. package/dist/tools/prompt/enhancePromptGemini.d.ts +8 -0
  102. package/dist/tools/prompt/enhancePromptGemini.d.ts.map +1 -0
  103. package/dist/tools/prompt/enhancePromptGemini.js +332 -0
  104. package/dist/tools/prompt/enhancePromptGemini.js.map +1 -0
  105. package/dist/tools/prompt/index.d.ts +7 -0
  106. package/dist/tools/prompt/index.d.ts.map +1 -0
  107. package/dist/tools/prompt/index.js +7 -0
  108. package/dist/tools/prompt/index.js.map +1 -0
  109. package/dist/tools/reasoning/applyReasoningFramework.d.ts +8 -0
  110. package/dist/tools/reasoning/applyReasoningFramework.d.ts.map +1 -0
  111. package/dist/tools/reasoning/applyReasoningFramework.js +266 -0
  112. package/dist/tools/reasoning/applyReasoningFramework.js.map +1 -0
  113. package/dist/tools/reasoning/index.d.ts +5 -0
  114. package/dist/tools/reasoning/index.d.ts.map +1 -0
  115. package/dist/tools/reasoning/index.js +5 -0
  116. package/dist/tools/reasoning/index.js.map +1 -0
  117. package/dist/tools/thinking/analyzeProblem.d.ts +7 -0
  118. package/dist/tools/thinking/analyzeProblem.d.ts.map +1 -0
  119. package/dist/tools/thinking/analyzeProblem.js +55 -0
  120. package/dist/tools/thinking/analyzeProblem.js.map +1 -0
  121. package/dist/tools/thinking/breakDownProblem.d.ts +8 -0
  122. package/dist/tools/thinking/breakDownProblem.d.ts.map +1 -0
  123. package/dist/tools/thinking/breakDownProblem.js +145 -0
  124. package/dist/tools/thinking/breakDownProblem.js.map +1 -0
  125. package/dist/tools/thinking/createThinkingChain.d.ts +7 -0
  126. package/dist/tools/thinking/createThinkingChain.d.ts.map +1 -0
  127. package/dist/tools/thinking/createThinkingChain.js +44 -0
  128. package/dist/tools/thinking/createThinkingChain.js.map +1 -0
  129. package/dist/tools/thinking/formatAsPlan.d.ts +9 -0
  130. package/dist/tools/thinking/formatAsPlan.d.ts.map +1 -0
  131. package/dist/tools/thinking/formatAsPlan.js +78 -0
  132. package/dist/tools/thinking/formatAsPlan.js.map +1 -0
  133. package/dist/tools/thinking/index.d.ts +10 -0
  134. package/dist/tools/thinking/index.d.ts.map +1 -0
  135. package/dist/tools/thinking/index.js +10 -0
  136. package/dist/tools/thinking/index.js.map +1 -0
  137. package/dist/tools/thinking/stepByStepAnalysis.d.ts +8 -0
  138. package/dist/tools/thinking/stepByStepAnalysis.d.ts.map +1 -0
  139. package/dist/tools/thinking/stepByStepAnalysis.js +63 -0
  140. package/dist/tools/thinking/stepByStepAnalysis.js.map +1 -0
  141. package/dist/tools/thinking/thinkAloudProcess.d.ts +8 -0
  142. package/dist/tools/thinking/thinkAloudProcess.d.ts.map +1 -0
  143. package/dist/tools/thinking/thinkAloudProcess.js +80 -0
  144. package/dist/tools/thinking/thinkAloudProcess.js.map +1 -0
  145. package/hooks/hooks.json +204 -195
  146. package/hooks/scripts/code-check.js +22 -22
  147. package/hooks/scripts/code-review.js +22 -22
  148. package/hooks/scripts/complexity.js +22 -22
  149. package/hooks/scripts/compound.js +23 -23
  150. package/hooks/scripts/context-save.js +33 -33
  151. package/hooks/scripts/llm-orchestrate.js +171 -171
  152. package/hooks/scripts/post-edit.js +97 -0
  153. package/hooks/scripts/recall.js +22 -22
  154. package/hooks/scripts/session-start.js +30 -30
  155. package/hooks/scripts/utils.js +97 -65
  156. package/languages/csharp-unity.md +515 -515
  157. package/languages/gdscript-godot.md +470 -470
  158. package/languages/ruby-rails.md +489 -489
  159. package/languages/typescript-angular.md +433 -433
  160. package/languages/typescript-astro.md +416 -416
  161. package/languages/typescript-electron.md +406 -406
  162. package/languages/typescript-nestjs.md +524 -524
  163. package/languages/typescript-svelte.md +407 -407
  164. package/languages/typescript-tauri.md +365 -365
  165. package/package.json +83 -83
  166. package/skills/context7-usage.md +102 -102
  167. package/skills/git-worktree.md +181 -181
  168. package/skills/parallel-research.md +77 -77
  169. package/skills/priority-todos.md +239 -239
  170. package/skills/tool-fallback.md +190 -190
  171. package/skills/vibe-capabilities.md +161 -161
  172. package/vibe/constitution.md +227 -227
  173. package/vibe/rules/core/communication-guide.md +98 -98
  174. package/vibe/rules/core/development-philosophy.md +52 -52
  175. package/vibe/rules/core/quick-start.md +102 -102
  176. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  177. package/vibe/rules/quality/checklist.md +276 -276
  178. package/vibe/rules/quality/testing-strategy.md +440 -440
  179. package/vibe/rules/standards/anti-patterns.md +541 -369
  180. package/vibe/rules/standards/code-structure.md +291 -291
  181. package/vibe/rules/standards/complexity-metrics.md +313 -313
  182. package/vibe/rules/standards/naming-conventions.md +198 -198
  183. package/vibe/setup.sh +31 -31
  184. package/vibe/templates/constitution-template.md +252 -252
  185. package/vibe/templates/contract-backend-template.md +526 -526
  186. package/vibe/templates/contract-frontend-template.md +599 -599
  187. package/vibe/templates/feature-template.md +96 -96
  188. package/vibe/templates/spec-template.md +221 -221
@@ -1,127 +1,127 @@
1
- # TypeScript Reviewer Agent
2
-
3
- <!-- TypeScript Code Expert Review Agent -->
4
-
5
- ## Role
6
-
7
- - Type safety verification
8
- - ESLint/Prettier rule compliance
9
- - Modern TS pattern suggestions
10
- - React/Node.js best practices
11
-
12
- ## Model
13
-
14
- **Haiku** (inherit) - Fast parallel execution
15
-
16
- ## Checklist
17
-
18
- ### Type Safety
19
- - [ ] `any` type usage minimized?
20
- - [ ] Type guards used appropriately?
21
- - [ ] `unknown` instead of `any`?
22
- - [ ] Union type narrowing?
23
- - [ ] Generics utilized appropriately?
24
-
25
- ### Strict Mode
26
- - [ ] strictNullChecks compliant?
27
- - [ ] noImplicitAny compliant?
28
- - [ ] Optional chaining (?.) utilized?
29
- - [ ] Nullish coalescing (??) utilized?
30
-
31
- ### Modern Patterns
32
- - [ ] const assertion (as const)?
33
- - [ ] satisfies operator?
34
- - [ ] Template literal types?
35
- - [ ] Discriminated unions?
36
-
37
- ### Error Handling
38
- - [ ] Error types defined?
39
- - [ ] Result/Either pattern?
40
- - [ ] Async error handling?
41
- - [ ] User-friendly error messages?
42
-
43
- ### Imports/Exports
44
- - [ ] Barrel exports used?
45
- - [ ] No circular dependencies?
46
- - [ ] Type-only import (import type)?
47
- - [ ] Unused imports?
48
-
49
- ### Performance
50
- - [ ] Unnecessary re-renders?
51
- - [ ] Memoization (useMemo, useCallback)?
52
- - [ ] Bundle size impact?
53
- - [ ] Dynamic import utilized?
54
-
55
- ## Framework Specific
56
-
57
- ### React
58
- - [ ] Rules of Hooks followed?
59
- - [ ] Dependency array complete?
60
- - [ ] Key prop appropriate?
61
- - [ ] Component separation appropriate?
62
- - [ ] State management appropriate?
63
-
64
- ### Node.js/Express
65
- - [ ] Async error middleware?
66
- - [ ] Input validation (zod, joi)?
67
- - [ ] Environment variables type-safe?
68
- - [ ] Logging appropriate?
69
-
70
- ### Next.js
71
- - [ ] App Router patterns?
72
- - [ ] Server/Client component distinction?
73
- - [ ] Metadata configuration?
74
- - [ ] Image optimization?
75
-
76
- ## Output Format
77
-
78
- ```markdown
79
- ## 📘 TypeScript Review
80
-
81
- ### 🔴 P1 Critical
82
- 1. **Unsafe Type Assertion**
83
- - 📍 Location: src/api/user.ts:42
84
- ```typescript
85
- // Bad
86
- const user = data as User; // No runtime check
87
-
88
- // Good
89
- const user = userSchema.parse(data); // Runtime validation
90
- ```
91
-
92
- ### 🟡 P2 Important
93
- 2. **Missing Type Guard**
94
- - 📍 Location: src/utils/parse.ts:23
95
- ```typescript
96
- // Before
97
- if (response.type === 'success') {
98
- // response still has union type
99
- }
100
-
101
- // After
102
- function isSuccess(r: Response): r is SuccessResponse {
103
- return r.type === 'success';
104
- }
105
- ```
106
-
107
- ### 🔵 P3 Suggestions
108
- 3. **Use satisfies for Type Checking**
109
- - 📍 Location: src/config/routes.ts:5
110
- ```typescript
111
- // Before
112
- const routes: Routes = { ... };
113
-
114
- // After (preserves literal types)
115
- const routes = { ... } satisfies Routes;
116
- ```
117
- ```
118
-
119
- ## Usage
120
-
121
- ```
122
- Task(
123
- model: "haiku",
124
- subagent_type: "Explore",
125
- prompt: "TypeScript review for [files]. Check type safety, React patterns."
126
- )
127
- ```
1
+ # TypeScript Reviewer Agent
2
+
3
+ <!-- TypeScript Code Expert Review Agent -->
4
+
5
+ ## Role
6
+
7
+ - Type safety verification
8
+ - ESLint/Prettier rule compliance
9
+ - Modern TS pattern suggestions
10
+ - React/Node.js best practices
11
+
12
+ ## Model
13
+
14
+ **Haiku** (inherit) - Fast parallel execution
15
+
16
+ ## Checklist
17
+
18
+ ### Type Safety
19
+ - [ ] `any` type usage minimized?
20
+ - [ ] Type guards used appropriately?
21
+ - [ ] `unknown` instead of `any`?
22
+ - [ ] Union type narrowing?
23
+ - [ ] Generics utilized appropriately?
24
+
25
+ ### Strict Mode
26
+ - [ ] strictNullChecks compliant?
27
+ - [ ] noImplicitAny compliant?
28
+ - [ ] Optional chaining (?.) utilized?
29
+ - [ ] Nullish coalescing (??) utilized?
30
+
31
+ ### Modern Patterns
32
+ - [ ] const assertion (as const)?
33
+ - [ ] satisfies operator?
34
+ - [ ] Template literal types?
35
+ - [ ] Discriminated unions?
36
+
37
+ ### Error Handling
38
+ - [ ] Error types defined?
39
+ - [ ] Result/Either pattern?
40
+ - [ ] Async error handling?
41
+ - [ ] User-friendly error messages?
42
+
43
+ ### Imports/Exports
44
+ - [ ] Barrel exports used?
45
+ - [ ] No circular dependencies?
46
+ - [ ] Type-only import (import type)?
47
+ - [ ] Unused imports?
48
+
49
+ ### Performance
50
+ - [ ] Unnecessary re-renders?
51
+ - [ ] Memoization (useMemo, useCallback)?
52
+ - [ ] Bundle size impact?
53
+ - [ ] Dynamic import utilized?
54
+
55
+ ## Framework Specific
56
+
57
+ ### React
58
+ - [ ] Rules of Hooks followed?
59
+ - [ ] Dependency array complete?
60
+ - [ ] Key prop appropriate?
61
+ - [ ] Component separation appropriate?
62
+ - [ ] State management appropriate?
63
+
64
+ ### Node.js/Express
65
+ - [ ] Async error middleware?
66
+ - [ ] Input validation (zod, joi)?
67
+ - [ ] Environment variables type-safe?
68
+ - [ ] Logging appropriate?
69
+
70
+ ### Next.js
71
+ - [ ] App Router patterns?
72
+ - [ ] Server/Client component distinction?
73
+ - [ ] Metadata configuration?
74
+ - [ ] Image optimization?
75
+
76
+ ## Output Format
77
+
78
+ ```markdown
79
+ ## 📘 TypeScript Review
80
+
81
+ ### 🔴 P1 Critical
82
+ 1. **Unsafe Type Assertion**
83
+ - 📍 Location: src/api/user.ts:42
84
+ ```typescript
85
+ // Bad
86
+ const user = data as User; // No runtime check
87
+
88
+ // Good
89
+ const user = userSchema.parse(data); // Runtime validation
90
+ ```
91
+
92
+ ### 🟡 P2 Important
93
+ 2. **Missing Type Guard**
94
+ - 📍 Location: src/utils/parse.ts:23
95
+ ```typescript
96
+ // Before
97
+ if (response.type === 'success') {
98
+ // response still has union type
99
+ }
100
+
101
+ // After
102
+ function isSuccess(r: Response): r is SuccessResponse {
103
+ return r.type === 'success';
104
+ }
105
+ ```
106
+
107
+ ### 🔵 P3 Suggestions
108
+ 3. **Use satisfies for Type Checking**
109
+ - 📍 Location: src/config/routes.ts:5
110
+ ```typescript
111
+ // Before
112
+ const routes: Routes = { ... };
113
+
114
+ // After (preserves literal types)
115
+ const routes = { ... } satisfies Routes;
116
+ ```
117
+ ```
118
+
119
+ ## Usage
120
+
121
+ ```
122
+ Task(
123
+ model: "haiku",
124
+ subagent_type: "Explore",
125
+ prompt: "TypeScript review for [files]. Check type safety, React patterns."
126
+ )
127
+ ```
@@ -1,54 +1,54 @@
1
- # Searcher Agent
2
-
3
- Web search specialist sub-agent.
4
-
5
- ## Role
6
-
7
- - Search latest tech information
8
- - Search error/bug solutions
9
- - Search library usage
10
- - Research best practices
11
-
12
- ## Model
13
-
14
- - **Default**: Haiku 4.5 + WebSearch
15
- - **Fallback**: GPT hook (`gpt- [query]`)
16
-
17
- ## Usage
18
-
19
- ```
20
- # Default (Haiku + WebSearch)
21
- Task(model: "haiku", prompt: "Search React 19 changes")
22
-
23
- # Fallback to GPT
24
- gpt- Search for React 19 changes and new features
25
- ```
26
-
27
- ## Tools
28
-
29
- - WebSearch - Web search (default)
30
- - WebFetch - Fetch page content
31
- - GPT hook - `gpt- [query]` (fallback)
32
-
33
- ## Process
34
-
35
- 1. Optimize search query
36
- 2. Search via WebSearch
37
- 3. WebFetch relevant pages
38
- 4. Summarize key information
39
- 5. Return with sources
40
-
41
- ## Output
42
-
43
- ```markdown
44
- ## Search Results
45
-
46
- ### Key Findings
47
- - Server Components now default
48
- - use() hook simplifies Promise handling
49
- - Actions API improves form handling
50
-
51
- ### Sources
52
- - [React Official Blog](https://react.dev/blog)
53
- - [React 19 Release Notes](https://github.com/facebook/react/releases)
54
- ```
1
+ # Searcher Agent
2
+
3
+ Web search specialist sub-agent.
4
+
5
+ ## Role
6
+
7
+ - Search latest tech information
8
+ - Search error/bug solutions
9
+ - Search library usage
10
+ - Research best practices
11
+
12
+ ## Model
13
+
14
+ - **Default**: Haiku 4.5 + WebSearch
15
+ - **Fallback**: GPT hook (`gpt- [query]`)
16
+
17
+ ## Usage
18
+
19
+ ```
20
+ # Default (Haiku + WebSearch)
21
+ Task(model: "haiku", prompt: "Search React 19 changes")
22
+
23
+ # Fallback to GPT
24
+ gpt- Search for React 19 changes and new features
25
+ ```
26
+
27
+ ## Tools
28
+
29
+ - WebSearch - Web search (default)
30
+ - WebFetch - Fetch page content
31
+ - GPT hook - `gpt- [query]` (fallback)
32
+
33
+ ## Process
34
+
35
+ 1. Optimize search query
36
+ 2. Search via WebSearch
37
+ 3. WebFetch relevant pages
38
+ 4. Summarize key information
39
+ 5. Return with sources
40
+
41
+ ## Output
42
+
43
+ ```markdown
44
+ ## Search Results
45
+
46
+ ### Key Findings
47
+ - Server Components now default
48
+ - use() hook simplifies Promise handling
49
+ - Actions API improves form handling
50
+
51
+ ### Sources
52
+ - [React Official Blog](https://react.dev/blog)
53
+ - [React 19 Release Notes](https://github.com/facebook/react/releases)
54
+ ```
@@ -1,120 +1,120 @@
1
- # Code Simplifier Agent
2
-
3
- Sub-agent that automatically validates and corrects code quality rules.
4
-
5
- ## Trigger
6
-
7
- Automatically executed after `Write`, `Edit` operations via PostToolUse Hook.
8
-
9
- ## Rules Reference
10
-
11
- **Validation criteria (`~/.claude/vibe/rules/` global):**
12
-
13
- ### Required Rules
14
-
15
- - `core/development-philosophy.md` - Surgical precision
16
- - `core/quick-start.md` - DRY, SRP, YAGNI
17
- - `quality/checklist.md` - Quality checklist
18
-
19
- ### Complexity Standards
20
- - `standards/complexity-metrics.md`:
21
- - Cyclomatic complexity ≤ 10
22
- - Function length ≤ 20 lines
23
- - Nesting depth ≤ 3 levels
24
- - Parameters ≤ 5
25
- - Component JSX ≤ 50 lines
26
-
27
- ### Anti-patterns
28
- - `standards/anti-patterns.md` - Patterns to avoid
29
-
30
- ## Process
31
-
32
- ### 1. Analyze Changed Files
33
-
34
- ```
35
- Check list of modified files
36
- Analyze changes in each file
37
- ```
38
-
39
- ### 2. Rule Validation
40
-
41
- ```typescript
42
- const checks = {
43
- // Complexity
44
- cyclomaticComplexity: '≤ 10',
45
- functionLength: '≤ 20 lines',
46
- nestingDepth: '≤ 3 levels',
47
- parameterCount: '≤ 5',
48
-
49
- // Code Quality
50
- noAnyType: true,
51
- noMagicNumbers: true,
52
- singleResponsibility: true,
53
-
54
- // Style
55
- consistentNaming: true,
56
- };
57
- ```
58
-
59
- ### 3. Auto-correction (when possible)
60
-
61
- - Long function → Suggest splitting
62
- - Deep nesting → Early return pattern
63
- - Magic numbers → Extract constants
64
- - any type → Type inference/explicit typing
65
-
66
- ### 4. Report Results
67
-
68
- ```
69
- ✅ Quality check passed (Score: 95/100)
70
-
71
- or
72
-
73
- ⚠️ Improvements needed:
74
- - src/utils/helper.ts:15 - Function 25 lines (limit: 20)
75
- - src/components/Form.tsx:42 - Nesting 4 levels (limit: 3)
76
-
77
- 🔧 Auto-corrected:
78
- - 3 magic numbers → Converted to constants
79
- ```
80
-
81
- ## Quick Check
82
-
83
- ```
84
- ✅ Modified only requested scope?
85
- ✅ No any types?
86
- ✅ Functions ≤ 20 lines?
87
- ✅ Nesting ≤ 3 levels?
88
- ✅ Error handling included?
89
- ✅ Magic numbers extracted to constants?
90
- ✅ Tests written?
91
- ```
92
-
93
- ## Grade
94
-
95
- | Grade | Score | Action |
96
- |-------|-------|--------|
97
- | A+ | 95-100 | Pass |
98
- | A | 90-94 | Pass |
99
- | B+ | 85-89 | Show warning |
100
- | B | 80-84 | Recommend improvement |
101
- | C | 70-79 | Needs improvement |
102
- | F | < 70 | Correction required |
103
-
104
- ## Usage
105
-
106
- This agent is not called directly.
107
- It runs automatically via PostToolUse Hook in `settings.json`.
108
-
109
- ```json
110
- {
111
- "hooks": {
112
- "PostToolUse": [
113
- {
114
- "tools": ["Write", "Edit"],
115
- "command": "claude --agent simplifier"
116
- }
117
- ]
118
- }
119
- }
120
- ```
1
+ # Code Simplifier Agent
2
+
3
+ Sub-agent that automatically validates and corrects code quality rules.
4
+
5
+ ## Trigger
6
+
7
+ Automatically executed after `Write`, `Edit` operations via PostToolUse Hook.
8
+
9
+ ## Rules Reference
10
+
11
+ **Validation criteria (`~/.claude/vibe/rules/` global):**
12
+
13
+ ### Required Rules
14
+
15
+ - `core/development-philosophy.md` - Surgical precision
16
+ - `core/quick-start.md` - DRY, SRP, YAGNI
17
+ - `quality/checklist.md` - Quality checklist
18
+
19
+ ### Complexity Standards
20
+ - `standards/complexity-metrics.md`:
21
+ - Cyclomatic complexity ≤ 10
22
+ - Function length ≤ 20 lines
23
+ - Nesting depth ≤ 3 levels
24
+ - Parameters ≤ 5
25
+ - Component JSX ≤ 50 lines
26
+
27
+ ### Anti-patterns
28
+ - `standards/anti-patterns.md` - Patterns to avoid
29
+
30
+ ## Process
31
+
32
+ ### 1. Analyze Changed Files
33
+
34
+ ```
35
+ Check list of modified files
36
+ Analyze changes in each file
37
+ ```
38
+
39
+ ### 2. Rule Validation
40
+
41
+ ```typescript
42
+ const checks = {
43
+ // Complexity
44
+ cyclomaticComplexity: '≤ 10',
45
+ functionLength: '≤ 20 lines',
46
+ nestingDepth: '≤ 3 levels',
47
+ parameterCount: '≤ 5',
48
+
49
+ // Code Quality
50
+ noAnyType: true,
51
+ noMagicNumbers: true,
52
+ singleResponsibility: true,
53
+
54
+ // Style
55
+ consistentNaming: true,
56
+ };
57
+ ```
58
+
59
+ ### 3. Auto-correction (when possible)
60
+
61
+ - Long function → Suggest splitting
62
+ - Deep nesting → Early return pattern
63
+ - Magic numbers → Extract constants
64
+ - any type → Type inference/explicit typing
65
+
66
+ ### 4. Report Results
67
+
68
+ ```
69
+ ✅ Quality check passed (Score: 95/100)
70
+
71
+ or
72
+
73
+ ⚠️ Improvements needed:
74
+ - src/utils/helper.ts:15 - Function 25 lines (limit: 20)
75
+ - src/components/Form.tsx:42 - Nesting 4 levels (limit: 3)
76
+
77
+ 🔧 Auto-corrected:
78
+ - 3 magic numbers → Converted to constants
79
+ ```
80
+
81
+ ## Quick Check
82
+
83
+ ```
84
+ ✅ Modified only requested scope?
85
+ ✅ No any types?
86
+ ✅ Functions ≤ 20 lines?
87
+ ✅ Nesting ≤ 3 levels?
88
+ ✅ Error handling included?
89
+ ✅ Magic numbers extracted to constants?
90
+ ✅ Tests written?
91
+ ```
92
+
93
+ ## Grade
94
+
95
+ | Grade | Score | Action |
96
+ |-------|-------|--------|
97
+ | A+ | 95-100 | Pass |
98
+ | A | 90-94 | Pass |
99
+ | B+ | 85-89 | Show warning |
100
+ | B | 80-84 | Recommend improvement |
101
+ | C | 70-79 | Needs improvement |
102
+ | F | < 70 | Correction required |
103
+
104
+ ## Usage
105
+
106
+ This agent is not called directly.
107
+ It runs automatically via PostToolUse Hook in `settings.json`.
108
+
109
+ ```json
110
+ {
111
+ "hooks": {
112
+ "PostToolUse": [
113
+ {
114
+ "tools": ["Write", "Edit"],
115
+ "command": "claude --agent simplifier"
116
+ }
117
+ ]
118
+ }
119
+ }
120
+ ```