Files
everything-claude-code/.opencode/commands/refactor-clean.md
Affaan Mustafa 6d440c036d feat: complete OpenCode plugin support with hooks, tools, and commands
Major OpenCode integration overhaul:

- llms.txt: Comprehensive OpenCode documentation for LLMs (642 lines)
- .opencode/plugins/ecc-hooks.ts: All Claude Code hooks translated to OpenCode's plugin system
- .opencode/tools/*.ts: 3 custom tools (run-tests, check-coverage, security-audit)
- .opencode/commands/*.md: All 24 commands in OpenCode format
- .opencode/package.json: npm package structure for opencode-ecc
- .opencode/index.ts: Main plugin entry point

- Delete incorrect LIMITATIONS.md (hooks ARE supported via plugins)
- Rewrite MIGRATION.md with correct hook event mapping
- Update README.md OpenCode section to show full feature parity

OpenCode has 20+ events vs Claude Code's 3 phases:
- PreToolUse → tool.execute.before
- PostToolUse → tool.execute.after
- Stop → session.idle
- SessionStart → session.created
- SessionEnd → session.deleted
- Plus: file.edited, file.watcher.updated, permission.asked, todo.updated

- 12 agents: Full parity
- 24 commands: Full parity (+1 from original 23)
- 16 skills: Full parity
- Hooks: OpenCode has MORE (20+ events vs 3 phases)
- Custom Tools: 3 native OpenCode tools

The OpenCode configuration can now be:
1. Used directly: cd everything-claude-code && opencode
2. Installed via npm: npm install opencode-ecc
2026-02-05 05:14:33 -08:00

103 lines
2.1 KiB
Markdown

---
description: Remove dead code and consolidate duplicates
agent: refactor-cleaner
subtask: true
---
# Refactor Clean Command
Analyze and clean up the codebase: $ARGUMENTS
## Your Task
1. **Detect dead code** using analysis tools
2. **Identify duplicates** and consolidation opportunities
3. **Safely remove** unused code with documentation
4. **Verify** no functionality broken
## Detection Phase
### Run Analysis Tools
```bash
# Find unused exports
npx knip
# Find unused dependencies
npx depcheck
# Find unused TypeScript exports
npx ts-prune
```
### Manual Checks
- Unused functions (no callers)
- Unused variables
- Unused imports
- Commented-out code
- Unreachable code
- Unused CSS classes
## Removal Phase
### Before Removing
1. **Search for usage** - grep, find references
2. **Check exports** - might be used externally
3. **Verify tests** - no test depends on it
4. **Document removal** - git commit message
### Safe Removal Order
1. Remove unused imports first
2. Remove unused private functions
3. Remove unused exported functions
4. Remove unused types/interfaces
5. Remove unused files
## Consolidation Phase
### Identify Duplicates
- Similar functions with minor differences
- Copy-pasted code blocks
- Repeated patterns
### Consolidation Strategies
1. **Extract utility function** - for repeated logic
2. **Create base class** - for similar classes
3. **Use higher-order functions** - for repeated patterns
4. **Create shared constants** - for magic values
## Verification
After cleanup:
1. `npm run build` - builds successfully
2. `npm test` - all tests pass
3. `npm run lint` - no new lint errors
4. Manual smoke test - features work
## Report Format
```
Dead Code Analysis
==================
Removed:
- file.ts: functionName (unused export)
- utils.ts: helperFunction (no callers)
Consolidated:
- formatDate() and formatDateTime() → dateUtils.format()
Remaining (manual review needed):
- oldComponent.tsx: potentially unused, verify with team
```
---
**CAUTION**: Always verify before removing. When in doubt, ask or add `// TODO: verify usage` comment.