ACAI is Apache 2.0 licensed and open to contributions. Here's how to get involved.
Development Setup
- Fork and clone
git clone https://github.com/YOUR_USERNAME/DirectAI.git
cd DirectAI
- API Server
cd src/api-server
pip install -e ".[dev]"
python -m pytest tests/ -v
- Web App
cd src/web
npm install
npm run dev
- Full stack (Docker Compose)
docker compose up
Project Structure
DirectAI/
├── src/
│ ├── api-server/ # FastAPI compliance gateway (Python)
│ └── web/ # Next.js marketing + dashboard
├── deploy/
│ ├── helm/directai/ # Helm chart (26 templates)
│ └── models/ # ModelDeployment YAML configs
├── infra/ # Bicep IaC
├── scripts/ # Utility scripts
└── tests/functional/ # End-to-end functional tests
Code Standards
- Python: ruff for linting and formatting. Run
ruff check . and ruff format . before committing. - TypeScript: ESLint with Next.js config. Run
npm run lint. - Bicep: Use verified modules from the Bicep public registry. Never write raw resource definitions when a verified module exists.
- Tests: All changes must include tests. API server uses pytest. Web uses Next.js built-in tooling.
Pull Request Process
- Create a feature branch from
main - Make your changes with tests
- Ensure lint and tests pass locally
- Open a PR with a clear description of changes
- CI runs automatically (lint, test, build)
- Address review feedback
- Merge when approved
Areas for Contribution
- New inference engine integrations
- Additional guardrail patterns and PII detectors
- GCP and AWS cloud provider backends
- Dashboard UI improvements
- Documentation
- Bug fixes and test coverage
License
ACAI is licensed under the Apache License 2.0. By contributing, you agree that your contributions will be licensed under the same license.