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.

1

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.

2

Créer un compte

Rendez-vous sur /register pour créer votre compte administrateur.

3

Ajouter un repository

Depuis le dashboard, ajoutez un repository GitHub ou GitLab avec un token d'accès et un secret de webhook.

4

Configurer le webhook

Suivez les instructions ci-dessous pour configurer le webhook sur votre hébergeur de code.

🐙 Configuration Webhook GitHub

1

Accédez aux paramètres du repository

Sur GitHub, allez dans Settings → Webhooks → Add webhook.

2

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
3

Vérifiez

GitHub enverra un ping de test. Vous devriez voir une réponse "ok" dans la section "Recent Deliveries" du webhook.

4

Testez

Ouvrez une Pull Request sur votre repository. Le webhook sera déclenché et la review apparaîtra dans le dashboard.

🦊 Configuration Webhook GitLab

1

Accédez aux paramètres

Sur GitLab, allez dans Settings → Webhooks.

2

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
3

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 :

🐍 Python
🟨 JavaScript/TypeScript
🦀 Rust
☕ Java/Kotlin
🔷 Go
💎 Ruby
⚡ C/C++
📱 Swift
🎯 PHP

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 :

VariableDescriptionDéfaut
DATABASE_URLURL de connexion PostgreSQLpostgresql+asyncpg://...
REDIS_URLURL de connexion Redisredis://redis:6379/0
DEEPSEEK_API_KEYClé API DeepSeek-
JWT_SECRETSecret pour les tokens JWTcodereview-jwt-2026
PR_MAX_FILESNombre max de fichiers analysés par PR50
PR_MAX_LINESNombre max de lignes analysées par PR1000
STRIPE_SECRET_KEYClé secrète Stripe (optionnel)-
SITE_URLURL publique du servicehttp://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 GitHub
  • POST /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 JWT
  • GET /api/auth/me — Infos de l'utilisateur connecté

Stripe

  • POST /api/stripe/create-checkout?plan=pro — Créer une session de paiement
  • POST /api/stripe/webhook — Webhook Stripe
  • GET /api/stripe/portal — Portail client Stripe

Reviews

  • GET /reviews — Liste des reviews
  • GET /reviews/{id} — Détail d'une review
  • GET /reviews/{id}/comments — Commentaires d'une review

Repositories

  • POST /api/repos — Ajouter un repository
  • GET /api/repos — Liste des repositories
  • DELETE /api/repos/{id} — Supprimer un repository