Regla personalizada
Crear una regla permanente personalizada para tu proyecto.
Este ejemplo añade una regla permanente, específica del proyecto, que impone una convención de nombres en todos los archivos.
Archivo de la regla
---
name: "kebab-filenames"
description: "Enforce kebab-case filenames in the src/ tree"
pathFilter: ""
alwaysApply: true
---
# Kebab-case filenames
All new files created under `src/` MUST use kebab-case naming
(lowercase letters, digits, and hyphens only — no underscores,
no camelCase, no PascalCase).
**Correct:** `src/styles/button-group.css`, `src/components/nav-bar.css`
**Incorrect:** `src/styles/buttonGroup.css`, `src/components/NavBar.css`
When in doubt, err on the side of more hyphens.Guárdalo en rules/kebab-filenames.md dentro de la raíz de instalación de tu entorno (~/.claude/ para el adaptador de Claude Code; en otro caso, sustituye la ruta por la ruta nativa del entorno).
Verifica que la regla está bien formada
Ejecuta el validador de frontmatter sobre el archivo de regla que acabas de escribir. Usa el primer comando desde un checkout de Apothem, donde PYTHONPATH=src hace que el paquete sea importable. Usa el segundo después de una instalación con script, donde el código fuente vive en $HOME/.apothem/src:
# From an Apothem checkout
PYTHONPATH=src python -m apothem.conformity.gate --check frontmatter-grep ~/.claude/rules/kebab-filenames.md
# After a script install
PYTHONPATH="$HOME/.apothem/src" python -m apothem.conformity.gate --check frontmatter-grep ~/.claude/rules/kebab-filenames.mdUna regla bien formada informa de una superación limpia:
{
"orchestrator": "conformity-gate",
"passed": true,
"grep_count": 1
}Propagar a los entornos
Ejecuta el comando de actualización una vez por cada entorno instalado:
apothem update --harness claude-code
apothem update --harness cursor --project /path/to/project