SpecNative Guía para Agentes IA

Para Agentes IA

SpecNative — cómo trabajar con este framework

Los repositorios SpecNative codifican el contexto del proyecto en archivos versionados para que los agentes puedan planificar e implementar sin reconstruir el contexto desde el historial de conversación. Lee primero AGENTS.md. Navega por los README.md. Carga solo el contexto necesario para la tarea actual.

Servidor MCP — v0.9

.specnative/specnative_mcp.py expone el repositorio como recursos, herramientas y prompts MCP. Se instala automáticamente con su propio venv. Soporta transporte stdio y SSE.

Configuración rápida — Claude Code

# Agregar desde la CLI (desde la raíz del proyecto)
claude mcp add specnative \
  "$(pwd)/.specnative/.venv/bin/python3" \
  "$(pwd)/.specnative/specnative_mcp.py" \
  -- --repo "$(pwd)"

Recursos

URIDocumento
spec://agentsAGENTS.md — meta-índice y referencia MCP
spec://sessionspec-native/SESSION.md — estado activo
spec://context/productspec-native/PRODUCT.md
spec://context/architecturespec-native/ARCHITECTURE.md
spec://context/stackspec-native/STACK.md
spec://context/conventionsspec-native/CONVENTIONS.md
spec://context/commandsspec-native/COMMANDS.md
spec://context/decisionsspec-native/DECISIONS.md
spec://context/roadmapspec-native/ROADMAP.md
spec://context/traceabilityspec-native/TRACEABILITY.md
spec://spec-native/pipelines/cispec-native/pipelines/CI.md
spec://spec-native/pipelines/cdspec-native/pipelines/CD.md
spec://schema.specnative/SCHEMA.md

Herramientas — consulta

HerramientaDescripción
status()Estado de specs y conteo de tareas
validate()Verifica que existan los archivos obligatorios
list_specs()Todas las specs con ID, estado y owner
list_tasks(initiative)Tareas de una iniciativa
board(format?)Tablero de entrega de solo lectura derivado de estado y dependencias
capture_backlog_item(...)Crea una tarea válida o una idea triada sin editar el tablero
list_decisions(tag?)Lista decisiones indexadas por tag
list_architecture(tag?)Lista artefactos de arquitectura por tag
list_conventions(tag?)Lista convenciones por tag
read_context_artifact(id)Lee un artefacto DEC, ARCH o CONV
read_spec(initiative)Leer una spec
read_context(document)Leer cualquier documento de contexto (incluye session)
export_index()Exportar toda la metadata como JSON
context_snapshot(initiative?)Dump completo de contexto para onboarding

Herramientas — continuidad multi-agente

HerramientaDescripción
resume()Lee SESSION.md y retorna resumen estructurado de continuidad
checkpoint(initiative, task_id, intent, next_steps, …)Guarda estado activo antes de pausar o cambiar de agente
update_task(initiative, task_id, state, notes?, completion_evidence?)Actualiza estado; cerrar exige evidencia de validación
log_decision(title, context, decision, consequences)Append rápido a DECISIONS.md
log_architecture(title, context, design, consequences)Crea un artefacto ARCH y actualiza ARCHITECTURE.md
log_convention(title, rationale, rule, consequences)Crea un artefacto CONV y actualiza CONVENTIONS.md

Herramientas — definición del proyecto

HerramientaDescripción
health_check()Escanea spec-native/ — docs vacíos, faltantes, sesión obsoleta, specs sin tareas
suggest_next()Top 3 acciones recomendadas basadas en roadmap y estado actual
refine_document(document, what_changed, new_content)Actualiza un documento de contexto con nuevo contenido
read_template(document)Retorna la estructura vacía esperada para cualquier documento (11 tipos)
update_section(document, section_heading, content)Actualiza una sola sección sin tocar el resto del archivo

Herramientas — archetypes (v0.7)

HerramientaDescripción
list_archetypes()Lista archetypes disponibles: built-in y definidos en .specnative/archetypes/
read_archetype(name)Previsualiza todos los documentos de un archetype antes de aplicarlo
apply_archetype(name, force?)Escribe los documentos del archetype en spec-native/; respeta docs con contenido real

Herramientas — templates (v0.7)

HerramientaDescripción
list_templates(type?)Lista spec templates y/o decision snippets: built-in + locales en .specnative/templates/
apply_spec_template(template, initiative)Crea spec-native/specs/{initiative}/SPEC.md desde un template
apply_decision_snippet(name)Appenda un snippet de decisión a DECISIONS.md con auto-numeración DEC-XXXX

Prompts

PromptDescripción
init_project_guided(name, problem, users, goals, …)Llena los documentos core desde respuestas del desarrollador
start_initiative(name, problem)Iniciar una nueva iniciativa spec-driven
plan_tasks(initiative)Derivar tareas desde una spec
implement_task(initiative, task_id)Implementar una tarea específica
review_against_spec(initiative)Revisar contra criterios de aceptación
handoff(summary, next_steps, decisions?)Generar traspaso estructurado en SESSION.md para el siguiente agente
record_decision(title, ctx, dec, cons)Registrar una decisión persistente
record_architecture(title, ctx, design, cons)Preparar un artefacto de arquitectura para revisión
record_convention(title, rationale, rule, cons)Preparar una convención para revisión
close_initiative(initiative)Cerrar y actualizar trazabilidad

Configuración completa para Claude Desktop, OpenCode, Codex y transporte SSE: .specnative/MCP.md

Estructura del repositorio

repo/
├── AGENTS.md              # Meta-índice: qué es SpecNative, referencia MCP — leer primero
├── spec-native/
│   ├── README.md          # Índice de navegación de la carpeta de contexto
│   ├── PRODUCT.md         # Problema, usuarios, objetivos (permanente)
│   ├── ARCHITECTURE.md    # Estructura del sistema y límites
│   ├── STACK.md           # Stack tecnológico y restricciones
│   ├── CONVENTIONS.md     # Reglas de código, naming, testing
│   ├── COMMANDS.md        # Comandos del proyecto (build, test, lint...)
│   ├── DECISIONS.md       # Decisiones persistentes y tradeoffs
│   ├── ROADMAP.md         # Dirección temporal, sin detalle de implementación
│   ├── TRACEABILITY.md    # Vínculos entre artefactos
│   ├── SESSION.md         # Estado activo de trabajo (continuidad multi-agente)
│   ├── specs/
│   │   └── <iniciativa>/SPEC.md
│   ├── spec-native/tasks/
│   │   └── <iniciativa>/TASKS.md
│   ├── backlog/           # Vistas derivadas de entrega; nunca editar el estado aquí
│   ├── spec-native/workflows/
│   │   ├── PLANNING.md
│   │   ├── IMPLEMENTATION.md
│   │   └── REVIEW.md
│   └── spec-native/pipelines/
│       ├── CI.md          # Gates de validación automatizados
│       └── CD.md          # Proceso de entrega y ambientes
├── .claude/commands/      # Slash commands: /spec-init /spec-update /spec-status /spec-handoff
├── codex.toml             # Comandos prompt para Codex CLI
├── opencode.json          # MCP + prompts para OpenCode
└── .specnative/
    ├── SCHEMA.md           # Contrato del framework (no contenido del proyecto)
    ├── MCP.md              # Configuración del servidor MCP por agente
    ├── specnative_mcp.py   # Servidor MCP (instalado automáticamente)
    ├── archetypes/         # Archetypes propios del equipo
    │   └── README.md
    └── templates/          # Spec templates + decision snippets
        ├── specs/          # Plantillas de spec (.md con front matter +++)
        └── decisions/      # Snippets de decisiones (.md con front matter +++)

Los archivos en MAYÚSCULAS son contexto para agentes. Los README.md son índices de navegación, no la fuente de verdad. Carga el mínimo contexto necesario para la tarea actual. SESSION.md persiste el estado activo entre agentes.

Ownership documental — una verdad por documento

Cada documento tiene un dominio semántico exclusivo. Nunca duplicar información entre archivos. Actualiza siempre la fuente de verdad, no un resumen paralelo.

Documento Contiene No contiene
PRODUCT.md Problema, usuarios objetivo, objetivos, no-objetivos, valor diferencial Implementación, decisiones técnicas
SPEC.md Qué debe construirse en esta iniciativa: requisitos, alcance, criterios de aceptación, riesgos Tradeoffs persistentes (→ DECISIONS), visión de producto (→ PRODUCT), dirección (→ ROADMAP)
DECISIONS.md Tradeoffs persistentes que las próximas iniciativas deben respetar Qué se va a construir (→ SPEC), prioridades temporales (→ ROADMAP)
ROADMAP.md Qué viene primero y por qué (dirección temporal) Cómo implementar, tradeoffs específicos
ARCHITECTURE.md Módulos del sistema, límites, flujos de datos, restricciones arquitectónicas Qué construir, por qué se tomaron las decisiones
STACK.md Lenguajes, runtimes, frameworks, versiones, tecnología prohibida Estructura del sistema, convenciones de código
CONVENTIONS.md Reglas de naming, estilo de código, enfoque de testing, convenciones de commits/PRs Comandos del proyecto, stack tecnológico
COMMANDS.md Comandos específicos del proyecto: build, test, lint, run, migraciones Comandos del CLI del framework (specnative.py), scripts de deploy
spec-native/tasks/**/TASKS.md Plan ejecutable: tareas con estado, owner, dependencias, criterio de cierre Requisitos (→ SPEC), decisiones persistentes (→ DECISIONS)
TRACEABILITY.md Vínculos entre artefactos: spec → tareas → decisiones → archivos → validación Contenido de los documentos enlazados
spec-native/pipelines/CI.md Definición de gates automatizados, triggers, checks obligatorios Comandos de desarrollo local, lógica de implementación
spec-native/pipelines/CD.md Proceso de entrega, ambientes, gates de promoción, rollback Scripts de deploy, credenciales

Prueba de decisión — dónde escribir algo

Si desaparece cuando la iniciativa terminaSPEC.md

Si debe respetarse en la próxima iniciativaDECISIONS.md

Si explica el productoPRODUCT.md

Si orienta prioridad temporalROADMAP.md

Si describe la estructura del sistemaARCHITECTURE.md

Si define gates automatizados de validaciónspec-native/pipelines/CI.md

Si describe cómo el código llega a producciónspec-native/pipelines/CD.md

Cómo generar el template completo

Sigue estos pasos en orden cuando ayudes a un usuario a crear un repositorio SpecNative desde cero. Cada paso puebla un documento con el alcance correcto.

  1. Inicializar la estructura

    Ejecuta python3 install.py --target /ruta/al/repo --profile context o copia Template-Project-Agents-AI al repositorio destino. Esto crea todas las carpetas obligatorias y los archivos placeholder.

  2. Completar spec-native/PRODUCT.md

    Problema (qué fricción existe y para quién), Usuarios (segmentos, necesidades, contexto), Objetivos (resultados medibles), No-objetivos (exclusiones explícitas), Valor diferencial (por qué esta solución merece existir).

  3. Completar spec-native/ARCHITECTURE.md

    Módulos del sistema y sus responsabilidades, límites entre módulos y flujos de datos, restricciones arquitectónicas clave. Sin detalle de implementación.

  4. Completar spec-native/STACK.md

    Lenguajes y runtimes con versiones exactas, frameworks y librerías, infraestructura y tooling, restricciones y tecnologías prohibidas.

  5. Completar spec-native/CONVENTIONS.md

    Convenciones de naming (archivos, clases, variables), reglas de estilo y formato, enfoque de testing (unit / integración / e2e), convenciones de commits y PRs.

  6. Completar spec-native/COMMANDS.md

    Solo comandos reales del proyecto: build, test, lint, run/start, migraciones y cualquier comando operativo específico del proyecto. Nunca incluir comandos del CLI del framework aquí.

  7. Completar spec-native/ROADMAP.md

    Prioridades actuales en orden con justificación del ordenamiento. Horizonte temporal aproximado. Sin detalle de implementación ni contenido de spec.

  8. Crear spec-native/specs/<iniciativa>/SPEC.md

    ID, estado, owner, fechas de creación y actualización. Resumen, problema, objetivo. Alcance (incluye / excluye). Requisitos funcionales y no funcionales. Criterios de aceptación (Dado / Cuando / Entonces). Dependencias y riesgos. Plan de ejecución. Plan de validación.

  9. Derivar spec-native/tasks/<iniciativa>/TASKS.md

    Una tarea por unidad implementable. Cada tarea: ID, estado, owner, dependencias, archivos esperados, criterio observable de cierre, comando de validación.

  10. Registrar decisiones en spec-native/DECISIONS.md

    Solo tradeoffs persistentes que las próximas iniciativas deben respetar. Formato: DEC-XXXX, fecha, estado, contexto, decisión, consecuencias, reemplaza.

  11. Completar spec-native/pipelines/CI.md y spec-native/pipelines/CD.md

    CI: plataforma, triggers, gates obligatorios y opcionales, política de fallo. CD: ambientes, proceso de release, gates de promoción, proceso de rollback.

  12. Actualizar spec-native/TRACEABILITY.md al cerrar la iniciativa

    Vincular spec → tareas → decisiones → artefactos principales → evidencia de validación. Actualizar al cierre, no durante la ejecución.

Flujo de trabajo del agente (de AGENTS.md)

  1. Leer el README.md de la carpeta actual

    Punto de entrada de navegación en cualquier directorio.

  2. Revisar spec-native/ROADMAP.md

    Confirmar que la iniciativa es coherente con la dirección actual del proyecto antes de crear una spec.

  3. Leer spec-native/PRODUCT.md y contexto técnico relevante

    Cargar el mínimo contexto: ARCHITECTURE.md, STACK.md, CONVENTIONS.md según sea necesario.

  4. Leer spec-native/DECISIONS.md

    Respetar los tradeoffs persistentes que condicionan el diseño actual.

  5. Revisar o crear un SPEC.md

    Usar spec-native/SPEC.md para specs únicas activas; spec-native/specs/<iniciativa>/SPEC.md para proyectos más grandes.

  6. Derivar o leer tareas en spec-native/tasks/

    Seguir spec-native/workflows/PLANNING.md para convertir la spec en lista ejecutable de tareas.

  7. Implementar siguiendo spec-native/workflows/IMPLEMENTATION.md

    Verificar los gates de CI de spec-native/pipelines/CI.md antes de considerar el trabajo completo.

  8. Registrar tradeoffs persistentes en DECISIONS.md

    Solo si la decisión debe sobrevivir más allá de la iniciativa actual.

  9. Actualizar TRACEABILITY.md al cerrar la iniciativa

    Vincular todos los artefactos relacionados. No durante la ejecución — solo al cierre.

Estados obligatorios

Specs

draft active blocked done superseded
EstadoSignificado
draftEn redacción, aún no comprometida para implementación
activeActualmente en implementación
blockedNo puede avanzar por dependencia externa o decisión pendiente
doneTodos los criterios de aceptación cumplidos y validados
supersededReemplazada por una spec más nueva (enlazar el reemplazo)

Tareas

todo in_progress blocked done

Decisiones

proposed accepted deprecated replaced

Metadata TOML opcional

Los bloques TOML son opcionales. El contrato base es documental — los documentos son válidos sin TOML. Agrega bloques TOML cuando quieras que los comandos validate, status y export del CLI funcionen automáticamente. Coloca el bloque cerca del inicio del archivo.

Cabecera de spec (spec-native/SPEC.md o spec-native/specs/**/SPEC.md)

```toml
artifact_type = "spec"
id            = "SPEC-0001"
state         = "draft"
owner         = "nombre-equipo"
created_at    = "YYYY-MM-DD"
updated_at    = "YYYY-MM-DD"
replaces      = "none"
related_tasks       = ["TASK-0001"]
related_decisions   = ["DEC-0001"]
artifacts           = ["src/ejemplo/*"]
validation          = ["pytest", "revisión manual"]
```

Cabecera de archivo de tareas (spec-native/tasks/**/TASKS.md)

```toml
artifact_type = "task_file"
initiative    = "nombre-iniciativa"
spec_id       = "SPEC-0001"
owner         = "nombre-equipo"
state         = "todo"
```

Bloque de tarea individual

```toml
id             = "TASK-0001"
title          = "Título de la tarea"
state          = "todo"
priority       = "p2"
owner          = "nombre-equipo"
labels         = []
dependencies   = []
expected_files = ["src/ejemplo.py"]
close_criteria = "Condición observable de cierre"
validation     = ["pytest tests/ejemplo_test.py"]
completion_evidence = []  # obligatorio y no vacío cuando state = "done"
```

Referencia del CLI

tools/specnative.py vive en el repositorio SpecNative Development, no en el proyecto adoptante. Invócalo apuntando a la raíz del proyecto.

ComandoQué hace
status Muestra cada spec con su estado y un resumen de los estados de tareas (conteo de todo, in_progress, done, blocked).
validate Verifica que existan todos los archivos obligatorios y que los bloques TOML (cuando presentes) tengan estados válidos y campos requeridos.
export-index Exporta todas las specs y archivos de tareas con metadata TOML como JSON. Usa --output archivo.json para escribir a disco.
export-traceability Exporta la matriz de trazabilidad que enlaza cada spec con su archivo de tareas, decisiones, artefactos y validación. Usa --output archivo.json.
board [--format markdown|mermaid|json] Genera una vista de entrega determinista y de solo lectura. Las tareas con dependencias sin cerrar aparecen en waiting.
github-project plan Genera un plan de exportación a GitHub Projects sin efectos externos desde la metadata de tareas.
install Copia la estructura del template en un repositorio git existente. Requiere worktree limpio y crea una rama dedicada. Opciones: --target, --profile context|spec|team|platform, --include-examples, --branch, --force.
# Ver estado de specs y tareas
python3 tools/specnative.py status

# Validar archivos obligatorios y consistencia TOML
python3 tools/specnative.py validate

# Exportar índice completo
python3 tools/specnative.py export-index --output exports/index.json

# Exportar matriz de trazabilidad
python3 tools/specnative.py export-traceability --output exports/trazabilidad.json

# Instalar en repositorio existente
curl -sSL https://github.com/rafex/SpecNative-Development/releases/latest/download/install.py \
  | python3 - --target /ruta/al/repo --profile team

Instalador standalone

install.py inicializa SpecNative desde un release de GitHub sin dependencias más allá de la biblioteca estándar de Python.

# Descargar y ejecutar directamente
curl -sSL https://github.com/rafex/SpecNative-Development/releases/latest/download/install.py \
  | python3 - --target /ruta/al/repo

# O descargar primero y luego ejecutar
python3 install.py --target /ruta/al/repo --profile platform --include-examples