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

1.7 KiB

description, agent, subtask
description agent subtask
Go code review for idiomatic patterns go-reviewer 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.