Du C++ existant sans new/delete brut ni UB — sans négociation.
Un plancher défensif pour maintenir du code C++ existant : RAII, sanitizers en CI, clang-tidy et durées de vie maîtrisées. Les nouveaux composants naissent en Rust ou Zig ; C++ n'entre que par ADR d'exception.
$ schematize install cppPlanchers 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.
RAII est le mécanisme
new/delete brut est interdit dans le code neuf ; unique_ptr par défaut et shared_ptr seulement pour une propriété réellement partagée.
Règle du zéro ou des cinq
N'écrire que le destructeur est le chemin classique vers le double free lors de la copie implicite.
Durées de vie maîtrisées
Un string_view, span ou une référence qui survit à son propriétaire est un UB ; une lambda [&] dans du code asynchrone est le même bug.
Suite sanitisée et build strict
ASan, UBSan et TSan en CI avec -fno-sanitize-recover=all, plus -Werror, -Wconversion, -Wold-style-cast et _GLIBCXX_ASSERTIONS.
Exceptions, verrous et threads
catch par référence const, jamais un catch (...) vide ; un destructeur ne lève pas ; lock_guard plutôt que lock manuel ; std::jthread plutôt qu'un thread isolé.
Commandes
Installées dans .claude/commands/. Lancez /cpp-help à tout moment.
/cpp-ccContext compact : écrit le handoff (contexte + checklist) dans l'archive et lance /compact./cpp-claudeCrée ou fusionne le CLAUDE.md permanent de schematize-cpp à la racine du dépôt, sans écraser les blocs des autres skills./cpp-handoffÉcrit le handoff de contexte dans l'archive sans compacter : fin de session ou changement de tâche./cpp-helpListe toutes les commandes de la skill./cpp-loadCharge de force tout le corpus normatif de schematize-cpp et l'applique pendant la session./cpp-reviewRevoit les .cpp/.hpp et le build face au plancher : lance le gate (code + build) et lit ce que la machine ne lit pas (RAII, durée de vie, UB, 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-cpp.git && ./skill-cpp/install.sh
- Ou téléchargez https://github.com/schematizeme/skill-cpp/releases/latest/download/skill-cpp.zip et décompressez dans .claude/skills/.
- Copiez assets/CLAUDE.md à la racine du dépôt (règle permanente).
- Confirmez avec /cpp-help.
Discussion
Chargement…