Contributing
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 aiboxStart 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 buildRun the tests:
cargo test cargo clippy -- -D warnings cargo fmt -- --check
Project Structure
cli/— Rust CLI source codeimages/— Published container image Dockerfilesaddons/— Addon definitions (language runtimes, tool bundles, AI agents)docs-site/— Hugo/Docsy documentation source.devcontainer/— This project’s own dev environment
Process content (skills, packages, primitives, processes, the canonical
AGENTS.md) lives in processkit, not in this repository. As of v0.16.0 aibox no longer ships atemplates/directory or aschemas/directory — both have moved upstream to processkit.
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-site/docs/ - Update
docs-site/sidebars.jsif adding new pages - Preview locally:
./scripts/maintain.sh docs-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