claudecode-omc 4.7.4 → 4.8.0
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-plugin/plugin.json +1 -1
- package/README.md +50 -0
- package/agents/test-engineer.md +74 -0
- package/bridge/cli.cjs +9335 -117
- package/dist/cli/index.js +201 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/testing/analyzers/complexity.d.ts +18 -0
- package/dist/testing/analyzers/complexity.d.ts.map +1 -0
- package/dist/testing/analyzers/complexity.js +121 -0
- package/dist/testing/analyzers/complexity.js.map +1 -0
- package/dist/testing/analyzers/coverage.d.ts +13 -0
- package/dist/testing/analyzers/coverage.d.ts.map +1 -0
- package/dist/testing/analyzers/coverage.js +99 -0
- package/dist/testing/analyzers/coverage.js.map +1 -0
- package/dist/testing/analyzers/quality-scorer.d.ts +8 -0
- package/dist/testing/analyzers/quality-scorer.d.ts.map +1 -0
- package/dist/testing/analyzers/quality-scorer.js +128 -0
- package/dist/testing/analyzers/quality-scorer.js.map +1 -0
- package/dist/testing/analyzers/types.d.ts +56 -0
- package/dist/testing/analyzers/types.d.ts.map +1 -0
- package/dist/testing/analyzers/types.js +2 -0
- package/dist/testing/analyzers/types.js.map +1 -0
- package/dist/testing/cli/agent-integration.d.ts +20 -0
- package/dist/testing/cli/agent-integration.d.ts.map +1 -0
- package/dist/testing/cli/agent-integration.js +60 -0
- package/dist/testing/cli/agent-integration.js.map +1 -0
- package/dist/testing/cli/commands.d.ts +100 -0
- package/dist/testing/cli/commands.d.ts.map +1 -0
- package/dist/testing/cli/commands.js +250 -0
- package/dist/testing/cli/commands.js.map +1 -0
- package/dist/testing/cli/ultraqa-integration.d.ts +13 -0
- package/dist/testing/cli/ultraqa-integration.d.ts.map +1 -0
- package/dist/testing/cli/ultraqa-integration.js +68 -0
- package/dist/testing/cli/ultraqa-integration.js.map +1 -0
- package/dist/testing/detectors/go.d.ts +3 -0
- package/dist/testing/detectors/go.d.ts.map +1 -0
- package/dist/testing/detectors/go.js +38 -0
- package/dist/testing/detectors/go.js.map +1 -0
- package/dist/testing/detectors/index.d.ts +8 -0
- package/dist/testing/detectors/index.d.ts.map +1 -0
- package/dist/testing/detectors/index.js +46 -0
- package/dist/testing/detectors/index.js.map +1 -0
- package/dist/testing/detectors/package-json.d.ts +3 -0
- package/dist/testing/detectors/package-json.d.ts.map +1 -0
- package/dist/testing/detectors/package-json.js +52 -0
- package/dist/testing/detectors/package-json.js.map +1 -0
- package/dist/testing/detectors/python.d.ts +3 -0
- package/dist/testing/detectors/python.d.ts.map +1 -0
- package/dist/testing/detectors/python.js +37 -0
- package/dist/testing/detectors/python.js.map +1 -0
- package/dist/testing/detectors/rust.d.ts +3 -0
- package/dist/testing/detectors/rust.d.ts.map +1 -0
- package/dist/testing/detectors/rust.js +39 -0
- package/dist/testing/detectors/rust.js.map +1 -0
- package/dist/testing/generators/contract.d.ts +14 -0
- package/dist/testing/generators/contract.d.ts.map +1 -0
- package/dist/testing/generators/contract.js +163 -0
- package/dist/testing/generators/contract.js.map +1 -0
- package/dist/testing/generators/e2e.d.ts +34 -0
- package/dist/testing/generators/e2e.d.ts.map +1 -0
- package/dist/testing/generators/e2e.js +74 -0
- package/dist/testing/generators/e2e.js.map +1 -0
- package/dist/testing/generators/go.d.ts +12 -0
- package/dist/testing/generators/go.d.ts.map +1 -0
- package/dist/testing/generators/go.js +144 -0
- package/dist/testing/generators/go.js.map +1 -0
- package/dist/testing/generators/nodejs.d.ts +12 -0
- package/dist/testing/generators/nodejs.d.ts.map +1 -0
- package/dist/testing/generators/nodejs.js +37 -0
- package/dist/testing/generators/nodejs.js.map +1 -0
- package/dist/testing/generators/python.d.ts +12 -0
- package/dist/testing/generators/python.d.ts.map +1 -0
- package/dist/testing/generators/python.js +163 -0
- package/dist/testing/generators/python.js.map +1 -0
- package/dist/testing/generators/react.d.ts +12 -0
- package/dist/testing/generators/react.d.ts.map +1 -0
- package/dist/testing/generators/react.js +31 -0
- package/dist/testing/generators/react.js.map +1 -0
- package/dist/testing/generators/rust.d.ts +11 -0
- package/dist/testing/generators/rust.d.ts.map +1 -0
- package/dist/testing/generators/rust.js +138 -0
- package/dist/testing/generators/rust.js.map +1 -0
- package/dist/testing/index.d.ts +6 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +11 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/integrations/autopilot.d.ts +42 -0
- package/dist/testing/integrations/autopilot.d.ts.map +1 -0
- package/dist/testing/integrations/autopilot.js +55 -0
- package/dist/testing/integrations/autopilot.js.map +1 -0
- package/dist/testing/integrations/cicd.d.ts +26 -0
- package/dist/testing/integrations/cicd.d.ts.map +1 -0
- package/dist/testing/integrations/cicd.js +162 -0
- package/dist/testing/integrations/cicd.js.map +1 -0
- package/dist/testing/integrations/giskard/behavioral-tests.d.ts +4 -0
- package/dist/testing/integrations/giskard/behavioral-tests.d.ts.map +1 -0
- package/dist/testing/integrations/giskard/behavioral-tests.js +66 -0
- package/dist/testing/integrations/giskard/behavioral-tests.js.map +1 -0
- package/dist/testing/integrations/giskard/types.d.ts +35 -0
- package/dist/testing/integrations/giskard/types.d.ts.map +1 -0
- package/dist/testing/integrations/giskard/types.js +2 -0
- package/dist/testing/integrations/giskard/types.js.map +1 -0
- package/dist/testing/integrations/promptfoo/config-generator.d.ts +5 -0
- package/dist/testing/integrations/promptfoo/config-generator.d.ts.map +1 -0
- package/dist/testing/integrations/promptfoo/config-generator.js +44 -0
- package/dist/testing/integrations/promptfoo/config-generator.js.map +1 -0
- package/dist/testing/integrations/promptfoo/types.d.ts +36 -0
- package/dist/testing/integrations/promptfoo/types.d.ts.map +1 -0
- package/dist/testing/integrations/promptfoo/types.js +2 -0
- package/dist/testing/integrations/promptfoo/types.js.map +1 -0
- package/dist/testing/integrations/ralph.d.ts +65 -0
- package/dist/testing/integrations/ralph.d.ts.map +1 -0
- package/dist/testing/integrations/ralph.js +69 -0
- package/dist/testing/integrations/ralph.js.map +1 -0
- package/dist/testing/performance/cache-manager.d.ts +16 -0
- package/dist/testing/performance/cache-manager.d.ts.map +1 -0
- package/dist/testing/performance/cache-manager.js +39 -0
- package/dist/testing/performance/cache-manager.js.map +1 -0
- package/dist/testing/performance/parallel-generator.d.ts +23 -0
- package/dist/testing/performance/parallel-generator.d.ts.map +1 -0
- package/dist/testing/performance/parallel-generator.js +31 -0
- package/dist/testing/performance/parallel-generator.js.map +1 -0
- package/dist/testing/types.d.ts +23 -0
- package/dist/testing/types.d.ts.map +1 -0
- package/dist/testing/types.js +2 -0
- package/dist/testing/types.js.map +1 -0
- package/docs/2026-03-06-llm-testing-system-phase1.md +0 -0
- package/docs/plans/2026-03-06-llm-testing-system-design.md +311 -0
- package/docs/plans/2026-03-06-llm-testing-system-phase1.md +1268 -0
- package/docs/plans/2026-03-06-llm-testing-system-phase2.md +3053 -0
- package/docs/plans/2026-03-06-llm-testing-system-phase3.md +1830 -0
- package/docs/testing/PHASE2.md +266 -0
- package/docs/testing/PHASE3.md +601 -0
- package/docs/testing/README.md +634 -0
- package/package.json +1 -1
- package/skills/test-gen/skill.md +531 -0
- package/skills/ultraqa.md +58 -0
package/README.md
CHANGED
|
@@ -311,10 +311,60 @@ Tag behavior:
|
|
|
311
311
|
|
|
312
312
|
---
|
|
313
313
|
|
|
314
|
+
## Testing
|
|
315
|
+
|
|
316
|
+
oh-my-claudecode now supports advanced test generation across multiple languages:
|
|
317
|
+
|
|
318
|
+
```bash
|
|
319
|
+
# Node.js/TypeScript
|
|
320
|
+
omc test gen src/utils/math.ts
|
|
321
|
+
|
|
322
|
+
# Python
|
|
323
|
+
omc test gen src/utils/math.py
|
|
324
|
+
|
|
325
|
+
# Go
|
|
326
|
+
omc test gen pkg/math/math.go
|
|
327
|
+
|
|
328
|
+
# Rust
|
|
329
|
+
omc test gen src/math.rs
|
|
330
|
+
|
|
331
|
+
# Coverage analysis
|
|
332
|
+
omc test analyze
|
|
333
|
+
|
|
334
|
+
# Contract testing
|
|
335
|
+
omc test contract api/openapi.yaml
|
|
336
|
+
|
|
337
|
+
# Detect project tech stack
|
|
338
|
+
omc test detect-stack
|
|
339
|
+
|
|
340
|
+
# Phase 3: Advanced features
|
|
341
|
+
omc test promptfoo src/prompts/code-review.txt
|
|
342
|
+
omc test e2e "User logs in, navigates to dashboard"
|
|
343
|
+
omc test giskard src/models/classifier.ts
|
|
344
|
+
omc test cicd -l nodejs
|
|
345
|
+
omc test quality tests/utils/parser.test.ts
|
|
346
|
+
|
|
347
|
+
# Use the skill for advanced features
|
|
348
|
+
/test-gen src/services/payment.ts --coverage-analysis
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
**Features:**
|
|
352
|
+
- Multi-language support (Node.js, Python, Go, Rust)
|
|
353
|
+
- Coverage analysis and gap identification
|
|
354
|
+
- Complexity-based test generation routing
|
|
355
|
+
- API contract testing (Pact/Supertest/MSW)
|
|
356
|
+
- **Phase 3**: Promptfoo LLM testing, E2E generation, Giskard behavioral tests, CI/CD workflows, test quality scoring
|
|
357
|
+
- Integrated with `/ultraqa`, `/tdd`, and `/autopilot` workflows
|
|
358
|
+
|
|
359
|
+
See [Testing Documentation](docs/testing/README.md) for details.
|
|
360
|
+
|
|
361
|
+
---
|
|
362
|
+
|
|
314
363
|
## Documentation
|
|
315
364
|
|
|
316
365
|
- **[Full Reference](docs/REFERENCE.md)** - Complete feature documentation
|
|
317
366
|
- **[CLI Reference](https://yeachan-heo.github.io/oh-my-claudecode-website/docs.html#cli-reference)** - All `omc` commands, flags, and tools
|
|
367
|
+
- **[Testing Guide](docs/testing/README.md)** - LLM-driven test generation system
|
|
318
368
|
- **[Notifications Guide](https://yeachan-heo.github.io/oh-my-claudecode-website/docs.html#notifications)** - Discord, Telegram, Slack, and webhook setup
|
|
319
369
|
- **[Recommended Workflows](https://yeachan-heo.github.io/oh-my-claudecode-website/docs.html#workflows)** - Battle-tested skill chains for common tasks
|
|
320
370
|
- **[Release Notes](https://yeachan-heo.github.io/oh-my-claudecode-website/docs.html#release-notes)** - What's new in each version
|
package/agents/test-engineer.md
CHANGED
|
@@ -11,6 +11,23 @@ model: claude-sonnet-4-6
|
|
|
11
11
|
You are not responsible for feature implementation (executor), code quality review (quality-reviewer), or security testing (security-reviewer).
|
|
12
12
|
</Role>
|
|
13
13
|
|
|
14
|
+
<Integration_With_Test_Gen_Skill>
|
|
15
|
+
When user asks to "generate tests" or "add tests", prefer using the `/test-gen` skill:
|
|
16
|
+
|
|
17
|
+
- `/test-gen` handles tech stack detection and complexity analysis automatically
|
|
18
|
+
- For simple code, `/test-gen` generates tests directly using CLI commands
|
|
19
|
+
- For complex code, `/test-gen` will delegate to test-engineer with enriched context (detected stack, complexity metrics)
|
|
20
|
+
- For test strategy and planning, use test-engineer directly
|
|
21
|
+
- For test debugging and flaky test fixes, use test-engineer directly
|
|
22
|
+
|
|
23
|
+
When invoked by `/test-gen` for complex code, you will receive:
|
|
24
|
+
- Detected tech stack (frontend/backend frameworks, test frameworks, databases, APIs)
|
|
25
|
+
- Complexity analysis (function size, cyclomatic complexity, dependencies)
|
|
26
|
+
- Generated test framework (basic structure to build upon)
|
|
27
|
+
|
|
28
|
+
Use this context to generate comprehensive test cases that cover edge cases, error scenarios, and business logic validation.
|
|
29
|
+
</Integration_With_Test_Gen_Skill>
|
|
30
|
+
|
|
14
31
|
<Why_This_Matters>
|
|
15
32
|
Tests are executable documentation of expected behavior. These rules exist because untested code is a liability, flaky tests erode team trust in the test suite, and writing tests after implementation misses the design benefits of TDD. Good tests catch regressions before users do.
|
|
16
33
|
</Why_This_Matters>
|
|
@@ -101,3 +118,60 @@ model: claude-sonnet-4-6
|
|
|
101
118
|
- For TDD: did I write the failing test first?
|
|
102
119
|
</Final_Checklist>
|
|
103
120
|
</Agent_Prompt>
|
|
121
|
+
|
|
122
|
+
## Enhanced Integration with Test Generation System
|
|
123
|
+
|
|
124
|
+
### Automatic Context Enrichment
|
|
125
|
+
|
|
126
|
+
When invoked for test generation, test-engineer receives enriched context:
|
|
127
|
+
|
|
128
|
+
- **Tech Stack**: Detected frameworks, languages, and test tools
|
|
129
|
+
- **Complexity Analysis**: Metrics including cyclomatic complexity, nesting levels, external dependencies
|
|
130
|
+
- **Suggested Approach**:
|
|
131
|
+
- `auto-generate`: Simple code, generate tests automatically
|
|
132
|
+
- `guided`: Complex code, ask user for clarification
|
|
133
|
+
- `manual`: Very complex, provide framework and guidance only
|
|
134
|
+
|
|
135
|
+
### Workflow for Complex Code
|
|
136
|
+
|
|
137
|
+
When complexity is `complex`:
|
|
138
|
+
|
|
139
|
+
1. **Review Context**: Examine complexity metrics and reasons
|
|
140
|
+
2. **Ask Questions**: Use pre-generated questions based on complexity reasons
|
|
141
|
+
3. **Generate Test Framework**: Create test structure with placeholders
|
|
142
|
+
4. **Fill in Details**: Based on user answers, complete test cases
|
|
143
|
+
5. **Verify Coverage**: Ensure all identified complexity factors are tested
|
|
144
|
+
|
|
145
|
+
### Example Invocation
|
|
146
|
+
|
|
147
|
+
```typescript
|
|
148
|
+
const context = await prepareTestEngineerContext({
|
|
149
|
+
filePath: 'src/services/payment.ts',
|
|
150
|
+
code: paymentServiceCode,
|
|
151
|
+
projectRoot: '/project/root',
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
// Context includes:
|
|
155
|
+
// - techStack: { backend: { language: 'nodejs', testFramework: 'vitest' } }
|
|
156
|
+
// - complexity: 'complex'
|
|
157
|
+
// - complexityMetrics: { lines: 75, cyclomaticComplexity: 15, ... }
|
|
158
|
+
// - suggestedApproach: 'guided'
|
|
159
|
+
// - questionsForUser: ['What payment flows...', 'Should I mock...']
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Integration with /test-gen Skill
|
|
163
|
+
|
|
164
|
+
The `/test-gen` skill automatically prepares this context before delegating to test-engineer:
|
|
165
|
+
|
|
166
|
+
1. User runs `/test-gen src/services/payment.ts`
|
|
167
|
+
2. System detects tech stack and analyzes complexity
|
|
168
|
+
3. If complex, prepares questions and delegates to test-engineer
|
|
169
|
+
4. Test-engineer asks questions and generates comprehensive tests
|
|
170
|
+
5. System verifies tests and commits
|
|
171
|
+
|
|
172
|
+
### Success Criteria
|
|
173
|
+
|
|
174
|
+
- [ ] Context preparation includes all necessary information
|
|
175
|
+
- [ ] Questions are relevant to complexity reasons
|
|
176
|
+
- [ ] Test-engineer can generate appropriate tests for both simple and complex code
|
|
177
|
+
- [ ] Integration with /test-gen skill is seamless
|