À propos du projet
# VibeCoder
**Créez des issues GitHub depuis votre téléphone, obtenez automatiquement des PR (Pull Requests), révisez et demandez des corrections avec un pouce levé.**
VibeCoder est un automate de traitement des issues GitHub piloté par une CLI d'agent de codage. Il surveille vos dépôts, prend en charge les issues, écrit le code, exécute les contrôles qualité et ouvre des pull requests — le tout sans que vous touchiez à un clavier.
Il est **agnostique du fournisseur** : `claude` ([Claude Code](https://docs.anthropic.com/en/docs/claude-code)) est la valeur par défaut, et `codex` (la CLI OpenAI Codex), `gemini` (la CLI Gemini) et `deepseek` (DeepSeek, servi via la CLI Claude Code) sont intégrés et choisis par configuration.
## Fonctionnement
1. Vous créez une issue sur GitHub (par exemple, depuis votre téléphone).
2. Le Worker VibeCoder détecte et s'auto-assigne l'issue.
3. Le worker crée une branche de fonctionnalité et délègue le travail à l'agent de codage configuré.
4. L'agent écrit les modifications de code.
5. Le worker exécute les contrôles qualité (linting, tests, formatage).
6. Si les contrôles passent, le worker ouvre une Pull Request sur GitHub.
7. Vous révisez la PR, laissez des commentaires ou donnez un pouce levé pour déclencher des corrections.
8. Le worker applique les retours et pousse les mises à jour.
9. Vous approuvez et fusionnez la PR.
## Choisissez votre agent de codage
L'agent de codage est une couche séparable. Quatre fournisseurs sont intégrés :
| ID du fournisseur | Agent | Fichier d'identifiants |
| --- | --- | --- |
| `claude` (par défaut) | Claude Code | `claude/provider.env` |
| `codex` | Codex CLI | `codex/provider.env` |
| `gemini` | Gemini CLI | `gemini/provider.env` |
| `deepseek` | DeepSeek (via Claude Code CLI) | `deepseek/provider.env` |
Sélectionnez-en un avec la clé `agent_provider` dans `.config.json`. Les hôtes mixtes peuvent opter pour une sélection sensible aux quotas.
## Fonctionnalités clés
- **Pipeline issue-vers-PR** : Écrivez une issue, obtenez une PR. Le worker gère la création de branche, le codage, les tests et la création de la PR.
- **Boucle de retour de revue** : Laissez des commentaires sur la PR, pouce levé pour déclencher des corrections.
- **Clarification et affinage** : Si l'issue n'est pas claire, le worker pose des questions avant de commencer.
- **Mode planification** : Ajoutez le label `planning` pour obtenir des décompositions de tâches et des sous-issues au lieu d'une implémentation directe.
- **Réponse aux questions** : Ajoutez le label `question` pour obtenir des réponses sur la base de code sans implémentation.
- **Correction automatique d'orthographe** : Les échecs de vérification orthographique sur les PR sont automatiquement corrigés.
- **Correction automatique des échecs CI** : Les échecs de vérification CI sur les PR ouvertes sont automatiquement diagnostiqués et corrigés.
- **Framework de tâches inactives** : Lorsqu'aucun travail réclamable n'existe, le worker crée des tâches inactives de faible priorité (sécurité, bonnes pratiques, etc.).
- **Analyses de sécurité** : Les exécutions inactives effectuent des analyses de sécurité sur les dépôts surveillés.
- **File de travail basée sur les priorités** : Priorise les retours de PR, puis les corrections d'orthographe, la remédiation CI, etc.
- **Optimisation des coûts** : Sélection de modèle par phase, mise en cache des prompts et suivi de l'utilisation des tokens.
- **Callbacks post-exécution** : Exécutables optionnels lancés après des exécutions réussies/échouées.
- **Configuration par dépôt** : Personnalisez le comportement du worker par dépôt.
- **Améliorations de jalons** : Notifications de progression, annulation automatique des branches bloquées.
- **Auto-réparation** : Exécution en copie fantôme, réinitialisations automatiques du dépôt, nettoyage du disque, résilience aux plantages.
- **Sûr par défaut** : Ne traite que les issues d'auteurs autorisés avec les labels configurés.
- **Extensible** : Ajoutez de nouvelles fonctionnalités via des commandes Deno/TypeScript.
## Qualité et contrôle
Rien ne va vers la branche par défaut (prod) sans votre revue. Chaque changement arrive sous forme de PR ; vous révisez, demandez des corrections et approuvez avant la fusion. Le worker suit TDD, KISS, DRY et exécute les portes de qualité complètes (`deno test`, `deno lint`, `deno check`, `deno fmt --check` et semgrep).
## Démarrage rapide
### macOS / Linux
```bash
# Cloner le dépôt
gh repo clone <your-org>/VibeCoder
cd VibeCoder
# Configurer via des variables d'environnement
VIBE_ALLOWED_AUTHOR=myusername \
VIBE_REPOS="myorg/repo1,myorg/repo2" \
./setup.sh
# Démarrer le worker
./run.sh
```
### Windows (PowerShell)
```powershell
# Cloner le dépôt
gh repo clone <your-org>/VibeCoder
cd VibeCoder
# Configurer
$env:VIBE_ALLOWED_AUTHOR = "myusername"
$env:VIBE_REPOS = "myorg/repo1,myorg/repo2"
.\setup.ps1
# Démarrer le worker
.\run.ps1
```
## Architecture
Le worker utilise une architecture lanceur léger + Deno TypeScript. Les points d'entrée sont des scripts shell/PowerShell minimaux qui délèguent toute la logique métier à Deno. Multiplateforme : macOS, Linux et Windows.
Le worker s'exécute dans un conteneur à privilèges minimaux. Le confinement est obligatoire. GitHub est le seul plan de contrôle distant normal.
## Prérequis
- Un runtime de conteneur pris en charge : Apple `container` sur macOS, Docker ou Podman sur Linux et Windows.
- [Deno](https://deno.com/) 2+ — le seul outil hôte du lanceur.
- `bash` (macOS/Linux) ou PowerShell (Windows) pour exécuter le lanceur.
- Pour la configuration uniquement : Git et une CLI GitHub authentifiée.
## Documentation
- [Aperçu](docs/OVERVIEW.md) : Présentation en une page.
- [Flux de labels](docs/workflows/label-flows.md) : Quel label quand.
- [Guide d'utilisation](docs/USAGE.md) : Création d'issues, workflow de PR.
- [Aperçu des workflows](docs/workflows/README.md) : Manuel utilisateur pour les propriétaires de dépôts.
- [Quorum](docs/QUORUM.md) : Exécuter plusieurs fournisseurs à la fois.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.