Cinco piezas inseparables:
-
Schema formal de behaviors
- Declarativo, acotado, versionado
- Separación policy / rendering
- DSL mínima cerrada
-
Runtime state mínimo
.forge/runtime/state.json- Contadores por sesión y por behavior
- mkdir-based locking para concurrencia (ver RUNTIME.md §7)
- TTL 24h sobre último acceso
-
Enforcement escalonado de 5 niveles
- silent, nudge, warning, soft_block, hard_block
- JSON output para blocks (no exit codes custom)
- Override solo en soft_block
-
Catálogo curado
- Core: search-first, verify-before-done, no-destructive-git, respect-todo-state
- Opinionated: plan-before-code, objection-format
- Experimental: vacío en 3.0 (categoría reservada)
-
UX de control y escape
/forge behavior on|off|status|strict|relaxed- Scopes:
--session | --project | --agent - Status muestra contadores reales, violaciones por behavior, overrides
- Prompt-based hooks (
type: prompten behaviors) - Context aggregation cross-hook rica
- Export de behaviors a
.cursorrules,AGENTS.md,.windsurfrules - Scope contador
taskfuncional - Recomendador automático (
/forge behavior recommend)
- Signed behaviors + hash verification (post-CVE Feb 2026)
- Verification contra transcripts de sesión
- llm_self_examine como estrategia de recovery
- OPA/Rego compile path (enterprise opcional)
- Policy engine unificado
- Behavior marketplace público
- Telemetría cross-proyecto anónima
Exactamente 5 documentos:
docs/v3/SPEC.md— semántica formal de niveles (tabla canónica)docs/v3/SCHEMA.md— shape completo debehavior.yaml v1docs/v3/RUNTIME.md— formato destate.json, TTL, concurrenciadocs/v3/AUDIT.md— formatooverrides.logy métricas expuestasdocs/v3/COMPILER.md— reglas mínimas de compilación behavior → hook
Criterio de aceptación de Fase 0: otro ingeniero podría implementar Fase 1 sin preguntas.
- Runtime funcionando con mkdir-based lock y TTL
- Compilador
behaviors/<id>.yaml → .claude/hooks/<id>.sh search-firstfuncional end-to-end (nudge → warning → soft_block)- Override registry funcionando en los 3 lugares
/forge behavior on|off|status|strict|relaxedcon scopes básicos
- Catálogo core: 4 behaviors (search-first, verify-before-done, no-destructive-git, respect-todo-state)
- Catálogo opinionated: 2 behaviors (plan-before-code, objection-format)
/forge behavior list|describe- Integración con
/forge audit: dimensión "behaviors coverage" - Tests por behavior en
behaviors/<id>/tests/
- README reescrito (diferencial en primeras 40 líneas)
- CHANGELOG v3.0
- Migration guide desde 2.9 (opt-in, no rompe 2.9)
- Benchmark real corrido en SOMA o InviSight
- GIF demo de search-first escalando
- Post técnico: "de configs a comportamiento"
- Tag v3.0.0
- Update de submission al marketplace Anthropic
No son stars ni downloads. Son:
- Semana 1: 3+ issues no-triviales abiertos por externos
- Mes 1: 1 behavior externo contribuido por no-Luis
- Mes 2: mención técnica no tuya sobre "behavior governance"
- Mes 3: 1 proyecto serio usando dotforge como dep activa
Si a mes 3 no ocurrió ninguna de las cuatro: problema es distribución, no producto. Pivot a content marketing técnico.