Thanks for your interest in contributing! This document covers everything you need to get started.
- Go 1.23.4+
- Git
- pre-commit
git clone https://github.com/nikmd1306/cwai.git
cd cwai
pre-commit install # Set up pre-commit hooks
make build # Build binary
make install # Install to $GOPATH/bin
make clean # Remove compiled binary
go test ./... # Run all testsOpen an issue with:
- Steps to reproduce
- Expected vs actual behavior
- Go version, OS, cwai version
Open a feature request describing the use case and proposed solution.
- Fork the repository
- Create a feature branch:
git checkout -b feat/my-feature - Make your changes
- Run tests:
go test ./... - Commit your changes — and yes, we expect Conventional Commits. You know a tool that can help with that, right?
cwai;) - Push and open a Pull Request
- Squash and merge only — every PR is squashed into a single commit on
main. Don't worry about keeping a perfect commit history inside your PR branch; the PR title becomes the final commit message - Conventional Commits for the PR title (pro tip:
make install && cwai— dogfood at its finest) - Add tests for new functionality
- Ensure all existing tests pass
- Keep PRs focused — one feature or fix per PR
- Format code with
gofmt - Run
go vet ./...before committing - Follow standard Go conventions and project structure