Thanks for your interest! Here's how to get started.
git clone https://github.com/GrapeInTheTree/pocket-claude.git
cd pocket-claude
cp .env.example .env # fill in your Telegram token and chat ID
go mod download- Fork the repo
- Create a branch (
git checkout -b feature/my-feature) - Make changes
- Run checks:
make ci(fmt + vet + build + test with race detector) - Commit with a clear message
- Open a pull request
- Follow standard Go conventions (
gofmt,go vet) - Keep functions short and focused
- Add tests for new functionality
- Use
anyinstead ofinterface{}
cmd/pocket-claude/ Entry point
internal/
bot/ Telegram listener, commands
claude/ CLI execution, session tracking
config/ Environment config, logger
project/ Multi-project management
store/ JSON persistence
worker/ Message queue, background pool, ralph loop
make test # all tests
make test-race # with race detector
make ci # full pipeline (fmt + vet + build + test)- Bug reports: include logs (
bot.log) with sensitive data redacted - Feature requests: describe the use case, not just the solution
By contributing, you agree that your contributions will be licensed under the MIT License.