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.gitcd aibox -
Start the development container:
cd .devcontainerdocker compose up -ddocker compose exec aibox bashOr open in VS Code with the Dev Containers extension.
-
Build the CLI:
cd clicargo build -
Run the tests:
cargo testcargo clippy -- -D warningscargo fmt -- --check
Project Structure
cli/— Rust CLI source codeimages/— Published container image Dockerfilesaddons/— Addon definitions (language runtimes, tool bundles, AI agents)docs-site/— Docusaurus 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:
cd docs-site && npm run start
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