Guía / artifact / RULE

Artifact RULE: publica instrucciones

Usa un artifact RULE para instrucciones markdown que deben aplicarse globalmente, a archivos coincidentes o cuando una herramienta reconoce una descripción.

Las props de la rule

content declara cómo aplicar el entrypoint markdown. Los providers traducen la misma forma neutral a frontmatter nativo o a un archivo de instrucciones administrado.

apply Usa always para instrucciones globales, specific_files para apuntar a patrones o el modo smart-trigger del provider cuando declares smart_trigger.
entrypoint Path markdown relativo como RULE.md. Debe estar en files y se lee como texto UTF-8.
file_patterns Patrones usados con specific_files, por ejemplo **/*.go o frontend/**. Se escriben en metadata nativa de targeting.
smart_trigger Descripción legible de activación para providers con discovery de rules por descripción.

Ejemplos de los tres modos

Usa solo las props del modo elegido. Hacer explícito el modo vuelve predecible el mismo release entre providers.

// Aplicar siempre
{ "apply": "always", "entrypoint": "RULE.md" }

// Aplicar a archivos coincidentes
{
  "apply": "specific_files",
  "entrypoint": "RULE.md",
  "file_patterns": ["**/*.go", "internal/**"]
}

// Descubrir por descripción
{
  "apply": "smart_trigger",
  "entrypoint": "RULE.md",
  "smart_trigger": "Aplicar al revisar migraciones de base de datos"
}

Escribe el markdown

Haz la rule accionable: explica la restricción, muestra el patrón preferido, identifica excepciones y alinea el scope con apply. No pongas frontmatter generado específico del provider salvo que el provider lo requiera; el applicator agrega su metadata.

  • Incluye RULE.md y todas las referencias enlazadas en files.
  • Usa specific_files solo cuando file_patterns exprese un scope útil; una lista vacía no lo hace.
  • Sube version cuando cambie el comportamiento aunque el filename sea el mismo.
  • Prueba el resultado instalado en cada provider porque el discovery nativo cambia.

Qué materializa install

Los providers escriben un archivo de rules administrado por HubBound o un bloque markdown con ownership. Cursor y Copilot usan metadata nativa para specific_files; Claude Code y otros traducen la misma intención a su formato. Un provider puede saltar modos opcionales no soportados.