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
| URI | Documento |
|---|---|
spec://agents | AGENTS.md — meta-índice y referencia MCP |
spec://session | spec-native/SESSION.md — estado activo |
spec://context/product | spec-native/PRODUCT.md |
spec://context/architecture | spec-native/ARCHITECTURE.md |
spec://context/stack | spec-native/STACK.md |
spec://context/conventions | spec-native/CONVENTIONS.md |
spec://context/commands | spec-native/COMMANDS.md |
spec://context/decisions | spec-native/DECISIONS.md |
spec://context/roadmap | spec-native/ROADMAP.md |
spec://context/traceability | spec-native/TRACEABILITY.md |
spec://spec-native/pipelines/ci | spec-native/pipelines/CI.md |
spec://spec-native/pipelines/cd | spec-native/pipelines/CD.md |
spec://schema | .specnative/SCHEMA.md |
Herramientas — consulta
| Herramienta | Descripció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
| Herramienta | Descripció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
| Herramienta | Descripció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)
| Herramienta | Descripció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)
| Herramienta | Descripció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
| Prompt | Descripció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 termina → SPEC.md
Si debe respetarse en la próxima iniciativa → DECISIONS.md
Si explica el producto → PRODUCT.md
Si orienta prioridad temporal → ROADMAP.md
Si describe la estructura del sistema → ARCHITECTURE.md
Si define gates automatizados de validación → spec-native/pipelines/CI.md
Si describe cómo el código llega a producción → spec-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.
-
Inicializar la estructura
Ejecuta
python3 install.py --target /ruta/al/repo --profile contexto copia Template-Project-Agents-AI al repositorio destino. Esto crea todas las carpetas obligatorias y los archivos placeholder. -
Completar
spec-native/PRODUCT.mdProblema (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).
-
Completar
spec-native/ARCHITECTURE.mdMódulos del sistema y sus responsabilidades, límites entre módulos y flujos de datos, restricciones arquitectónicas clave. Sin detalle de implementación.
-
Completar
spec-native/STACK.mdLenguajes y runtimes con versiones exactas, frameworks y librerías, infraestructura y tooling, restricciones y tecnologías prohibidas.
-
Completar
spec-native/CONVENTIONS.mdConvenciones de naming (archivos, clases, variables), reglas de estilo y formato, enfoque de testing (unit / integración / e2e), convenciones de commits y PRs.
-
Completar
spec-native/COMMANDS.mdSolo 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í.
-
Completar
spec-native/ROADMAP.mdPrioridades actuales en orden con justificación del ordenamiento. Horizonte temporal aproximado. Sin detalle de implementación ni contenido de spec.
-
Crear
spec-native/specs/<iniciativa>/SPEC.mdID, 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.
-
Derivar
spec-native/tasks/<iniciativa>/TASKS.mdUna tarea por unidad implementable. Cada tarea: ID, estado, owner, dependencias, archivos esperados, criterio observable de cierre, comando de validación.
-
Registrar decisiones en
spec-native/DECISIONS.mdSolo tradeoffs persistentes que las próximas iniciativas deben respetar. Formato: DEC-XXXX, fecha, estado, contexto, decisión, consecuencias, reemplaza.
-
Completar
spec-native/pipelines/CI.mdyspec-native/pipelines/CD.mdCI: plataforma, triggers, gates obligatorios y opcionales, política de fallo. CD: ambientes, proceso de release, gates de promoción, proceso de rollback.
-
Actualizar
spec-native/TRACEABILITY.mdal cerrar la iniciativaVincular 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)
- Leer el README.md de la carpeta actual
Punto de entrada de navegación en cualquier directorio.
- Revisar spec-native/ROADMAP.md
Confirmar que la iniciativa es coherente con la dirección actual del proyecto antes de crear una spec.
- 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.
- Leer spec-native/DECISIONS.md
Respetar los tradeoffs persistentes que condicionan el diseño actual.
- 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.
- Derivar o leer tareas en spec-native/tasks/
Seguir spec-native/workflows/PLANNING.md para convertir la spec en lista ejecutable de tareas.
- Implementar siguiendo spec-native/workflows/IMPLEMENTATION.md
Verificar los gates de CI de spec-native/pipelines/CI.md antes de considerar el trabajo completo.
- Registrar tradeoffs persistentes en DECISIONS.md
Solo si la decisión debe sobrevivir más allá de la iniciativa actual.
- Actualizar TRACEABILITY.md al cerrar la iniciativa
Vincular todos los artefactos relacionados. No durante la ejecución — solo al cierre.
Estados obligatorios
Specs
| Estado | Significado |
|---|---|
draft | En redacción, aún no comprometida para implementación |
active | Actualmente en implementación |
blocked | No puede avanzar por dependencia externa o decisión pendiente |
done | Todos los criterios de aceptación cumplidos y validados |
superseded | Reemplazada por una spec más nueva (enlazar el reemplazo) |
Tareas
Decisiones
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.
| Comando | Qué 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