@su-record/vibe 2.7.14 → 2.7.15
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/.env.example +37 -37
- package/CLAUDE.md +134 -126
- package/LICENSE +21 -21
- package/README.md +449 -449
- package/agents/architect-low.md +41 -41
- package/agents/architect-medium.md +59 -59
- package/agents/architect.md +80 -80
- package/agents/build-error-resolver.md +115 -115
- package/agents/compounder.md +261 -261
- package/agents/diagrammer.md +178 -178
- package/agents/docs/api-documenter.md +99 -99
- package/agents/docs/changelog-writer.md +93 -93
- package/agents/e2e-tester.md +294 -294
- package/agents/explorer-low.md +42 -42
- package/agents/explorer-medium.md +59 -59
- package/agents/explorer.md +48 -48
- package/agents/implementer-low.md +43 -43
- package/agents/implementer-medium.md +52 -52
- package/agents/implementer.md +54 -54
- package/agents/junior-mentor.md +141 -141
- package/agents/planning/requirements-analyst.md +84 -84
- package/agents/planning/ux-advisor.md +83 -83
- package/agents/qa/acceptance-tester.md +86 -86
- package/agents/qa/edge-case-finder.md +93 -93
- package/agents/refactor-cleaner.md +143 -143
- package/agents/research/best-practices-agent.md +199 -199
- package/agents/research/codebase-patterns-agent.md +157 -157
- package/agents/research/framework-docs-agent.md +188 -188
- package/agents/research/security-advisory-agent.md +213 -213
- package/agents/review/architecture-reviewer.md +107 -107
- package/agents/review/complexity-reviewer.md +116 -116
- package/agents/review/data-integrity-reviewer.md +88 -88
- package/agents/review/git-history-reviewer.md +103 -103
- package/agents/review/performance-reviewer.md +86 -86
- package/agents/review/python-reviewer.md +150 -150
- package/agents/review/rails-reviewer.md +139 -139
- package/agents/review/react-reviewer.md +144 -144
- package/agents/review/security-reviewer.md +80 -80
- package/agents/review/simplicity-reviewer.md +140 -140
- package/agents/review/test-coverage-reviewer.md +116 -116
- package/agents/review/typescript-reviewer.md +127 -127
- package/agents/searcher.md +54 -54
- package/agents/simplifier.md +120 -120
- package/agents/tester.md +49 -49
- package/agents/ui/ui-a11y-auditor.md +93 -93
- package/agents/ui/ui-antipattern-detector.md +94 -94
- package/agents/ui/ui-dataviz-advisor.md +69 -69
- package/agents/ui/ui-design-system-gen.md +57 -57
- package/agents/ui/ui-industry-analyzer.md +49 -49
- package/agents/ui/ui-layout-architect.md +65 -65
- package/agents/ui/ui-stack-implementer.md +68 -68
- package/agents/ui/ux-compliance-reviewer.md +81 -81
- package/agents/ui-previewer.md +258 -258
- package/commands/vibe.analyze.md +11 -13
- package/commands/vibe.review.md +43 -1
- package/commands/vibe.run.md +2124 -2078
- package/commands/vibe.spec.md +9 -4
- package/commands/vibe.spec.review.md +569 -565
- package/commands/vibe.utils.md +413 -413
- package/commands/vibe.verify.md +33 -8
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/commands/evolution.js +12 -12
- package/dist/cli/commands/info.js +54 -54
- package/dist/cli/commands/init.js +5 -5
- package/dist/cli/commands/remove.js +14 -14
- package/dist/cli/commands/sentinel.js +27 -27
- package/dist/cli/commands/skills.js +5 -5
- package/dist/cli/commands/slack.js +10 -10
- package/dist/cli/commands/telegram.js +12 -12
- package/dist/cli/detect.js +32 -32
- package/dist/cli/index.js +51 -51
- package/dist/cli/llm/claude-commands.js +16 -16
- package/dist/cli/llm/config.js +18 -18
- package/dist/cli/llm/gemini-commands.js +16 -16
- package/dist/cli/llm/gpt-commands.js +19 -19
- package/dist/cli/llm/help.js +21 -21
- package/dist/cli/postinstall/cursor-agents.js +32 -32
- package/dist/cli/postinstall/cursor-rules.js +83 -83
- package/dist/cli/postinstall/cursor-skills.js +743 -743
- package/dist/cli/setup/Provisioner.js +42 -42
- package/dist/infra/lib/DeepInit.js +24 -24
- package/dist/infra/lib/IterationTracker.js +11 -11
- package/dist/infra/lib/PythonParser.js +108 -108
- package/dist/infra/lib/ReviewRace.js +96 -96
- package/dist/infra/lib/SkillFrontmatter.js +28 -28
- package/dist/infra/lib/SkillQualityGate.js +9 -9
- package/dist/infra/lib/SkillRepository.js +159 -159
- package/dist/infra/lib/UltraQA.js +99 -99
- package/dist/infra/lib/autonomy/AuditStore.js +41 -41
- package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
- package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
- package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
- package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
- package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
- package/dist/infra/lib/embedding/VectorStore.js +22 -22
- package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
- package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
- package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
- package/dist/infra/lib/evolution/InsightStore.js +90 -90
- package/dist/infra/lib/evolution/RollbackManager.js +5 -5
- package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
- package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
- package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
- package/dist/infra/lib/evolution/UsageTracker.js +28 -28
- package/dist/infra/lib/gemini/orchestration.js +5 -5
- package/dist/infra/lib/gpt/orchestration.js +4 -4
- package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
- package/dist/infra/lib/memory/MemorySearch.js +57 -57
- package/dist/infra/lib/memory/MemoryStorage.js +181 -181
- package/dist/infra/lib/memory/ObservationStore.js +28 -28
- package/dist/infra/lib/memory/ReflectionStore.js +30 -30
- package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
- package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
- package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
- package/dist/infra/orchestrator/AgentManager.js +12 -12
- package/dist/infra/orchestrator/AgentRegistry.js +65 -65
- package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
- package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
- package/dist/infra/orchestrator/parallelResearch.js +24 -24
- package/dist/tools/convention/analyzeComplexity.test.js +115 -115
- package/dist/tools/convention/validateCodeQuality.test.js +104 -104
- package/dist/tools/memory/createMemoryTimeline.js +10 -10
- package/dist/tools/memory/getMemoryGraph.js +12 -12
- package/dist/tools/memory/getSessionContext.js +9 -9
- package/dist/tools/memory/linkMemories.js +14 -14
- package/dist/tools/memory/listMemories.js +4 -4
- package/dist/tools/memory/recallMemory.js +4 -4
- package/dist/tools/memory/saveMemory.js +4 -4
- package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
- package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
- package/dist/tools/semantic/astGrep.test.js +6 -6
- package/dist/tools/spec/prdParser.test.js +171 -171
- package/dist/tools/spec/specGenerator.js +169 -169
- package/dist/tools/spec/traceabilityMatrix.js +64 -64
- package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
- package/hooks/gemini-hooks.json +73 -73
- package/hooks/hooks.json +137 -137
- package/hooks/scripts/code-check.js +77 -70
- package/hooks/scripts/context-save.js +212 -212
- package/hooks/scripts/hud-status.js +291 -291
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/llm-orchestrate.js +475 -475
- package/hooks/scripts/post-edit.js +32 -32
- package/hooks/scripts/pre-tool-guard.js +125 -125
- package/hooks/scripts/prompt-dispatcher.js +185 -185
- package/hooks/scripts/sentinel-guard.js +104 -104
- package/hooks/scripts/session-start.js +106 -106
- package/hooks/scripts/stop-notify.js +209 -209
- package/hooks/scripts/utils.js +100 -100
- package/languages/csharp-unity.md +515 -515
- package/languages/gdscript-godot.md +470 -470
- package/languages/ruby-rails.md +489 -489
- package/languages/typescript-angular.md +433 -433
- package/languages/typescript-astro.md +416 -416
- package/languages/typescript-electron.md +406 -406
- package/languages/typescript-nestjs.md +524 -524
- package/languages/typescript-svelte.md +407 -407
- package/languages/typescript-tauri.md +365 -365
- package/package.json +121 -121
- package/skills/agents-md/SKILL.md +120 -120
- package/skills/arch-guard/SKILL.md +180 -180
- package/skills/brand-assets/SKILL.md +146 -146
- package/skills/capability-loop/SKILL.md +167 -167
- package/skills/characterization-test/SKILL.md +206 -206
- package/skills/commerce-patterns/SKILL.md +59 -59
- package/skills/commit-push-pr/SKILL.md +75 -75
- package/skills/context7-usage/SKILL.md +105 -105
- package/skills/core-capabilities/SKILL.md +48 -48
- package/skills/e2e-commerce/SKILL.md +57 -57
- package/skills/exec-plan/SKILL.md +147 -147
- package/skills/frontend-design/SKILL.md +73 -73
- package/skills/git-worktree/SKILL.md +72 -72
- package/skills/handoff/SKILL.md +109 -109
- package/skills/parallel-research/SKILL.md +87 -87
- package/skills/priority-todos/SKILL.md +63 -63
- package/skills/seo-checklist/SKILL.md +57 -57
- package/skills/techdebt/SKILL.md +122 -122
- package/skills/tool-fallback/SKILL.md +103 -103
- package/skills/typescript-advanced-types/SKILL.md +66 -66
- package/skills/ui-ux-pro-max/SKILL.md +206 -206
- package/skills/vercel-react-best-practices/SKILL.md +59 -59
- package/skills/video-production/SKILL.md +51 -51
- package/vibe/config.json +29 -29
- package/vibe/constitution.md +227 -227
- package/vibe/rules/principles/communication-guide.md +98 -98
- package/vibe/rules/principles/development-philosophy.md +52 -52
- package/vibe/rules/principles/quick-start.md +102 -102
- package/vibe/rules/quality/bdd-contract-testing.md +393 -393
- package/vibe/rules/quality/checklist.md +276 -276
- package/vibe/rules/quality/performance.md +236 -236
- package/vibe/rules/quality/testing-strategy.md +440 -440
- package/vibe/rules/standards/anti-patterns.md +541 -541
- package/vibe/rules/standards/code-structure.md +291 -291
- package/vibe/rules/standards/complexity-metrics.md +313 -313
- package/vibe/rules/standards/git-workflow.md +237 -237
- package/vibe/rules/standards/naming-conventions.md +198 -198
- package/vibe/rules/standards/security.md +305 -305
- package/vibe/rules/writing/document-style.md +74 -74
- package/vibe/setup.sh +31 -31
- package/vibe/templates/constitution-template.md +252 -252
- package/vibe/templates/contract-backend-template.md +526 -526
- package/vibe/templates/contract-frontend-template.md +599 -599
- package/vibe/templates/feature-template.md +96 -96
- package/vibe/templates/spec-template.md +221 -221
- package/vibe/ui-ux-data/charts.csv +26 -26
- package/vibe/ui-ux-data/colors.csv +97 -97
- package/vibe/ui-ux-data/icons.csv +101 -101
- package/vibe/ui-ux-data/landing.csv +31 -31
- package/vibe/ui-ux-data/products.csv +96 -96
- package/vibe/ui-ux-data/react-performance.csv +45 -45
- package/vibe/ui-ux-data/stacks/astro.csv +54 -54
- package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
- package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
- package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
- package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
- package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
- package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
- package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
- package/vibe/ui-ux-data/stacks/react.csv +54 -54
- package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
- package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
- package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
- package/vibe/ui-ux-data/stacks/vue.csv +50 -50
- package/vibe/ui-ux-data/styles.csv +68 -68
- package/vibe/ui-ux-data/typography.csv +57 -57
- package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
- package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
- package/vibe/ui-ux-data/version.json +31 -31
- package/vibe/ui-ux-data/web-interface.csv +31 -31
|
@@ -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
|
+
```
|
package/agents/searcher.md
CHANGED
|
@@ -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
|
+
```
|
package/agents/simplifier.md
CHANGED
|
@@ -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
|
+
```
|