mirror of
https://github.com/affaan-m/ECC.git
synced 2026-08-24 00:12:25 +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
57 lines
1.6 KiB
Markdown
57 lines
1.6 KiB
Markdown
---
|
|
description: Fix build and TypeScript errors with minimal changes
|
|
agent: build-error-resolver
|
|
subtask: true
|
|
---
|
|
|
|
# Build Fix Command
|
|
|
|
Fix build and TypeScript errors with minimal changes: $ARGUMENTS
|
|
|
|
## Your Task
|
|
|
|
1. **Run type check**: `npx tsc --noEmit`
|
|
2. **Collect all errors**
|
|
3. **Fix errors one by one** with minimal changes
|
|
4. **Verify each fix** doesn't introduce new errors
|
|
5. **Run final check** to confirm all errors resolved
|
|
|
|
## Approach
|
|
|
|
### DO:
|
|
- PASS: Fix type errors with correct types
|
|
- PASS: Add missing imports
|
|
- PASS: Fix syntax errors
|
|
- PASS: Make minimal changes
|
|
- PASS: Preserve existing behavior
|
|
- PASS: Run `tsc --noEmit` after each change
|
|
|
|
### DON'T:
|
|
- FAIL: Refactor code
|
|
- FAIL: Add new features
|
|
- FAIL: Change architecture
|
|
- FAIL: Use `any` type (unless absolutely necessary)
|
|
- FAIL: Add `@ts-ignore` comments
|
|
- FAIL: Change business logic
|
|
|
|
## Common Error Fixes
|
|
|
|
| Error | Fix |
|
|
|-------|-----|
|
|
| Type 'X' is not assignable to type 'Y' | Add correct type annotation |
|
|
| Property 'X' does not exist | Add property to interface or fix property name |
|
|
| Cannot find module 'X' | Install package or fix import path |
|
|
| Argument of type 'X' is not assignable | Cast or fix function signature |
|
|
| Object is possibly 'undefined' | Add null check or optional chaining |
|
|
|
|
## Verification Steps
|
|
|
|
After fixes:
|
|
1. `npx tsc --noEmit` - should show 0 errors
|
|
2. `npm run build` - should succeed
|
|
3. `npm test` - tests should still pass
|
|
|
|
---
|
|
|
|
**IMPORTANT**: Focus on fixing errors only. No refactoring, no improvements, no architectural changes. Get the build green with minimal diff.
|