Files
everything-claude-code/.opencode/commands/go-review.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

72 lines
1.7 KiB
Markdown

---
description: Go code review for idiomatic patterns
agent: go-reviewer
subtask: true
---
# Go Review Command
Review Go code for idiomatic patterns and best practices: $ARGUMENTS
## Your Task
1. **Analyze Go code** for idioms and patterns
2. **Check concurrency** - goroutines, channels, mutexes
3. **Review error handling** - proper error wrapping
4. **Verify performance** - allocations, bottlenecks
## Review Checklist
### Idiomatic Go
- [ ] Package naming (lowercase, no underscores)
- [ ] Variable naming (camelCase, short)
- [ ] Interface naming (ends with -er)
- [ ] Error naming (starts with Err)
### Error Handling
- [ ] Errors are checked, not ignored
- [ ] Errors wrapped with context (`fmt.Errorf("...: %w", err)`)
- [ ] Sentinel errors used appropriately
- [ ] Custom error types when needed
### Concurrency
- [ ] Goroutines properly managed
- [ ] Channels buffered appropriately
- [ ] No data races (use `-race` flag)
- [ ] Context passed for cancellation
- [ ] WaitGroups used correctly
### Performance
- [ ] Avoid unnecessary allocations
- [ ] Use `sync.Pool` for frequent allocations
- [ ] Prefer value receivers for small structs
- [ ] Buffer I/O operations
### Code Organization
- [ ] Small, focused packages
- [ ] Clear dependency direction
- [ ] Internal packages for private code
- [ ] Godoc comments on exports
## Report Format
### Idiomatic Issues
- [file:line] Issue description
Suggestion: How to fix
### Error Handling Issues
- [file:line] Issue description
Suggestion: How to fix
### Concurrency Issues
- [file:line] Issue description
Suggestion: How to fix
### Performance Issues
- [file:line] Issue description
Suggestion: How to fix
---
**TIP**: Run `go vet` and `staticcheck` for additional automated checks.