Thank you for your interest in contributing to the Botwallet CLI! This guide will help you get started.
- Go 1.21 or later
- Make (optional, for convenience commands)
git clone https://github.com/botwallet-co/agent-cli.git
cd agent-cli
make buildmake testmake fmt
make lint # Requires golangci-lint- Fork the repository
- Create a feature branch (
git checkout -b feature/my-change) - Make your changes
- Run
make fmtandmake test - Commit with a clear message
- Open a Pull Request
Use conventional commit style:
feat: add new command-- new featuresfix: handle edge case in pay flow-- bug fixesdocs: update README examples-- documentationrefactor: simplify config loading-- code improvementstest: add frost signing tests-- test additions
- Follow standard Go conventions (
go fmt,go vet) - Keep functions focused and small
- Error messages should be actionable -- tell the user what to do, not just what went wrong
- JSON output is the default;
--humanflag enables rich formatting
cmd/ Cobra command definitions (one file per command group)
api/ HTTP client for the Botwallet API
config/ Multi-wallet configuration and key storage
output/ JSON and human-readable output formatting
solana/ Solana keypair handling and FROST threshold signing
x402/ x402 paid API discovery and client
- Use GitHub Issues
- Include your OS, Go version, and CLI version (
botwallet version) - For bugs, include the command you ran and the full output
By contributing, you agree that your contributions will be licensed under the Apache 2.0 License.