Contributing

DirectAI is Apache 2.0 licensed and open to contributions. Here's how to get involved.

Repository

github.com/TheManInTheBox/DirectAI

Development Setup

  1. Fork and clone
    git clone https://github.com/YOUR_USERNAME/DirectAI.git
    cd DirectAI
  2. API Server
    cd src/api-server
    pip install -e ".[dev]"
    python -m pytest tests/ -v
  3. Web App
    cd src/web
    npm install
    npm run dev
  4. 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

  1. Create a feature branch from main
  2. Make your changes with tests
  3. Ensure lint and tests pass locally
  4. Open a PR with a clear description of changes
  5. CI runs automatically (lint, test, build)
  6. Address review feedback
  7. 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.