C++ esistente senza new/delete grezzo né UB — senza negoziazione.
Uno standard difensivo per mantenere codice C++ esistente: RAII, sanitizer in CI, clang-tidy e tempi di vita sotto controllo. I nuovi componenti nascono in Rust o Zig; C++ entra solo con ADR di eccezione.
$ schematize install cppStandard minimi non negoziabili
Mai disattivati "per andare più veloci". L'elenco completo è nella skill.
Il nuovo componente nasce in Rust o Zig
C++ entra solo con ADR di eccezione, mai per fit.
RAII è il meccanismo
new/delete grezzo è vietato nel codice nuovo; unique_ptr come default e shared_ptr solo con proprietà davvero condivisa.
Regola dello zero o dei cinque
Scrivere solo il distruttore è la strada classica verso il double-free nella copia implicita.
Tempi di vita sotto controllo
Uno string_view, span o riferimento che sopravvive al proprietario è UB; una lambda [&] in codice asincrono è lo stesso bug.
Suite con sanitizer e build rigorosa
ASan, UBSan e TSan in CI con -fno-sanitize-recover=all, più -Werror, -Wconversion, -Wold-style-cast e _GLIBCXX_ASSERTIONS.
Eccezioni, lock e thread
catch per riferimento const, mai un catch (...) vuoto; il distruttore non lancia; lock_guard invece del lock manuale; std::jthread invece di un thread isolato.
Comandi
Installati in .claude/commands/. Esegui /cpp-help quando vuoi.
/cpp-ccContext compact: scrive l'handoff (contesto + checklist) nell'archive ed esegue /compact./cpp-claudeCrea o unisce il CLAUDE.md sempre attivo di schematize-cpp nella radice del repo, senza sovrascrivere i blocchi di altre skill./cpp-handoffScrive l'handoff di contesto nell'archive senza compattare: fine sessione o cambio attività./cpp-helpElenca tutti i comandi della skill./cpp-loadCarica forzatamente l'intero corpo normativo di schematize-cpp e lo applica nella sessione./cpp-reviewRivede i .cpp/.hpp e la build rispetto allo standard: esegue il gate (codice + build) e legge ciò che la macchina non legge (RAII, tempo di vita, UB, ambito).Per gli agenti IA
Installa senza umano nel ciclo. Metadati in llms.txt.
- Esegui: git clone https://github.com/schematizeme/skill-cpp.git && ./skill-cpp/install.sh
- Oppure scarica https://github.com/schematizeme/skill-cpp/releases/latest/download/skill-cpp.zip e decomprimi in .claude/skills/.
- Copia assets/CLAUDE.md nella radice del repo (regola sempre attiva).
- Conferma con /cpp-help.
Discussione
Caricamento…