C++ que já existe sem new/delete cru nem UB — sem negociação.
Piso defensivo para manter código C++ existente: RAII, sanitizers no CI, clang-tidy e tempo de vida sob controle. Componente novo nasce em Rust ou Zig; C++ só entra por ADR de exceção.
$ schematize install cppPisos inegociáveis
Nunca desligados "para ir mais rápido". A lista completa está na skill.
Componente novo nasce em Rust ou Zig
C++ entra só por ADR de exceção, não por fit.
RAII é o mecanismo
new/delete cru é vetado em código novo; unique_ptr por padrão e shared_ptr só com posse realmente compartilhada.
Regra do zero ou dos cinco
Escrever só o destrutor é o caminho clássico para double-free na cópia implícita.
Tempo de vida sob controle
string_view, span ou referência que sobrevive ao dono é UB; lambda [&] em código assíncrono é o mesmo bug.
Suíte sanitizada e build estrito
ASan, UBSan e TSan no CI com -fno-sanitize-recover=all, mais -Werror, -Wconversion, -Wold-style-cast e _GLIBCXX_ASSERTIONS.
Exceções, locks e threads
catch por referência const, nunca catch (...) vazio; destrutor não lança; lock_guard em vez de lock manual; std::jthread em vez de thread solta.
Comandos
Instalados em .claude/commands/. Rode /cpp-help quando quiser.
/cpp-ccContext compact: grava o handoff (contexto + checklist) no archive e roda /compact./cpp-claudeCria ou mescla o CLAUDE.md sempre-on de schematize-cpp na raiz do repo, sem sobrescrever blocos de outras skills./cpp-handoffGera o handoff de contexto no archive, sem compactar: fim de sessão ou troca de tarefa./cpp-helpLista todos os comandos da skill./cpp-loadCarrega à força todo o corpo normativo de schematize-cpp e passa a aplicá-lo na sessão./cpp-reviewRevisa .cpp/.hpp e o build contra o piso: roda o gate (código + build) e lê o que a máquina não lê (RAII, tempo de vida, UB, escopo).Para agentes de IA
Instale sem humano no loop. Metadados em llms.txt.
- Execute: git clone https://github.com/schematizeme/skill-cpp.git && ./skill-cpp/install.sh
- Ou baixe https://github.com/schematizeme/skill-cpp/releases/latest/download/skill-cpp.zip e descompacte em .claude/skills/.
- Copie assets/CLAUDE.md para a raiz do repo (regra sempre ativa).
- Confirme com /cpp-help.
Discussão
Carregando…