Contributing
DirectAI is Apache 2.0 licensed and open to contributions. Here's how to get involved.
Repository
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 .andruff 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
DirectAI is licensed under the Apache License 2.0. By contributing, you agree that your contributions will be licensed under the same license.