Le C existant ne doit pas devenir une vulnérabilité — sans négociation.
Un plancher défensif pour maintenir du code C existant : sanitizers en CI, -Werror, propriété écrite et fuzzing des parseurs. Les nouveaux composants naissent en Rust ou Zig ; C n'entre que par ADR d'exception.
$ schematize install cPlanchers non négociables
Jamais désactivés "pour aller plus vite". La liste complète est dans la skill.
Un nouveau composant naît en Rust ou Zig
C n'entre que par ADR d'exception, jamais par fit, ou pour du code déjà existant.
Suite sanitisée en CI
ASan, UBSan et TSan là où il y a des threads ; UBSan avec -fno-sanitize-recover=all pour que la CI ne reste pas verte avec le défaut dans le log.
Un build qui lit les avertissements
-Wall -Wextra -Werror -Wconversion ; _FORTIFY_SOURCE exige -O1 ou plus, sinon il ne fait rien.
Propriété et retours vérifiés
Tout malloc a un propriétaire écrit, free(p); p = NULL; et tout retour est vérifié, y compris write partiel et snprintf.
Fonctions interdites
gets, strcpy/strcat/sprintf sans limite, scanf("%s") sans largeur, alloca de taille variable et system() sont interdits.
Fuzzing et atomiques corrects
Tout parseur a du fuzzing en CI avec un corpus versionné ; on utilise stdatomic.h, jamais volatile.
Commandes
Installées dans .claude/commands/. Lancez /c-help à tout moment.
/c-ccContext compact : écrit le handoff (contexte + checklist) dans l'archive et lance /compact./c-claudeCrée ou fusionne le CLAUDE.md permanent de schematize-c à la racine du dépôt, sans écraser les blocs des autres skills./c-handoffÉcrit le handoff de contexte dans l'archive sans compacter : fin de session ou changement de tâche./c-helpListe toutes les commandes de la skill./c-loadCharge de force tout le corpus normatif de schematize-c et l'applique pendant la session./c-reviewRevoit les .c/.h et le build face au plancher : lance le gate (code + build) et lit ce que la machine ne lit pas (sanitizers, mémoire, entrée externe, périmètre).Pour les agents IA
Installez sans humain dans la boucle. Métadonnées dans llms.txt.
- Lancez : git clone https://github.com/schematizeme/skill-c.git && ./skill-c/install.sh
- Ou téléchargez https://github.com/schematizeme/skill-c/releases/latest/download/skill-c.zip et décompressez dans .claude/skills/.
- Copiez assets/CLAUDE.md à la racine du dépôt (règle permanente).
- Confirmez avec /c-help.
Discussion
Chargement…