Principe de fonctionnement
Sphinx se présente comme un hook Git installé côté développeur. Après chaque git push, le hook interrompt le flux et déclenche une requête vers le modèle d’IA configuré. Le modèle reçoit le diff du commit et doit répondre à une question précise sur le comportement du code en cas d’erreur. La réponse de l’utilisateur valide ou invalide le push ; en cas d’erreur, le développeur doit reformuler la réponse avant que le commit ne soit accepté. Cette boucle garantit que le code est explicitement compris avant d’être intégré.
npm install -g sphinx-understand
sphinx install
git pushIntégration avec les agents d'IA
Le projet indique une compatibilité avec plusieurs agents de génération de code : Codex, Claude Code, Cursor, OpenCode, Pi, ainsi que tout endpoint compatible OpenAI. La connexion s’effectue via les API d’OpenRouter ou d’un serveur OpenAI, ce qui permet de choisir le modèle le plus économique en tokens. Le texte d’installation précise que le hook fonctionne avec Node 22.19+ sur macOS, Linux ou WSL, ce qui limite les environnements d’exécution aux plateformes supportant cette version de Node.
Gestion des scénarios d’erreur et sécurité
Le scénario présenté dans la documentation montre comment Sphinx traite les retries de Stripe. L’identifiant d’événement est enregistré avant l’appel à charge(). Si le paiement échoue, le retry détecte l’identifiant déjà présent et renvoie un statut 200 sans relancer la transaction, évitant ainsi une double facturation. Cette logique repose sur un stockage persistant de l’ID, mais le texte souligne que le stockage intervient avant la réussite de la charge, ce qui crée un point de décision critique : en cas d’échec, le système doit explicitement réinitialiser l’état ou marquer l’opération comme incomplète.
Sur le plan de la confidentialité, Sphinx affirme que les réponses de l’utilisateur ne sont jamais transmises à l’agent de codage, et que les fichiers .env ou les clés d’API restent locaux. Le mode « yolo » permet de contourner le questionnaire en forçant le push, tout en consignant chaque contournement dans un journal dédié. Cette fonctionnalité offre un compromis entre rigueur et rapidité, mais introduit un vecteur de confiance : les logs doivent être protégés contre toute altération.
Limites et perspectives
Le projet reste en phase « Free » et « FOSS », mais la documentation ne fournit pas de métriques de latence ni de consommation de tokens pour chaque interrogation. Sans ces données, il est difficile d’évaluer l’impact sur les pipelines CI/CD à grande échelle. De plus, la dépendance à un modèle externe implique que la disponibilité du service d’API conditionne le processus de push, ce qui peut bloquer les équipes en cas de panne réseau ou de quota dépassé. Enfin, l’efficacité du questionnaire dépend de la pertinence des questions générées par le modèle ; aucune méthode d’ajustement ou de personnalisation des prompts n’est décrite, ce qui limite l’adaptabilité à des contextes métier spécifiques.