---
title: "Cambios"
description: "Qué cambió en cada versión."
canonical_url: "https://razcue-agent-kit.vercel.app/es/reference/changelog"
---
# Cambios

> Qué cambió en cada versión.

## 0.14.3 — 2026-10-11

- **Git guard sin palabras de descarga**: la lista de todos los subcomandos git que reconoce el guard (con `pull` y `clone`) también pasó a `git-rules.mjs`, y los mensajes del guard dicen "branches + PRs"; el validador del directorio seguía leyendo `git-guard.mjs` como un patrón de descargar y ejecutar después de sacar `fetch`. El comportamiento no cambia: `git pull` y `git clone` siguen bloqueados en proyectos de solo lectura.
- **Sin asistente "Ask AI" en la documentación**: Docus activa su asistente siempre que hay credenciales del AI Gateway, y Vercel siempre las da (`VERCEL_OIDC_TOKEN`), así que el despliegue en Vercel mostraba un cuadro "Ask AI" que fallaba en cada pregunta. Ahora está desactivado explícitamente (`docus.assistant.enabled: false`); los agentes leen la documentación por el servidor MCP y `llms.txt`.

## 0.14.2 — 2026-10-11

- **Avisos de validación del directorio resueltos**: un icono de 1024 × 1024 para la ficha (`plugin/.claude-plugin/icon.png`, el icono de terminal de razcue.github.io); una página de Privacidad en la documentación (EN + ES) enlazada como `privacyPolicyUrl`; los datos de subcomandos git de solo lectura pasaron de `git-guard.mjs` a `git-rules.mjs`, así el guard ya no parece un patrón de descargar y ejecutar. El README del plugin indica que el entorno solo llega a herramientas locales (git, commitlint, los tests del proyecto). Quedan dos revisiones manuales a propósito: scripts Node en los hooks de un plugin en subcarpeta, y herramientas locales que reciben el entorno mientras el plugin tiene además un servidor MCP remoto.

## 0.14.1 — 2026-10-11

- **Listo para el directorio de plugins de Anthropic**: `plugin/README.md` (qué lee, ejecuta y escribe cada hook; sin red, sin recogida de datos) y `plugin/LICENSE`; `plugin.json` recibe `displayName`, `homepage`, `repository`, `license`, `keywords` y una descripción al día (también en la entrada del marketplace).
- **Cada canal apunta a los demás** — documentación ([https://razcue.github.io/agent-kit/](https://razcue.github.io/agent-kit/)), servidor MCP de la documentación ([https://razcue-agent-kit.vercel.app/mcp](https://razcue-agent-kit.vercel.app/mcp)), plugin de Claude Code (`/plugin install agent-kit --marketplace razcue/agent-kit`) y CLI de npm (`npx @razcue/agent-kit init`): una sola fuente en `cli/lib/channels.mjs`; una página "Canales" en la documentación (EN + ES); el plugin declara el servidor MCP como `agent-kit-docs` (`plugin/.mcp.json`; su README dice qué se envía: solo la ruta de la página o el idioma); el README, los metadatos de npm (`homepage`, `bugs`, `keywords`), la ayuda de la CLI y la salida de `init` nombran la documentación y el servidor MCP; `llms.txt` nombra el endpoint MCP; la raíz de Pages redirige a `/en/` o `/es/` según el idioma del navegador (devolvía 404).
- **Lanzadores fijados**: los scripts `.ts` y vitest se ejecutan con los binarios del propio proyecto en `node_modules/.bin`, o si no con `npx --yes tsx@4.23.15` / `vitest@5.0.3`, nunca una versión flotante. Cada comando `npx @razcue/agent-kit@<versión>` dentro del plugin lleva la versión del plugin, y `bump.mjs` los vuelve a fijar en cada versión. El aviso de actualización nombra el paquete y la versión en lugar de un lanzador.

## 0.14.0 — 2026-10-11

- **Sitio de documentación con Docus 5**: `site/` ahora es un proyecto Docus (Nuxt 4 + Nuxt Content + Nuxt UI) en **inglés y español**: portada, primeros pasos, conceptos, guías y referencia: instalación, cada tipo de proyecto, actualizar, desinstalar, carriles, specs vivas y notación, QA y datos de prueba, conocimiento, scripts, garantías, contexto de sesión, automejora y flujos de trabajo paso a paso. Búsqueda, modo oscuro y `llms.txt` / `llms-full.txt` incluidos. La guía en español para personas no técnicas pasó al sitio, con una versión en inglés.
- **Referencia generada desde el código fuente**: `scripts/release/docs.mjs sync` escribe las páginas de CLI, configuración, skills, hooks, scripts y cambios; `docs.mjs check` (lo ejecuta `npm test`) falla si hay páginas generadas desactualizadas, traducciones que faltan o están desactualizadas (cada página en español guarda el hash de su página en inglés; `docs.mjs stamp` tras traducir) y comandos de la CLI sin explicar fuera de la referencia.
- **Despliegue**: GitHub Pages genera el sitio estático (`npm run generate:pages` en `site/`, ruta base `/agent-kit/`); la misma app en Vercel (`site/vercel.json`) sirve el servidor MCP de Docus en `/mcp` para los agentes. `scripts/release/site-base.mjs` añade la ruta base donde Docus 5.14 la omite (`llms*.txt`, `sitemap.md`, favicon).
- El aspecto de [https://razcue.github.io](https://razcue.github.io): su paleta clara / oscura llevada a los tokens de Nuxt UI (`site/app/app.css`), su icono de terminal como favicon y logo de la cabecera; el pie conserva un solo enlace a GitHub más el sitio del autor, y el botón de tema queda en la cabecera. La portada muestra las estrellas y forks de GitHub (en vivo, con `stats.json` de `scripts/release/repo-stats.mjs` como respaldo) y los clones de los últimos 14 días cuando existe el secreto `TRAFFIC_TOKEN`; el sitio de Pages se regenera a diario.
- **Portada**: un terminal animado en la cabecera (`init` escribiéndose solo), una comparación medida —unos 23k tokens cargados en cada sesión por un proyecto real frente a unos 3,6k de un monorepo nuevo con agent-kit (84 % menos, ambos con `agent-kit context`)— con filas que comparan el trabajo con y sin el kit, el git guard bloqueando un commit en main y un delta fusionándose en una spec viva (llega el requisito, se retira el id antiguo, se muestran el test y el ítem de QA). Animaciones CSS que se reproducen una vez al verse y quedan quietas con movimiento reducido.
- **Rama principal detectada al instalar**: `init` la lee desde git (el HEAD de origin, o la única rama main / master / trunk / production / prod) y pregunta si no hay certeza; `upgrade` reemplaza una rama configurada que no existe. `init` / `upgrade` conservan los campos de `agent-kit.json` que no preguntan (`testCommand`, `contextBudget`).
- El kit sigue su propio flujo: 001 y 002 convertidos a propuestas + specs delta EARS / Given-When-Then y fusionados; specs vivas `specs`, `qa`, `setup`, `website`; cada test del kit que prueba un escenario lleva su id; la rama del kit es `master` (disparador de Pages, enlaces de edición).
- La ayuda de la CLI pasó a `cli/lib/help.mjs`; el flag `--commits` aparece bajo `init`.

## 0.13.0 — 2026-10-10

- **SDD anclado a specs, con specs vivas**: `work/specs/<capacidad>/spec.md` es la fuente de verdad del comportamiento actual. El trabajo del carril spec es un **cambio** en `work/changes/NNN-slug/`: `proposal.md` (primer artefacto), specs delta `specs/<capacidad>.md` (requisitos ADDED / MODIFIED / REMOVED), `plan.md`, `tasks.md`. `specs.mjs merge NNN` aplica los deltas todos o ninguno, retira los ids eliminados (nunca se reutilizan) y marca la propuesta con `merged:`. La vía rápida edita la spec viva en su sitio.
- **Una notación estándar**: requisitos en **EARS** (`### cap.R1 — name` + `When …, the <system> shall …`), escenarios **Given/When/Then** (BDD) como tests de aceptación (ATDD), una etiqueta **ZOMBIES** cada uno (`#### cap.R1.S1 — name @boundary`). `specs.mjs lint|next|merge|trace|list` (también `agent-kit specs …`); referencia de la skill `spec/references/notation.md`; conocimiento global `ears-requirements`, `gherkin-scenarios`.
- **Trazabilidad por escenario**: los tests empiezan su nombre con el id del escenario; preflight bloquea un cambio terminado con escenarios sin cubrir o sin fusionar, y avisa de huecos en las specs vivas y errores de notación. Los cambios de ≤ 0.12 conservan sus trazas `NNN/AC-n`.
- **Dimensión de QA** (se pregunta al instalar, activada por defecto, se cambia volviendo a ejecutar init): `work/qa/checklist.md` + `checklist.html` sin conexión, generados desde las specs vivas (un ítem por escenario, con sus pasos, etiqueta ZOMBIES y fixture); pasadas de QA con fecha (`qa.mjs run`), `qa.mjs status` con **re-check** cuando un escenario cambió después de pasar; `qa.mjs gaps`. `specs.mjs merge` renueva el checklist.
- **Datos de prueba de Supabase** (`--test-data`, solo proyectos con Supabase): `supabase/test-data/{env,seed,purge}.sql` + README: una transacción cada uno, primero la guarda `_env` (se niega salvo dev / test / staging; `_env` va en todos los entornos y está en la migración inicial del monorepo), filas marcadas con `qa.testPrefix` (`TEST_`), fixtures marcados `-- @fixture <ids> @<zombies>`. Se aplican en el SQL Editor; las skills pueden ofrecer `supabase db query --linked -f …` / psql y ejecutarlo solo tras tu aprobación, nunca `db reset`. Preflight avisa cuando cambian las migraciones sin cambios en seed/purge. Referencia de la skill del stack `test-data.md`.
- **Actualizar**: `agent-kit upgrade` mueve `work/specs/NNN-*` a `work/changes/`, hace las nuevas preguntas de QA y renueva `work/README.md`.
- E2E: `scripts/e2e/spec-flow.mjs --lane spec|feature`: un pedido complejo abre un cambio con deltas que pasan lint; un ajuste de vía rápida mantiene al día su spec viva.

## 0.12.0 — 2026-10-08

- **Una skill de stack por plantilla, solo en el proyecto**: `stack-nuxt-supabase` salió del plugin y `stack-nuxt-content-site` es nueva; `init` instala la skill de la plantilla en `.claude/skills/`, así los proyectos que no la usan no pagan sus tokens. `upgrade` la renueva (con respaldo), `doctor` comprueba que esté al día, `uninstall` la quita.
- **Proyectos en blanco**: `--kind blank` (o "Blank project"): solo la capa del agente, sin plantilla, con un `package.json` mínimo; los proyectos existentes y en blanco pueden elegir una skill de stack (`--stack none|nuxt-supabase|nuxt-content-site`).
- **agent-kit propose "<title>"**: los proyectos envían ideas de mejora al kit, a la bandeja `work/proposals/` del clon o como un comando `gh issue create` listo; la skill `retro` lo usa.
- **Evolución**: `scripts/evolve/scout.mjs` (nueva versión de Claude Code, eventos de hook nuevos en la documentación, dependencias de las plantillas con una versión mayor de atraso, frente a una línea base revisada) y `scripts/evolve/ROUTINE.md` (rutina semanal en la nube: scout + investigación web sobre skills, arneses y flujos → como máximo 5 propuestas).
- La evaluación de activación cubre ambas skills de stack (cada una en el proyecto de su plantilla).

## 0.11.0 — 2026-10-08

- **Presupuesto del contexto de sesión**: se genera por debajo de 9 500 caracteres (Claude Code limita el contexto de los hooks a 10 000 y corta el resto en silencio); si hace falta pliega los grupos de conocimiento global, luego la lista de scripts, luego los grupos del proyecto, y recorta los resúmenes a 160 caracteres. `knowledge check` avisa de los resúmenes más largos.
- **CI de plantillas** (`.github/workflows/templates.yml`): genera el monorepo de app y el sitio de contenido, instala, revisa, construye y ejecuta el e2e de autenticación, ante cambios en las plantillas y cada semana.
- **Las cifras del sitio se mantienen ciertas**: `scripts/release/site.mjs` sincroniza la versión y el número de skills en ambos idiomas y en `llms.txt`; `bump.mjs` lo ejecuta; un test falla cuando el sitio está desactualizado.

## 0.10.0 — 2026-10-08

- **Sitio web del proyecto** (`site/`): una página en inglés y español: problema, cómo funciona, carriles y métodos, las 12 skills, garantías, conocimiento, plantillas, verificación, empezar; claro/oscuro, móvil, botones de copiar, `llms.txt`. Se despliega en GitHub Pages con `.github/workflows/pages.yml`. Test del sitio: enlaces, anclas, recursos, mismas secciones en ambos idiomas.

## 0.9.0 — 2026-10-08

- **E2E de autenticación** `scripts/e2e/auth.mjs`: el servidor de la app construido + supabase-js real contra un Supabase falso (Auth + RPC): contraseña incorrecta 401, login corto + dominio de correo, nombre en `app_metadata`, `/me`, revocación de logout en el servidor, límite 429 tras 5 fallos (9/9).
- **Git guard**: se resuelven los alias configurados (`git ci` → `git commit`, también los alias de shell); se bloquea `-c alias.…` en línea; la detección de rama funciona en un repositorio nuevo sin commits (antes no se detectaba un primer commit en main en el flujo `pr`).
- **Guía en español para personas no técnicas**: `docs/guia-sitio-web.md`.

## 0.8.0 — 2026-10-08

- **Aviso de versión**: cuando el plugin instalado es más nuevo que el `kitVersion` del proyecto, la sesión sugiere `agent-kit upgrade` una vez.
- **log.md del conocimiento** (OKF): cada indexado añade lo añadido, cambiado o eliminado, lo más nuevo primero.
- **agent-kit doctor --fix**: regenera los índices de conocimiento (+ log), el índice de scripts y el tablero de trabajo, y luego revisa.
- **Evaluaciones negativas de activación**: las preguntas no relacionadas no deben cargar ninguna skill de agent-kit; 3/3 con haiku y sonnet (sin sobreactivación).
- **Presupuesto de latencia de los hooks** en los tests de lint (< 1,5 s cada uno; medidos 72–101 ms).

## 0.7.0 — 2026-10-08

- **Arreglo**: los valores del frontmatter conservaban los comentarios YAML en línea (`status: draft # draft | approved…`), así que los archivos de trabajo creados desde las plantillas nunca se veían como activos (retomar, tablero, traza de AC) y los ejemplos de conocimiento comentados fallaban `check`.
- **Endurecimiento del git guard**: separación de comandos que respeta las comillas; también se revisa git escondido en `bash/sh -c`, `eval`, `xargs`, `$( )`, comillas invertidas, `nohup`, `timeout`.
- **work.mjs new feature|spec <slug>** (`agent-kit work new …`): siguiente número libre, archivos desde las plantillas, tablero actualizado; lo usan `feature`, `spec` y `start`.
- **Evaluación de activación de skills** `scripts/e2e/triggers.mjs`: un pedido realista por skill en un monorepo generado; las descripciones de `feature`, `tdd`, `commit`, `adopt`, `stack-nuxt-supabase` se reescribieron como "Use BEFORE…"; 12/12 skills se activan con haiku y sonnet tras los cambios (las dudosas se repitieron dos veces por modelo).
- El kit se adopta a sí mismo: `agent-kit.json`, un AGENTS.md de 48 líneas para trabajar en el kit, commitlint + husky, `.knowledge/`.

## 0.6.0 — 2026-10-08

- **Base de autenticación** en la plantilla de app: BFF `POST /api/auth/login` (límite de intentos por login e IP en la base de datos, migración `000000000001_login_throttle.sql`), `GET /api/auth/me`, `POST /api/auth/logout`; `useAuthStore` de Pinia (restauración de sesión, setSession, logout), guarda global de rutas con redirecciones seguras, página de login; `Input`/`Label` en la capa de UI.
- **agent-kit upgrade**: hace solo las preguntas que el proyecto no respondió, vuelve a aplicar la capa del agente e imprime el CHANGELOG desde el `kitVersion` del proyecto.
- **agent-kit uninstall [--dry-run]**: quita el bloque de AGENTS.md, las entradas de agent-kit en los ajustes y `agent-kit.json` (con respaldo); el contenido del proyecto se queda.
- **MCP de Supabase opcional de solo lectura** (`--supabase-mcp <ref>`, se pregunta en los proyectos de app nuevos): servidor alojado, limitado al proyecto, `read_only=true`; `doctor` marca uno que no sea de solo lectura.
- CI del kit (Node 20 y 22: tests + revisión del paquete).

## 0.5.0 — 2026-10-08

- **Skill commit**: preflight → revisión → mensaje Conventional Commit (en inglés, `type(scope): subject`, ≤ 72) → validación → commit según el flujo de git (los proyectos de solo lectura reciben el comando exacto).
- **Pregunta de instalación "Commit messages"** (`--commits conventional|none`, por defecto conventional): añade `@commitlint/cli`, `@commitlint/config-conventional`, `husky` y un script `prepare` a package.json, `commitlint.config.mjs` y `.husky/commit-msg`; `npm install` activa el hook.
- **commit.mjs** (`agent-kit commit draft|check`): archivos → sugerencias de ámbito/tipo; revisión del mensaje con el commitlint del proyecto, o reglas propias fijadas a los veredictos de commitlint por un test de paridad.
- **Git guard**: valida los mensajes de `git commit -m …` en proyectos conventional antes de ejecutarlos; bloquea `--no-verify` / `-n` en todas partes.
- **doctor**: commitlint configurado, archivo del hook presente, hooks activos (`core.hooksPath`).
- `init` ya no respalda archivos que creó antes en la misma ejecución.

## 0.4.0 — 2026-10-08

- **Verificado en vivo en Claude Code** (2.1.294): `scripts/e2e/live.mjs` ejecuta una sesión headless con `--plugin-dir` y un modelo barato, y comprueba que cargan el plugin y las skills, el contexto de SessionStart, el git guard, el aviso de scripts perdidos y el checkpoint (~0,01 $ por ejecución).
- **Arreglo**: el hook de checkpoint de Stop ahora es síncrono; los hooks asíncronos se perdían al terminar una ejecución headless (lo encontró el test en vivo).
- **Skill adopt** + `agent-kit context --sections`: pasar un AGENTS.md/CLAUDE.md grande y la memoria automática a agent-kit sección a sección (skill, CLAUDE.md por carpeta, conocimiento o borrar), midiendo los tokens tras cada movimiento.
- **Traza de hooks**: `AGENT_KIT_HOOK_LOG=<archivo>` hace que cada hook añada una línea al ejecutarse.
- **Tests de lint del plugin**: nombres de skills y presupuesto de descripciones, listado total ≤ 1500 tokens, los comandos de los hooks existen, los hooks callan fuera de los proyectos agent-kit, las versiones coinciden.

## 0.3.0 — 2026-10-08

- **Retomar entre sesiones**: el hook de Stop (asíncrono) guarda `.agent-kit/checkpoint.json`; el inicio de sesión muestra dónde terminó la última y el trabajo activo con su próxima tarea. `work.mjs status|board`.
- **Trazabilidad de criterios de aceptación**: los tests nombran `NNN/AC-n`; `work.mjs trace`; preflight bloquea una spec `done` con un AC sin cubrir y avisa en las `approved`.
- **Informe de contexto**: `agent-kit context` estima los tokens cargados en cada sesión (cadena CLAUDE.md + imports, memoria, contexto de agent-kit, descripciones de skills) y lista las skills que Claude Code no ve; `doctor` revisa el presupuesto (`contextBudget`, por defecto 8000).
- **Aviso de scripts perdidos**: el hook PostToolUse(Write) apunta a la skill `scripts` cuando se escribe un script fuera de `scripts/` o de scratch.
- **Sitio de contenido**: plantilla `--kind site` (Nuxt + Nuxt Content, páginas Markdown, estático) y la skill `start` (arranque guiado en lenguaje sencillo).
- **Retro**: skill `retro` + `agent-kit usage` (ejecuciones, fallos, scripts sin usar, scratch por promover, conocimiento huérfano).
- Además: `knowledge related <name>` (enlaces + retroenlaces), `kitVersion` en agent-kit.json revisado por `doctor`, respaldos de cada archivo que cambia `init`, flujo `check` de GitHub Actions en las plantillas, comandos `agent-kit preflight|work|context|usage`.

## 0.2.0 — 2026-10-07

- Pregunta de método: SDD o SDD + TDD; skill `tdd`, `tdd.mjs status|run`, preflight bloquea la lógica sin tests.
- Skill `scripts` + registro `scripts.mjs` (find/run/test/new/index/check), esqueletos de test ZOMBIES, `.agent-kit/scratch/`.

## 0.1.0 — 2026-10-07

- Plugin (spec, feature, knowledge, decide, stack-nuxt-supabase, preflight; agente revisor; hooks de sesión y git-guard), CLI `init/setup/doctor`, plantilla de monorepo Nuxt + Supabase, conocimiento global.


## Sitemap

See the full [sitemap](https://razcue-agent-kit.vercel.app/sitemap.md) for all pages.
