mirror of
https://github.com/affaan-m/ECC.git
synced 2026-08-20 22:42:22 +02:00
The `.opencode/commands/*.md` frontmatter referenced agents with the Claude Code plugin namespace (`agent: everything-claude-code:<name>`), but ECC's opencode integration registers its agents unscoped in `opencode.json`'s `agent` map (`code-reviewer`, `planner`, ...), and that file's own `command` section already references them unscoped. The `everything-claude-code:` scope resolves under no opencode config (the opencode plugin package is `ecc-universal`, and inline-config agents are bare), so subtask commands like `/code-review` hard-fail with `Agent not found: everything-claude-code:code-reviewer`. Non-subtask commands fall back to the default agent and appear to work — which is why only some commands failed. Strip the `everything-claude-code:` prefix from all 30 command frontmatter agent ids so they match the registered agents, fix the MIGRATION.md example, and replace the test that enforced the broken scoped invariant with one that asserts each command agent id is a registered opencode agent (fails on the old scoped ids, passes on the fix). Fixes #2477
81 lines
1.6 KiB
Markdown
81 lines
1.6 KiB
Markdown
---
|
|
description: Analyze and improve test coverage
|
|
agent: tdd-guide
|
|
subtask: true
|
|
---
|
|
|
|
# Test Coverage Command
|
|
|
|
Analyze test coverage and identify gaps: $ARGUMENTS
|
|
|
|
## Your Task
|
|
|
|
1. **Run coverage report**: `npm test -- --coverage`
|
|
2. **Analyze results** - Identify low coverage areas
|
|
3. **Prioritize gaps** - Critical code first
|
|
4. **Generate missing tests** - For uncovered code
|
|
|
|
## Coverage Targets
|
|
|
|
| Code Type | Target |
|
|
|-----------|--------|
|
|
| Standard code | 80% |
|
|
| Financial logic | 100% |
|
|
| Auth/security | 100% |
|
|
| Utilities | 90% |
|
|
| UI components | 70% |
|
|
|
|
## Coverage Report Analysis
|
|
|
|
### Summary
|
|
```
|
|
File | % Stmts | % Branch | % Funcs | % Lines
|
|
---------------|---------|----------|---------|--------
|
|
All files | XX | XX | XX | XX
|
|
```
|
|
|
|
### Low Coverage Files
|
|
[Files below target, prioritized by criticality]
|
|
|
|
### Uncovered Lines
|
|
[Specific lines that need tests]
|
|
|
|
## Test Generation
|
|
|
|
For each uncovered area:
|
|
|
|
### [Function/Component Name]
|
|
|
|
**Location**: `src/path/file.ts:123`
|
|
|
|
**Coverage Gap**: [description]
|
|
|
|
**Suggested Tests**:
|
|
```typescript
|
|
describe('functionName', () => {
|
|
it('should [expected behavior]', () => {
|
|
// Test code
|
|
})
|
|
|
|
it('should handle [edge case]', () => {
|
|
// Edge case test
|
|
})
|
|
})
|
|
```
|
|
|
|
## Coverage Improvement Plan
|
|
|
|
1. **Critical** (add immediately)
|
|
- [ ] file1.ts - Auth logic
|
|
- [ ] file2.ts - Payment handling
|
|
|
|
2. **High** (add this sprint)
|
|
- [ ] file3.ts - Core business logic
|
|
|
|
3. **Medium** (add when touching file)
|
|
- [ ] file4.ts - Utilities
|
|
|
|
---
|
|
|
|
**IMPORTANT**: Coverage is a metric, not a goal. Focus on meaningful tests, not just hitting numbers.
|