RustAPI is an independent open-source project. Contributions, questions, and feedback are welcome.
| Channel | Best for |
|---|---|
| GitHub Discussions | Questions, ideas, show-and-tell |
| GitHub Issues | Bugs and feature requests |
| Cookbook | Guides, recipes, architecture |
| docs.rs | API reference |
Before opening an issue, search existing issues and discussions. For bugs, include Rust version, feature flags, and a minimal reproduction when possible.
We accept contributions of all sizes:
- Code — bug fixes, features, tests, benchmarks
- Documentation — README, cookbook, examples, typo fixes
- Examples — in-repo samples or the examples repository
- Community — issue triage, discussion answers, release testing
Start here:
- Read CONTRIBUTING.md for setup, testing, and PR workflow
- Read CODE_OF_CONDUCT.md
- Pick an issue labeled
good first issueorhelp wantedwhen available - Fork → branch → PR (squash merge to
main)
Documentation lives in several places:
| Location | Contents |
|---|---|
README.md |
Project overview and quick start |
docs/ |
Standalone guides (getting started, architecture, production) |
docs/cookbook/src/ |
mdBook cookbook source |
crates/*/README.md |
Per-crate overviews |
CHANGELOG.md / RELEASES.md |
Release history |
When you change public behavior, update the cookbook recipe or reference page that matches the feature. When you only fix internals, a CHANGELOG entry under Changed or Fixed is enough.
Key docs to keep in sync on release:
- Version pins in
docs/GETTING_STARTED.md, cookbook recipes, andREADME.md - Production Baseline and Production Checklist when defaults change
- RustAPI Cloud recipe when CLI cloud commands change
User-facing API surface is defined by the rustapi-rs facade. Changes that affect public types or feature flags may require:
- Updates to
api/public/snapshots (CI enforces labels on PRs) - A CHANGELOG.md entry
- Migration notes in the cookbook when behavior changes
See CONTRACT.md for stability rules.
- Stable facade — application code imports
rustapi-rs, not internal crates - Evidence over claims — benchmarks and behavior changes should be test-backed
- Small, reviewable PRs — easier to merge and safer for contributors
- Respectful collaboration — see the Code of Conduct
Releases are tagged v0.1.<commit-count> and published to crates.io. See CHANGELOG.md and RELEASES.md for notes.
Repository split: RustAPI Cloud backend development happens in RustAPI-Cloud. This repo ships the framework and CLI only.
Report vulnerabilities privately per SECURITY.md. Do not open public issues for undisclosed security problems.
MIT OR Apache-2.0, at your option. See LICENSE-MIT and LICENSE-APACHE.