Le détecteur : 59 règles, en ligne de commande et en hook
Des contrôles sans modèle et sans clé API
Le détecteur d'Impeccable est déterministe : ce sont des règles écrites, pas un jugement de modèle. Il tourne donc sans LLM, sans clé API, et il donne le même résultat à chaque exécution.
Les 59 règles couvrent les problèmes de contraste, les dérives de typographie, les débordements de mise en page, les signatures de design généré par IA, les animations fragiles et les écarts au design system du projet.
En ligne de commande
npx impeccable detect src/
npx impeccable detect index.html
npx impeccable detect https://example.com
npx impeccable detect --json .
La commande parcourt les fichiers d'interface : JSX, TSX, Vue, Svelte, Astro, modules CSS et gabarits serveur. Elle rend 0 quand rien n'est trouvé, 2 quand il y a des signalements, et 1 quand la commande elle-même a échoué. De quoi la brancher sur une intégration continue sans écrire de glue.
En hook, pendant que l'agent travaille
Le hook fait tourner le détecteur au fil des modifications d'interface, sur Claude Code, GitHub Copilot, Codex, Cursor et Grok Build. Il fonctionne en deux temps : à chaque modification, il ne remonte que le critique (image cassée, texte qui déborde, contraste en échec, texte minuscule, écart aux règles du projet) ; en fin de session, il repasse le jeu complet sur tous les fichiers touchés.
La documentation justifie ce découpage : remonter chaque règle à chaque modification rendait les modèles plus timides, pas plus soigneux.
Cursor est le seul à bloquer avant écriture. Il contrôle la modification proposée et l'arrête quand le détecteur y trouve un problème. Les quatre autres remontent leurs constats après coup.
Déclarer vos exceptions
Une charte forte produit forcément des faux positifs. Ils se déclarent, plutôt que de se subir :
npx impeccable ignores list
npx impeccable ignores add-file "src/legacy/**"
npx impeccable ignores add-value overused-font Inter --reason "Police de marque"
Pour une dérogation qui doit voyager avec un seul fichier, un commentaire suffit : <!-- impeccable-disable overused-font: police de marque -->.
Le hook s'active et se coupe avec impeccable hooks on, impeccable hooks off, et impeccable hooks status dit où vous en êtes. npx impeccable install --no-hooks saute l'étape à l'installation.
Mini-résumé : le détecteur apporte un contrôle reproductible, utilisable seul en intégration continue comme en garde-fou pendant que l'agent code.