|
| 1 | +# Community & Open Source |
| 2 | + |
| 3 | +RustAPI is an independent open-source project. Contributions, questions, and feedback are welcome. |
| 4 | + |
| 5 | +## Get help |
| 6 | + |
| 7 | +| Channel | Best for | |
| 8 | +|---------|----------| |
| 9 | +| [GitHub Discussions](https://github.com/Tuntii/RustAPI/discussions) | Questions, ideas, show-and-tell | |
| 10 | +| [GitHub Issues](https://github.com/Tuntii/RustAPI/issues) | Bugs and feature requests | |
| 11 | +| [Cookbook](cookbook/src/SUMMARY.md) | Guides, recipes, architecture | |
| 12 | +| [docs.rs](https://docs.rs/rustapi-rs) | API reference | |
| 13 | + |
| 14 | +Before opening an issue, search existing issues and discussions. For bugs, include Rust version, feature flags, and a minimal reproduction when possible. |
| 15 | + |
| 16 | +## Contribute |
| 17 | + |
| 18 | +We accept contributions of all sizes: |
| 19 | + |
| 20 | +- **Code** — bug fixes, features, tests, benchmarks |
| 21 | +- **Documentation** — README, cookbook, examples, typo fixes |
| 22 | +- **Examples** — in-repo samples or the [examples repository](https://github.com/Tuntii/rustapi-rs-examples) |
| 23 | +- **Community** — issue triage, discussion answers, release testing |
| 24 | + |
| 25 | +Start here: |
| 26 | + |
| 27 | +1. Read [CONTRIBUTING.md](../CONTRIBUTING.md) for setup, testing, and PR workflow |
| 28 | +2. Read [CODE_OF_CONDUCT.md](../CODE_OF_CONDUCT.md) |
| 29 | +3. Pick an issue labeled [`good first issue`](https://github.com/Tuntii/RustAPI/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) or [`help wanted`](https://github.com/Tuntii/RustAPI/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) when available |
| 30 | +4. Fork → branch → PR (squash merge to `main`) |
| 31 | + |
| 32 | +### Documentation contributions |
| 33 | + |
| 34 | +Documentation lives in several places: |
| 35 | + |
| 36 | +| Location | Contents | |
| 37 | +|----------|----------| |
| 38 | +| `README.md` | Project overview and quick start | |
| 39 | +| `docs/` | Standalone guides (getting started, architecture, production) | |
| 40 | +| `docs/cookbook/src/` | mdBook cookbook source | |
| 41 | +| `crates/*/README.md` | Per-crate overviews | |
| 42 | +| `CHANGELOG.md` / `RELEASES.md` | Release history | |
| 43 | + |
| 44 | +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. |
| 45 | + |
| 46 | +### Public API changes |
| 47 | + |
| 48 | +User-facing API surface is defined by the `rustapi-rs` facade. Changes that affect public types or feature flags may require: |
| 49 | + |
| 50 | +- Updates to `api/public/` snapshots (CI enforces labels on PRs) |
| 51 | +- A [CHANGELOG.md](../CHANGELOG.md) entry |
| 52 | +- Migration notes in the cookbook when behavior changes |
| 53 | + |
| 54 | +See [CONTRACT.md](../CONTRACT.md) for stability rules. |
| 55 | + |
| 56 | +## Project values |
| 57 | + |
| 58 | +- **Stable facade** — application code imports `rustapi-rs`, not internal crates |
| 59 | +- **Evidence over claims** — benchmarks and behavior changes should be test-backed |
| 60 | +- **Small, reviewable PRs** — easier to merge and safer for contributors |
| 61 | +- **Respectful collaboration** — see the Code of Conduct |
| 62 | + |
| 63 | +## Releases |
| 64 | + |
| 65 | +Releases are tagged `v0.1.<commit-count>` and published to [crates.io](https://crates.io/crates/rustapi-rs). See [CHANGELOG.md](../CHANGELOG.md) and [RELEASES.md](../RELEASES.md) for notes. |
| 66 | + |
| 67 | +## Security |
| 68 | + |
| 69 | +Report vulnerabilities privately per [SECURITY.md](../SECURITY.md). Do not open public issues for undisclosed security problems. |
| 70 | + |
| 71 | +## License |
| 72 | + |
| 73 | +MIT OR Apache-2.0, at your option. See [LICENSE-MIT](../LICENSE-MIT) and [LICENSE-APACHE](../LICENSE-APACHE). |
0 commit comments