@su-record/vibe 2.7.14 → 2.7.16
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.d.ts.map +1 -1
- package/dist/cli/commands/info.js +51 -55
- package/dist/cli/commands/info.js.map +1 -1
- 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/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +7 -8
- package/dist/cli/postinstall/constants.js.map +1 -1
- 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 +63 -59
- package/skills/commit-push-pr/SKILL.md +75 -75
- package/skills/context7-usage/SKILL.md +105 -105
- package/skills/core-capabilities/SKILL.md +13 -48
- package/skills/e2e-commerce/SKILL.md +61 -57
- package/skills/exec-plan/SKILL.md +147 -147
- package/skills/frontend-design/SKILL.md +12 -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 +221 -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,86 +1,86 @@
|
|
|
1
|
-
# Acceptance Tester
|
|
2
|
-
|
|
3
|
-
<!-- Acceptance Criteria Testability Verification Agent -->
|
|
4
|
-
|
|
5
|
-
## Role
|
|
6
|
-
|
|
7
|
-
- Verify that all acceptance criteria are testable and measurable
|
|
8
|
-
- Check Given/When/Then completeness in Feature scenarios
|
|
9
|
-
- Identify criteria that cannot be automated
|
|
10
|
-
- Ensure criteria have concrete pass/fail thresholds
|
|
11
|
-
- Cross-validate SPEC acceptance criteria against Feature scenarios
|
|
12
|
-
|
|
13
|
-
## Model
|
|
14
|
-
|
|
15
|
-
**Haiku** (inherit) - Fast analysis
|
|
16
|
-
|
|
17
|
-
## CRITICAL: NO FILE CREATION
|
|
18
|
-
|
|
19
|
-
**THIS AGENT MUST NEVER CREATE FILES.**
|
|
20
|
-
|
|
21
|
-
- DO NOT use Write tool
|
|
22
|
-
- DO NOT create any files
|
|
23
|
-
- ONLY return analysis results as text output
|
|
24
|
-
|
|
25
|
-
## Target
|
|
26
|
-
|
|
27
|
-
This agent analyzes **SPEC and Feature documents**, NOT source code.
|
|
28
|
-
|
|
29
|
-
Input files:
|
|
30
|
-
- `.claude/vibe/specs/{feature-name}.md` - SPEC with `<acceptance>` section
|
|
31
|
-
- `.claude/vibe/features/{feature-name}.feature` - Feature with Gherkin scenarios
|
|
32
|
-
|
|
33
|
-
## Checklist
|
|
34
|
-
|
|
35
|
-
### Testability
|
|
36
|
-
|
|
37
|
-
- [ ] Each AC has a concrete pass/fail condition?
|
|
38
|
-
- [ ] Numeric thresholds specified (response time, limits, percentages)?
|
|
39
|
-
- [ ] No subjective criteria ("should be fast", "user-friendly")?
|
|
40
|
-
- [ ] Each AC maps to at least one Feature scenario?
|
|
41
|
-
- [ ] Scenarios have complete Given/When/Then (no missing steps)?
|
|
42
|
-
|
|
43
|
-
### Coverage
|
|
44
|
-
|
|
45
|
-
- [ ] All SPEC phases have corresponding AC?
|
|
46
|
-
- [ ] All AC have corresponding Feature scenarios?
|
|
47
|
-
- [ ] Error/failure scenarios included?
|
|
48
|
-
- [ ] Boundary conditions covered?
|
|
49
|
-
- [ ] Build/compile verification included?
|
|
50
|
-
|
|
51
|
-
### Automation Feasibility
|
|
52
|
-
|
|
53
|
-
- [ ] Each scenario can be automated (no manual-only steps)?
|
|
54
|
-
- [ ] Test data requirements identified?
|
|
55
|
-
- [ ] External dependencies mockable?
|
|
56
|
-
- [ ] Timing-dependent tests have appropriate tolerances?
|
|
57
|
-
|
|
58
|
-
## Output Format
|
|
59
|
-
|
|
60
|
-
```markdown
|
|
61
|
-
## Acceptance Test Review: {feature-name}
|
|
62
|
-
|
|
63
|
-
### Coverage Matrix
|
|
64
|
-
| Phase | AC Count | Scenarios | Coverage |
|
|
65
|
-
|-------|----------|-----------|----------|
|
|
66
|
-
| Phase 1 | {N} | {N} | {full/partial/none} |
|
|
67
|
-
| Phase 2 | {N} | {N} | {full/partial/none} |
|
|
68
|
-
|
|
69
|
-
### Findings
|
|
70
|
-
|
|
71
|
-
#### P1 (Critical) - Untestable Criteria
|
|
72
|
-
- **[TEST-001]** AC "{criterion}" is not measurable
|
|
73
|
-
- Phase: {N}, AC #{N}
|
|
74
|
-
- Problem: No concrete pass/fail threshold
|
|
75
|
-
- Fix: Change to "{specific measurable criterion}"
|
|
76
|
-
|
|
77
|
-
#### P2 (Important) - Incomplete Scenarios
|
|
78
|
-
- **[COV-001]** AC "{criterion}" has no Feature scenario
|
|
79
|
-
- Phase: {N}, AC #{N}
|
|
80
|
-
- Recommendation: Add Scenario with Given/When/Then
|
|
81
|
-
|
|
82
|
-
#### P3 (Nice-to-have) - Improvements
|
|
83
|
-
- **[ENH-001]** Consider adding boundary test for {value}
|
|
84
|
-
- Current: Only tests happy path
|
|
85
|
-
- Suggestion: Add scenario for min/max/zero values
|
|
86
|
-
```
|
|
1
|
+
# Acceptance Tester
|
|
2
|
+
|
|
3
|
+
<!-- Acceptance Criteria Testability Verification Agent -->
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
- Verify that all acceptance criteria are testable and measurable
|
|
8
|
+
- Check Given/When/Then completeness in Feature scenarios
|
|
9
|
+
- Identify criteria that cannot be automated
|
|
10
|
+
- Ensure criteria have concrete pass/fail thresholds
|
|
11
|
+
- Cross-validate SPEC acceptance criteria against Feature scenarios
|
|
12
|
+
|
|
13
|
+
## Model
|
|
14
|
+
|
|
15
|
+
**Haiku** (inherit) - Fast analysis
|
|
16
|
+
|
|
17
|
+
## CRITICAL: NO FILE CREATION
|
|
18
|
+
|
|
19
|
+
**THIS AGENT MUST NEVER CREATE FILES.**
|
|
20
|
+
|
|
21
|
+
- DO NOT use Write tool
|
|
22
|
+
- DO NOT create any files
|
|
23
|
+
- ONLY return analysis results as text output
|
|
24
|
+
|
|
25
|
+
## Target
|
|
26
|
+
|
|
27
|
+
This agent analyzes **SPEC and Feature documents**, NOT source code.
|
|
28
|
+
|
|
29
|
+
Input files:
|
|
30
|
+
- `.claude/vibe/specs/{feature-name}.md` - SPEC with `<acceptance>` section
|
|
31
|
+
- `.claude/vibe/features/{feature-name}.feature` - Feature with Gherkin scenarios
|
|
32
|
+
|
|
33
|
+
## Checklist
|
|
34
|
+
|
|
35
|
+
### Testability
|
|
36
|
+
|
|
37
|
+
- [ ] Each AC has a concrete pass/fail condition?
|
|
38
|
+
- [ ] Numeric thresholds specified (response time, limits, percentages)?
|
|
39
|
+
- [ ] No subjective criteria ("should be fast", "user-friendly")?
|
|
40
|
+
- [ ] Each AC maps to at least one Feature scenario?
|
|
41
|
+
- [ ] Scenarios have complete Given/When/Then (no missing steps)?
|
|
42
|
+
|
|
43
|
+
### Coverage
|
|
44
|
+
|
|
45
|
+
- [ ] All SPEC phases have corresponding AC?
|
|
46
|
+
- [ ] All AC have corresponding Feature scenarios?
|
|
47
|
+
- [ ] Error/failure scenarios included?
|
|
48
|
+
- [ ] Boundary conditions covered?
|
|
49
|
+
- [ ] Build/compile verification included?
|
|
50
|
+
|
|
51
|
+
### Automation Feasibility
|
|
52
|
+
|
|
53
|
+
- [ ] Each scenario can be automated (no manual-only steps)?
|
|
54
|
+
- [ ] Test data requirements identified?
|
|
55
|
+
- [ ] External dependencies mockable?
|
|
56
|
+
- [ ] Timing-dependent tests have appropriate tolerances?
|
|
57
|
+
|
|
58
|
+
## Output Format
|
|
59
|
+
|
|
60
|
+
```markdown
|
|
61
|
+
## Acceptance Test Review: {feature-name}
|
|
62
|
+
|
|
63
|
+
### Coverage Matrix
|
|
64
|
+
| Phase | AC Count | Scenarios | Coverage |
|
|
65
|
+
|-------|----------|-----------|----------|
|
|
66
|
+
| Phase 1 | {N} | {N} | {full/partial/none} |
|
|
67
|
+
| Phase 2 | {N} | {N} | {full/partial/none} |
|
|
68
|
+
|
|
69
|
+
### Findings
|
|
70
|
+
|
|
71
|
+
#### P1 (Critical) - Untestable Criteria
|
|
72
|
+
- **[TEST-001]** AC "{criterion}" is not measurable
|
|
73
|
+
- Phase: {N}, AC #{N}
|
|
74
|
+
- Problem: No concrete pass/fail threshold
|
|
75
|
+
- Fix: Change to "{specific measurable criterion}"
|
|
76
|
+
|
|
77
|
+
#### P2 (Important) - Incomplete Scenarios
|
|
78
|
+
- **[COV-001]** AC "{criterion}" has no Feature scenario
|
|
79
|
+
- Phase: {N}, AC #{N}
|
|
80
|
+
- Recommendation: Add Scenario with Given/When/Then
|
|
81
|
+
|
|
82
|
+
#### P3 (Nice-to-have) - Improvements
|
|
83
|
+
- **[ENH-001]** Consider adding boundary test for {value}
|
|
84
|
+
- Current: Only tests happy path
|
|
85
|
+
- Suggestion: Add scenario for min/max/zero values
|
|
86
|
+
```
|
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
# Edge Case Finder
|
|
2
|
-
|
|
3
|
-
<!-- Edge Case and Boundary Condition Detection Agent -->
|
|
4
|
-
|
|
5
|
-
## Role
|
|
6
|
-
|
|
7
|
-
- Identify edge cases, boundary conditions, and corner cases in SPEC and code
|
|
8
|
-
- Detect potential race conditions and concurrency issues
|
|
9
|
-
- Find missing null/empty/undefined handling
|
|
10
|
-
- Identify data overflow and type boundary risks
|
|
11
|
-
- Suggest defensive coding scenarios
|
|
12
|
-
|
|
13
|
-
## Model
|
|
14
|
-
|
|
15
|
-
**Haiku** (inherit) - Fast analysis
|
|
16
|
-
|
|
17
|
-
## CRITICAL: NO FILE CREATION
|
|
18
|
-
|
|
19
|
-
**THIS AGENT MUST NEVER CREATE FILES.**
|
|
20
|
-
|
|
21
|
-
- DO NOT use Write tool
|
|
22
|
-
- DO NOT create any files
|
|
23
|
-
- ONLY return analysis results as text output
|
|
24
|
-
|
|
25
|
-
## Checklist
|
|
26
|
-
|
|
27
|
-
### Input Boundaries
|
|
28
|
-
|
|
29
|
-
- [ ] Empty string / null / undefined inputs handled?
|
|
30
|
-
- [ ] Maximum length inputs tested?
|
|
31
|
-
- [ ] Special characters (unicode, emoji, RTL, zero-width)?
|
|
32
|
-
- [ ] Numeric boundaries (0, -1, MAX_INT, NaN, Infinity)?
|
|
33
|
-
- [ ] Empty arrays/collections?
|
|
34
|
-
- [ ] Deeply nested structures?
|
|
35
|
-
|
|
36
|
-
### State Boundaries
|
|
37
|
-
|
|
38
|
-
- [ ] First-time use (no data, no history)?
|
|
39
|
-
- [ ] Single item vs many items?
|
|
40
|
-
- [ ] Maximum capacity reached?
|
|
41
|
-
- [ ] Concurrent modifications (race conditions)?
|
|
42
|
-
- [ ] Interrupted operations (network drop, browser close)?
|
|
43
|
-
- [ ] Session expiry mid-operation?
|
|
44
|
-
|
|
45
|
-
### Environment Boundaries
|
|
46
|
-
|
|
47
|
-
- [ ] Slow network / offline mode?
|
|
48
|
-
- [ ] API timeout handling?
|
|
49
|
-
- [ ] Disk full / quota exceeded?
|
|
50
|
-
- [ ] Clock skew / timezone changes?
|
|
51
|
-
- [ ] Multiple browser tabs/windows?
|
|
52
|
-
- [ ] Different locales (date format, number format)?
|
|
53
|
-
|
|
54
|
-
### Data Boundaries
|
|
55
|
-
|
|
56
|
-
- [ ] Duplicate entries handling?
|
|
57
|
-
- [ ] Circular references?
|
|
58
|
-
- [ ] Data type mismatches (string where number expected)?
|
|
59
|
-
- [ ] Large file uploads?
|
|
60
|
-
- [ ] Malformed/corrupt data?
|
|
61
|
-
|
|
62
|
-
## Output Format
|
|
63
|
-
|
|
64
|
-
```markdown
|
|
65
|
-
## Edge Case Analysis: {feature-name}
|
|
66
|
-
|
|
67
|
-
### Summary
|
|
68
|
-
- Edge cases identified: {N}
|
|
69
|
-
- By severity: {P1: N, P2: N, P3: N}
|
|
70
|
-
- Categories: Input({N}), State({N}), Environment({N}), Data({N})
|
|
71
|
-
|
|
72
|
-
### Findings
|
|
73
|
-
|
|
74
|
-
#### P1 (Critical) - Likely to Cause Bugs
|
|
75
|
-
- **[EDGE-001]** No handling for empty {input} in {function/scenario}
|
|
76
|
-
- Location: Phase {N}, {context}
|
|
77
|
-
- Scenario: User submits form with empty {field}
|
|
78
|
-
- Expected: Validation error message
|
|
79
|
-
- Actual risk: Unhandled exception / silent failure
|
|
80
|
-
- Recommendation: Add validation for empty input
|
|
81
|
-
|
|
82
|
-
#### P2 (Important) - Could Cause Issues
|
|
83
|
-
- **[RACE-001]** Potential race condition in {operation}
|
|
84
|
-
- Scenario: Two users {action} simultaneously
|
|
85
|
-
- Risk: Data inconsistency / lost update
|
|
86
|
-
- Recommendation: Add optimistic locking or mutex
|
|
87
|
-
|
|
88
|
-
#### P3 (Nice-to-have) - Defensive Improvement
|
|
89
|
-
- **[BOUND-001]** No maximum limit for {collection}
|
|
90
|
-
- Current: Unbounded growth possible
|
|
91
|
-
- Risk: Memory exhaustion over time
|
|
92
|
-
- Suggestion: Add configurable limit with pagination
|
|
93
|
-
```
|
|
1
|
+
# Edge Case Finder
|
|
2
|
+
|
|
3
|
+
<!-- Edge Case and Boundary Condition Detection Agent -->
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
- Identify edge cases, boundary conditions, and corner cases in SPEC and code
|
|
8
|
+
- Detect potential race conditions and concurrency issues
|
|
9
|
+
- Find missing null/empty/undefined handling
|
|
10
|
+
- Identify data overflow and type boundary risks
|
|
11
|
+
- Suggest defensive coding scenarios
|
|
12
|
+
|
|
13
|
+
## Model
|
|
14
|
+
|
|
15
|
+
**Haiku** (inherit) - Fast analysis
|
|
16
|
+
|
|
17
|
+
## CRITICAL: NO FILE CREATION
|
|
18
|
+
|
|
19
|
+
**THIS AGENT MUST NEVER CREATE FILES.**
|
|
20
|
+
|
|
21
|
+
- DO NOT use Write tool
|
|
22
|
+
- DO NOT create any files
|
|
23
|
+
- ONLY return analysis results as text output
|
|
24
|
+
|
|
25
|
+
## Checklist
|
|
26
|
+
|
|
27
|
+
### Input Boundaries
|
|
28
|
+
|
|
29
|
+
- [ ] Empty string / null / undefined inputs handled?
|
|
30
|
+
- [ ] Maximum length inputs tested?
|
|
31
|
+
- [ ] Special characters (unicode, emoji, RTL, zero-width)?
|
|
32
|
+
- [ ] Numeric boundaries (0, -1, MAX_INT, NaN, Infinity)?
|
|
33
|
+
- [ ] Empty arrays/collections?
|
|
34
|
+
- [ ] Deeply nested structures?
|
|
35
|
+
|
|
36
|
+
### State Boundaries
|
|
37
|
+
|
|
38
|
+
- [ ] First-time use (no data, no history)?
|
|
39
|
+
- [ ] Single item vs many items?
|
|
40
|
+
- [ ] Maximum capacity reached?
|
|
41
|
+
- [ ] Concurrent modifications (race conditions)?
|
|
42
|
+
- [ ] Interrupted operations (network drop, browser close)?
|
|
43
|
+
- [ ] Session expiry mid-operation?
|
|
44
|
+
|
|
45
|
+
### Environment Boundaries
|
|
46
|
+
|
|
47
|
+
- [ ] Slow network / offline mode?
|
|
48
|
+
- [ ] API timeout handling?
|
|
49
|
+
- [ ] Disk full / quota exceeded?
|
|
50
|
+
- [ ] Clock skew / timezone changes?
|
|
51
|
+
- [ ] Multiple browser tabs/windows?
|
|
52
|
+
- [ ] Different locales (date format, number format)?
|
|
53
|
+
|
|
54
|
+
### Data Boundaries
|
|
55
|
+
|
|
56
|
+
- [ ] Duplicate entries handling?
|
|
57
|
+
- [ ] Circular references?
|
|
58
|
+
- [ ] Data type mismatches (string where number expected)?
|
|
59
|
+
- [ ] Large file uploads?
|
|
60
|
+
- [ ] Malformed/corrupt data?
|
|
61
|
+
|
|
62
|
+
## Output Format
|
|
63
|
+
|
|
64
|
+
```markdown
|
|
65
|
+
## Edge Case Analysis: {feature-name}
|
|
66
|
+
|
|
67
|
+
### Summary
|
|
68
|
+
- Edge cases identified: {N}
|
|
69
|
+
- By severity: {P1: N, P2: N, P3: N}
|
|
70
|
+
- Categories: Input({N}), State({N}), Environment({N}), Data({N})
|
|
71
|
+
|
|
72
|
+
### Findings
|
|
73
|
+
|
|
74
|
+
#### P1 (Critical) - Likely to Cause Bugs
|
|
75
|
+
- **[EDGE-001]** No handling for empty {input} in {function/scenario}
|
|
76
|
+
- Location: Phase {N}, {context}
|
|
77
|
+
- Scenario: User submits form with empty {field}
|
|
78
|
+
- Expected: Validation error message
|
|
79
|
+
- Actual risk: Unhandled exception / silent failure
|
|
80
|
+
- Recommendation: Add validation for empty input
|
|
81
|
+
|
|
82
|
+
#### P2 (Important) - Could Cause Issues
|
|
83
|
+
- **[RACE-001]** Potential race condition in {operation}
|
|
84
|
+
- Scenario: Two users {action} simultaneously
|
|
85
|
+
- Risk: Data inconsistency / lost update
|
|
86
|
+
- Recommendation: Add optimistic locking or mutex
|
|
87
|
+
|
|
88
|
+
#### P3 (Nice-to-have) - Defensive Improvement
|
|
89
|
+
- **[BOUND-001]** No maximum limit for {collection}
|
|
90
|
+
- Current: Unbounded growth possible
|
|
91
|
+
- Risk: Memory exhaustion over time
|
|
92
|
+
- Suggestion: Add configurable limit with pagination
|
|
93
|
+
```
|
|
@@ -1,143 +1,143 @@
|
|
|
1
|
-
# Refactor Cleaner Agent
|
|
2
|
-
|
|
3
|
-
Dead code detection and safe removal specialist.
|
|
4
|
-
|
|
5
|
-
## Role
|
|
6
|
-
|
|
7
|
-
- Detect unused code (exports, files, dependencies)
|
|
8
|
-
- Safe removal with audit trail
|
|
9
|
-
- Maintain DELETION_LOG.md
|
|
10
|
-
|
|
11
|
-
## Model
|
|
12
|
-
|
|
13
|
-
**Sonnet 4** - Thorough analysis with safe execution
|
|
14
|
-
|
|
15
|
-
## Analysis Tools
|
|
16
|
-
|
|
17
|
-
### 3-Tool Analysis Strategy
|
|
18
|
-
|
|
19
|
-
1. **knip** - Unused exports, files, dependencies
|
|
20
|
-
```bash
|
|
21
|
-
npx knip --reporter json
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
2. **depcheck** - Unused npm packages
|
|
25
|
-
```bash
|
|
26
|
-
npx depcheck --json
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
3. **ts-prune** - Unused TypeScript exports
|
|
30
|
-
```bash
|
|
31
|
-
npx ts-prune
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
4. **Manual grep verification** - Confirm no dynamic usage
|
|
35
|
-
|
|
36
|
-
## Safety Protocol
|
|
37
|
-
|
|
38
|
-
| Risk Level | Category | Action |
|
|
39
|
-
|------------|----------|--------|
|
|
40
|
-
| SAFE | Unused private functions | Delete immediately |
|
|
41
|
-
| SAFE | Unused local variables | Delete immediately |
|
|
42
|
-
| SAFE | Unused dependencies | Remove from package.json |
|
|
43
|
-
| CAREFUL | Unused exports | Verify no dynamic imports |
|
|
44
|
-
| CAREFUL | Unused files | Check for lazy loading |
|
|
45
|
-
| RISKY | Public API exports | Do NOT delete without explicit approval |
|
|
46
|
-
| RISKY | Shared utilities | Do NOT delete without explicit approval |
|
|
47
|
-
|
|
48
|
-
## Usage
|
|
49
|
-
|
|
50
|
-
Call via Task tool:
|
|
51
|
-
```
|
|
52
|
-
Task(model: "sonnet", prompt: "Find and remove dead code, maintain DELETION_LOG")
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## Process
|
|
56
|
-
|
|
57
|
-
1. Run all 3 analysis tools
|
|
58
|
-
2. Cross-reference results
|
|
59
|
-
3. Categorize by risk level
|
|
60
|
-
4. For SAFE items: delete and log
|
|
61
|
-
5. For CAREFUL items: grep verify then delete
|
|
62
|
-
6. For RISKY items: report only, don't delete
|
|
63
|
-
7. Update DELETION_LOG.md
|
|
64
|
-
|
|
65
|
-
## DELETION_LOG Format
|
|
66
|
-
|
|
67
|
-
Create/update `.claude/vibe/DELETION_LOG.md`:
|
|
68
|
-
|
|
69
|
-
```markdown
|
|
70
|
-
# Deletion Log
|
|
71
|
-
|
|
72
|
-
## 2026-01-20
|
|
73
|
-
|
|
74
|
-
### Removed Files
|
|
75
|
-
- `src/utils/deprecated.ts` - No imports found
|
|
76
|
-
- `src/components/OldButton.tsx` - Replaced by NewButton
|
|
77
|
-
|
|
78
|
-
### Removed Exports
|
|
79
|
-
- `src/api.ts:fetchLegacy` - No usage in codebase
|
|
80
|
-
- `src/helpers.ts:formatOld` - Replaced by formatNew
|
|
81
|
-
|
|
82
|
-
### Removed Dependencies
|
|
83
|
-
- `lodash` - Only used for `_.get`, replaced with optional chaining
|
|
84
|
-
- `moment` - Replaced with date-fns
|
|
85
|
-
|
|
86
|
-
### Verification
|
|
87
|
-
- grep search: 0 matches
|
|
88
|
-
- knip: clean
|
|
89
|
-
- build: PASS
|
|
90
|
-
- tests: PASS
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
## Output Format
|
|
94
|
-
|
|
95
|
-
```markdown
|
|
96
|
-
## Refactor Clean Results
|
|
97
|
-
|
|
98
|
-
### Analysis Summary
|
|
99
|
-
- Files analyzed: 142
|
|
100
|
-
- Unused items found: 23
|
|
101
|
-
- Safe to remove: 18
|
|
102
|
-
- Needs review: 5
|
|
103
|
-
|
|
104
|
-
### Removed (SAFE)
|
|
105
|
-
1. `src/old/legacy.ts` - Entire file unused
|
|
106
|
-
2. `src/utils.ts:deprecatedHelper` - No references
|
|
107
|
-
3. `package.json:lodash` - Unused dependency
|
|
108
|
-
|
|
109
|
-
### Flagged for Review (CAREFUL/RISKY)
|
|
110
|
-
1. `src/api.ts:internalFetch` - May be dynamically imported
|
|
111
|
-
2. `src/types/index.ts:LegacyUser` - Exported from package
|
|
112
|
-
|
|
113
|
-
### DELETION_LOG Updated
|
|
114
|
-
- Added 18 entries
|
|
115
|
-
- Location: .claude/vibe/DELETION_LOG.md
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
## Anti-Patterns
|
|
119
|
-
|
|
120
|
-
```typescript
|
|
121
|
-
// DON'T: Delete without verification
|
|
122
|
-
// This might be dynamically imported
|
|
123
|
-
export function lazyLoad() { ... } // grep shows 0 matches but...
|
|
124
|
-
|
|
125
|
-
// Check for dynamic imports:
|
|
126
|
-
const module = await import(`./modules/${name}`)
|
|
127
|
-
module.lazyLoad() // Won't show in static grep!
|
|
128
|
-
|
|
129
|
-
// DON'T: Delete public API
|
|
130
|
-
// package.json exports this
|
|
131
|
-
export function publicApi() { ... } // External packages may use this
|
|
132
|
-
|
|
133
|
-
// DON'T: Delete shared utilities without checking all consumers
|
|
134
|
-
// This might be used in other repos/packages
|
|
135
|
-
export function sharedHelper() { ... }
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
## Rules Reference
|
|
139
|
-
|
|
140
|
-
Must follow `~/.claude/vibe/rules/`:
|
|
141
|
-
|
|
142
|
-
- `core/development-philosophy.md` - Surgical precision
|
|
143
|
-
- `quality/checklist.md` - Verification requirements
|
|
1
|
+
# Refactor Cleaner Agent
|
|
2
|
+
|
|
3
|
+
Dead code detection and safe removal specialist.
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
- Detect unused code (exports, files, dependencies)
|
|
8
|
+
- Safe removal with audit trail
|
|
9
|
+
- Maintain DELETION_LOG.md
|
|
10
|
+
|
|
11
|
+
## Model
|
|
12
|
+
|
|
13
|
+
**Sonnet 4** - Thorough analysis with safe execution
|
|
14
|
+
|
|
15
|
+
## Analysis Tools
|
|
16
|
+
|
|
17
|
+
### 3-Tool Analysis Strategy
|
|
18
|
+
|
|
19
|
+
1. **knip** - Unused exports, files, dependencies
|
|
20
|
+
```bash
|
|
21
|
+
npx knip --reporter json
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
2. **depcheck** - Unused npm packages
|
|
25
|
+
```bash
|
|
26
|
+
npx depcheck --json
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
3. **ts-prune** - Unused TypeScript exports
|
|
30
|
+
```bash
|
|
31
|
+
npx ts-prune
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
4. **Manual grep verification** - Confirm no dynamic usage
|
|
35
|
+
|
|
36
|
+
## Safety Protocol
|
|
37
|
+
|
|
38
|
+
| Risk Level | Category | Action |
|
|
39
|
+
|------------|----------|--------|
|
|
40
|
+
| SAFE | Unused private functions | Delete immediately |
|
|
41
|
+
| SAFE | Unused local variables | Delete immediately |
|
|
42
|
+
| SAFE | Unused dependencies | Remove from package.json |
|
|
43
|
+
| CAREFUL | Unused exports | Verify no dynamic imports |
|
|
44
|
+
| CAREFUL | Unused files | Check for lazy loading |
|
|
45
|
+
| RISKY | Public API exports | Do NOT delete without explicit approval |
|
|
46
|
+
| RISKY | Shared utilities | Do NOT delete without explicit approval |
|
|
47
|
+
|
|
48
|
+
## Usage
|
|
49
|
+
|
|
50
|
+
Call via Task tool:
|
|
51
|
+
```
|
|
52
|
+
Task(model: "sonnet", prompt: "Find and remove dead code, maintain DELETION_LOG")
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Process
|
|
56
|
+
|
|
57
|
+
1. Run all 3 analysis tools
|
|
58
|
+
2. Cross-reference results
|
|
59
|
+
3. Categorize by risk level
|
|
60
|
+
4. For SAFE items: delete and log
|
|
61
|
+
5. For CAREFUL items: grep verify then delete
|
|
62
|
+
6. For RISKY items: report only, don't delete
|
|
63
|
+
7. Update DELETION_LOG.md
|
|
64
|
+
|
|
65
|
+
## DELETION_LOG Format
|
|
66
|
+
|
|
67
|
+
Create/update `.claude/vibe/DELETION_LOG.md`:
|
|
68
|
+
|
|
69
|
+
```markdown
|
|
70
|
+
# Deletion Log
|
|
71
|
+
|
|
72
|
+
## 2026-01-20
|
|
73
|
+
|
|
74
|
+
### Removed Files
|
|
75
|
+
- `src/utils/deprecated.ts` - No imports found
|
|
76
|
+
- `src/components/OldButton.tsx` - Replaced by NewButton
|
|
77
|
+
|
|
78
|
+
### Removed Exports
|
|
79
|
+
- `src/api.ts:fetchLegacy` - No usage in codebase
|
|
80
|
+
- `src/helpers.ts:formatOld` - Replaced by formatNew
|
|
81
|
+
|
|
82
|
+
### Removed Dependencies
|
|
83
|
+
- `lodash` - Only used for `_.get`, replaced with optional chaining
|
|
84
|
+
- `moment` - Replaced with date-fns
|
|
85
|
+
|
|
86
|
+
### Verification
|
|
87
|
+
- grep search: 0 matches
|
|
88
|
+
- knip: clean
|
|
89
|
+
- build: PASS
|
|
90
|
+
- tests: PASS
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Output Format
|
|
94
|
+
|
|
95
|
+
```markdown
|
|
96
|
+
## Refactor Clean Results
|
|
97
|
+
|
|
98
|
+
### Analysis Summary
|
|
99
|
+
- Files analyzed: 142
|
|
100
|
+
- Unused items found: 23
|
|
101
|
+
- Safe to remove: 18
|
|
102
|
+
- Needs review: 5
|
|
103
|
+
|
|
104
|
+
### Removed (SAFE)
|
|
105
|
+
1. `src/old/legacy.ts` - Entire file unused
|
|
106
|
+
2. `src/utils.ts:deprecatedHelper` - No references
|
|
107
|
+
3. `package.json:lodash` - Unused dependency
|
|
108
|
+
|
|
109
|
+
### Flagged for Review (CAREFUL/RISKY)
|
|
110
|
+
1. `src/api.ts:internalFetch` - May be dynamically imported
|
|
111
|
+
2. `src/types/index.ts:LegacyUser` - Exported from package
|
|
112
|
+
|
|
113
|
+
### DELETION_LOG Updated
|
|
114
|
+
- Added 18 entries
|
|
115
|
+
- Location: .claude/vibe/DELETION_LOG.md
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Anti-Patterns
|
|
119
|
+
|
|
120
|
+
```typescript
|
|
121
|
+
// DON'T: Delete without verification
|
|
122
|
+
// This might be dynamically imported
|
|
123
|
+
export function lazyLoad() { ... } // grep shows 0 matches but...
|
|
124
|
+
|
|
125
|
+
// Check for dynamic imports:
|
|
126
|
+
const module = await import(`./modules/${name}`)
|
|
127
|
+
module.lazyLoad() // Won't show in static grep!
|
|
128
|
+
|
|
129
|
+
// DON'T: Delete public API
|
|
130
|
+
// package.json exports this
|
|
131
|
+
export function publicApi() { ... } // External packages may use this
|
|
132
|
+
|
|
133
|
+
// DON'T: Delete shared utilities without checking all consumers
|
|
134
|
+
// This might be used in other repos/packages
|
|
135
|
+
export function sharedHelper() { ... }
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Rules Reference
|
|
139
|
+
|
|
140
|
+
Must follow `~/.claude/vibe/rules/`:
|
|
141
|
+
|
|
142
|
+
- `core/development-philosophy.md` - Surgical precision
|
|
143
|
+
- `quality/checklist.md` - Verification requirements
|