Skip to main content
Thank you for your interest in contributing to Anchor! All contributions are welcome.

Ways to contribute

  • Report bugs and request features via GitHub Issues
  • Improve documentation
  • Fix bugs
  • Add features
  • Write tests
  • Share examples

Getting started

Find an issue

Check out issues labeled:

Claim an issue

Comment on the issue to claim it, then fork and open a PR.

Development guidelines

Before coding

While coding

  • Submit a draft PR early
  • Only change code relevant to your PR
  • Keep comments under 80 characters per line
  • Write adversarial tests (test failure cases, not just success)

After coding

  • Build docs with cargo doc --open and fix broken links
  • Update CLI templates if needed
  • Add new test folders to CI

Code of conduct

Be respectful and constructive. See CODE_OF_CONDUCT.md.

Development setup

# Clone repository
git clone https://github.com/solana-foundation/anchor
cd anchor

# Install dependencies (Rust, Solana CLI, Node.js)
# See installation guide

# Build Anchor
cargo build

# Run tests
cargo test

Project structure

  • lang/ - Core Anchor framework
  • cli/ - Anchor CLI implementation
  • client/ - Rust client library
  • ts/ - TypeScript client library
  • spl/ - SPL program integrations
  • tests/ - Integration tests and examples

Submitting PRs

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Update documentation
  6. Submit PR with clear description

PR review process

  • Maintainers will review your PR
  • Address any feedback
  • Once approved, PR will be merged

Communication

License

Contributions are licensed under Apache 2.0.

Recognition

Contributors are recognized in the README. Thank you for helping make Anchor better! 🙏

Build docs developers (and LLMs) love