Development
bash
make build # Build binary
make test # Run all tests
make vet # Static analysis
make lint # Run linters (requires golangci-lint)
make cover # Coverage report (enforces 100% coverage)
make install # Install to $GOPATH/bin
make clean # Remove build artifactsAll pull requests must pass CI, which enforces:
go vet ./...with zero warnings- 100% test coverage
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Make your changes
- Update documentation if your change affects user-facing behavior (see
CLAUDE.mdfor the code → docs mapping) - Ensure tests pass:
make test && make vet - Commit and push
- Open a pull request
Please follow the existing code style: one file per subcommand, table-driven tests with httptest.NewServer, and fmt.Errorf("context: %w", err) for error wrapping.
Documentation
When your changes affect user-facing behavior (new commands, changed flags, new MCP tools), update:
README.md— the relevant sectiondocs/— the corresponding VitePress pagedocs/public/llms.txtandllms-full.txt— if CLI commands or MCP tools changed
See CLAUDE.md for the full code → documentation mapping.
CI will post a reminder comment on PRs that modify user-facing code without documentation changes.