Ir al contenido

Platform Integration

Companion del AI-First Engineering Framework v7.5

Version: 1.1.0 | Fecha: Marzo 2026 Estado: ACTIVO Aplica a: Todo proyecto que adopte el AI-First Engineering Framework con cualquier plataforma de codificacion AI


Las plataformas de codificacion AI — Claude Code, Codex, Cursor, Copilot, Windsurf, Amazon Q — generan codigo excelente. Son las mejores herramientas de productividad que la ingenieria de software ha visto. Pero tienen un problema fundamental: generan codigo sin governance de ciclo de vida.

Son martillos sin plano arquitectonico.

Un agente AI puede:

  • Escribir una API REST completa en minutos
  • Refactorizar miles de lineas en segundos
  • Generar tests con cobertura alta

Pero sin governance, ese mismo agente:

  • No sabe si el proyecto requiere clasificacion de datos antes de codificar
  • No valida que la arquitectura fue aprobada antes de implementar
  • No verifica compliance de seguridad antes de hacer merge
  • No sigue un lifecycle de 10 fases — salta directo a codigo
  • No produce artefactos de trazabilidad (problem statement, domain model, contratos)

El framework Baseline resuelve esto: provee el plano arquitectonico, las reglas de governance, los gates de calidad y los artefactos de trazabilidad que cualquier plataforma AI necesita para producir software con rigor de ingenieria.

1.2 El Patron: Platform + Baseline = Governed AI Development

Sección titulada «1.2 El Patron: Platform + Baseline = Governed AI Development»

El patron fundamental es un wrapper de governance alrededor de cualquier plataforma:

┌─────────────────────────────────────────────────────────────────────┐
│ GOVERNED AI DEVELOPMENT │
│ │
│ ┌───────────┐ ┌──────────────────────┐ ┌───────────────┐ │
│ │ INTENT │────►│ BASELINE GOVERNANCE │────►│ PLATAFORMA │ │
│ │ │ │ │ │ AI │ │
│ │ - Issue │ │ - CLAUDE.md (reglas) │ │ │ │
│ │ - Ticket │ │ - AGENTS.md (routing) │ │ - Claude Code │ │
│ │ - Intent │ │ - Skills (metodologia)│ │ - Codex │ │
│ │ YAML │ │ - Rules (calidad) │ │ - Cursor │ │
│ │ │ │ - Gates (progresion) │ │ - Copilot │ │
│ └───────────┘ └──────────┬───────────┘ │ - Windsurf │ │
│ │ │ - Amazon Q │ │
│ │ └───────┬───────┘ │
│ │ │ │
│ ┌──────────▼──────────────────────────▼────┐ │
│ │ ENFORCEMENT │ │
│ │ │ │
│ │ - compliance-linter.py (10 reglas) │ │
│ │ - artifact-validator.py (28 schemas) │ │
│ │ - gate-check.sh (gates A-F + DG) │ │
│ │ - fab-gate-check.py (autonomous gates) │ │
│ │ - CI Pipeline (universal) │ │
│ └──────────────────────────────────────────┘ │
│ │ │
│ ┌──────────▼──────────┐ │
│ │ DELIVERY │ │
│ │ PR → Review → Merge│ │
│ └─────────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘

El punto clave: la plataforma AI es intercambiable. La governance no lo es.

Cada concepto del framework Baseline tiene un equivalente en las plataformas AI. Esta tabla muestra el mapeo generico:

Concepto BaselinePropositoEquivalente Generico en Plataformas
CLAUDE.mdInstrucciones del proyecto para el agenteSystem instructions / rules file / config
AGENTS.mdRouting de contexto + principios del agenteAgent configuration / persona / instructions
.claude/skills/Guias metodologicas por fase (F01-F10)Custom docs / knowledge base / prompts
.claude/rules/Reglas de calidad de codigo y YAMLLinting rules / code style config
.claude/hooks/Acciones automaticas pre/post operacionPre-commit hooks / automations / triggers
.claude/agents/Agentes especializados (architect, QA, security)Agent personas / specialized modes
compliance-linter.pyValidacion de compliance por fase y trackCI pipeline check / linting step
gate-check.shVerificacion de gates antes de avanzar de fasePR merge gate / quality gate
fab-gate-check.pyDecision autonoma de gates (para FABs)Autonomous decision gate / auto-approve
artifact-validator.pyValidacion de YAML contra schemasSchema validation / artifact check
framework-mcp-server.pyConsulta real-time del frameworkMCP server / API tools / context provider
context-router.pyMapeo tarea → guias relevantesContext routing / knowledge selection

Regla de oro: Adopta la governance al nivel mas alto que la plataforma soporte nativamente, y usa CI como red de seguridad universal.

Esto significa:

  1. Si la plataforma soporta CLAUDE.md nativo → usarlo
  2. Si soporta skills nativos → cargar las guias metodologicas ahi
  3. Si soporta hooks nativos → configurar enforcement ahi
  4. Siempre configurar CI como capa final de enforcement (funciona con todas las plataformas)

Claude Code es la plataforma nativa del framework. Todos los conceptos de Baseline se mapean 1:1 sin adaptacion.

CaracteristicaSoporte
CLAUDE.md auto-cargadoSi — cargado automaticamente al iniciar sesion
AGENTS.md auto-cargadoSi — define principios y routing de contexto
Skills como slash commandsSi — /f01-strategy, /fab-orchestrator, etc.
Rules auto-cargadas por pathSi — .claude/rules/*.md se cargan automaticamente
Hooks nativos (PreCommit, PostToolUse)Si — configurados en settings.json
Agents con @mentionSi — @architect, @qa-engineer, etc.
MCP server nativoSi — framework-mcp-server.py como herramienta
FAB headlessSi — claude --background con intent documents
Worktrees aisladosSi — .claude/worktrees/ nativo
Permisos granularesSi — settings.json con allow/deny por herramienta
Ventana de terminal
# Clonar el framework
git clone https://github.com/aforero22/baseline.git
cd baseline
# Crear proyecto nuevo con scaffold completo
./scripts/init-project.sh "Mi Proyecto" "mi-proyecto" ~/projects
# El script automaticamente:
# 1. Crea ~/projects/mi-proyecto/
# 2. Agrega baseline como submodule
# 3. Copia templates → CLAUDE.md, AGENTS.md, .claude/, project/
# 4. Configura MCP server
# 5. Genera data governance artifacts
# 6. Hace commit inicial
Ventana de terminal
# Desde la raiz del proyecto existente
cd ~/projects/mi-proyecto-existente
# Ejecutar adopcion aditiva
/path/to/baseline/scripts/init-brownfield.sh
# El script automaticamente:
# 1. Agrega baseline/ como submodule
# 2. Crea .claude/ con skills, rules, hooks, agents
# 3. Crea CLAUDE.md y AGENTS.md adaptados
# 4. Crea project/ con templates YAML
# 5. NO toca el codigo existente
Ventana de terminal
# Verificar que la estructura esta completa
ls -la .claude/
# skills/ rules/ hooks/ agents/ settings.json
# Verificar CLAUDE.md
head -5 CLAUDE.md
# Verificar MCP config
cat .claude/mcp_config.json
# Correr compliance check inicial
python3 baseline/scripts/compliance-linter.py --project-dir . --track solo
Concepto BaselineFeature Claude CodeComo Funciona
CLAUDE.mdCLAUDE.md (nativo)Auto-cargado al inicio de cada sesion
AGENTS.mdAGENTS.md (nativo)Auto-cargado, define 7 Golden Principles
.claude/skills/*.mdSlash commands (/skill-name)Invocados con /f01-strategy, /fab-orchestrator, etc.
.claude/rules/*.mdRules (auto-cargadas por path)Aplicadas automaticamente segun patron de archivo
.claude/hooks/settings.json hooksPreCommit, PostToolUse, PostCompact
.claude/agents/*.md@agent mentions@architect, @qa-engineer, @security-reviewer
.claude/settings.jsonConfiguracion nativaPermisos, hooks, MCP config
FAB Modeclaude --backgroundEjecucion headless con intent documents
Worktrees.claude/worktrees/Aislamiento nativo por tarea
MCP Servermcp_config.jsonFramework como herramienta consultable

El archivo .claude/settings.json configura hooks que se ejecutan automaticamente:

{
"hooks": {
"PreCommit": [
{
"command": "python3 baseline/scripts/compliance-linter.py --project-dir . --track $TRACK --phase $PHASE --format compact",
"description": "Validar compliance del framework antes de commit"
},
{
"command": "git diff --cached --name-only | grep -E '\\.ya?ml$' | xargs -I {} python3 baseline/scripts/artifact-validator.py {}",
"description": "Validar YAML contra schemas del framework"
},
{
"command": "git diff --cached --diff-filter=A --name-only | xargs grep -l -E '(api[_-]?key|secret|password|token)\\s*[:=]' || true",
"description": "Escaneo basico de secretos en archivos nuevos"
}
],
"PostToolUse": [
{
"event": "Write",
"pattern": "**/*.yaml",
"command": "python3 -c \"import yaml, sys; yaml.safe_load(open(sys.argv[1]))\" $FILE",
"description": "Validar sintaxis YAML despues de cada escritura"
}
],
"PostCompact": [
{
"command": "cat CLAUDE.md | head -100",
"description": "Recargar contexto del proyecto despues de compactacion"
}
]
},
"permissions": {
"allow": [
"Read(**)",
"Write(project/**)",
"Write(.claude/**)",
"Bash(python3 baseline/scripts/*)",
"Bash(bash baseline/scripts/*)",
"Bash(git *)",
"Bash(npm *)",
"MCP(framework-mcp-server)"
],
"deny": [
"Write(baseline/**)",
"Bash(rm -rf *)",
"Bash(curl * | bash)",
"Bash(chmod 777 *)"
]
}
}

El framework incluye un MCP server con 10 herramientas consultables por el agente:

{
"mcpServers": {
"framework": {
"command": "python3",
"args": ["baseline/scripts/framework-mcp-server.py", "--project-dir", "."],
"description": "AI-First Engineering Framework — 10 tools"
}
}
}

Herramientas disponibles:

Tool MCPDescripcion
get_phase_guideObtener guia completa de una fase (F01-F10)
get_gate_requirementsRequisitos del gate para una fase y track
check_complianceEjecutar compliance linter y obtener score
validate_artifactValidar un artefacto YAML contra schema
route_contextObtener guias y skills relevantes para una tarea
list_templatesListar templates disponibles por fase
get_templateObtener contenido de un template especifico
get_framework_configObtener configuracion del framework
search_guidesBuscar en guias operacionales por keyword
get_track_configObtener configuracion de un track (Full/Lean/Solo)

Ejemplo de uso desde Claude Code:

Usuario: "Necesito disenar la arquitectura del servicio de pagos"
Claude Code (internamente):
1. Llama route_context("disenar arquitectura servicio pagos")
→ Resultado: F04_Architecture, guides/Context_Engineering_Guide.md
2. Llama get_phase_guide("F04")
→ Resultado: guia completa de F04
3. Llama get_gate_requirements("F04", "lean")
→ Resultado: artefactos requeridos para Gate D
4. Llama get_template("architecture_decision_record")
→ Resultado: template ADR
5. Procede a disenar con governance completa

FAB (Fullstack Agent Builder) es el modo headless del framework donde agentes autonomos ejecutan tareas completas sin intervencion humana.

┌──────────────┐ ┌──────────────┐ ┌──────────────────┐
│ INTENT │────►│ FAB INTAKE │────►│ CLAUDE │
│ (YAML) │ │ (validacion)│ │ --background │
└──────────────┘ └──────────────┘ │ --intent FILE │
└────────┬─────────┘
┌──────────────────────▼──────────┐
│ EJECUCION AUTONOMA │
│ │
│ 1. Cargar intent + CLAUDE.md │
│ 2. Ejecutar F01→F10 segun scope │
│ 3. Checkpoint cada 60 min │
│ 4. Gate check autonomo │
│ 5. PR al completar │
└──────────────────────────────────┘
intent/add-payment-service.yaml
intent:
id: "INT-2026-0342"
title: "Agregar servicio de procesamiento de pagos"
type: "feature"
priority: "high"
source: "github-issue-142"
scope:
phases: ["F01", "F02", "F03", "F04", "F05", "F07"]
track: "lean"
estimated_tokens: 500000
constraints:
budget_usd: 15.00
max_duration_hours: 4
require_human_review: true
security_classification: "confidential"
acceptance_criteria:
- "API REST para procesamiento de pagos con Stripe"
- "Tests de integracion con sandbox de Stripe"
- "Documentacion de API en OpenAPI 3.1"
- "Compliance check score >= 80%"
Ventana de terminal
# Validar el intent
python3 baseline/scripts/validate-intent.py intent/add-payment-service.yaml
# Lanzar FAB
claude --background \
--intent intent/add-payment-service.yaml \
--checkpoint-interval 60 \
--cost-limit 15.00
# Monitorear
bash baseline/scripts/fab-health-check.sh
1. Crear proyecto
$ ./scripts/init-project.sh "Payment API" "payment-api" ~/projects
2. Abrir Claude Code
$ cd ~/projects/payment-api
$ claude
3. Claude Code carga automaticamente:
- CLAUDE.md → instrucciones del proyecto
- AGENTS.md → principios y routing
- .claude/rules/ → reglas de calidad
- .claude/settings.json → permisos y hooks
4. Iniciar trabajo con skill de estrategia
> /f01-strategy
> Necesito definir el problem statement para un servicio de pagos
5. Claude Code:
- Usa MCP tool get_phase_guide("F01") para contexto
- Genera problem_statement.yaml siguiendo el template
- Hook PostToolUse valida YAML automaticamente
6. Avanzar a siguiente fase
> /f04-architecture
> Disenar la arquitectura basada en el problem statement
7. Hacer commit
$ git add -A
$ git commit -m "feat(F04): architecture decision records for payment service"
# Hook PreCommit ejecuta compliance-linter automaticamente
# Si score < threshold → commit rechazado con feedback
8. Gate check antes de PR
$ bash baseline/scripts/gate-check.sh --phase F04 --track lean
# Verifica que todos los artefactos requeridos existan y sean validos
9. Crear PR con governance completa

OpenAI Codex es una plataforma de codificacion AI con soporte nativo para agentes autonomos, tasks y automations. Su modelo de integracion se centra en AGENTS.md como archivo principal de instrucciones.

Concepto BaselineFeature CodexNotas
CLAUDE.mdAGENTS.md (Codex lo lee nativamente)Codex usa AGENTS.md como archivo principal de instrucciones
AGENTS.mdAGENTS.mdCompatibilidad directa — mismo archivo
.claude/skills/Directorio de skillsCodex soporta skills como documentos referenciables
.claude/rules/Reglas en AGENTS.md o configLas reglas se embeben en AGENTS.md o en archivos auxiliares
.claude/hooks/AutomationsCodex soporta automations triggered por eventos
.claude/agents/Agent personas en AGENTS.mdSe definen como secciones del AGENTS.md
FAB Modecodex --taskEjecucion headless de tareas
compliance-linter.pyCI integrationSe ejecuta como step de CI
gate-check.shCI merge gateSe ejecuta como check requerido en PR
MCP ServerMCP nativoCodex soporta MCP como protocolo de herramientas

Paso 1: Crear AGENTS.md compatible con Codex

Sección titulada «Paso 1: Crear AGENTS.md compatible con Codex»

Codex usa AGENTS.md como su archivo principal de instrucciones. El framework ya genera un AGENTS.md, pero necesita ajustes para ser el archivo primario (en Claude Code, CLAUDE.md es el primario).

# AGENTS.md — Payment API
# AI-First Engineering Framework v7.2
## Instrucciones del Proyecto
Este proyecto sigue el AI-First Engineering Framework.
El framework esta disponible en `baseline/` como submodule.
## Principios (7 Golden Principles)
1. Framework-first: Toda decisión sigue el lifecycle F01-F10
2. Artifact-driven: Todo output es un artefacto versionado YAML
3. Gate-governed: No avanzar sin pasar el gate de la fase actual
4. Context-aware: Cargar solo las guias relevantes para la tarea
5. Quality-enforced: Compliance score >= 80% para merge
6. Track-appropriate: Full/Lean/Solo segun tamaño del equipo
7. Security-embedded: Clasificacion de datos desde F01
## Reglas de Calidad
- YAML: indentacion 2 espacios, sin tabs
- Codigo: docstrings, type hints, tests
- Commits: conventional commits (feat:, fix:, docs:, chore:)
- PRs: incluir compliance score en descripcion
## Guias por Fase
Para cada tarea, consulta la guia correspondiente:
- Estrategia: baseline/framework/core/F01_Strategy/
- Dominio: baseline/framework/core/F02_Domain/
- Conocimiento: baseline/framework/core/F03_Knowledge/
- Arquitectura: baseline/framework/core/F04_Architecture/
- Contratos: baseline/framework/core/F05_Contracts/
- Implementacion: baseline/framework/core/F06_Implementation/
- TEVV: baseline/framework/core/F07_TEVV/
- Seguridad: baseline/framework/core/F08_Security/
- Operaciones: baseline/framework/core/F09_Operations/
- Evolucion: baseline/framework/core/F10_Evolution/
## Enforcement
Antes de hacer commit, ejecutar:
$ python3 baseline/scripts/compliance-linter.py --project-dir . --track lean
Ventana de terminal
# Copiar skills del framework al directorio que Codex reconoce
mkdir -p .codex/skills/
cp .claude/skills/*.md .codex/skills/
# O crear un symlink si Codex lo soporta
ln -s .claude/skills .codex/skills
.github/workflows/baseline-enforcement.yml
name: Baseline Enforcement
on:
pull_request:
branches: [main, develop]
jobs:
compliance:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: pip install pyyaml jsonschema
- name: Run compliance linter
run: |
python3 baseline/scripts/compliance-linter.py \
--project-dir . \
--track lean \
--min-score 80 \
--format github-actions
- name: Validate artifacts
run: |
find project/ -name "*.yaml" -exec \
python3 baseline/scripts/artifact-validator.py {} \;
- name: Gate check
run: |
bash baseline/scripts/gate-check.sh \
--phase ${{ github.event.pull_request.title }} \
--track lean
AspectoClaude CodeCodexAdaptacion
Archivo principalCLAUDE.mdAGENTS.mdMover contenido de CLAUDE.md → AGENTS.md
Hooks nativossettings.jsonAutomationsReconfigurar hooks como automations de Codex
MCP Servermcp_config.jsonMCP nativoConfigurar MCP server en config de Codex
Permisossettings.json allow/denyConfig de CodexMapear permisos al modelo de Codex
Worktrees.claude/worktrees/Sandbox de CodexCodex usa su propio aislamiento
1. Proyecto con AGENTS.md configurado
$ cd ~/projects/payment-api
2. Iniciar tarea con Codex
$ codex --task "Implementar endpoint POST /payments siguiendo F06"
3. Codex:
- Lee AGENTS.md → obtiene instrucciones del framework
- Consulta skills de F06 → implementacion
- Genera codigo siguiendo reglas de calidad
- Ejecuta tests automaticamente
4. CI valida compliance
- compliance-linter.py verifica artefactos
- artifact-validator.py valida schemas
- gate-check.sh verifica gate E (implementacion)
5. PR lista para review

Cursor es un IDE con AI integrada que usa un sistema de reglas basado en archivos .cursor/rules/. La integracion con Baseline requiere transformar los conceptos del framework al formato de Cursor.

Concepto BaselineFeature CursorNotas
CLAUDE.md.cursor/rules/*.mdCursor carga reglas desde .cursor/rules/
AGENTS.md.cursorrules (raiz)Archivo global de reglas en la raiz
.claude/skills/Custom docs en .cursor/rules/Cada skill como archivo de regla
.claude/rules/.cursor/rules/*.md con glob patternsReglas con metadata de aplicacion
.claude/hooks/Limitado — usar CICursor no tiene hooks nativos robustos
.claude/agents/No soportado nativamenteUsar instrucciones manuales
FAB ModeNo soportadoNo hay modo headless
MCP ServerMCP nativoCursor soporta MCP servers
Agent ModeCursor Composer (Agent)Modo agente para tareas complejas
Ventana de terminal
mkdir -p .cursor/rules/
.cursor/rules/framework-governance.md
---
description: "Reglas de governance del AI-First Engineering Framework"
globs: ["**/*"]
alwaysApply: true
---
# Governance del Framework
Este proyecto sigue el AI-First Engineering Framework v7.2.
El framework esta en `baseline/` como submodule.
## Reglas Mandatorias
1. Todo cambio debe seguir el lifecycle F01-F10
2. Todo artefacto YAML debe seguir los schemas en baseline/scripts/schemas/
3. Compliance score minimo: 80%
4. Conventional commits obligatorios
## Antes de Implementar
Verificar que existen los artefactos de fases previas:
- F01: problem_statement.yaml
- F02: domain_model.yaml
- F04: architecture_decision_record.yaml
- F05: api_contracts.yaml
## Calidad de Codigo
- Python: docstrings, type hints, tests unitarios
- YAML: indentacion 2 espacios, validar con schema
- Commits: feat:, fix:, docs:, chore:
.cursor/rules/yaml-quality.md
---
description: "Reglas de calidad para archivos YAML del framework"
globs: ["project/**/*.yaml", "**/*.yml"]
---
# Calidad YAML
- Indentacion: 2 espacios, nunca tabs
- Strings con caracteres especiales: usar comillas
- Listas: usar guion + espacio (- item)
- Validar contra schema: python3 baseline/scripts/artifact-validator.py <file>
- Incluir header con metadata: titulo, version, fecha, autor
.cursor/rules/python-quality.md
---
description: "Reglas de calidad para codigo Python"
globs: ["**/*.py"]
---
# Calidad Python
- Docstrings en todas las funciones publicas
- Type hints en parametros y retorno
- Guard clause: if __name__ == "__main__":
- Tests unitarios para toda logica de negocio
- Imports ordenados: stdlib, third-party, local
.cursor/rules/skill-architecture.md
---
description: "Guia de arquitectura (F04) del framework"
globs: ["project/F04_*/**", "**/architecture*"]
---
# Fase F04 — Arquitectura
Cuando trabajes en artefactos de arquitectura:
1. Consultar baseline/framework/core/F04_Architecture/ para la guia completa
2. Usar template: baseline/project-template/project/F04_architecture/
3. Artefactos requeridos:
- architecture_decision_record.yaml (ADR)
- component_diagram (descripcion textual)
- technology_stack.yaml
4. Gate D requiere: ADR aprobado + stack definido

Para mantener las reglas de Cursor sincronizadas con los skills y rules del framework:

scripts/sync-cursor-rules.sh
#!/bin/bash
# Sincronizar reglas de Baseline → .cursor/rules/
set -euo pipefail
BASELINE_DIR="${1:-baseline}"
CURSOR_DIR=".cursor/rules"
echo "=== Sincronizando reglas Baseline → Cursor ==="
# Crear directorio si no existe
mkdir -p "$CURSOR_DIR"
# Sincronizar skills como reglas de Cursor
for skill in .claude/skills/*.md; do
skill_name=$(basename "$skill" .md)
target="$CURSOR_DIR/skill-${skill_name}.md"
# Agregar frontmatter de Cursor si no existe
if [ ! -f "$target" ] || [ "$skill" -nt "$target" ]; then
echo "Sincronizando skill: $skill_name"
cat > "$target" << EOF
---
description: "Skill del framework: ${skill_name}"
globs: ["**/*"]
---
EOF
cat "$skill" >> "$target"
fi
done
# Sincronizar rules
for rule in .claude/rules/*.md; do
rule_name=$(basename "$rule" .md)
target="$CURSOR_DIR/rule-${rule_name}.md"
if [ ! -f "$target" ] || [ "$rule" -nt "$target" ]; then
echo "Sincronizando rule: $rule_name"
cp "$rule" "$target"
fi
done
echo "=== Sincronizacion completa ==="
echo "Archivos en $CURSOR_DIR:"
ls -la "$CURSOR_DIR/"
Ventana de terminal
# Sincronizar una vez
bash scripts/sync-cursor-rules.sh
# Agregar como pre-commit hook o como script de CI
# para mantener sincronizacion automatica
1. Abrir proyecto en Cursor
$ cursor ~/projects/payment-api
2. Cursor carga automaticamente:
- .cursor/rules/*.md → reglas del framework
- .cursorrules → principios generales
3. Usar Composer en modo Agent
> "Disenar la arquitectura para el servicio de pagos
> siguiendo la fase F04 del framework"
4. Cursor:
- Lee .cursor/rules/skill-architecture.md → contexto de F04
- Lee .cursor/rules/framework-governance.md → reglas generales
- Genera artefactos siguiendo templates
5. CI valida compliance en PR
- compliance-linter.py
- artifact-validator.py
- gate-check.sh

Kiro es un IDE de AWS powered by Claude (Sonnet 4.5) que introduce un modelo spec-driven de desarrollo: genera automaticamente requirements.mddesign.mdtasks.md antes de implementar. Este enfoque se alinea naturalmente con el lifecycle F01-F05 del framework Baseline.

  • Spec-driven nativo: El flujo requirements → design → tasks de Kiro mapea directamente a F01 (Strategy) → F04 (Architecture) → F05 (Contracts), promoviendo la generacion de artefactos antes de codigo
  • AGENTS.md nativo: Kiro reconoce y carga AGENTS.md automaticamente, igual que Claude Code y Codex
  • Powered by Claude (Sonnet 4.5): Al usar modelos Anthropic, es compatible con el ecosistema de prompts y contexto del framework
  • Steering files (.kiro/steering/): Equivalente a .claude/rules/ con 4 modos de inclusion (always, fileMatch, manual, auto), ofreciendo control granular de contexto
  • Hooks basados en eventos: Sistema de hooks con triggers fileEdit, fileCreate, fileDelete que permite enforcement automatico
  • MCP nativo: Soporta MCP servers, permitiendo conectar el framework-mcp-server.py directamente
Concepto BaselineEquivalente KiroNotas
CLAUDE.mdAGENTS.md (nativo)Kiro lee AGENTS.md automaticamente como archivo de instrucciones
AGENTS.mdAGENTS.mdCompatibilidad directa — mismo archivo, cargado al inicio
.claude/rules/*.md.kiro/steering/*.mdYAML frontmatter con inclusion: always/fileMatch/manual/auto
.claude/skills/*/SKILL.md.kiro/steering/*.md con inclusion: autoUsar campo description para auto-matching por tarea
.claude/hooks/.kiro/hooks/*.kiro.hookFormato JSON con triggers: fileEdit, fileCreate, fileDelete
.claude/agents/*.mdAgent configs (JSON)Diferente formato pero mismo concepto de agentes especializados
F01-F05 artifacts.kiro/specs/<feature>/requirements.mddesign.mdtasks.md
compliance-linter.pyCI pipelineEnforcement via GitHub Actions (igual que otras plataformas)
gate-check.shCI merge gateSe ejecuta como check requerido en PR
FAB headlessKiro CLI taskskiro --task como equivalente de ejecucion headless
MCP ServerMCP nativoConfigurar framework-mcp-server.py en settings de Kiro

Kiro reconoce AGENTS.md nativamente. El framework ya genera este archivo, asi que solo hay que asegurar que este en la raiz:

Ventana de terminal
# Si usas init-project.sh, AGENTS.md ya esta en la raiz
ls -la AGENTS.md
# Si no existe, copiarlo desde el template
cp baseline/project-template/AGENTS.md .

Paso 2: Crear directorio .kiro/steering/ desde .claude/rules/

Sección titulada «Paso 2: Crear directorio .kiro/steering/ desde .claude/rules/»
Ventana de terminal
# Crear estructura de Kiro
mkdir -p .kiro/steering/
mkdir -p .kiro/hooks/
mkdir -p .kiro/specs/

Cada steering file de Kiro usa YAML frontmatter con estos campos:

  • description: Descripcion de cuando aplicar la regla
  • inclusion: Modo de inclusion (always, fileMatch, manual, auto)
  • fileMatch: Patron glob (solo cuando inclusion: fileMatch)
.kiro/steering/framework-governance.md
---
description: "Reglas de governance del AI-First Engineering Framework para todo el proyecto"
inclusion: always
---
# Governance del Framework
Este proyecto sigue el AI-First Engineering Framework v7.2.
El framework esta en `baseline/` como submodule.
## Reglas Mandatorias
1. Todo cambio debe seguir el lifecycle F01-F10
2. Todo artefacto YAML debe seguir los schemas en baseline/scripts/schemas/
3. Compliance score minimo: 80%
4. Conventional commits obligatorios
.kiro/steering/yaml-quality.md
---
description: "Reglas de calidad para archivos YAML del framework"
inclusion: fileMatch
fileMatch: ["project/**/*.yaml", "**/*.yml"]
---
# Calidad YAML
- Indentacion: 2 espacios, nunca tabs
- Strings con caracteres especiales: usar comillas
- Listas: usar guion + espacio (- item)
- Validar contra schema: python3 baseline/scripts/artifact-validator.py <file>
- Incluir header con metadata: titulo, version, fecha, autor
.kiro/steering/skill-architecture.md
---
description: "Guia de arquitectura F04 — se activa automaticamente cuando el agente trabaja en tareas de arquitectura"
inclusion: auto
---
# Fase F04 — Arquitectura
Cuando trabajes en artefactos de arquitectura:
1. Consultar baseline/framework/core/F04_Architecture/ para la guia completa
2. Usar template: baseline/project-template/project/F04_architecture/
3. Artefactos requeridos:
- architecture_decision_record.yaml (ADR)
- component_diagram (descripcion textual)
- technology_stack.yaml
4. Gate D requiere: ADR aprobado + stack definido

Ver seccion 5.5 para ejemplos completos de hooks.

{
"mcpServers": {
"baseline-framework": {
"command": "python3",
"args": ["baseline/scripts/framework-mcp-server.py", "--project-dir", "."]
}
}
}

Este script convierte automaticamente los rules y skills de .claude/ al formato de .kiro/:

scripts/sync-kiro-steering.sh
#!/bin/bash
# Sincronizar .claude/rules/ y .claude/skills/ → .kiro/steering/
# Genera .kiro/hooks/ desde settings.json
set -euo pipefail
CLAUDE_RULES=".claude/rules"
CLAUDE_SKILLS=".claude/skills"
CLAUDE_SETTINGS=".claude/settings.json"
KIRO_STEERING=".kiro/steering"
KIRO_HOOKS=".kiro/hooks"
echo "=== Sincronizando Baseline → Kiro ==="
# Crear directorios
mkdir -p "$KIRO_STEERING"
mkdir -p "$KIRO_HOOKS"
# --- Sincronizar rules → steering (inclusion: always o fileMatch) ---
echo ""
echo "--- Rules → Steering ---"
for rule in ${CLAUDE_RULES}/*.md; do
[ -f "$rule" ] || continue
rule_name=$(basename "$rule" .md)
target="${KIRO_STEERING}/rule-${rule_name}.md"
# Verificar si el rule tiene globs (para usar fileMatch)
if grep -q "globs:" "$rule" 2>/dev/null; then
# Extraer globs y convertir a fileMatch
globs=$(grep "globs:" "$rule" | sed 's/.*globs:\s*//' | tr -d '[]"')
cat > "$target" << EOF
---
description: "Regla del framework: ${rule_name}"
inclusion: fileMatch
fileMatch: [${globs}]
---
EOF
else
cat > "$target" << EOF
---
description: "Regla del framework: ${rule_name}"
inclusion: always
---
EOF
fi
# Agregar contenido original (sin frontmatter previo si existe)
sed '/^---$/,/^---$/d' "$rule" >> "$target"
echo " [OK] $rule_name → rule-${rule_name}.md (steering)"
done
# --- Sincronizar skills → steering (inclusion: auto) ---
echo ""
echo "--- Skills → Steering ---"
for skill_dir in ${CLAUDE_SKILLS}/*/; do
[ -d "$skill_dir" ] || continue
skill_file="${skill_dir}SKILL.md"
[ -f "$skill_file" ] || continue
skill_name=$(basename "$skill_dir")
target="${KIRO_STEERING}/skill-${skill_name}.md"
# Extraer descripcion del skill si existe
desc=$(grep -m1 "^#" "$skill_file" | sed 's/^#\s*//' || echo "Skill: ${skill_name}")
cat > "$target" << EOF
---
description: "${desc}"
inclusion: auto
---
EOF
cat "$skill_file" >> "$target"
echo " [OK] $skill_name → skill-${skill_name}.md (steering, auto)"
done
# --- Generar hooks desde settings.json ---
echo ""
echo "--- Generando Kiro Hooks ---"
if [ -f "$CLAUDE_SETTINGS" ]; then
# Hook de validacion YAML
cat > "${KIRO_HOOKS}/yaml-validation.kiro.hook" << 'HOOKEOF'
{
"enabled": true,
"name": "YAML Validation",
"description": "Validar sintaxis YAML despues de cada edicion",
"version": "1",
"when": {
"type": "fileEdit",
"patterns": ["project/**/*.yaml", "project/**/*.yml"]
},
"then": {
"type": "runCommand",
"command": "python3 -c \"import yaml; yaml.safe_load(open('${filePath}'))\""
}
}
HOOKEOF
echo " [OK] yaml-validation.kiro.hook"
# Hook de compliance
cat > "${KIRO_HOOKS}/compliance-check.kiro.hook" << 'HOOKEOF'
{
"enabled": true,
"name": "Compliance Check",
"description": "Ejecutar compliance linter despues de cambios en artefactos del proyecto",
"version": "1",
"when": {
"type": "fileEdit",
"patterns": ["project/**/*.yaml"]
},
"then": {
"type": "askAgent",
"prompt": "Ejecuta python3 baseline/scripts/compliance-linter.py --project-dir . --track lean --format compact y reporta cualquier fallo encontrado"
}
}
HOOKEOF
echo " [OK] compliance-check.kiro.hook"
# Hook de secret scanning en archivos nuevos
cat > "${KIRO_HOOKS}/secret-scan.kiro.hook" << 'HOOKEOF'
{
"enabled": true,
"name": "Secret Scanning",
"description": "Escanear archivos nuevos por posibles secretos o credenciales",
"version": "1",
"when": {
"type": "fileCreate",
"patterns": ["**/*.yaml", "**/*.yml", "**/*.json", "**/*.env", "**/*.py", "**/*.ts"]
},
"then": {
"type": "askAgent",
"prompt": "Revisa el archivo ${filePath} recien creado y verifica que no contenga secretos, API keys, passwords o tokens hardcodeados. Si encuentras alguno, reportalo inmediatamente."
}
}
HOOKEOF
echo " [OK] secret-scan.kiro.hook"
fi
echo ""
echo "=== Sincronizacion completa ==="
echo "Archivos en ${KIRO_STEERING}/:"
ls -la "${KIRO_STEERING}/" 2>/dev/null || echo " (vacio)"
echo ""
echo "Hooks en ${KIRO_HOOKS}/:"
ls -la "${KIRO_HOOKS}/" 2>/dev/null || echo " (vacio)"
Ventana de terminal
# Ejecutar sincronizacion
bash scripts/sync-kiro-steering.sh
# Verificar resultado
tree .kiro/
# Agregar al workflow de sincronizacion multi-plataforma
# o ejecutar como parte de init-project.sh

Kiro usa archivos .kiro.hook en formato JSON con dos tipos de acciones:

  • runCommand: Ejecuta un comando de shell (para validaciones rapidas)
  • askAgent: Delega al agente AI (para analisis mas complejos)
{
"enabled": true,
"name": "YAML Validation",
"description": "Validar sintaxis YAML en cada edicion de artefactos",
"version": "1",
"when": {
"type": "fileEdit",
"patterns": ["project/**/*.yaml", "project/**/*.yml"]
},
"then": {
"type": "runCommand",
"command": "python3 -c \"import yaml; yaml.safe_load(open('${filePath}'))\""
}
}
{
"enabled": true,
"name": "Compliance Check",
"description": "Ejecutar compliance linter despues de cambios en artefactos del proyecto",
"version": "1",
"when": {
"type": "fileEdit",
"patterns": ["project/**/*.yaml"]
},
"then": {
"type": "askAgent",
"prompt": "Ejecuta python3 baseline/scripts/compliance-linter.py --project-dir . --track lean --format compact y reporta cualquier fallo"
}
}
{
"enabled": true,
"name": "Artifact Schema Validation",
"description": "Validar artefactos nuevos contra JSON schemas del framework",
"version": "1",
"when": {
"type": "fileCreate",
"patterns": ["project/**/*.yaml"]
},
"then": {
"type": "runCommand",
"command": "python3 baseline/scripts/artifact-validator.py ${filePath}"
}
}
{
"enabled": true,
"name": "Secret Scanning",
"description": "Escanear archivos nuevos por secretos o credenciales",
"version": "1",
"when": {
"type": "fileCreate",
"patterns": ["**/*.yaml", "**/*.json", "**/*.env", "**/*.py", "**/*.ts"]
},
"then": {
"type": "askAgent",
"prompt": "Revisa ${filePath} y verifica que no contenga secretos, API keys, passwords o tokens hardcodeados"
}
}
{
"enabled": true,
"name": "Artifact Deletion Guard",
"description": "Advertir cuando se elimina un artefacto requerido por un gate",
"version": "1",
"when": {
"type": "fileDelete",
"patterns": ["project/**/*.yaml"]
},
"then": {
"type": "askAgent",
"prompt": "Se ha eliminado ${filePath}. Verifica si este artefacto es requerido por algun gate (A-F) del framework ejecutando bash baseline/scripts/gate-check.sh --project-dir . --track lean y reporta el impacto"
}
}

El flujo spec-driven de Kiro se integra naturalmente con el lifecycle del framework:

1. Iniciar feature con specs
> Abrir Kiro en ~/projects/payment-api
> Solicitar: "Crear servicio de procesamiento de pagos"
2. Kiro genera specs automaticamente:
.kiro/specs/payment-service/
requirements.md ← Mapea a F01 (Strategy) + F02 (Domain)
design.md ← Mapea a F04 (Architecture)
tasks.md ← Mapea a F05 (Contracts) + F06 (Implementation)
3. Usuario revisa requirements.md
- Kiro presenta los requisitos funcionales y no-funcionales
- El usuario aprueba, modifica o rechaza
- Esto equivale a Gate A (Strategy Review) del framework
4. Kiro genera design.md basado en requirements aprobados
- Incluye decisiones de arquitectura, componentes, dependencias
- El usuario revisa y aprueba
- Esto equivale a Gate D (Architecture Review) del framework
5. Kiro genera tasks.md con plan de implementacion
- Tareas atomicas con criterios de aceptacion
- Orden de ejecucion basado en dependencias
- El usuario aprueba el plan
6. Implementacion con governance
- Kiro implementa cada tarea siguiendo el plan
- Steering files cargan reglas de calidad automaticamente
- Hooks validan YAML y compliance en cada cambio
- MCP server provee contexto del framework en tiempo real
7. Validacion final
- CI ejecuta compliance-linter.py en el PR
- artifact-validator.py verifica schemas
- gate-check.sh confirma que todos los gates pasan
8. Artefactos del framework generados:
project/F01_strategy/problem_statement.yaml ← Desde requirements.md
project/F04_architecture/adr.yaml ← Desde design.md
project/F05_contracts/api_contracts.yaml ← Desde tasks.md + impl
Spec de KiroFase BaselineArtefacto Generado
requirements.md (funcionales)F01 Strategyproblem_statement.yaml
requirements.md (dominio)F02 Domaindomain_model.yaml
design.md (arquitectura)F04 Architecturearchitecture_decision_record.yaml
design.md (stack tecnico)F04 Architecturetechnology_stack.yaml
tasks.md (contratos API)F05 Contractsapi_contracts.yaml
tasks.md (implementacion)F06 ImplementationCodigo fuente
Ejecucion de testsF07 TEVVtest_plan.yaml
mi-proyecto/
baseline/ # Framework (submodule)
AGENTS.md # Kiro lo lee nativamente
CLAUDE.md # Para Claude Code (si se usa tambien)
.kiro/
steering/ # Equivalente a .claude/rules/ + skills
framework-governance.md # inclusion: always
yaml-quality.md # inclusion: fileMatch
python-quality.md # inclusion: fileMatch
skill-architecture.md # inclusion: auto
skill-strategy.md # inclusion: auto
skill-testing.md # inclusion: auto
hooks/ # Enforcement automatico
yaml-validation.kiro.hook
compliance-check.kiro.hook
artifact-validation.kiro.hook
secret-scan.kiro.hook
specs/ # Specs generados por Kiro
payment-service/
requirements.md
design.md
tasks.md
.claude/ # Config Claude Code (coexistencia)
skills/
rules/
hooks/
agents/
settings.json
project/ # Artefactos del framework
F01_strategy/
F04_architecture/
F05_contracts/
.github/
workflows/
baseline-enforcement.yml # CI universal
AspectoClaude CodeKiroAdaptacion
Archivo principalCLAUDE.mdAGENTS.mdKiro lee AGENTS.md nativamente
Rules.claude/rules/*.md.kiro/steering/*.mdAgregar YAML frontmatter con inclusion
Skills.claude/skills/*/SKILL.md.kiro/steering/*.md (auto)Convertir a steering con inclusion: auto
Hookssettings.json.kiro/hooks/*.kiro.hookConvertir a formato JSON de Kiro
Agents.claude/agents/*.mdAgent configsDiferente formato, mismo concepto
Worktrees.claude/worktrees/No nativoUsar git worktrees manualmente o CI
Permisossettings.json allow/denyNo soportado nativamenteConfiar en steering + CI
Spec-drivenManual (via skills)NativoKiro genera specs automaticamente

GitHub Copilot soporta instrucciones personalizadas a traves de .github/copilot-instructions.md.

Concepto BaselineFeature Copilot
CLAUDE.md.github/copilot-instructions.md
AGENTS.mdSecciones dentro de copilot-instructions
SkillsNo soportado nativamente
RulesEmbebidas en copilot-instructions
HooksNo soportado — usar CI
MCPNo soportado nativamente
Agent ModeCopilot Chat con modo agente
.github/copilot-instructions.md
## Framework
Este proyecto sigue el AI-First Engineering Framework v7.2.
Documentacion completa en baseline/framework/.
## Reglas
1. Seguir lifecycle F01-F10 para cualquier feature nueva
2. YAML: indentacion 2 espacios, validar con schemas
3. Conventional commits: feat:, fix:, docs:, chore:
4. Compliance score minimo: 80%
## Calidad de Codigo
- Python: docstrings, type hints, tests
- TypeScript: tipos estrictos, no any
- Tests: cobertura minima 80%
## Antes de Implementar
Verificar artefactos previos en project/:
- F01: problem_statement.yaml
- F04: architecture_decision_record.yaml
- F05: api_contracts.yaml

Copilot no tiene enforcement nativo — la gobernanza depende completamente de CI:

.github/workflows/copilot-governance.yml
name: Governance Check
on: [pull_request]
jobs:
baseline:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with: { submodules: true }
- run: pip install pyyaml jsonschema
- run: python3 baseline/scripts/compliance-linter.py --project-dir . --track lean --min-score 80

Amazon Q Developer usa README.md y archivos de contexto para entender el proyecto.

Concepto BaselineFeature Amazon Q
CLAUDE.mdREADME.md + archivos de contexto
AGENTS.mdAGENTS.md (reconocido por Q)
SkillsDocumentos en directorio del proyecto
RulesNo soportado nativamente — CI
HooksNo soportado — CI
MCPNo soportado nativamente
Agent ModeAmazon Q Chat con modo agente
Ventana de terminal
# Asegurar que README.md incluya referencia al framework
cat >> README.md << 'EOF'
## Framework de Desarrollo
Este proyecto usa el AI-First Engineering Framework v7.2.
Ver `CLAUDE.md` para instrucciones de AI y `AGENTS.md` para contexto.
Documentacion del framework en `baseline/framework/`.
EOF

Windsurf usa .windsurfrules como archivo de instrucciones y soporta MCP y un modo agente llamado Cascade.

Concepto BaselineFeature Windsurf
CLAUDE.md.windsurfrules
AGENTS.mdSecciones en .windsurfrules
SkillsDocumentos referenciables
RulesEmbebidas en .windsurfrules
HooksNo soportado — CI
MCPSi — MCP nativo
Agent ModeCascade (modo agente)
Ventana de terminal
# Generar .windsurfrules desde CLAUDE.md
cat > .windsurfrules << 'RULES'
# Windsurf Rules — AI-First Engineering Framework v7.2
## Proyecto
Este proyecto sigue el AI-First Engineering Framework.
Framework en baseline/. Documentacion en baseline/framework/.
## Lifecycle
Seguir fases F01-F10. No saltar a implementacion sin artefactos previos.
## Calidad
- YAML: 2 espacios, validar contra schemas
- Codigo: docstrings, type hints, tests
- Commits: conventional commits
## Enforcement
Antes de commit: python3 baseline/scripts/compliance-linter.py --project-dir . --track lean
RULES
{
"mcpServers": {
"baseline-framework": {
"command": "python3",
"args": ["baseline/scripts/framework-mcp-server.py", "--project-dir", "."]
}
}
}

Gemini CLI usa GEMINI.md como archivo de instrucciones del proyecto, similar a CLAUDE.md.

Concepto BaselineFeature Gemini CLI
CLAUDE.mdGEMINI.md
AGENTS.mdSecciones en GEMINI.md
SkillsDocumentos referenciables
Rules.gemini/rules/*.md
Hooks.gemini/settings.json (limitado)
MCPSi — MCP nativo
Agent ModeGemini CLI con modo agente
Ventana de terminal
# Generar GEMINI.md desde CLAUDE.md
cp CLAUDE.md GEMINI.md
# Crear directorio de reglas
mkdir -p .gemini/rules/
cp .claude/rules/*.md .gemini/rules/
# Configurar MCP
cat > .gemini/settings.json << 'EOF'
{
"mcpServers": {
"framework": {
"command": "python3",
"args": ["baseline/scripts/framework-mcp-server.py", "--project-dir", "."]
}
}
}
EOF

Las siguientes plataformas representan la nueva generacion de agentes autonomos de software. A diferencia de las plataformas IDE-centric (Cursor, Copilot), estas operan como ingenieros de software autonomos con workspaces persistentes, lo que las hace candidatas naturales como FAB runtimes alternativos.

Concepto: Ingeniero de software autonomo con workspace persistente. Devin opera en un entorno cloud completo (terminal, editor, navegador) y ejecuta tareas de forma autonoma con planificacion multi-paso. Cognition lo posiciona como un “AI teammate” que trabaja en paralelo al equipo humano.

Concepto BaselineFeature DevinNotas
CLAUDE.mdPlaybook instructionsInstrucciones inyectadas al inicio de cada sesion
AGENTS.mdSession contextContexto de equipo y proyecto
.claude/skills/Knowledge base docsDocumentos cargados en el workspace
.claude/rules/Playbook rulesReglas definidas en playbooks
.claude/hooks/No soportado — CISin hooks locales
Gate checkHuman review checkpointsPuntos de revision humana en el workflow
Intent YAMLDevin task descriptionTarea asignada via Slack, JIRA o dashboard
FAB headlessDevin session autonomaSesion completa sin intervencion
WorktreesWorkspace aislado (cloud)Cada sesion tiene su propio entorno
Ventana de terminal
# 1. Configurar playbook con reglas del framework
# En el dashboard de Devin, crear un playbook:
# - Nombre: "Baseline Framework"
# - Instrucciones: contenido de CLAUDE.md adaptado
# - Knowledge: subir guias de framework/guides/
# 2. CI como enforcement (obligatorio — Devin no tiene gates nativos)
# Usar el workflow baseline-enforcement.yml estandar
# 3. Mapear intent → Devin task
# Desde fab-intake.sh, convertir intent YAML a tarea de Devin via API:
# POST /v1/sessions
# { "prompt": "<contenido del intent>", "playbook_id": "<id>" }
LimitacionImpactoMitigacion
Closed-sourceNo se puede auditar la governance internaCI obligatorio como red de seguridad
Sin governance customizableNo se puede implementar gate-check nativoHuman review checkpoints + CI gates
Pricing por sesionCosto puede escalar rapidamentefab-cost-guard.py para monitorear
Sin MCP nativoNo se puede usar framework-mcp-serverCargar guias como knowledge base
Sin hooksNo hay PreCommit enforcementCI pipeline como unico enforcement

Concepto: Agente full-stack con servicios integrados (Auth, DB, Hosting, Deployments). Replit Agent construye aplicaciones completas dentro del ecosistema Replit, incluyendo aprovisionamiento automatico de bases de datos, autenticacion y despliegue. Ofrece tres modos de esfuerzo: Economy, Power y Turbo.

Concepto BaselineFeature ReplitNotas
CLAUDE.md.replit + replit.nix configConfiguracion del entorno
AGENTS.mdAgent instructions (prompt)Instrucciones en lenguaje natural
.claude/skills/No soportadoSin sistema de knowledge base
.claude/rules/No soportadoSin rules nativas
.claude/hooks/No soportado — CISin hooks locales
Gate checkNo soportado — CISin gates nativos
Intent YAMLReplit Agent taskDescripcion de tarea en chat
FAB headlessNo soportadoSolo interactivo
F06 (implementacion)Replit como entorno de prototipadoBuild + deploy integrado
Cost profilesEffort modes (Economy/Power/Turbo)Economy = bajo costo, Turbo = maximo rendimiento
Ventana de terminal
# 1. Crear Repl desde template con baseline
# En Replit, importar repo con baseline/ como submodule
# 2. Configurar .replit para enforcement
cat > .replit << 'EOF'
run = "python3 baseline/scripts/compliance-linter.py --project-dir . --track solo"
[languages.python3]
pattern = "**/*.py"
EOF
# 3. Usar Replit como entorno de prototipado rapido (F06)
# Ideal para: MVPs, prototipos, demos
# No ideal para: produccion enterprise, proyectos con governance estricta
# 4. Cost profiles para fab-cost-guard
# Economy → budget_profile: low (< $5/sesion)
# Power → budget_profile: medium (< $15/sesion)
# Turbo → budget_profile: high (< $30/sesion)
LimitacionImpactoMitigacion
Platform lock-inDificil migrar fuera de ReplitUsar como prototipado (F06), no produccion
Sin acceso a scripts localesNo se pueden ejecutar scripts de enforcementCI externo obligatorio
Sin governance nativaNo hay gates, rules, ni hooksCI como unica capa de enforcement
Sin MCPNo se puede usar framework-mcp-serverDocumentacion manual en prompts
Sin FAB headlessNo se puede automatizarSolo desarrollo interactivo

Concepto: Plataforma enterprise de Droids autonomos con seguridad corporativa. Factory.ai opera “Droids” — agentes autonomos especializados que ejecutan tareas de ingenieria dentro de un entorno seguro y auditable. Enfocada en equipos enterprise con requisitos de compliance y seguridad.

Concepto BaselineFeature Factory.aiNotas
CLAUDE.mdDroid configurationConfiguracion del Droid
AGENTS.mdDroid context / playbookContexto de proyecto
.claude/skills/Droid knowledge baseDocumentos del proyecto
.claude/rules/Droid guardrailsReglas de seguridad enterprise
.claude/hooks/Droid triggersTriggers automaticos
Gate checkDroid checkpointsPuntos de verificacion
Intent YAMLFactory taskTarea asignada al Droid
FAB headlessDroid session autonomaEjecucion sin intervencion
FABsDroidsMapeo 1:1 conceptual
Kill switchFactory emergency stopParada de emergencia enterprise
Ventana de terminal
# 1. Configurar Droid con contexto del framework
# En Factory.ai dashboard:
# - Crear Droid con playbook basado en CLAUDE.md
# - Cargar guias como knowledge base
# - Configurar guardrails alineados con .claude/rules/
# 2. Mapear intents → Factory tasks
# Factory.ai soporta integracion con GitHub Issues y JIRA
# Configurar webhook para convertir intents a tasks
# 3. CI como enforcement complementario
# Factory tiene checkpoints nativos, pero CI sigue siendo recomendado
# para validacion cruzada con compliance-linter.py
# 4. Mapeo Droids → FABs
# Un Droid = Un FAB
# Factory task queue = Intent queue
# Droid metrics = FAB telemetria (via fab-eval-builders.py)
LimitacionImpactoMitigacion
Closed-sourceNo se puede auditar internamenteCI + auditorias periodicas
Pricing opacoDificil estimar costos de FABfab-cost-guard.py con alertas conservadoras
Sin MCP nativoNo se puede usar framework-mcp-serverKnowledge base como alternativa
Vendor lock-inDependencia de la plataformaMantener intents en formato estandar YAML
API limitadaIntegracion programatica limitadaWebhook + CI como puente

Concepto: Framework open-source (licencia MIT) y model-agnostic para construir agentes de software. OpenHands provee un SDK para definir agentes personalizados, soporta multiples LLMs (Claude, GPT, Llama, etc.) y puede ejecutarse self-hosted. Es la opcion mas flexible y composable para implementar FABs custom.

Concepto BaselineFeature OpenHandsNotas
CLAUDE.mdAgent config / system promptInstrucciones del agente
AGENTS.mdAgent definition (SDK)Definicion programatica del agente
.claude/skills/Agent tools / knowledgeHerramientas y contexto del agente
.claude/rules/Agent guardrails (SDK)Reglas implementadas en codigo
.claude/hooks/Agent event handlersHooks programaticos via SDK
Gate checkCustom gate logic (SDK)Implementable con fab-gate-check.py
Intent YAMLOpenHands taskTarea asignada al agente
FAB headlessOpenHands headless modeEjecucion autonoma sin UI
FABsOpenHands agentsAgentes definidos con SDK
MCPSi — MCP nativoframework-mcp-server.py integrable
Ventana de terminal
# 1. Instalar OpenHands
pip install openhands-ai
# 2. Configurar agente con contexto Baseline
cat > openhands-config.yaml << 'EOF'
agent:
name: "baseline-fab"
model: "claude-sonnet-4-20250514" # model-agnostic: cambiar por cualquier LLM
system_prompt_file: "CLAUDE.md"
tools:
- name: "compliance-linter"
command: "python3 baseline/scripts/compliance-linter.py --project-dir . --track solo"
- name: "gate-check"
command: "bash baseline/scripts/gate-check.sh --project-dir . --track solo"
mcp_servers:
- command: "python3"
args: ["baseline/scripts/framework-mcp-server.py", "--project-dir", "."]
EOF
# 3. Ejecutar agente con intent
openhands run --config openhands-config.yaml --task "$(cat intent/current-intent.yaml)"
# 4. Self-hosted para privacidad total
docker run -v $(pwd):/workspace openhands/openhands:latest \
--config /workspace/openhands-config.yaml \
--task "Implementar feature segun intent"
VentajaDetalle
Open-source (MIT)Codigo auditable, sin vendor lock-in
Self-hostedDatos nunca salen del entorno del equipo
Model-agnosticFunciona con Claude, GPT-4, Llama, Mistral, etc.
SDK composableDefinir agentes custom con logica de gates integrada
MCP nativoIntegra framework-mcp-server.py directamente
Hooks programaticosImplementar PreCommit, PostToolUse en Python
Costo controlableSelf-hosted = solo costo de API del LLM
LimitacionImpactoMitigacion
Requiere setup tecnicoMayor esfuerzo inicial que plataformas SaaSUsar template de configuracion
Sin UI empresarialNo hay dashboard para managersfab-factory.sh + fab-health-check.sh
Comunidad en crecimientoMenos documentacion que plataformas establecidasContribuir al proyecto open-source
Sin soporte enterprise nativoNo hay SLA ni soporte comercialEquipo interno de soporte

Las plataformas modernas estan convergiendo hacia un modelo de automations: tareas que se ejecutan automaticamente en respuesta a eventos o en horarios programados. Esta seccion documenta como el framework Baseline implementa estos patrones.

8.1 Patrones de Automatizacion por Plataforma

Sección titulada «8.1 Patrones de Automatizacion por Plataforma»

OpenAI Codex introdujo el concepto de “automations” — tareas que se disparan automaticamente:

Trigger CodexDescripcionEquivalente Baseline
On GitHub pushSe ejecuta cuando hay push a un branchCI workflow (on: push)
Scheduled (cron)Se ejecuta en horarios programadosfab_triggers.yaml (cron)
On CI eventSe ejecuta cuando un job de CI falla/pasafab_triggers.yaml (ci_event)
On PR reviewSe ejecuta cuando se solicita reviewfab_triggers.yaml (pr_event)

Cursor esta desarrollando “background agents” con triggers similares:

Trigger CursorDescripcionEquivalente Baseline
On Slack messageSe ejecuta al recibir mensaje en canalfab_triggers.yaml (webhook)
On timerSe ejecuta en intervalo definidofab_triggers.yaml (cron)
On codebase changeSe ejecuta al detectar cambiosfab_triggers.yaml (file_watch)
On issue assignedSe ejecuta al asignar issuefab_triggers.yaml (github_event)

8.2 Implementacion en Baseline: fab_triggers.yaml

Sección titulada «8.2 Implementacion en Baseline: fab_triggers.yaml»

El framework unifica todos los patrones de automatizacion en un solo archivo declarativo:

project/F09_operations/fab_triggers.yaml
# Scheduled Task Patterns — AI-First Engineering Framework v7.5
version: "1.0"
triggers:
# ── Patron Codex-style: on push ──
- id: "post-push-compliance"
type: github_event
event: push
branches: [main, develop]
action:
intent: "Ejecutar compliance linter y reportar resultados"
fab_mode: headless
budget_max_usd: 2.00
script: "python3 baseline/scripts/compliance-linter.py --project-dir . --track lean --format json"
# ── Patron Codex-style: scheduled ──
- id: "nightly-security-scan"
type: cron
schedule: "0 2 * * *" # 2 AM diario
action:
intent: "Ejecutar SAST/SCA scan nocturno y crear issues para hallazgos criticos"
fab_mode: headless
budget_max_usd: 5.00
script: "python3 baseline/scripts/sast-sca-scanner.py --project-dir . --format json --severity high,critical"
on_finding: create_github_issue
# ── Patron Codex-style: on CI event ──
- id: "ci-failure-analysis"
type: ci_event
event: failure
workflow: "baseline-enforcement"
action:
intent: "Analizar fallo de CI, identificar causa raiz y proponer fix"
fab_mode: headless
budget_max_usd: 3.00
# ── Patron Cursor-style: webhook (Slack) ──
- id: "slack-intake"
type: webhook
source: slack
channel: "#engineering-requests"
action:
intent: "Procesar mensaje de Slack como intent, validar y agregar a cola"
fab_mode: headless
budget_max_usd: 1.00
script: "bash baseline/scripts/fab-intake.sh --source slack"
# ── Patron Cursor-style: file watch ──
- id: "spec-change-validation"
type: file_watch
paths: ["project/F05_contracts/*.yaml"]
action:
intent: "Validar cambios en contratos API y verificar backward compatibility"
fab_mode: headless
budget_max_usd: 2.00
script: "python3 baseline/scripts/artifact-validator.py"
# ── Scheduled: DORA metrics semanal ──
- id: "weekly-dora-report"
type: cron
schedule: "0 9 * * 1" # Lunes 9 AM
action:
intent: "Generar reporte DORA semanal con atribucion AI y publicar en dashboard"
fab_mode: headless
budget_max_usd: 3.00
script: "python3 baseline/scripts/dora-metrics.py --project-dir . --period weekly --format json"
on_complete: notify_slack
PatronCodex AutomationsCursor BackgroundBaseline fab_triggers.yaml
On pushSi (nativo)NoSi (github_event)
Cron/scheduledSi (nativo)Si (on timer)Si (cron)
On CI eventSi (nativo)NoSi (ci_event)
On PR reviewSi (nativo)NoSi (github_event)
On Slack messageNoSi (nativo)Si (webhook)
On file changeNoSi (nativo)Si (file_watch)
On issue assignedNoSi (nativo)Si (github_event)
Declarativo (YAML)No (UI/API)No (UI)Si (fab_triggers.yaml)
Budget controlNoNoSi (budget_max_usd)
Plataforma-agnosticoSolo CodexSolo CursorCualquier FAB runtime
Auditable (git)NoNoSi (versionado en repo)

8.4 Ejemplo: Nightly Security Scan Automation

Sección titulada «8.4 Ejemplo: Nightly Security Scan Automation»

Escenario: escaneo de seguridad nocturno que crea issues automaticamente.

# fab_triggers.yaml — trigger
- id: "nightly-security-scan"
type: cron
schedule: "0 2 * * *"
action:
intent: "Ejecutar SAST/SCA scan, OWASP ASI check, y MCP security audit"
fab_mode: headless
budget_max_usd: 5.00
steps:
- script: "python3 baseline/scripts/sast-sca-scanner.py --project-dir . --format json"
output: "reports/sast-sca-latest.json"
- script: "python3 baseline/scripts/owasp-asi-checker.py --project-dir . --format json"
output: "reports/owasp-asi-latest.json"
- script: "python3 baseline/scripts/mcp-security-audit.py --project-dir . --format json"
output: "reports/mcp-audit-latest.json"
on_finding:
severity: [critical, high]
action: create_github_issue
labels: ["security", "automated"]
on_complete:
notify: slack
channel: "#security-alerts"

Flujo de ejecucion:

2:00 AM → cron trigger
→ fab-factory.sh spawn FAB (headless)
→ sast-sca-scanner.py (SAST + SCA)
→ owasp-asi-checker.py (OWASP ASI01-ASI10)
→ mcp-security-audit.py (MCP security)
→ Generar reportes JSON
→ Si hay hallazgos critical/high → crear GitHub Issues
→ Notificar a #security-alerts en Slack
→ fab-cost-guard.py verifica budget ($5 max)
→ fab-eval-builders.py registra metricas de la sesion

Escenario: reporte semanal de metricas DORA con atribucion AI.

# fab_triggers.yaml — trigger
- id: "weekly-dora-report"
type: cron
schedule: "0 9 * * 1" # Lunes 9 AM
action:
intent: "Generar metricas DORA semanales con atribucion AI"
fab_mode: headless
budget_max_usd: 3.00
steps:
- script: "python3 baseline/scripts/dora-metrics.py --project-dir . --period weekly --format json"
output: "reports/dora-weekly-latest.json"
- script: "python3 baseline/scripts/fab-eval-builders.py --project-dir . --period weekly"
output: "reports/fab-eval-weekly-latest.json"
on_complete:
notify: slack
channel: "#engineering-metrics"
template: |
*DORA Weekly Report — {{date}}*
- Deployment Frequency: {{deploy_freq}}
- Lead Time: {{lead_time}}
- MTTR: {{mttr}}
- Change Failure Rate: {{cfr}}
- AI Attribution: {{ai_pct}}% de commits asistidos por AI

CaracteristicaClaude CodeCodexCursorKiroCopilotAmazon QWindsurfGemini CLIDevinReplit AgentFactory.aiOpenHands
Instrucciones nativasCLAUDE.mdAGENTS.md.cursor/rulesVia AGENTS.mdcopilot-instructions.mdREADME.md.windsurfrulesGEMINI.mdPlaybooksAgent promptDroid configAgent config
Skills nativosSiSiCustom docsVia steeringNoNoNoNoKnowledge baseNoKnowledge baseSDK tools
Rules auto-cargadasSiEn AGENTS.mdSiSiNoNoEn .windsurfrulesSiEn playbookNoGuardrailsSDK guardrails
Hooks nativosSi (settings.json)AutomationsLimitadoSi (.kiro.hook)NoNoNoLimitadoNoNoTriggersSDK handlers
MCP nativoSiSiSiSiNoNoSiSiNoNoNoSi
Agent modeSiSiComposer AgentSiChat AgentChat AgentCascadeCLI AgentAutonomoAutonomoDroidsSDK Agents
FAB headlessSi (—background)Tasks (—task)NoVia CLI tasksNoNoNoNoSi (nativo)NoSi (Droids)Si (headless)
Gate enforcementNativo + CICICICICICICICIReview + CICICheckpoints + CISDK + CI
Compliance linterNativo (hook)CICICICICICICICICICISDK + CI
Worktrees / aislamientoNativoSandboxNoNoNoNoNoNoCloud workspaceRepl aisladoWorkspace aisladoDocker/sandbox
Permisos granularesSiSiLimitadoLimitadoNoNoLimitadoLimitadoLimitadoNoSi (enterprise)SDK configurable
Spec-drivenManualManualManualNativoManualManualManualManualManualManualManualSDK configurable
Open-sourceNoNoNoNoNoNoNoNoNoNoNoSi (MIT)
Self-hostedNoNoNoNoNoNoNoNoNoNoOn-premiseSi
Automations/TriggersHooks + CIAutomationsBackground agentsHooksNoNoNoNoAPI triggersNoDroid triggersSDK triggers
PlataformaNivelEsfuerzo de SetupGovernance NativaRequiere CI
Claude CodeNativo (100%)Minimo — init-project.shCompletaRecomendado
CodexAlto (85%)Bajo — adaptar AGENTS.mdAltaRecomendado
KiroAlto (80%)Bajo — sync steering + hooksAltaRecomendado
OpenHandsAlto (75%)Medio — SDK config + MCPAlta (SDK)Recomendado
CursorMedio (65%)Medio — sync rulesMediaObligatorio
Gemini CLIMedio (60%)Medio — generar GEMINI.mdMediaObligatorio
WindsurfMedio (55%)Medio — .windsurfrules + MCPParcialObligatorio
DevinMedio (50%)Medio — playbooks + knowledgeParcial (checkpoints)Obligatorio
Factory.aiMedio (50%)Medio — Droid config + knowledgeParcial (checkpoints)Obligatorio
CopilotBajo (35%)Bajo — copilot-instructions.mdMinimaObligatorio
Amazon QBajo (30%)Bajo — README.mdMinimaObligatorio
Replit AgentBajo (25%)Bajo — prompt instructionsMinimaObligatorio
EscenarioPlataforma RecomendadaRazon
Maximo governance + autonomiaClaude CodeIntegracion nativa completa, FAB headless
Equipo con preferencia OpenAICodexBuen soporte de AGENTS.md, tasks headless
Spec-driven + governanceKiroSpecs nativos alineados con F01-F05, steering + hooks
IDE-first (desarrolladores senior)CursorExperiencia IDE fluida, MCP, Composer Agent
Organizacion enterprise MicrosoftCopilotIntegrado en GitHub y VS Code
Organizacion enterprise AWSKiro o Amazon QKiro para governance, Amazon Q para integracion AWS
Equipo multimodeloWindsurfSoporta multiples modelos, MCP
Equipo Google CloudGemini CLIIntegrado en ecosistema Google
FAB runtime open-sourceOpenHandsMIT license, self-hosted, SDK composable, MCP nativo
FAB runtime enterprise (closed)Factory.aiDroids autonomos, seguridad enterprise, on-premise
Ingeniero autonomo cloudDevinWorkspace persistente, ejecucion totalmente autonoma
Prototipado rapido (F06)Replit AgentBuild + deploy integrado, ideal para MVPs

Independientemente de la plataforma AI que use el equipo, CI es la red de seguridad universal. Todo PR debe pasar por:

.github/workflows/baseline-enforcement.yml
name: Baseline Framework Enforcement
on:
pull_request:
branches: [main, develop]
jobs:
compliance-check:
runs-on: ubuntu-latest
steps:
- name: Checkout con submodules
uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Instalar dependencias
run: pip install pyyaml jsonschema
- name: Compliance Linter
run: |
python3 baseline/scripts/compliance-linter.py \
--project-dir . \
--track lean \
--min-score 80 \
--format github-actions
continue-on-error: false
- name: Validar artefactos YAML
run: |
find project/ -name "*.yaml" -type f | while read file; do
echo "Validando: $file"
python3 baseline/scripts/artifact-validator.py "$file"
done
- name: Gate Check
run: |
bash baseline/scripts/gate-check.sh \
--project-dir . \
--track lean \
--format github-actions
- name: Version Check
run: |
bash baseline/scripts/version-check.sh

Este workflow funciona igual sin importar si el codigo fue generado por Claude Code, Codex, Cursor, Copilot o cualquier otra plataforma.

AGENTS.md es reconocido por la mayoria de plataformas (Claude Code, Codex) y puede adaptarse facilmente para otras. Es el archivo puente mas versatil:

# AGENTS.md — [Nombre del Proyecto]
# AI-First Engineering Framework v7.2
## 7 Golden Principles
1. **Framework-first**: Toda decision sigue el lifecycle F01→F10
2. **Artifact-driven**: Todo output es un artefacto YAML versionado
3. **Gate-governed**: No avanzar sin pasar el gate de la fase
4. **Context-aware**: Cargar solo guias relevantes para la tarea
5. **Quality-enforced**: Score >= 80% para merge
6. **Track-appropriate**: Full/Lean/Solo segun equipo
7. **Security-embedded**: Clasificacion de datos desde F01
## Context Router
| Tarea | Fase | Guia | Skill |
|---|---|---|---|
| Problem statement | F01 | CORE_F01_Strategy | f01-strategy |
| Domain modeling | F02 | CORE_F02_Domain | f02-domain |
| Knowledge base | F03 | CORE_F03_Knowledge | f03-knowledge |
| Architecture | F04 | CORE_F04_Architecture | f04-architecture |
| API contracts | F05 | CORE_F05_Contracts | f05-contracts |
| Implementation | F06 | CORE_F06_Implementation | f06-implementation |
| Testing & evals | F07 | CORE_F07_TEVV | f07-tevv |
| Security review | F08 | CORE_F08_Security | f08-security |
| Operations | F09 | CORE_F09_Operations | f09-operations |
| Evolution | F10 | CORE_F10_Evolution | f10-evolution |
## Reglas de Calidad
- YAML: 2 espacios, schemas validos
- Commits: conventional commits
- PRs: incluir score de compliance
- Tests: cobertura >= 80%
## Enforcement
Antes de merge:
$ python3 baseline/scripts/compliance-linter.py --project-dir . --track lean
$ bash baseline/scripts/gate-check.sh --project-dir . --track lean

10.3 Conventional Commits para AI Attribution

Sección titulada «10.3 Conventional Commits para AI Attribution»

Independientemente de la plataforma, usar conventional commits con atribucion AI permite:

  • Rastrear que porcentaje del codigo fue generado por AI
  • Identificar que plataforma genero cada cambio
  • Medir productividad por plataforma
Ventana de terminal
# Commit generado por Claude Code
git commit -m "feat(F06): implement payment processing endpoint
Implements POST /api/v1/payments with Stripe integration.
Includes input validation, error handling, and audit logging.
Co-Authored-By: Claude Code <noreply@anthropic.com>"
# Commit generado por Codex
git commit -m "feat(F07): add integration tests for payment service
Tests cover happy path, validation errors, and Stripe failures.
Coverage: 94% for payment module.
Co-Authored-By: OpenAI Codex <noreply@openai.com>"
# Commit generado por Cursor
git commit -m "fix(F06): handle race condition in concurrent payments
Adds distributed lock using Redis to prevent double-charge.
Co-Authored-By: Cursor AI <noreply@cursor.com>"
scripts/ai-attribution-report.sh
#!/bin/bash
# Generar reporte de atribucion AI por plataforma
set -euo pipefail
echo "=== AI Attribution Report ==="
echo ""
TOTAL=$(git log --oneline | wc -l)
echo "Total commits: $TOTAL"
echo ""
echo "Por plataforma:"
echo " Claude Code: $(git log --all --author='Claude' --oneline 2>/dev/null | wc -l) commits"
echo " Codex: $(git log --all --grep='Co-Authored-By.*Codex' --oneline 2>/dev/null | wc -l) commits"
echo " Cursor: $(git log --all --grep='Co-Authored-By.*Cursor' --oneline 2>/dev/null | wc -l) commits"
echo " Kiro: $(git log --all --grep='Co-Authored-By.*Kiro' --oneline 2>/dev/null | wc -l) commits"
echo " Copilot: $(git log --all --grep='Co-Authored-By.*Copilot' --oneline 2>/dev/null | wc -l) commits"
echo " Humano: $(git log --all --oneline --invert-grep --grep='Co-Authored-By' 2>/dev/null | wc -l) commits"
echo ""
echo "Por fase del framework:"
for phase in F01 F02 F03 F04 F05 F06 F07 F08 F09 F10; do
count=$(git log --all --grep="($phase)" --oneline 2>/dev/null | wc -l)
if [ "$count" -gt 0 ]; then
echo " $phase: $count commits"
fi
done

No es necesario adoptar todo el framework de una vez. La estrategia recomendada es adopcion gradual:

Esfuerzo: Minimo (1 hora)
Valor: Enforcement basico en PRs
Pasos:
1. Agregar baseline como submodule
2. Configurar CI workflow con compliance-linter
3. Establecer min-score en 60% (incrementar gradualmente)

Nivel 2: CI + Instrucciones (cualquier plataforma)

Sección titulada «Nivel 2: CI + Instrucciones (cualquier plataforma)»
Esfuerzo: Bajo (2-4 horas)
Valor: Agentes AI siguen el framework
Pasos:
1. Todo lo anterior
2. Crear CLAUDE.md / AGENTS.md / .cursorrules / etc.
3. Documentar reglas de calidad del proyecto
4. Subir min-score a 70%

Nivel 3: CI + Instrucciones + Skills (plataformas con soporte)

Sección titulada «Nivel 3: CI + Instrucciones + Skills (plataformas con soporte)»
Esfuerzo: Medio (4-8 horas)
Valor: Agentes AI tienen contexto metodologico completo
Pasos:
1. Todo lo anterior
2. Configurar skills/docs por fase
3. Configurar context routing
4. Subir min-score a 80%

Nivel 4: Integracion completa (Claude Code / Codex / Kiro)

Sección titulada «Nivel 4: Integracion completa (Claude Code / Codex / Kiro)»
Esfuerzo: Alto (1-2 dias)
Valor: Governance completa con enforcement nativo
Pasos:
1. Todo lo anterior
2. Configurar hooks nativos
3. Configurar MCP server
4. Configurar permisos granulares
5. Habilitar FAB mode para tareas autonomas
6. Subir min-score a 85%

Es comun que un equipo use multiples plataformas simultaneamente. El framework lo soporta:

mi-proyecto/
baseline/ # Framework (submodule)
CLAUDE.md # Para Claude Code
AGENTS.md # Para Claude Code + Codex + Kiro
GEMINI.md # Para Gemini CLI
.cursorrules # Para Cursor (reglas globales)
.windsurfrules # Para Windsurf
.claude/ # Config Claude Code
skills/
rules/
hooks/
agents/
settings.json
.kiro/ # Config Kiro
steering/
hooks/
specs/
.cursor/ # Config Cursor
rules/
.gemini/ # Config Gemini
rules/
settings.json
.github/
copilot-instructions.md # Para Copilot
workflows/
baseline-enforcement.yml # CI universal
project/ # Artefactos del proyecto
scripts/sync-all-platforms.sh
#!/bin/bash
# Sincronizar reglas de Baseline a todas las plataformas configuradas
set -euo pipefail
echo "=== Sincronizacion Multi-Plataforma ==="
# Fuente de verdad: CLAUDE.md + .claude/
SOURCE_INSTRUCTIONS="CLAUDE.md"
SOURCE_SKILLS=".claude/skills"
SOURCE_RULES=".claude/rules"
# --- Codex (AGENTS.md ya es compatible) ---
if [ -f "AGENTS.md" ]; then
echo "[OK] AGENTS.md existe (Codex compatible)"
fi
# --- Kiro ---
if [ -d ".kiro" ]; then
echo "Sincronizando → .kiro/steering/"
mkdir -p .kiro/steering/
for rule in ${SOURCE_RULES}/*.md; do
rule_name=$(basename "$rule" .md)
target=".kiro/steering/rule-${rule_name}.md"
cat > "$target" << EOF
---
description: "Regla del framework: ${rule_name}"
inclusion: always
---
EOF
cat "$rule" >> "$target"
done
echo "[OK] Kiro steering sincronizado"
fi
# --- Cursor ---
if [ -d ".cursor" ]; then
echo "Sincronizando → .cursor/rules/"
mkdir -p .cursor/rules/
for rule in ${SOURCE_RULES}/*.md; do
cp "$rule" ".cursor/rules/$(basename "$rule")"
done
echo "[OK] Cursor rules sincronizadas"
fi
# --- Windsurf ---
if [ -f ".windsurfrules" ]; then
echo "[OK] .windsurfrules existe (actualizar manualmente si CLAUDE.md cambio)"
fi
# --- Gemini ---
if [ -d ".gemini" ]; then
echo "Sincronizando → .gemini/rules/"
mkdir -p .gemini/rules/
for rule in ${SOURCE_RULES}/*.md; do
cp "$rule" ".gemini/rules/$(basename "$rule")"
done
# Sincronizar GEMINI.md
if [ -f "GEMINI.md" ] && [ "$SOURCE_INSTRUCTIONS" -nt "GEMINI.md" ]; then
cp "$SOURCE_INSTRUCTIONS" "GEMINI.md"
echo "[OK] GEMINI.md actualizado desde CLAUDE.md"
fi
echo "[OK] Gemini rules sincronizadas"
fi
# --- Copilot ---
if [ -d ".github" ]; then
echo "[INFO] .github/copilot-instructions.md debe actualizarse manualmente"
fi
echo ""
echo "=== Sincronizacion completa ==="

Para medir la efectividad de la governance independientemente de la plataforma:

MetricaComo MedirTarget
Compliance Score promediocompliance-linter.py en CI>= 80%
% PRs que pasan gate checkCI pipeline stats>= 95%
Artefactos validos vs totalesartifact-validator.py en CI>= 90%
Cobertura de fases (F01-F10)Analisis de directorio project/>= 6 fases
Tiempo de feedback (lint → fix)CI pipeline duration< 5 min
AI Attribution ratioScript de atribucionReportar (sin target fijo)

ProblemaPlataformaSolucion
CLAUDE.md no se cargaClaude CodeVerificar que esta en la raiz del proyecto
.cursor/rules/ ignoradoCursorVerificar frontmatter con globs y description
MCP server no conectaCualquiera con MCPVerificar python3 en PATH, permisos de ejecucion
Compliance score bajoTodasEjecutar linter localmente para ver reglas fallidas
Submodule no actualizadoTodascd baseline && git pull && cd .. && git add baseline
Skills no disponiblesCursor, CopilotEstas plataformas no tienen skills nativos — usar CI
Hooks no ejecutanCursor, WindsurfConfigurar enforcement via CI en lugar de hooks nativos
Steering no se cargaKiroVerificar YAML frontmatter con inclusion y description
.kiro.hook no ejecutaKiroVerificar formato JSON, enabled: true y patrones en when
FAB intent rechazadoClaude Code, CodexValidar con validate-intent.py antes de lanzar
scripts/verify-platform-integration.sh
#!/bin/bash
# Verificar que la integracion con la plataforma esta correcta
set -euo pipefail
echo "=== Verificacion de Integracion ==="
ERRORS=0
# Verificar baseline submodule
if [ -d "baseline" ] && [ -f "baseline/scripts/compliance-linter.py" ]; then
echo "[OK] Baseline submodule presente"
else
echo "[ERROR] Baseline submodule no encontrado"
ERRORS=$((ERRORS + 1))
fi
# Verificar archivo de instrucciones
for file in CLAUDE.md AGENTS.md; do
if [ -f "$file" ]; then
echo "[OK] $file presente"
else
echo "[WARN] $file no encontrado"
fi
done
# Verificar directorio .claude/
if [ -d ".claude" ]; then
echo "[OK] .claude/ presente"
for dir in skills rules hooks agents; do
if [ -d ".claude/$dir" ]; then
count=$(ls -1 ".claude/$dir/" 2>/dev/null | wc -l)
echo " [OK] .claude/$dir/ ($count archivos)"
else
echo " [WARN] .claude/$dir/ no encontrado"
fi
done
else
echo "[WARN] .claude/ no encontrado"
fi
# Verificar CI
if [ -f ".github/workflows/baseline-enforcement.yml" ]; then
echo "[OK] CI workflow configurado"
else
echo "[WARN] CI workflow no encontrado — governance limitada a plataforma"
fi
# Verificar plataformas especificas
echo ""
echo "Plataformas detectadas:"
[ -f "CLAUDE.md" ] && echo " - Claude Code (CLAUDE.md)"
[ -f "AGENTS.md" ] && echo " - Codex / Claude Code (AGENTS.md)"
[ -d ".kiro" ] && echo " - Kiro (.kiro/)"
[ -d ".cursor" ] && echo " - Cursor (.cursor/)"
[ -f ".cursorrules" ] && echo " - Cursor (.cursorrules)"
[ -f ".windsurfrules" ] && echo " - Windsurf (.windsurfrules)"
[ -f "GEMINI.md" ] && echo " - Gemini CLI (GEMINI.md)"
[ -d ".gemini" ] && echo " - Gemini CLI (.gemini/)"
[ -f ".github/copilot-instructions.md" ] && echo " - GitHub Copilot (.github/copilot-instructions.md)"
echo ""
if [ $ERRORS -gt 0 ]; then
echo "=== $ERRORS errores encontrados ==="
exit 1
else
echo "=== Verificacion completa — sin errores criticos ==="
fi

PlataformaEstado de IntegracionProximos Pasos
Claude CodeNativo completoMejorar FAB checkpoint protocol
CodexDocumentado, validadoScript de setup automatico
KiroDocumentado, steering + hooksScript de setup automatico, sync bidireccional
CursorDocumentado, script de syncMejorar sync bidireccional
CopilotDocumentado, CI onlyEvaluar Agent Mode mejoras
Amazon QDocumentado, CI onlyEvaluar nuevas features
WindsurfDocumentado, MCPMejorar integracion Cascade
Gemini CLIDocumentado, MCP + rulesValidar GEMINI.md compat
DevinDocumentado (v7.5)Validar playbook integration, API automation
Replit AgentDocumentado (v7.5)Evaluar como entorno F06, cost profiles
Factory.aiDocumentado (v7.5)Validar Droid→FAB mapping, enterprise pilot
OpenHandsDocumentado (v7.5)SDK integration, template de agente Baseline
  • Script universal de setup: init-platform.sh <platform> que genera la config especifica
  • Sync bidireccional: Cambios en .cursor/rules/ se propagan de vuelta a .claude/rules/
  • Dashboard multi-plataforma: Metricas de governance unificadas
  • MCP Gateway: Un solo MCP server que abstrae la plataforma subyacente
  • Portabilidad de agentes: Definir agentes una vez, desplegar en cualquier plataforma
  • fab_triggers.yaml runtime: Motor de ejecucion para scheduled tasks (v7.5)
  • OpenHands SDK template: Template oficial de agente Baseline para OpenHands
  • Devin API integration: Mapeo automatico intent → Devin session via API
  • Factory.ai Droid connector: Puente FAB→Droid para enterprise

RecursoUbicacion
Framework Overviewframework/core/F00_Foundation/CORE_F00_Framework_Overview.md
Framework Enforcement Guideframework/guides/Framework_Enforcement_Guide.md
MCP Integration Guideframework/guides/MCP_Integration_Guide.md
Context Engineering Guideframework/guides/Context_Engineering_Guide.md
FAB Intake & Headless Guideframework/guides/FAB_Intake_Headless_Workspace_Guide.md
Agentic Workforce Guideframework/guides/Agentic_Workforce_Factory_Operations_Guide.md
Brownfield Adoption Guideframework/guides/Brownfield_Adoption_Guide.md
Init Project Scriptscripts/init-project.sh
Init Brownfield Scriptscripts/init-brownfield.sh
Compliance Linterscripts/compliance-linter.py
MCP Serverscripts/framework-mcp-server.py
FAB Gate Checkscripts/fab-gate-check.py