First off, thank you for considering contributing to Dtact! We welcome contributions from everyone.
By participating in this project, you agree to abide by the Code of Conduct. We expect all contributors to foster a respectful and collaborative environment.
If you find a bug, please create an issue on our repository. Include as much detail as possible:
- A descriptive title.
- Steps to reproduce the issue.
- Expected behavior vs. actual behavior.
- Environment details (OS, architecture, Rust version).
We are always looking for ways to improve Dtact's design and features. If you have an idea, feel free to open a feature request issue. We are particularly interested in discussions around:
- Enhancing the P2P Mesh scheduling algorithms.
- Improving assembly-level context switchers for new architectures.
- Expanding the C FFI capabilities.
- Fork the repository and create your branch from
main. - Ensure your code formats cleanly: Run
cargo fmt. - Run the test suite: Make sure all tests pass with
cargo test. - Run benchmarks (optional but recommended for core changes): Check for performance regressions using
cargo bench. - Document your changes: Update the
README.mdor code comments if you are changing user-facing APIs or core runtime design. - Submit the PR: Provide a clear description of the problem you are solving and how your changes address it.
To get started with local development:
git clone https://github.com/Apich-Organization/dtact.git
cd dtact
cargo build
cargo testcd examples
make
./c_asyncWe aim to review pull requests promptly. We appreciate your patience. During the review, we might ask for structural changes or additional documentation. Our goal is to ensure that Dtact remains stable and maintains its unique architectural focus.
Thank you for your interest in improving Dtact!