Thanks for your interest in contributing! Here's how to get started.
git clone https://github.com/quantum-bytes/oclaw
cd oclaw
make buildRequirements: Go version matching go.mod (currently 1.26+)
make build # Build binary
make test # Run tests
make lint # Run linter (requires golangci-lint)
make fmt # Format code
make vet # Run go vet- Fork the repository
- Create a feature branch (
git checkout -b feat/my-feature) - Make your changes
- Ensure
make fmt vet testpasses - Commit with a descriptive message (see below)
- Push and open a Pull Request
Follow conventional commit style:
feat: add agent filtering— new featurefix: handle nil session— bug fixdocs: update keybindings table— documentationrefactor: extract message parser— code restructuretest: add gateway client tests— testschore: update dependencies— maintenance
- Run
go fmt ./...before committing - Run
go vet ./...to catch issues - Keep functions focused and short
- Add tests for new functionality
- Use the GitHub issue templates (bug report or feature request)
- Include your OS, terminal emulator, and oclaw version
- For bugs, include steps to reproduce and debug logs (
OCLAW_DEBUG=1)
All PRs require review before merging. Reviewers will check:
- Correctness and test coverage
- Code style and readability
- Security implications (especially for input handling and auth)