Contributing
How to contribute to Krishiv — code, docs, and architecture decisions.
Overview
Krishiv is an open-source project under the Apache License 2.0. We welcome contributions of all kinds: code, documentation, bug reports, and feature requests.
Getting Started
- Fork the repository on GitHub.
- Clone your fork and create a feature branch.
- Make your changes following the coding standards below.
- Run the CI quality gates before submitting.
- Open a pull request with a clear description of the change.
Coding Standards
- Use Rust 2024 edition.
- Run
cargo fmtbefore committing. - Run
cargo clippy --workspace --exclude krishiv-python --exclude krishiv-chaos -- -D warnings. - All public crate boundaries must have explicit error types.
- Avoid panics in library code.
- Keep async boundaries clear; do not hide blocking work inside async tasks.
Architecture Decisions
Significant changes should include an ADR (Architecture Decision Record) under docs/decisions/. See existing ADRs for the format.
Testing
cargo test --workspace --exclude krishiv-python
cargo test -p krishiv-delta
cargo test -p krishiv-api
cargo test -p krishiv-runtime