SourceAnt Logo

Developer Documentation

This section provides resources for developers who want to contribute to the SourceAnt project or understand its inner workings.

Contributing 🤝

We welcome contributions! Here’s how you can help:

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature/your-feature
  3. Make your changes and commit them: git commit -m 'Add some feature'
  4. Push to the branch: git push origin feature/your-feature
  5. Submit a pull request.

SourceAnt Commands

The sourceant command provides subcommands for managing the application:

  • docker compose exec app sourceant db upgrade head: Set up database tables.
  • docker compose exec app sourceant db --help: See more database commands.

Queue Modes

The application supports different backend modes for processing background jobs, controlled by the QUEUE_MODE environment variable.

  • redis: The recommended mode for production. It uses a persistent Redis queue (rq).
  • redislite: A self-contained, file-based Redis queue, ideal for local development.
  • request: Uses FastAPI's BackgroundTasks for simple, in-process job handling. Not for production.

Roadmap 🗺️

  • [x] Set up FastAPI server and GitHub webhook integration.
  • [x] Implement API/Interface to integrate various AI models
  • [x] Integrate Gemini API for code analysis.
  • [ ] Integrate DeepSeek API for code analysis.
  • [ ] Implement a dashboard for review history and metrics.
  • [ ] Add CI/CD pipeline for automated testing and deployment.