Rosentic
Rosentic vérifie chaque PR par rapport à toutes les branches actives avant fusion pour détecter les conflits de compatibilité (schema drift, API/signature) en CI, gratuit open source.
Qu'est-ce que Rosentic ?
Rosentic est un contrôle CI déterministe qui analyse une pull request (PR) par rapport aux branches actives pour détecter les conflits de compatibilité avant fusion. Il se concentre sur les cas qui cassent le comportement inter-branches, y compris schema drift, API breaks et signature mismatches.
Le workflow repose sur une vérification automatisée : pour un événement PR, Rosentic s'exécute dans votre CI, produit un détail des changements cassants et rapporte les emplacements spécifiques (chemins de fichiers et numéros de lignes) associés aux conflits détectés.
Fonctionnalités clés
- Analyse les PR par rapport à toutes les branches actives avant fusion pour détecter les incompatibilités inter-branches, pas seulement les problèmes dans le diff de la PR.
- Exécution déterministe pour des résultats cohérents entre les runs CI.
- S'exécute dans votre CI/runner (« le code ne quitte jamais votre runner »), en gardant l'analyse dans votre environnement de build existant.
- Couverture de 12 langages, selon le scope d'analyse indiqué sur le site.
- Fournit des détails au niveau ligne (chemins de fichiers et numéros de lignes) pour les conflits, afin que les équipes puissent corriger les sites d'appel et interfaces exacts.
- Utilise des fixtures de régression pour protéger les changements dans le moteur sous-jacent.
Comment utiliser Rosentic
- Ajoutez le workflow GitHub Actions de Rosentic à votre dépôt (le site fournit un exemple
.github/workflows/rosentic.yml). - Configurez le workflow pour qu'il s'exécute sur les événements
pull_requestciblant des branches (l'exemple montrebranches: [main]). - Assurez-vous que votre workflow clone le dépôt avec
fetch-depth: 0(comme dans l'exemple) pour que Rosentic puisse inspecter ce dont il a besoin pour les comparaisons de branches. - Le workflow exécute
Rosentic/rosentic-action@v1. Une fois le job terminé, examinez les conflits « Breaking » rapportés par Rosentic et les emplacements au niveau ligne dans la sortie.
Pour l'exécuter dans un workflow basé sur un agent, le site suggère aussi d'installer Rosentic sur le dépôt, puis de faire suivre cette instruction à votre agent de codage.
Cas d'usage
- Prévenir les échecs runtime ou d'intégration avant fusion : Une PR modifie une signature de fonction (ex. : ajoute des arguments obligatoires), et Rosentic identifie les appelants restants sur d'autres branches qui invoquent encore l'ancienne signature.
- Détecter le schema drift inter-branches : Quand des mises à jour de code affectent les définitions de schéma (ex. : changement de resolver ou de forme de contrat), Rosentic rapporte « Schema drift » et pointe les fichiers/lignes affectés.
- Détecter les changements de type de retour API ou de contrat : Si le type de retour d'une fonction change (ex. : de
Promise<void>à une formePromise<Result>différente), Rosentic liste les appelants qui pourraient ne pas gérer la nouvelle structure de résultat. - Protéger contre les interfaces incohérentes entre backend et frontend : Quand une PR met à jour des interfaces partagées, Rosentic signale les conflits de type « signature mismatch » où les sites d'appel dans d'autres branches ne correspondent pas.
- Standardiser les vérifications de compatibilité pour plusieurs branches d'agents : Si votre équipe utilise plusieurs branches et workflows d'automatisation, Rosentic vérifie la compatibilité inter-branches pour que la PR soit moins susceptible de confliger avec le développement parallèle.
FAQ
Rosentic nécessite-t-il une clé API ou un signup ?
Le site indique : « No signup » et « No API key ».
Où s'exécute Rosentic ?
Le site précise qu'il s'exécute dans votre CI/runner, et que le code « ne quitte jamais votre runner ».
Quand Rosentic vérifie-t-il les conflits ?
L'exemple de workflow fourni s'exécute sur les événements pull_request (avec branches: [main] dans l'exemple), et Rosentic vérifie la PR par rapport aux branches actives avant fusion.
Quels types de conflits Rosentic rapporte-t-il ?
Les exemples de la page mentionnent des catégories comme schema drift, API break et signature mismatch, avec un détail des changements cassants spécifiques et des emplacements affectés.
Quelles informations récupère-t-on de Rosentic ?
Le site indique que les résultats incluent les chemins de fichiers et numéros de lignes, avec un « full breakdown » et des comptes des conflits trouvés sur la PR.
Alternatives
- Suites de tests automatisés en CI : Au lieu de comparer proactivement un PR à d'autres branches, les tests unitaires/intégration valident le comportement à l'exécution. Cela diffère car les tests vérifient des scénarios spécifiques plutôt que d'énumérer les conflits d'interface inter-branches.
- Vérification de type statique et linting (spécifiques au langage) : Les vérificateurs de type et linters peuvent détecter les incohérences de signature et de type dans ce que l'analyseur peut examiner, mais ne repèrent pas forcément les problèmes de compatibilité dus à des changements par rapport à d'autres branches actives.
- Détection de conflits de fusion classique basée sur Git : Git peut signaler des conflits textuels lors de la fusion, mais ne vérifie pas intrinsèquement la compatibilité sémantique comme le schema drift ou les incohérences de contrat API entre branches.
- Outils d'analyse d'impact des changements pour CI : Les outils de la catégorie d'analyse de dépendances/impact se concentrent sur l'effet des changements sur les consommateurs en aval ; comparés à Rosentic, ils reposent davantage sur des graphes de dépendances ou la couverture plutôt que sur une vérification explicite inter-branches.
Alternatives
ClawTick
ClawTick est une plateforme d’automatisation d’agents IA via CLI pour planifier des tâches webhooks en cron avec monitoring, alertes, retries et logs.
Falconer
Falconer est une plateforme de connaissances qui se met à jour automatiquement pour équipes rapides : écrivez, partagez et trouvez une documentation interne fiable.
OpenFlags
OpenFlags est un système open source de feature flags auto-hébergé pour déploiement progressif : évaluation locale via SDK et contrôle REST.
skills-janitor
skills-janitor audite, suit l’usage et compare vos compétences Claude Code avec neuf actions d’analyse par commandes slash, sans dépendances.
MakerLoft
MakerLoft est un créateur d’apps IA pour non-développeurs : connecte votre repo GitHub et génère des applications avec auth, paiements, uploads et admin.
Rectify
Rectify est une plateforme d’opérations tout-en-un pour SaaS : monitoring, analytics, support, roadmaps, changelogs et gestion des agents, pilotés par conversation.