Overview
Thanks for your interest in contributing! This guide covers everything you need to get started.
Quick Links
Section titled “Quick Links”| Guide | Description |
|---|---|
| Development | Set up your dev environment |
| Testing | Run and write tests |
| Benchmarking | Run performance benchmarks |
| Release Process | How releases work |
| Website OG Images | How OG images are generated |
Pull Request Process
Section titled “Pull Request Process”- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Make your changes
- Run tests and linting:
Terminal window cargo fmtcargo clippycargo test - Commit with a clear message
- Push and open a PR
PR Expectations
Section titled “PR Expectations”- Describe what the PR does and why
- Keep changes focused (one feature/fix per PR)
- Update documentation if needed
- Add tests for new functionality
Reporting Issues
Section titled “Reporting Issues”- Search existing issues first
- Include reproduction steps for bugs
- Include Rust version (
rustc --version) and OS - Be specific about expected vs actual behavior
AI-Assisted Development
Section titled “AI-Assisted Development”AI coding assistants are encouraged for contributing to this project. Tools like Amp Code, Claude Code, Cursor, and similar assistants can significantly accelerate development.
Quality Requirements
Section titled “Quality Requirements”AI-generated code must meet the same standards as human-written code:
- All tests must pass genuinely - Tests verify actual behavior, not just compile
- No stubbed tests - Never use
todo!(),unimplemented!(), or hardcoded expected values to make tests pass artificially - No skipped assertions - Every test must assert meaningful behavior
- Review critically - Understand and verify all generated code before committing
Feature Design Workflow
Section titled “Feature Design Workflow”For new features or significant changes:
- Check existing designs - Review
docs/features/for related design docs - Write a design doc - For new features, create
docs/features/FEATURE_NAME.md - Implement in phases - Break large features into phases as shown in the design doc
- Test thoroughly - Add tests that verify the design requirements
- Reference in PR - Link to the design doc in your pull request
Modes of Work
Section titled “Modes of Work”When starting an AI session, consider which mode you’re in:
| Mode | Purpose | Example |
|---|---|---|
| Build | New functionality | ”Implement sample command (Phase 1)“ |
| Improve | Refactor without changing behavior | ”Extract sampler module” |
| Sweep | Fix related bugs | ”Fix all INSERT parsing edge cases” |
This prevents scope creep and keeps AI contributions focused.
Code of Conduct
Section titled “Code of Conduct”Be respectful and constructive. We’re all here to build something useful.
- Be welcoming to newcomers
- Accept constructive criticism gracefully
- Focus on what’s best for the project
- Show empathy towards others
Questions?
Section titled “Questions?”Open an issue or start a discussion.