Thanks for your interest in contributing to nanoaios.
This project aims to keep an AIOS-native core simple, reliable, and production-oriented.
- Keep the core minimal and composable.
- Preserve clear layer boundaries (
Kernel -> Runtime -> Provider -> API). - Prefer explicit behavior over hidden magic.
- Ship changes that are testable and observable.
Requirements:
- Rust stable toolchain
- Linux/macOS shell environment
Run locally:
cargo run -- init
cargo run -- startSmoke test:
curl -s http://127.0.0.1:4242/healthz
cargo run -- chat "smoke test"Please ensure all checks pass:
cargo fmt -- --check
cargo clippy -- -D warnings
cargo testFor runtime-related changes, also run:
cargo run -- init --force
cargo run -- chat "runtime check"- Use small, atomic commits.
- Write concise commit messages with intent.
- Suggested prefixes:
feat:new functionalityfix:bug fixdocs:documentation updatesrefactor:non-behavioral code improvementstest:test-only changes
Example:
feat(runtime): add provider timeout handling
A good PR should include:
- What changed
- Why it changed
- How it was tested
- Any follow-up work (if needed)
Keep PR scope focused. If a change touches multiple concerns, split it into separate PRs.
When opening an issue, include:
- Environment (
rustc --version, OS) - Reproduction steps
- Expected behavior
- Actual behavior
- Relevant logs/output
Be respectful and constructive. Harassment, discrimination, or personal attacks are not tolerated.