@su-record/vibe 2.4.72 → 2.4.76
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/CLAUDE.md +216 -215
- package/README.md +4 -4
- package/agents/research/best-practices-agent.md +13 -13
- package/agents/research/codebase-patterns-agent.md +33 -33
- package/agents/research/framework-docs-agent.md +23 -23
- package/agents/research/security-advisory-agent.md +29 -29
- package/agents/review/architecture-reviewer.md +31 -31
- package/agents/review/complexity-reviewer.md +21 -21
- package/agents/review/data-integrity-reviewer.md +29 -29
- package/agents/review/git-history-reviewer.md +24 -24
- package/agents/review/performance-reviewer.md +29 -29
- package/agents/review/python-reviewer.md +53 -53
- package/agents/review/rails-reviewer.md +40 -40
- package/agents/review/react-reviewer.md +40 -40
- package/agents/review/security-reviewer.md +29 -29
- package/agents/review/simplicity-reviewer.md +24 -24
- package/agents/review/test-coverage-reviewer.md +31 -31
- package/agents/review/typescript-reviewer.md +41 -41
- package/commands/vibe.analyze.md +103 -7
- package/commands/vibe.reason.md +106 -0
- package/commands/vibe.review.md +123 -38
- package/commands/vibe.run.md +286 -223
- package/commands/vibe.spec.md +425 -186
- package/commands/vibe.utils.md +104 -3
- package/commands/vibe.verify.md +179 -86
- package/dist/cli/detect.js +40 -40
- package/dist/cli/detect.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/llm.js +5 -5
- package/dist/cli/llm.js.map +1 -1
- package/dist/cli/setup.js +3 -3
- package/dist/cli/setup.js.map +1 -1
- package/dist/lib/ContextCompressor.js +1 -1
- package/dist/lib/ContextCompressor.js.map +1 -1
- package/dist/lib/MemoryManager.d.ts +13 -155
- package/dist/lib/MemoryManager.d.ts.map +1 -1
- package/dist/lib/MemoryManager.js +52 -617
- package/dist/lib/MemoryManager.js.map +1 -1
- package/dist/lib/gemini-api.js +12 -12
- package/dist/lib/gemini-api.js.map +1 -1
- package/dist/lib/gemini-oauth.js +22 -22
- package/dist/lib/gemini-oauth.js.map +1 -1
- package/dist/lib/gemini-storage.js +3 -3
- package/dist/lib/gemini-storage.js.map +1 -1
- package/dist/lib/gpt-api.js +11 -11
- package/dist/lib/gpt-api.js.map +1 -1
- package/dist/lib/gpt-oauth.js +28 -28
- package/dist/lib/gpt-oauth.js.map +1 -1
- package/dist/lib/gpt-storage.js +3 -3
- package/dist/lib/gpt-storage.js.map +1 -1
- package/dist/lib/memory/KnowledgeGraph.d.ts +34 -0
- package/dist/lib/memory/KnowledgeGraph.d.ts.map +1 -0
- package/dist/lib/memory/KnowledgeGraph.js +216 -0
- package/dist/lib/memory/KnowledgeGraph.js.map +1 -0
- package/dist/lib/memory/KnowledgeGraph.test.d.ts +2 -0
- package/dist/lib/memory/KnowledgeGraph.test.d.ts.map +1 -0
- package/dist/lib/memory/KnowledgeGraph.test.js +189 -0
- package/dist/lib/memory/KnowledgeGraph.test.js.map +1 -0
- package/dist/lib/memory/MemorySearch.d.ts +25 -0
- package/dist/lib/memory/MemorySearch.d.ts.map +1 -0
- package/dist/lib/memory/MemorySearch.js +85 -0
- package/dist/lib/memory/MemorySearch.js.map +1 -0
- package/dist/lib/memory/MemorySearch.test.d.ts +2 -0
- package/dist/lib/memory/MemorySearch.test.d.ts.map +1 -0
- package/dist/lib/memory/MemorySearch.test.js +149 -0
- package/dist/lib/memory/MemorySearch.test.js.map +1 -0
- package/dist/lib/memory/MemoryStorage.d.ts +77 -0
- package/dist/lib/memory/MemoryStorage.d.ts.map +1 -0
- package/dist/lib/memory/MemoryStorage.js +278 -0
- package/dist/lib/memory/MemoryStorage.js.map +1 -0
- package/dist/lib/memory/MemoryStorage.test.d.ts +2 -0
- package/dist/lib/memory/MemoryStorage.test.d.ts.map +1 -0
- package/dist/lib/memory/MemoryStorage.test.js +198 -0
- package/dist/lib/memory/MemoryStorage.test.js.map +1 -0
- package/dist/lib/memory/index.d.ts +4 -0
- package/dist/lib/memory/index.d.ts.map +1 -0
- package/dist/lib/memory/index.js +8 -0
- package/dist/lib/memory/index.js.map +1 -0
- package/dist/orchestrator/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator/orchestrator.js +4 -6
- package/dist/orchestrator/orchestrator.js.map +1 -1
- package/dist/tools/convention/analyzeComplexity.d.ts +3 -1
- package/dist/tools/convention/analyzeComplexity.d.ts.map +1 -1
- package/dist/tools/convention/analyzeComplexity.js +102 -4
- package/dist/tools/convention/analyzeComplexity.js.map +1 -1
- package/dist/tools/convention/analyzeComplexity.test.d.ts +2 -0
- package/dist/tools/convention/analyzeComplexity.test.d.ts.map +1 -0
- package/dist/tools/convention/analyzeComplexity.test.js +207 -0
- package/dist/tools/convention/analyzeComplexity.test.js.map +1 -0
- package/dist/tools/convention/applyQualityRules.js +1 -1
- package/dist/tools/convention/applyQualityRules.js.map +1 -1
- package/dist/tools/convention/checkCouplingCohesion.js +2 -2
- package/dist/tools/convention/checkCouplingCohesion.js.map +1 -1
- package/dist/tools/convention/suggestImprovements.js +1 -1
- package/dist/tools/convention/suggestImprovements.js.map +1 -1
- package/dist/tools/convention/validateCodeQuality.d.ts +3 -1
- package/dist/tools/convention/validateCodeQuality.d.ts.map +1 -1
- package/dist/tools/convention/validateCodeQuality.js +145 -2
- package/dist/tools/convention/validateCodeQuality.js.map +1 -1
- package/dist/tools/convention/validateCodeQuality.test.d.ts +2 -0
- package/dist/tools/convention/validateCodeQuality.test.d.ts.map +1 -0
- package/dist/tools/convention/validateCodeQuality.test.js +230 -0
- package/dist/tools/convention/validateCodeQuality.test.js.map +1 -0
- package/dist/tools/memory/autoSaveContext.js +1 -1
- package/dist/tools/memory/autoSaveContext.js.map +1 -1
- package/dist/tools/memory/createMemoryTimeline.js +27 -27
- package/dist/tools/memory/createMemoryTimeline.js.map +1 -1
- package/dist/tools/memory/deleteMemory.js +1 -1
- package/dist/tools/memory/deleteMemory.js.map +1 -1
- package/dist/tools/memory/getMemoryGraph.js +24 -24
- package/dist/tools/memory/getMemoryGraph.js.map +1 -1
- package/dist/tools/memory/getSessionContext.js +36 -36
- package/dist/tools/memory/getSessionContext.js.map +1 -1
- package/dist/tools/memory/linkMemories.js +21 -21
- package/dist/tools/memory/linkMemories.js.map +1 -1
- package/dist/tools/memory/prioritizeMemory.js +1 -1
- package/dist/tools/memory/prioritizeMemory.js.map +1 -1
- package/dist/tools/memory/restoreSessionContext.js +1 -1
- package/dist/tools/memory/restoreSessionContext.js.map +1 -1
- package/dist/tools/memory/searchMemories.js +1 -1
- package/dist/tools/memory/searchMemories.js.map +1 -1
- package/dist/tools/memory/searchMemoriesAdvanced.js +42 -42
- package/dist/tools/memory/searchMemoriesAdvanced.js.map +1 -1
- package/dist/tools/memory/startSession.js +2 -2
- package/dist/tools/memory/startSession.js.map +1 -1
- package/dist/tools/memory/updateMemory.js +1 -1
- package/dist/tools/memory/updateMemory.js.map +1 -1
- package/dist/tools/semantic/analyzeDependencyGraph.js +38 -38
- package/dist/tools/semantic/analyzeDependencyGraph.js.map +1 -1
- package/dist/tools/semantic/findReferences.js +1 -1
- package/dist/tools/semantic/findReferences.js.map +1 -1
- package/dist/tools/semantic/findSymbol.js +1 -1
- package/dist/tools/semantic/findSymbol.js.map +1 -1
- package/dist/tools/time/getCurrentTime.js +1 -1
- package/dist/tools/time/getCurrentTime.js.map +1 -1
- package/dist/tools/ui/previewUiAscii.js +2 -2
- package/dist/tools/ui/previewUiAscii.js.map +1 -1
- package/hooks/hooks.json +11 -2
- package/hooks/scripts/llm-orchestrate.js +1 -1
- package/hooks/scripts/utils.js +31 -6
- package/languages/csharp-unity.md +82 -83
- package/languages/dart-flutter.md +89 -88
- package/languages/go.md +76 -75
- package/languages/java-spring.md +85 -84
- package/languages/kotlin-android.md +64 -63
- package/languages/python-django.md +83 -82
- package/languages/python-fastapi.md +82 -81
- package/languages/rust.md +75 -74
- package/languages/swift-ios.md +73 -72
- package/languages/typescript-electron.md +70 -71
- package/languages/typescript-nextjs.md +93 -92
- package/languages/typescript-node.md +64 -63
- package/languages/typescript-nuxt.md +113 -112
- package/languages/typescript-react-native.md +82 -81
- package/languages/typescript-react.md +76 -75
- package/languages/typescript-tauri.md +74 -75
- package/languages/typescript-vue.md +73 -72
- package/package.json +1 -1
- package/skills/git-worktree.md +25 -25
- package/skills/multi-llm-orchestration.md +4 -6
- package/skills/priority-todos.md +39 -39
- package/skills/vibe-capabilities.md +2 -2
- package/vibe/config.json +2 -2
|
@@ -1,55 +1,55 @@
|
|
|
1
1
|
# Performance Reviewer Agent
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<!-- Performance Optimization Expert Review Agent -->
|
|
4
4
|
|
|
5
5
|
## Role
|
|
6
6
|
|
|
7
|
-
- N+1
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
7
|
+
- N+1 query detection
|
|
8
|
+
- Memory leak detection
|
|
9
|
+
- Unnecessary computation identification
|
|
10
|
+
- Caching opportunity suggestions
|
|
11
11
|
|
|
12
12
|
## Model
|
|
13
13
|
|
|
14
|
-
**Haiku** (inherit) -
|
|
14
|
+
**Haiku** (inherit) - Fast parallel execution
|
|
15
15
|
|
|
16
16
|
## Checklist
|
|
17
17
|
|
|
18
18
|
### Database
|
|
19
|
-
- [ ] N+1
|
|
20
|
-
- [ ]
|
|
21
|
-
- [ ]
|
|
22
|
-
- [ ]
|
|
23
|
-
- [ ]
|
|
19
|
+
- [ ] N+1 query: Individual queries inside loops?
|
|
20
|
+
- [ ] Missing index: WHERE/ORDER BY columns?
|
|
21
|
+
- [ ] Excessive SELECT *?
|
|
22
|
+
- [ ] Unnecessary joins?
|
|
23
|
+
- [ ] Pagination implemented?
|
|
24
24
|
|
|
25
25
|
### Memory
|
|
26
|
-
- [ ]
|
|
27
|
-
- [ ]
|
|
28
|
-
- [ ]
|
|
29
|
-
- [ ]
|
|
26
|
+
- [ ] Large data loaded into memory?
|
|
27
|
+
- [ ] Event listeners cleaned up?
|
|
28
|
+
- [ ] Circular references?
|
|
29
|
+
- [ ] Buffer used instead of stream?
|
|
30
30
|
|
|
31
31
|
### Computation
|
|
32
|
-
- [ ]
|
|
33
|
-
- [ ]
|
|
34
|
-
- [ ]
|
|
35
|
-
- [ ]
|
|
32
|
+
- [ ] Unnecessary computation inside loops?
|
|
33
|
+
- [ ] Regex pre-compiled?
|
|
34
|
+
- [ ] Memoization opportunities?
|
|
35
|
+
- [ ] Async processing possible?
|
|
36
36
|
|
|
37
37
|
### Caching
|
|
38
|
-
- [ ]
|
|
39
|
-
- [ ]
|
|
40
|
-
- [ ]
|
|
41
|
-
- [ ] CDN
|
|
38
|
+
- [ ] Repeated API calls?
|
|
39
|
+
- [ ] Static data caching?
|
|
40
|
+
- [ ] Cache invalidation strategy?
|
|
41
|
+
- [ ] CDN utilized?
|
|
42
42
|
|
|
43
43
|
### Frontend
|
|
44
|
-
- [ ]
|
|
45
|
-
- [ ]
|
|
44
|
+
- [ ] Bundle size increase?
|
|
45
|
+
- [ ] Image optimization?
|
|
46
46
|
- [ ] Lazy loading?
|
|
47
|
-
- [ ]
|
|
47
|
+
- [ ] Unnecessary re-renders?
|
|
48
48
|
|
|
49
49
|
### Network
|
|
50
|
-
- [ ]
|
|
51
|
-
- [ ]
|
|
52
|
-
- [ ]
|
|
50
|
+
- [ ] Unnecessary API calls?
|
|
51
|
+
- [ ] Request batching possible?
|
|
52
|
+
- [ ] Compression used?
|
|
53
53
|
- [ ] Connection pooling?
|
|
54
54
|
|
|
55
55
|
## Output Format
|
|
@@ -1,82 +1,82 @@
|
|
|
1
1
|
# Python Reviewer Agent
|
|
2
2
|
|
|
3
|
-
Python
|
|
3
|
+
<!-- Python Code Expert Review Agent -->
|
|
4
4
|
|
|
5
5
|
## Role
|
|
6
6
|
|
|
7
|
-
- PEP 8
|
|
8
|
-
-
|
|
9
|
-
- Pythonic
|
|
10
|
-
- async/await
|
|
7
|
+
- PEP 8 style guide compliance
|
|
8
|
+
- Type hint verification
|
|
9
|
+
- Pythonic pattern suggestions
|
|
10
|
+
- async/await pattern review
|
|
11
11
|
|
|
12
12
|
## Model
|
|
13
13
|
|
|
14
|
-
**Haiku** (inherit) -
|
|
14
|
+
**Haiku** (inherit) - Fast parallel execution
|
|
15
15
|
|
|
16
16
|
## Checklist
|
|
17
17
|
|
|
18
18
|
### PEP 8 Style
|
|
19
|
-
- [ ]
|
|
20
|
-
- [ ]
|
|
21
|
-
- [ ]
|
|
22
|
-
- [ ]
|
|
19
|
+
- [ ] Naming: snake_case (variables/functions), PascalCase (classes)?
|
|
20
|
+
- [ ] Line length ≤ 88 (black standard)?
|
|
21
|
+
- [ ] Import order: stdlib → third-party → local?
|
|
22
|
+
- [ ] Whitespace rules followed?
|
|
23
23
|
|
|
24
24
|
### Type Hints (PEP 484)
|
|
25
|
-
- [ ]
|
|
26
|
-
- [ ]
|
|
27
|
-
- [ ]
|
|
28
|
-
- [ ] TypedDict, Protocol
|
|
25
|
+
- [ ] Function parameter type hints?
|
|
26
|
+
- [ ] Return type specified?
|
|
27
|
+
- [ ] `T | None` instead of Optional (Python 3.10+)?
|
|
28
|
+
- [ ] TypedDict, Protocol used appropriately?
|
|
29
29
|
|
|
30
30
|
### Pythonic Patterns
|
|
31
|
-
- [ ] List comprehension
|
|
32
|
-
- [ ] Context manager (with)
|
|
33
|
-
- [ ]
|
|
34
|
-
- [ ] f-string
|
|
35
|
-
- [ ]
|
|
31
|
+
- [ ] List comprehension used appropriately?
|
|
32
|
+
- [ ] Context manager (with) used?
|
|
33
|
+
- [ ] range(len()) instead of enumerate?
|
|
34
|
+
- [ ] f-string used?
|
|
35
|
+
- [ ] Walrus operator (:=) used appropriately?
|
|
36
36
|
|
|
37
37
|
### Error Handling
|
|
38
|
-
- [ ]
|
|
39
|
-
- [ ]
|
|
40
|
-
- [ ]
|
|
41
|
-
- [ ]
|
|
38
|
+
- [ ] Specific exception types used?
|
|
39
|
+
- [ ] Bare except prohibited?
|
|
40
|
+
- [ ] Exception chaining (from e)?
|
|
41
|
+
- [ ] Appropriate logging?
|
|
42
42
|
|
|
43
43
|
### Async/Await
|
|
44
|
-
- [ ]
|
|
45
|
-
- [ ] asyncio.gather
|
|
46
|
-
- [ ]
|
|
47
|
-
- [ ]
|
|
44
|
+
- [ ] Calling async from sync function?
|
|
45
|
+
- [ ] asyncio.gather utilized?
|
|
46
|
+
- [ ] Appropriate timeout settings?
|
|
47
|
+
- [ ] Resource cleanup (async with)?
|
|
48
48
|
|
|
49
49
|
### Security
|
|
50
|
-
- [ ] eval/exec
|
|
50
|
+
- [ ] eval/exec usage prohibited?
|
|
51
51
|
- [ ] pickle untrusted data?
|
|
52
|
-
- [ ] SQL
|
|
53
|
-
- [ ]
|
|
52
|
+
- [ ] SQL parameterization?
|
|
53
|
+
- [ ] Sensitive information logging?
|
|
54
54
|
|
|
55
55
|
### Performance
|
|
56
|
-
- [ ]
|
|
57
|
-
- [ ] `__slots__`
|
|
58
|
-
- [ ] lru_cache
|
|
59
|
-
- [ ]
|
|
56
|
+
- [ ] Generator utilization (large data)?
|
|
57
|
+
- [ ] `__slots__` usage considered?
|
|
58
|
+
- [ ] lru_cache decorator?
|
|
59
|
+
- [ ] Unnecessary list conversions?
|
|
60
60
|
|
|
61
61
|
## Framework Specific
|
|
62
62
|
|
|
63
63
|
### Django
|
|
64
|
-
- [ ] N+1
|
|
65
|
-
- [ ] QuerySet
|
|
66
|
-
- [ ]
|
|
67
|
-
- [ ]
|
|
64
|
+
- [ ] N+1 queries (select_related/prefetch_related)?
|
|
65
|
+
- [ ] QuerySet lazy evaluation understood?
|
|
66
|
+
- [ ] Transaction management?
|
|
67
|
+
- [ ] Migration reversibility?
|
|
68
68
|
|
|
69
69
|
### FastAPI
|
|
70
|
-
- [ ] Pydantic
|
|
71
|
-
- [ ]
|
|
72
|
-
- [ ]
|
|
73
|
-
- [ ]
|
|
70
|
+
- [ ] Pydantic models appropriate?
|
|
71
|
+
- [ ] Dependency injection utilized?
|
|
72
|
+
- [ ] Async routes?
|
|
73
|
+
- [ ] Response model defined?
|
|
74
74
|
|
|
75
75
|
### SQLAlchemy
|
|
76
|
-
- [ ] Session
|
|
76
|
+
- [ ] Session management?
|
|
77
77
|
- [ ] N+1 (joinedload/selectinload)?
|
|
78
|
-
- [ ]
|
|
79
|
-
- [ ]
|
|
78
|
+
- [ ] Transaction scope?
|
|
79
|
+
- [ ] Connection pool settings?
|
|
80
80
|
|
|
81
81
|
## Output Format
|
|
82
82
|
|
|
@@ -129,22 +129,22 @@ Task(
|
|
|
129
129
|
|
|
130
130
|
## External LLM Enhancement (Optional)
|
|
131
131
|
|
|
132
|
-
**GPT Codex
|
|
132
|
+
**When GPT Codex is enabled**, get Python expert 2nd opinion:
|
|
133
133
|
|
|
134
134
|
```text
|
|
135
|
-
Primary: Task(Haiku) Python
|
|
135
|
+
Primary: Task(Haiku) Python review
|
|
136
136
|
↓
|
|
137
137
|
[GPT enabled?]
|
|
138
138
|
↓ YES
|
|
139
139
|
gpt.Python code review. Check PEP8, type hints, async patterns, Django/FastAPI best practices:
|
|
140
140
|
[Python code to review]
|
|
141
141
|
↓
|
|
142
|
-
|
|
142
|
+
Compare results → Common issues gain confidence, differences need additional review
|
|
143
143
|
```
|
|
144
144
|
|
|
145
|
-
|
|
146
|
-
-
|
|
147
|
-
- Django/FastAPI
|
|
148
|
-
-
|
|
145
|
+
**Use cases:**
|
|
146
|
+
- When reviewing complex async/await patterns
|
|
147
|
+
- When reviewing Django/FastAPI architecture
|
|
148
|
+
- When type hint coverage is severely lacking
|
|
149
149
|
|
|
150
|
-
**GPT
|
|
150
|
+
**When GPT is not configured:** Primary works normally on its own
|
|
@@ -1,73 +1,73 @@
|
|
|
1
1
|
# Rails Reviewer Agent
|
|
2
2
|
|
|
3
|
-
Ruby on Rails
|
|
3
|
+
<!-- Ruby on Rails Code Expert Review Agent (DHH Style) -->
|
|
4
4
|
|
|
5
5
|
## Role
|
|
6
6
|
|
|
7
|
-
- Rails Way
|
|
8
|
-
- N+1
|
|
9
|
-
- ActiveRecord
|
|
10
|
-
-
|
|
7
|
+
- Rails Way compliance verification
|
|
8
|
+
- N+1 query detection
|
|
9
|
+
- ActiveRecord pattern review
|
|
10
|
+
- Security best practices
|
|
11
11
|
|
|
12
12
|
## Model
|
|
13
13
|
|
|
14
|
-
**Haiku** (inherit) -
|
|
14
|
+
**Haiku** (inherit) - Fast parallel execution
|
|
15
15
|
|
|
16
16
|
## Philosophy (DHH Style)
|
|
17
17
|
|
|
18
18
|
> "Convention over Configuration"
|
|
19
19
|
> "Rails is omakase"
|
|
20
20
|
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
21
|
+
- Follow framework conventions
|
|
22
|
+
- Don't fear the magic
|
|
23
|
+
- Pursue simplicity
|
|
24
|
+
- System tests over test coverage
|
|
25
25
|
|
|
26
26
|
## Checklist
|
|
27
27
|
|
|
28
28
|
### ActiveRecord
|
|
29
|
-
- [ ] N+1
|
|
30
|
-
- [ ]
|
|
31
|
-
- [ ]
|
|
32
|
-
- [ ]
|
|
33
|
-
- [ ]
|
|
29
|
+
- [ ] N+1 queries: includes/preload/eager_load?
|
|
30
|
+
- [ ] No callback abuse?
|
|
31
|
+
- [ ] Scope utilized appropriately?
|
|
32
|
+
- [ ] Transaction scope appropriate?
|
|
33
|
+
- [ ] Validations appropriate?
|
|
34
34
|
|
|
35
35
|
### Controllers
|
|
36
|
-
- [ ]
|
|
37
|
-
- [ ] Strong parameters
|
|
38
|
-
- [ ] before_action
|
|
39
|
-
- [ ]
|
|
40
|
-
- [ ]
|
|
36
|
+
- [ ] No fat controllers?
|
|
37
|
+
- [ ] Strong parameters used?
|
|
38
|
+
- [ ] before_action appropriate?
|
|
39
|
+
- [ ] Authentication/authorization handling?
|
|
40
|
+
- [ ] Response format consistency?
|
|
41
41
|
|
|
42
42
|
### Models
|
|
43
|
-
- [ ]
|
|
44
|
-
- [ ]
|
|
45
|
-
- [ ]
|
|
46
|
-
- [ ]
|
|
43
|
+
- [ ] Business logic placement appropriate?
|
|
44
|
+
- [ ] Relationships set up correctly?
|
|
45
|
+
- [ ] Callbacks minimized?
|
|
46
|
+
- [ ] Validations complete?
|
|
47
47
|
|
|
48
48
|
### Views/Helpers
|
|
49
|
-
- [ ]
|
|
50
|
-
- [ ]
|
|
51
|
-
- [ ]
|
|
52
|
-
- [ ] XSS
|
|
49
|
+
- [ ] Logic minimized?
|
|
50
|
+
- [ ] Helpers utilized appropriately?
|
|
51
|
+
- [ ] Partials reused?
|
|
52
|
+
- [ ] XSS prevention (minimize html_safe)?
|
|
53
53
|
|
|
54
54
|
### Migrations
|
|
55
|
-
- [ ]
|
|
56
|
-
- [ ]
|
|
57
|
-
- [ ] NOT NULL
|
|
58
|
-
- [ ]
|
|
55
|
+
- [ ] Reversible migration?
|
|
56
|
+
- [ ] Indexes added?
|
|
57
|
+
- [ ] NOT NULL constraints?
|
|
58
|
+
- [ ] Data migration separated?
|
|
59
59
|
|
|
60
60
|
### Security
|
|
61
|
-
- [ ] SQL Injection
|
|
62
|
-
- [ ] Mass assignment
|
|
63
|
-
- [ ] CSRF
|
|
64
|
-
- [ ]
|
|
61
|
+
- [ ] SQL Injection prevention?
|
|
62
|
+
- [ ] Mass assignment protection?
|
|
63
|
+
- [ ] CSRF token used?
|
|
64
|
+
- [ ] Sensitive info logging prohibited?
|
|
65
65
|
|
|
66
66
|
### Performance
|
|
67
|
-
- [ ] Counter cache
|
|
68
|
-
- [ ]
|
|
69
|
-
- [ ]
|
|
70
|
-
- [ ]
|
|
67
|
+
- [ ] Counter cache utilized?
|
|
68
|
+
- [ ] Caching strategy?
|
|
69
|
+
- [ ] Background jobs (Sidekiq)?
|
|
70
|
+
- [ ] Pagination?
|
|
71
71
|
|
|
72
72
|
## Common Anti-Patterns
|
|
73
73
|
|
|
@@ -1,69 +1,69 @@
|
|
|
1
1
|
# React Reviewer Agent
|
|
2
2
|
|
|
3
|
-
React
|
|
3
|
+
<!-- React Code Expert Review Agent -->
|
|
4
4
|
|
|
5
5
|
## Role
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
7
|
+
- Hook rules verification
|
|
8
|
+
- Re-render optimization
|
|
9
|
+
- State management patterns
|
|
10
|
+
- Accessibility (a11y) inspection
|
|
11
11
|
|
|
12
12
|
## Model
|
|
13
13
|
|
|
14
|
-
**Haiku** (inherit) -
|
|
14
|
+
**Haiku** (inherit) - Fast parallel execution
|
|
15
15
|
|
|
16
16
|
## Checklist
|
|
17
17
|
|
|
18
18
|
### Rules of Hooks
|
|
19
|
-
- [ ]
|
|
20
|
-
- [ ]
|
|
21
|
-
- [ ]
|
|
22
|
-
- [ ]
|
|
19
|
+
- [ ] Hooks called only at top level?
|
|
20
|
+
- [ ] No hooks in conditionals/loops?
|
|
21
|
+
- [ ] Custom hook naming (use-)?
|
|
22
|
+
- [ ] Hook order consistency?
|
|
23
23
|
|
|
24
24
|
### Dependencies
|
|
25
|
-
- [ ] useEffect
|
|
26
|
-
- [ ] useMemo/useCallback
|
|
27
|
-
- [ ]
|
|
28
|
-
- [ ]
|
|
25
|
+
- [ ] useEffect dependency array complete?
|
|
26
|
+
- [ ] useMemo/useCallback dependencies accurate?
|
|
27
|
+
- [ ] Unnecessary dependencies removed?
|
|
28
|
+
- [ ] Function reference stability?
|
|
29
29
|
|
|
30
30
|
### Re-rendering
|
|
31
|
-
- [ ]
|
|
32
|
-
- [ ] React.memo
|
|
33
|
-
- [ ] useMemo
|
|
34
|
-
- [ ] useCallback
|
|
35
|
-
- [ ]
|
|
31
|
+
- [ ] Unnecessary re-renders?
|
|
32
|
+
- [ ] React.memo used appropriately?
|
|
33
|
+
- [ ] useMemo for expensive computations?
|
|
34
|
+
- [ ] useCallback for callback stabilization?
|
|
35
|
+
- [ ] State separation (co-location)?
|
|
36
36
|
|
|
37
37
|
### State Management
|
|
38
|
-
- [ ]
|
|
39
|
-
- [ ]
|
|
40
|
-
- [ ]
|
|
41
|
-
- [ ]
|
|
38
|
+
- [ ] Local vs global state distinction?
|
|
39
|
+
- [ ] State minimization?
|
|
40
|
+
- [ ] Derived state calculation?
|
|
41
|
+
- [ ] State lifting/colocation appropriate?
|
|
42
42
|
|
|
43
43
|
### Component Design
|
|
44
|
-
- [ ]
|
|
45
|
-
- [ ]
|
|
46
|
-
- [ ]
|
|
47
|
-
- [ ] Container/Presentational
|
|
44
|
+
- [ ] Single responsibility principle?
|
|
45
|
+
- [ ] Excessive props drilling?
|
|
46
|
+
- [ ] Component size appropriate?
|
|
47
|
+
- [ ] Container/Presentational separation?
|
|
48
48
|
|
|
49
49
|
### Accessibility (a11y)
|
|
50
|
-
- [ ]
|
|
51
|
-
- [ ] ARIA
|
|
52
|
-
- [ ]
|
|
53
|
-
- [ ]
|
|
54
|
-
- [ ]
|
|
50
|
+
- [ ] Semantic HTML used?
|
|
51
|
+
- [ ] ARIA attributes appropriate?
|
|
52
|
+
- [ ] Keyboard navigation?
|
|
53
|
+
- [ ] Sufficient color contrast?
|
|
54
|
+
- [ ] Alt text?
|
|
55
55
|
|
|
56
56
|
### Error Handling
|
|
57
|
-
- [ ] Error Boundary
|
|
58
|
-
- [ ]
|
|
59
|
-
- [ ] Suspense
|
|
60
|
-
- [ ]
|
|
57
|
+
- [ ] Error Boundary used?
|
|
58
|
+
- [ ] Loading/error states handled?
|
|
59
|
+
- [ ] Suspense utilized?
|
|
60
|
+
- [ ] User-friendly error UI?
|
|
61
61
|
|
|
62
62
|
### Performance
|
|
63
|
-
- [ ]
|
|
64
|
-
- [ ]
|
|
65
|
-
- [ ]
|
|
66
|
-
- [ ]
|
|
63
|
+
- [ ] Bundle size impact?
|
|
64
|
+
- [ ] Code splitting?
|
|
65
|
+
- [ ] Image optimization?
|
|
66
|
+
- [ ] Virtualization (large lists)?
|
|
67
67
|
|
|
68
68
|
## Common Anti-Patterns
|
|
69
69
|
|
|
@@ -1,54 +1,54 @@
|
|
|
1
1
|
# Security Reviewer Agent
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<!-- Security Vulnerability Expert Review Agent -->
|
|
4
4
|
|
|
5
5
|
## Role
|
|
6
6
|
|
|
7
|
-
- OWASP Top 10
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
7
|
+
- OWASP Top 10 vulnerability inspection
|
|
8
|
+
- Authentication/authorization logic verification
|
|
9
|
+
- Sensitive data exposure detection
|
|
10
|
+
- Security headers and configuration review
|
|
11
11
|
|
|
12
12
|
## Model
|
|
13
13
|
|
|
14
|
-
**Haiku** (inherit) -
|
|
14
|
+
**Haiku** (inherit) - Fast parallel execution
|
|
15
15
|
|
|
16
16
|
## Checklist
|
|
17
17
|
|
|
18
18
|
### Injection (A03:2021)
|
|
19
|
-
- [ ] SQL Injection:
|
|
20
|
-
- [ ] NoSQL Injection:
|
|
21
|
-
- [ ] Command Injection:
|
|
22
|
-
- [ ] LDAP Injection: LDAP
|
|
19
|
+
- [ ] SQL Injection: Parameterized queries used?
|
|
20
|
+
- [ ] NoSQL Injection: User input validated?
|
|
21
|
+
- [ ] Command Injection: Shell commands escaped?
|
|
22
|
+
- [ ] LDAP Injection: LDAP queries validated?
|
|
23
23
|
|
|
24
24
|
### Broken Authentication (A07:2021)
|
|
25
|
-
- [ ]
|
|
26
|
-
- [ ]
|
|
27
|
-
- [ ]
|
|
28
|
-
- [ ] 2FA
|
|
25
|
+
- [ ] Password hashing (bcrypt, argon2)?
|
|
26
|
+
- [ ] Session management security?
|
|
27
|
+
- [ ] Brute force prevention?
|
|
28
|
+
- [ ] 2FA implementation?
|
|
29
29
|
|
|
30
30
|
### Sensitive Data Exposure (A02:2021)
|
|
31
|
-
- [ ] API
|
|
32
|
-
- [ ]
|
|
33
|
-
- [ ] HTTPS
|
|
34
|
-
- [ ]
|
|
31
|
+
- [ ] Hardcoded API keys, passwords?
|
|
32
|
+
- [ ] Sensitive info exposed in logs?
|
|
33
|
+
- [ ] HTTPS enforced?
|
|
34
|
+
- [ ] Sensitive data encrypted?
|
|
35
35
|
|
|
36
36
|
### XSS (A03:2021)
|
|
37
|
-
- [ ]
|
|
38
|
-
- [ ] Content-Security-Policy
|
|
39
|
-
- [ ]
|
|
40
|
-
- [ ] React dangerouslySetInnerHTML
|
|
37
|
+
- [ ] User input escaped?
|
|
38
|
+
- [ ] Content-Security-Policy configured?
|
|
39
|
+
- [ ] textContent instead of innerHTML?
|
|
40
|
+
- [ ] React dangerouslySetInnerHTML reviewed?
|
|
41
41
|
|
|
42
42
|
### CSRF
|
|
43
|
-
- [ ] CSRF
|
|
44
|
-
- [ ] SameSite
|
|
45
|
-
- [ ] Origin
|
|
43
|
+
- [ ] CSRF token used?
|
|
44
|
+
- [ ] SameSite cookie configured?
|
|
45
|
+
- [ ] Origin validation?
|
|
46
46
|
|
|
47
47
|
### Security Misconfiguration (A05:2021)
|
|
48
|
-
- [ ]
|
|
49
|
-
- [ ]
|
|
50
|
-
- [ ]
|
|
51
|
-
- [ ]
|
|
48
|
+
- [ ] Debug mode disabled?
|
|
49
|
+
- [ ] Default accounts/passwords removed?
|
|
50
|
+
- [ ] Stack traces in error messages?
|
|
51
|
+
- [ ] Unnecessary features/ports disabled?
|
|
52
52
|
|
|
53
53
|
## Output Format
|
|
54
54
|
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
# Simplicity Reviewer Agent
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<!-- Code Simplification Expert Review Agent -->
|
|
4
4
|
|
|
5
5
|
## Role
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
- YAGNI
|
|
10
|
-
-
|
|
7
|
+
- Over-abstraction detection
|
|
8
|
+
- Unnecessary complexity removal
|
|
9
|
+
- YAGNI principle verification
|
|
10
|
+
- Clarity improvement suggestions
|
|
11
11
|
|
|
12
12
|
## Model
|
|
13
13
|
|
|
14
|
-
**Haiku** (inherit) -
|
|
14
|
+
**Haiku** (inherit) - Fast parallel execution
|
|
15
15
|
|
|
16
16
|
## Philosophy
|
|
17
17
|
|
|
@@ -21,32 +21,32 @@
|
|
|
21
21
|
## Checklist
|
|
22
22
|
|
|
23
23
|
### Over-Engineering
|
|
24
|
-
- [ ]
|
|
25
|
-
- [ ]
|
|
26
|
-
- [ ]
|
|
27
|
-
- [ ]
|
|
24
|
+
- [ ] Unnecessary abstraction layers?
|
|
25
|
+
- [ ] Unused interfaces?
|
|
26
|
+
- [ ] Excessive design patterns?
|
|
27
|
+
- [ ] Code for the future?
|
|
28
28
|
|
|
29
29
|
### Code Clarity
|
|
30
|
-
- [ ]
|
|
31
|
-
- [ ]
|
|
32
|
-
- [ ]
|
|
33
|
-
- [ ]
|
|
30
|
+
- [ ] Understandable at a glance?
|
|
31
|
+
- [ ] Variable/function names clear?
|
|
32
|
+
- [ ] Nesting minimized?
|
|
33
|
+
- [ ] Understandable without comments?
|
|
34
34
|
|
|
35
35
|
### Unnecessary Code
|
|
36
|
-
- [ ]
|
|
37
|
-
- [ ]
|
|
38
|
-
- [ ]
|
|
39
|
-
- [ ]
|
|
36
|
+
- [ ] Dead code?
|
|
37
|
+
- [ ] Unused imports?
|
|
38
|
+
- [ ] Commented out code?
|
|
39
|
+
- [ ] Duplicate logic?
|
|
40
40
|
|
|
41
41
|
### KISS Violations
|
|
42
|
-
- [ ]
|
|
43
|
-
- [ ]
|
|
44
|
-
- [ ]
|
|
42
|
+
- [ ] Simple solution exists?
|
|
43
|
+
- [ ] Replaceable with library?
|
|
44
|
+
- [ ] Standard features sufficient?
|
|
45
45
|
|
|
46
46
|
### Premature Optimization
|
|
47
|
-
- [ ]
|
|
48
|
-
- [ ]
|
|
49
|
-
- [ ]
|
|
47
|
+
- [ ] Unnecessary caching?
|
|
48
|
+
- [ ] Excessive memoization?
|
|
49
|
+
- [ ] Unnecessary lazy loading?
|
|
50
50
|
|
|
51
51
|
## Anti-Patterns
|
|
52
52
|
|