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:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature
- Make your changes and commit them:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature/your-feature
- 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.