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.4
tools/specnative_mcp.py expone el repositorio como
recursos, herramientas y prompts
MCP para que cualquier agente compatible (Claude Desktop, Claude Code, OpenCode)
trabaje en modo spec-first sin navegar manualmente el árbol de archivos.
Requiere: pip install mcp.
Configuración rápida — Claude Code
# Agregar desde la CLI
claude mcp add specnative \
python3 .specnative/specnative_mcp.py \
-- --repo /ruta/a/tu/proyecto
# O agregar a .claude/mcp_settings.json
{
"mcpServers": {
"specnative": {
"command": "python3",
"args": [
".specnative/specnative_mcp.py",
"--repo", "/ruta/a/tu/proyecto"
]
}
}
}
Recursos
| URI | Documento |
|---|---|
spec://agents | AGENTS.md — contrato operativo |
spec://context/product | agents/PRODUCT.md |
spec://context/architecture | agents/ARCHITECTURE.md |
spec://context/stack | agents/STACK.md |
spec://context/conventions | agents/CONVENTIONS.md |
spec://context/commands | agents/COMMANDS.md |
spec://context/decisions | agents/DECISIONS.md |
spec://context/roadmap | agents/ROADMAP.md |
spec://context/traceability | agents/TRACEABILITY.md |
spec://pipelines/ci | pipelines/CI.md |
spec://pipelines/cd | pipelines/CD.md |
spec://schema | .specnative/SCHEMA.md |
Herramientas
| 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 |
read_spec(initiative) | Leer una spec |
read_context(document) | Leer cualquier documento de contexto por nombre |
export_index() | Exportar toda la metadata como JSON |
Prompts
| Prompt | Descripción |
|---|---|
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 |
record_decision(title, ctx, dec, cons) | Registrar una decisión persistente |
close_initiative(initiative) | Cerrar y actualizar trazabilidad |
Configuración completa para Claude Desktop, OpenCode y transporte SSE: .specnative/MCP.md
Estructura del repositorio
repo/
├── AGENTS.md # Contrato operativo para agentes — leer primero
├── README.md # Índice de navegación
├── agents/
│ ├── README.md # Índice 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 de versión
│ ├── CONVENTIONS.md # Reglas de código, naming, testing
│ ├── COMMANDS.md # Comandos del proyecto (build, test, lint...)
│ ├── SPEC.md # Spec activa (o entrada a specs/)
│ ├── DECISIONS.md # Decisiones persistentes y tradeoffs
│ ├── ROADMAP.md # Dirección temporal, sin detalle de implementación
│ ├── TRACEABILITY.md # Vínculos entre artefactos
│ └── specs/
│ └── <iniciativa>/
│ └── SPEC.md
├── tasks/
│ └── <iniciativa>/
│ └── TASKS.md
├── workflows/
│ ├── PLANNING.md
│ ├── IMPLEMENTATION.md
│ └── REVIEW.md
├── pipelines/
│ ├── CI.md # Gates de validación automatizados
│ └── CD.md # Proceso de entrega y ambientes
└── .specnative/
├── SCHEMA.md # Contrato del framework (no contenido del proyecto)
└── CLI.md # Referencia del CLI
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. No ingieras todo el repositorio.
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 |
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 |
pipelines/CI.md |
Definición de gates automatizados, triggers, checks obligatorios | Comandos de desarrollo local, lógica de implementación |
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 → pipelines/CI.md
Si describe cómo el código llega a producción → 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 minimalo copia Template-Project-Agents-AI al repositorio destino. Esto crea todas las carpetas obligatorias y los archivos placeholder. -
Completar
agents/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
agents/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
agents/STACK.mdLenguajes y runtimes con versiones exactas, frameworks y librerías, infraestructura y tooling, restricciones y tecnologías prohibidas.
-
Completar
agents/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
agents/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
agents/ROADMAP.mdPrioridades actuales en orden con justificación del ordenamiento. Horizonte temporal aproximado. Sin detalle de implementación ni contenido de spec.
-
Crear
agents/SPEC.md(oagents/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.
-
Derivar
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
agents/DECISIONS.mdSolo tradeoffs persistentes que las próximas iniciativas deben respetar. Formato: DEC-XXXX, fecha, estado, contexto, decisión, consecuencias, reemplaza.
-
Completar
pipelines/CI.mdypipelines/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
agents/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 agents/ROADMAP.md
Confirmar que la iniciativa es coherente con la dirección actual del proyecto antes de crear una spec.
- Leer agents/PRODUCT.md y contexto técnico relevante
Cargar el mínimo contexto: ARCHITECTURE.md, STACK.md, CONVENTIONS.md según sea necesario.
- Leer agents/DECISIONS.md
Respetar los tradeoffs persistentes que condicionan el diseño actual.
- Revisar o crear un SPEC.md
Usar agents/SPEC.md para specs únicas activas; agents/specs/<iniciativa>/SPEC.md para proyectos más grandes.
- Derivar o leer tareas en tasks/
Seguir workflows/PLANNING.md para convertir la spec en lista ejecutable de tareas.
- Implementar siguiendo workflows/IMPLEMENTATION.md
Verificar los gates de CI de 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 (agents/SPEC.md o agents/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 (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"
owner = "nombre-equipo"
dependencies = []
expected_files = ["src/ejemplo.py"]
close_criteria = "Condición observable de cierre"
validation = ["pytest tests/ejemplo_test.py"]
```
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. |
install |
Copia la estructura del template en un repositorio git existente. Requiere worktree limpio y crea una rama dedicada. Opciones: --target, --profile minimal|full, --include-examples, --branch, --force. |
# Ver estado de specs y tareas
python3 specnative.py status
# Validar archivos obligatorios y consistencia TOML
python3 specnative.py validate
# Exportar índice completo
python3 specnative.py export-index --output exports/index.json
# Exportar matriz de trazabilidad
python3 specnative.py export-traceability --output exports/trazabilidad.json
# Instalar en repositorio existente
python3 specnative.py install \
--target /ruta/al/repo \
--profile minimal \
--include-examples \
--branch specnative/install-v0.3.1
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 minimal --include-examples