Contributing
Thank you for your interest in contributing to aibox!
Getting Started
-
Fork and clone the repository:
git clone https://github.com/projectious-work/aibox.git
cd aibox -
Start the development container:
cd .devcontainer
docker compose up -d
docker compose exec aibox bashOr open in VS Code with the Dev Containers extension.
-
Build the CLI:
cd cli
cargo build -
Run the tests:
cargo test
cargo clippy -- -D warnings
cargo fmt -- --check
Project Structure
cli/— Rust CLI source codeimages/— Published container image Dockerfilestemplates/— Work process flavor templatesschemas/— Context schema documentsdocs/— MkDocs documentation source.devcontainer/— This project's own dev environment
See CLAUDE.md for detailed architecture notes.
Development Workflow
CLI Changes
- Make your changes in
cli/src/ - Run
cargo testto verify all tests pass - Run
cargo clippy -- -D warningsfor lint checks - Run
cargo fmtto format code
Image Changes
- Edit the relevant Dockerfile in
images/ - Build locally to verify:
docker build -t aibox-test images/<flavor>/ - Test that derived images still build if you changed the base
Documentation Changes
- Edit or add pages in
docs/ - Update
mkdocs.ymlnav if adding new pages - Preview locally:
mkdocs serve
Pull Requests
- Keep PRs focused on a single change
- Include a clear description of what and why
- Ensure all tests pass and clippy is clean
- Update documentation if your change affects user-facing behavior
Reporting Issues
File issues at github.com/projectious-work/aibox/issues.
When filing an issue, please:
- Use a descriptive title
- Label it:
bugfor broken behavior,enhancementfor feature requests,documentationfor doc gaps - Include steps to reproduce (for bugs) or a use case description (for enhancements)
- Mention the aibox version (
aibox --version) and container image flavor if relevant