Thank you for your interest in contributing! This guide will help you get started.
This project uses a solo maintainer + AI agent team development model. The human maintainer (arcaven) directs a team of AI agents that handle most implementation work. All PRs are reviewed by the maintainer before merge.
You don't need to use AI agents to contribute -- just follow this guide and submit a PR like any other open-source project.
- Rust 1.85+ -- install
- just -- install
- nightly rustfmt --
rustup component add rustfmt --toolchain nightly
git clone https://github.com/ArcavenAE/forestage.git
cd forestage
just build # Build
just test # Run tests
just lint # Run linter (clippy)
just fmt # Format code (nightly rustfmt)Open a Bug Report and include:
- Version or commit hash
- Operating system
- Steps to reproduce
- Expected vs actual behavior
Open a Feature Request.
This project is part of the Arcaven Agentic Engineering platform. Features should align with the project's design values: user sovereignty, composability over frameworks, and gradual elaboration.
- Fork the repo and create a feature branch from
develop:git checkout -b feat/your-feature
- Write tests for your changes
- Run the full quality gate:
just fmt just lint just test - Create a PR using the PR template
type(scope): description
Types: feat, fix, docs, style, refactor, perf, test, build, ci, chore
Examples:
feat: add session timeout configurationfix: prevent crash on empty inputdocs: update installation guide
Rules:
- Imperative, present tense ("add feature" not "added feature")
- No capitalized first letter in description
- No period at end
- Safety:
#![forbid(unsafe_code)]in all crates - No
unwrap()in production code -- use?orexpect()with an actionable message - Error types:
thiserrorfor structured error enums - Formatting:
cargo +nightly fmt --all - Linting:
cargo clippy -- -D warningsmust pass
See CLAUDE.md for the complete coding standards.
- Heavy dependencies where the standard library suffices
- Telemetry, analytics, or phone-home features
- Features that create vendor lock-in or external service dependencies
- Code that stores or manages credentials (auth is always delegated)
unsafecode
This project is MIT licensed. By contributing, you agree that your contributions will be licensed under the same license.