Documentation
🚀 Getting Started
CodeReview AI analyse automatiquement vos Pull Requests et Merge Requests avec l'intelligence artificielle DeepSeek. Voici comment l'installer et l'utiliser.
Installation Docker
Assurez-vous d'avoir Docker et Docker Compose installés, puis exécutez :
git clone https://github.com/wordlye/codereview-ai.git
cd codereview-ai
cp .env.example .env # Configurez votre clé API DeepSeek
docker compose up -d
L'interface sera disponible sur http://localhost:8014.
Ajouter un repository
Depuis le dashboard, ajoutez un repository GitHub ou GitLab avec un token d'accès et un secret de webhook.
Configurer le webhook
Suivez les instructions ci-dessous pour configurer le webhook sur votre hébergeur de code.
🐙 Configuration Webhook GitHub
Accédez aux paramètres du repository
Sur GitHub, allez dans Settings → Webhooks → Add webhook.
Configurez le webhook
Remplissez les champs suivants :
- Payload URL :
https://votre-domaine.com/webhook/github - Content type :
application/json - Secret : Le même secret que celui configuré dans le dashboard
- Events : Sélectionnez "Let me select individual events" et cochez Pull requests et Pushes
Vérifiez
GitHub enverra un ping de test. Vous devriez voir une réponse "ok" dans la section "Recent Deliveries" du webhook.
Testez
Ouvrez une Pull Request sur votre repository. Le webhook sera déclenché et la review apparaîtra dans le dashboard.
🦊 Configuration Webhook GitLab
Accédez aux paramètres
Sur GitLab, allez dans Settings → Webhooks.
Configurez le webhook
- URL :
https://votre-domaine.com/webhook/gitlab - Secret Token : Le même secret que celui configuré dans le dashboard
- Trigger : Cochez Merge request events
Testez
Créez un Merge Request. Le webhook sera déclenché et la review apparaîtra dans le dashboard.
📝 Langages Supportés
CodeReview AI supporte tous les langages de programmation majeurs :
Types de fichiers analysés : .py, .js, .ts, .rs, .go, .java, .kt, .rb, .c, .cpp, .h, .swift, .php, .sh, .yaml, .json, et plus encore.
⚙️ Configuration
Variables d'environnement disponibles dans le fichier .env :
| Variable | Description | Défaut |
|---|---|---|
DATABASE_URL | URL de connexion PostgreSQL | postgresql+asyncpg://... |
REDIS_URL | URL de connexion Redis | redis://redis:6379/0 |
DEEPSEEK_API_KEY | Clé API DeepSeek | - |
JWT_SECRET | Secret pour les tokens JWT | codereview-jwt-2026 |
PR_MAX_FILES | Nombre max de fichiers analysés par PR | 50 |
PR_MAX_LINES | Nombre max de lignes analysées par PR | 1000 |
STRIPE_SECRET_KEY | Clé secrète Stripe (optionnel) | - |
SITE_URL | URL publique du service | http://localhost:8014 |
❓ FAQ
Où sont stockées mes données ?
100% sur votre serveur. CodeReview AI est auto-hébergé, votre code ne quitte jamais votre infrastructure.
Quel modèle IA est utilisé ?
Par défaut, DeepSeek Flash (deepseek-chat). Vous pouvez changer le modèle via les variables d'environnement OPENAI_BASE_URL et OPENAI_MODEL.
Puis-je utiliser un autre modèle que DeepSeek ?
Oui ! Il suffit de modifier OPENAI_BASE_URL et OPENAI_MODEL pour pointer vers n'importe quel LLM compatible OpenAI (GPT-4, Claude via API, etc.).
Combien coûte l'API DeepSeek ?
DeepSeek Flash coûte environ 0.01€ par review typique (20 fichiers, 500 lignes). C'est extrêmement économique.
Puis-je auto-héberger sans Stripe ?
Absolument ! Stripe est optionnel. Sans Stripe configuré, tout le monde a accès au plan Free avec 5 repositories.
Quels événements déclenchent une analyse ?
GitHub : ouverture et synchronisation de Pull Request. GitLab : ouverture, réouverture et mise à jour de Merge Request.
Les commentaires sont-ils postés automatiquement sur la PR ?
Oui, si vous avez configuré un token d'accès avec les permissions suffisantes (repo pour GitHub, API pour GitLab).
Comment mettre à jour CodeReview AI ?
docker compose pull && docker compose up -d — les données PostgreSQL sont persistantes.
🔌 API Reference
Webhooks
POST /webhook/github— Récepteur webhook GitHubPOST /webhook/gitlab— Récepteur webhook GitLab
Authentification
POST /api/auth/register— Créer un compte (email, password, name)POST /api/auth/login— Se connecter, retourne un JWTGET /api/auth/me— Infos de l'utilisateur connecté
Stripe
POST /api/stripe/create-checkout?plan=pro— Créer une session de paiementPOST /api/stripe/webhook— Webhook StripeGET /api/stripe/portal— Portail client Stripe
Reviews
GET /reviews— Liste des reviewsGET /reviews/{id}— Détail d'une reviewGET /reviews/{id}/comments— Commentaires d'une review
Repositories
POST /api/repos— Ajouter un repositoryGET /api/repos— Liste des repositoriesDELETE /api/repos/{id}— Supprimer un repository