Contributing to Compio
July 5, 2026 ยท View on GitHub
Thanks for your help improving the project! We are so happy to have you! :tada:
There are opportunities to contribute to Compio at any level. It doesn't matter if you are just getting started with Rust or are the most weathered expert, we can use your help. If you have any question about Compio, feel free to join our group in telegram.
This guide will walk you through the process of contributing to Compio on following topics:
General guidelines
We adhere to Rust Code of Conduct. tl;dr: be nice. Before making any contribution, check existing issue and pull requests to avoid duplication of effort. Also, in case of bug, try updating to the latest version of Compio and/or rust might help.
Develop Guide
- Use nightly toolchain to develop and run
rustup updateregularly. Compio does use nightly features, behind feature gate; so, when testing with--all-featuresflag, only nightly toolchain would work. - Building with
--all-featuresmay require system-level dependencies beyond the Rust toolchain. All dependencies are defined in thedevShellspecified in the repository'sflake.nix, allowing you to set up the environment usingnix develop.
Style Guide
- Use
cargo fmt --allwith nightly toolchain to format your code (for nightlyrustfmtfeatures, see detail inrustfmt.toml). - Use
cargo clippy --allto check any style/code problem. - Use Angular Convention when making commits
- When adding new crate, add following lint headers to the top of
lib.rs:#![warn(missing_docs)] #![deny(rustdoc::broken_intra_doc_links)] #![doc(html_logo_url = "https://github.com/compio-rs/compio-logo/raw/refs/heads/master/generated/colored-bold.svg")] #![doc(html_favicon_url = "https://github.com/compio-rs/compio-logo/raw/refs/heads/master/generated/colored-bold.svg")]
Contribute with issue
If you find a bug or have a feature request, please open an issue with detailed description. Issues that are lack of information or destructive will be requested for more information or closed.
It's also helpful if you can provide the following information:
- A minimal reproducible example
- The version of Compio you are using.
- The version of Rust you are using.
- Your environment (OS, Platform, etc).
Contribute with pull request
We welcome any code contributions. It's always welcome and recommended to open an issue to discuss on major changes before opening a PR. And pull requests should:
- follow the Style Guide.
- pass CI tests and style check. You can run
cargo test --all-featureslocally to test, but result may differ from CI depend on local environment -- it might be a good chance to contribute! - be reviewed by at least one maintainer before getting merged.
- have a description of what it does and why it is needed in PR body.
AI-Generated Contributions
We do not accept pull requests that appear to be generated by LLMs without substantial human oversight and refinement. Additionally, we will not engage with PR descriptions, issue comments, or other communications that are clearly LLM-generated.
All contributions should reflect genuine understanding of the codebase and thoughtful human judgment.
When using Claude Code, please be aware that it has been found to detect users by checking the system timezone and proxy domain, then embedding the results into system prompts via steganography. Contributors are advised to use open-sourced tools.