[{"data":1,"prerenderedAt":1544},["ShallowReactive",2],{"navigation_docs_es":3,"-es-reference-changelog":188,"-es-reference-changelog-surround":1539},[4,35,85,145],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Primeros pasos",false,"\u002Fes\u002Fgetting-started","es\u002F1.getting-started",[10,15,20,25,30],{"title":11,"path":12,"stem":13,"icon":14},"Introducción","\u002Fes\u002Fgetting-started\u002Fintroduction","es\u002F1.getting-started\u002F1.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Instalación","\u002Fes\u002Fgetting-started\u002Finstallation","es\u002F1.getting-started\u002F2.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Estructura del proyecto","\u002Fes\u002Fgetting-started\u002Fproject-layout","es\u002F1.getting-started\u002F3.project-layout","i-lucide-folder-tree",{"title":26,"path":27,"stem":28,"icon":29},"Actualizar y desinstalar","\u002Fes\u002Fgetting-started\u002Fupgrade-uninstall","es\u002F1.getting-started\u002F4.upgrade-uninstall","i-lucide-refresh-cw",{"title":31,"path":32,"stem":33,"icon":34},"Canales","\u002Fes\u002Fgetting-started\u002Fchannels","es\u002F1.getting-started\u002F5.channels","i-lucide-radio-tower",{"title":36,"icon":6,"path":37,"stem":38,"children":39,"page":6},"Conceptos","\u002Fes\u002Fconcepts","es\u002F2.concepts",[40,45,50,55,60,65,70,75,80],{"title":41,"path":42,"stem":43,"icon":44},"Carriles y métodos","\u002Fes\u002Fconcepts\u002Flanes-and-methods","es\u002F2.concepts\u002F1.lanes-and-methods","i-lucide-route",{"title":46,"path":47,"stem":48,"icon":49},"Specs vivas y cambios","\u002Fes\u002Fconcepts\u002Fliving-specs","es\u002F2.concepts\u002F2.living-specs","i-lucide-book-open-check",{"title":51,"path":52,"stem":53,"icon":54},"Notación","\u002Fes\u002Fconcepts\u002Fnotation","es\u002F2.concepts\u002F3.notation","i-lucide-pen-line",{"title":56,"path":57,"stem":58,"icon":59},"QA y datos de prueba","\u002Fes\u002Fconcepts\u002Fqa-and-test-data","es\u002F2.concepts\u002F4.qa-and-test-data","i-lucide-clipboard-check",{"title":61,"path":62,"stem":63,"icon":64},"Conocimiento","\u002Fes\u002Fconcepts\u002Fknowledge","es\u002F2.concepts\u002F5.knowledge","i-lucide-brain",{"title":66,"path":67,"stem":68,"icon":69},"Scripts","\u002Fes\u002Fconcepts\u002Fscripts","es\u002F2.concepts\u002F6.scripts","i-lucide-file-code",{"title":71,"path":72,"stem":73,"icon":74},"Garantías","\u002Fes\u002Fconcepts\u002Fguardrails","es\u002F2.concepts\u002F7.guardrails","i-lucide-shield",{"title":76,"path":77,"stem":78,"icon":79},"Contexto de sesión","\u002Fes\u002Fconcepts\u002Fsession-context","es\u002F2.concepts\u002F8.session-context","i-lucide-gauge",{"title":81,"path":82,"stem":83,"icon":84},"Cómo mejora el kit","\u002Fes\u002Fconcepts\u002Fself-improvement","es\u002F2.concepts\u002F9.self-improvement","i-lucide-sprout",{"title":86,"icon":6,"path":87,"stem":88,"children":89,"page":6},"Guías","\u002Fes\u002Fguides","es\u002F3.guides",[90,95,100,105,110,115,120,125,130,135,140],{"title":91,"path":92,"stem":93,"icon":94},"Monorepo de app nuevo","\u002Fes\u002Fguides\u002Fnew-app-monorepo","es\u002F3.guides\u002F01.new-app-monorepo","i-lucide-boxes",{"title":96,"path":97,"stem":98,"icon":99},"Tu sitio web con Claude","\u002Fes\u002Fguides\u002Fcontent-site","es\u002F3.guides\u002F02.content-site","i-lucide-globe",{"title":101,"path":102,"stem":103,"icon":104},"Adoptar un proyecto existente","\u002Fes\u002Fguides\u002Fadopt-existing-project","es\u002F3.guides\u002F03.adopt-existing-project","i-lucide-git-merge",{"title":106,"path":107,"stem":108,"icon":109},"Un cambio, de principio a fin","\u002Fes\u002Fguides\u002Fspec-lane-change","es\u002F3.guides\u002F04.spec-lane-change","i-lucide-git-pull-request",{"title":111,"path":112,"stem":113,"icon":114},"Un cambio de vía rápida","\u002Fes\u002Fguides\u002Ffast-track-change","es\u002F3.guides\u002F05.fast-track-change","i-lucide-zap",{"title":116,"path":117,"stem":118,"icon":119},"El ciclo TDD","\u002Fes\u002Fguides\u002Ftdd-loop","es\u002F3.guides\u002F06.tdd-loop","i-lucide-repeat",{"title":121,"path":122,"stem":123,"icon":124},"Una pasada de QA","\u002Fes\u002Fguides\u002Fqa-pass","es\u002F3.guides\u002F07.qa-pass","i-lucide-clipboard-list",{"title":126,"path":127,"stem":128,"icon":129},"Datos de prueba","\u002Fes\u002Fguides\u002Ftest-data","es\u002F3.guides\u002F08.test-data","i-lucide-database",{"title":131,"path":132,"stem":133,"icon":134},"Publicar y actualizar","\u002Fes\u002Fguides\u002Freleasing-and-upgrading","es\u002F3.guides\u002F09.releasing-and-upgrading","i-lucide-rocket",{"title":136,"path":137,"stem":138,"icon":139},"Proponer mejoras","\u002Fes\u002Fguides\u002Fproposing-improvements","es\u002F3.guides\u002F10.proposing-improvements","i-lucide-lightbulb",{"title":141,"path":142,"stem":143,"icon":144},"Documentación para agentes","\u002Fes\u002Fguides\u002Fdocs-for-agents","es\u002F3.guides\u002F11.docs-for-agents","i-lucide-bot",{"title":146,"icon":6,"path":147,"stem":148,"children":149,"page":6},"Referencia","\u002Fes\u002Freference","es\u002F4.reference",[150,155,160,165,170,173,178,183],{"title":151,"path":152,"stem":153,"icon":154},"CLI","\u002Fes\u002Freference\u002Fcli","es\u002F4.reference\u002F1.cli","i-lucide-terminal",{"title":156,"path":157,"stem":158,"icon":159},"Configuración","\u002Fes\u002Freference\u002Fconfiguration","es\u002F4.reference\u002F2.configuration","i-lucide-settings",{"title":161,"path":162,"stem":163,"icon":164},"Skills","\u002Fes\u002Freference\u002Fskills","es\u002F4.reference\u002F3.skills","i-lucide-sparkles",{"title":166,"path":167,"stem":168,"icon":169},"Hooks","\u002Fes\u002Freference\u002Fhooks","es\u002F4.reference\u002F4.hooks","i-lucide-webhook",{"title":66,"path":171,"stem":172,"icon":69},"\u002Fes\u002Freference\u002Fscripts","es\u002F4.reference\u002F5.scripts",{"title":174,"path":175,"stem":176,"icon":177},"Cambios","\u002Fes\u002Freference\u002Fchangelog","es\u002F4.reference\u002F6.changelog","i-lucide-history",{"title":179,"path":180,"stem":181,"icon":182},"Plantillas","\u002Fes\u002Freference\u002Ftemplates","es\u002F4.reference\u002F7.templates","i-lucide-layout-template",{"title":184,"path":185,"stem":186,"icon":187},"Privacidad","\u002Fes\u002Freference\u002Fprivacy","es\u002F4.reference\u002F8.privacy","i-lucide-lock",{"id":189,"title":174,"body":190,"description":1531,"extension":1532,"links":1533,"meta":1534,"navigation":1536,"path":175,"seo":1537,"stem":176,"__hash__":1538},"docs_es\u002Fes\u002F4.reference\u002F6.changelog.md",{"type":191,"value":192,"toc":1510},"minimark",[193,198,255,259,281,285,413,417,593,597,793,797,882,886,921,925,942,946,994,998,1042,1046,1138,1142,1214,1218,1307,1311,1357,1361,1470,1474,1497,1501],[194,195,197],"h2",{"id":196},"_0143-2026-10-11","0.14.3 — 2026-10-11",[199,200,201,237],"ul",{},[202,203,204,208,209,213,214,217,218,221,222,225,226,229,230,213,233,236],"li",{},[205,206,207],"strong",{},"Git guard sin palabras de descarga",": la lista de todos los subcomandos git que reconoce el guard (con ",[210,211,212],"code",{},"pull"," y ",[210,215,216],{},"clone",") también pasó a ",[210,219,220],{},"git-rules.mjs",", y los mensajes del guard dicen \"branches + PRs\"; el validador del directorio seguía leyendo ",[210,223,224],{},"git-guard.mjs"," como un patrón de descargar y ejecutar después de sacar ",[210,227,228],{},"fetch",". El comportamiento no cambia: ",[210,231,232],{},"git pull",[210,234,235],{},"git clone"," siguen bloqueados en proyectos de solo lectura.",[202,238,239,242,243,246,247,250,251,254],{},[205,240,241],{},"Sin asistente \"Ask AI\" en la documentación",": Docus activa su asistente siempre que hay credenciales del AI Gateway, y Vercel siempre las da (",[210,244,245],{},"VERCEL_OIDC_TOKEN","), así que el despliegue en Vercel mostraba un cuadro \"Ask AI\" que fallaba en cada pregunta. Ahora está desactivado explícitamente (",[210,248,249],{},"docus.assistant.enabled: false","); los agentes leen la documentación por el servidor MCP y ",[210,252,253],{},"llms.txt",".",[194,256,258],{"id":257},"_0142-2026-10-11","0.14.2 — 2026-10-11",[199,260,261],{},[202,262,263,266,267,270,271,274,275,277,278,280],{},[205,264,265],{},"Avisos de validación del directorio resueltos",": un icono de 1024 × 1024 para la ficha (",[210,268,269],{},"plugin\u002F.claude-plugin\u002Ficon.png",", el icono de terminal de razcue.github.io); una página de Privacidad en la documentación (EN + ES) enlazada como ",[210,272,273],{},"privacyPolicyUrl","; los datos de subcomandos git de solo lectura pasaron de ",[210,276,224],{}," a ",[210,279,220],{},", 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.",[194,282,284],{"id":283},"_0141-2026-10-11","0.14.1 — 2026-10-11",[199,286,287,322,383],{},[202,288,289,292,293,296,297,300,301,304,305,308,309,308,312,308,315,308,318,321],{},[205,290,291],{},"Listo para el directorio de plugins de Anthropic",": ",[210,294,295],{},"plugin\u002FREADME.md"," (qué lee, ejecuta y escribe cada hook; sin red, sin recogida de datos) y ",[210,298,299],{},"plugin\u002FLICENSE","; ",[210,302,303],{},"plugin.json"," recibe ",[210,306,307],{},"displayName",", ",[210,310,311],{},"homepage",[210,313,314],{},"repository",[210,316,317],{},"license",[210,319,320],{},"keywords"," y una descripción al día (también en la entrada del marketplace).",[202,323,324,327,328,334,335,339,340,343,344,347,348,351,352,355,356,359,360,308,362,308,365,367,368,371,372,374,375,378,379,382],{},[205,325,326],{},"Cada canal apunta a los demás"," — documentación (",[329,330,331],"a",{"href":331,"rel":332},"https:\u002F\u002Frazcue.github.io\u002Fagent-kit\u002F",[333],"nofollow","), servidor MCP de la documentación (",[329,336,337],{"href":337,"rel":338},"https:\u002F\u002Frazcue-agent-kit.vercel.app\u002Fmcp",[333],"), plugin de Claude Code (",[210,341,342],{},"\u002Fplugin install agent-kit --marketplace razcue\u002Fagent-kit",") y CLI de npm (",[210,345,346],{},"npx @razcue\u002Fagent-kit init","): una sola fuente en ",[210,349,350],{},"cli\u002Flib\u002Fchannels.mjs","; una página \"Canales\" en la documentación (EN + ES); el plugin declara el servidor MCP como ",[210,353,354],{},"agent-kit-docs"," (",[210,357,358],{},"plugin\u002F.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 (",[210,361,311],{},[210,363,364],{},"bugs",[210,366,320],{},"), la ayuda de la CLI y la salida de ",[210,369,370],{},"init"," nombran la documentación y el servidor MCP; ",[210,373,253],{}," nombra el endpoint MCP; la raíz de Pages redirige a ",[210,376,377],{},"\u002Fen\u002F"," o ",[210,380,381],{},"\u002Fes\u002F"," según el idioma del navegador (devolvía 404).",[202,384,385,388,389,392,393,396,397,400,401,404,405,408,409,412],{},[205,386,387],{},"Lanzadores fijados",": los scripts ",[210,390,391],{},".ts"," y vitest se ejecutan con los binarios del propio proyecto en ",[210,394,395],{},"node_modules\u002F.bin",", o si no con ",[210,398,399],{},"npx --yes tsx@4.23.15"," \u002F ",[210,402,403],{},"vitest@5.0.3",", nunca una versión flotante. Cada comando ",[210,406,407],{},"npx @razcue\u002Fagent-kit@\u003Cversión>"," dentro del plugin lleva la versión del plugin, y ",[210,410,411],{},"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.",[194,414,416],{"id":415},"_0140-2026-10-11","0.14.0 — 2026-10-11",[199,418,419,438,459,495,519,532,560,580],{},[202,420,421,292,424,427,428,431,432,400,434,437],{},[205,422,423],{},"Sitio de documentación con Docus 5",[210,425,426],{},"site\u002F"," ahora es un proyecto Docus (Nuxt 4 + Nuxt Content + Nuxt UI) en ",[205,429,430],{},"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 ",[210,433,253],{},[210,435,436],{},"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.",[202,439,440,292,443,446,447,450,451,454,455,458],{},[205,441,442],{},"Referencia generada desde el código fuente",[210,444,445],{},"scripts\u002Frelease\u002Fdocs.mjs sync"," escribe las páginas de CLI, configuración, skills, hooks, scripts y cambios; ",[210,448,449],{},"docs.mjs check"," (lo ejecuta ",[210,452,453],{},"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; ",[210,456,457],{},"docs.mjs stamp"," tras traducir) y comandos de la CLI sin explicar fuera de la referencia.",[202,460,461,464,465,468,469,471,472,475,476,479,480,483,484,487,488,308,491,494],{},[205,462,463],{},"Despliegue",": GitHub Pages genera el sitio estático (",[210,466,467],{},"npm run generate:pages"," en ",[210,470,426],{},", ruta base ",[210,473,474],{},"\u002Fagent-kit\u002F","); la misma app en Vercel (",[210,477,478],{},"site\u002Fvercel.json",") sirve el servidor MCP de Docus en ",[210,481,482],{},"\u002Fmcp"," para los agentes. ",[210,485,486],{},"scripts\u002Frelease\u002Fsite-base.mjs"," añade la ruta base donde Docus 5.14 la omite (",[210,489,490],{},"llms*.txt",[210,492,493],{},"sitemap.md",", favicon).",[202,496,497,498,502,503,506,507,510,511,514,515,518],{},"El aspecto de ",[329,499,500],{"href":500,"rel":501},"https:\u002F\u002Frazcue.github.io",[333],": su paleta clara \u002F oscura llevada a los tokens de Nuxt UI (",[210,504,505],{},"site\u002Fapp\u002Fapp.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 ",[210,508,509],{},"stats.json"," de ",[210,512,513],{},"scripts\u002Frelease\u002Frepo-stats.mjs"," como respaldo) y los clones de los últimos 14 días cuando existe el secreto ",[210,516,517],{},"TRAFFIC_TOKEN","; el sitio de Pages se regenera a diario.",[202,520,521,524,525,527,528,531],{},[205,522,523],{},"Portada",": un terminal animado en la cabecera (",[210,526,370],{}," 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 ",[210,529,530],{},"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.",[202,533,534,292,537,539,540,543,544,400,546,548,549,552,553,308,556,559],{},[205,535,536],{},"Rama principal detectada al instalar",[210,538,370],{}," la lee desde git (el HEAD de origin, o la única rama main \u002F master \u002F trunk \u002F production \u002F prod) y pregunta si no hay certeza; ",[210,541,542],{},"upgrade"," reemplaza una rama configurada que no existe. ",[210,545,370],{},[210,547,542],{}," conservan los campos de ",[210,550,551],{},"agent-kit.json"," que no preguntan (",[210,554,555],{},"testCommand",[210,557,558],{},"contextBudget",").",[202,561,562,563,308,566,308,569,308,572,575,576,579],{},"El kit sigue su propio flujo: 001 y 002 convertidos a propuestas + specs delta EARS \u002F Given-When-Then y fusionados; specs vivas ",[210,564,565],{},"specs",[210,567,568],{},"qa",[210,570,571],{},"setup",[210,573,574],{},"website","; cada test del kit que prueba un escenario lleva su id; la rama del kit es ",[210,577,578],{},"master"," (disparador de Pages, enlaces de edición).",[202,581,582,583,586,587,590,591,254],{},"La ayuda de la CLI pasó a ",[210,584,585],{},"cli\u002Flib\u002Fhelp.mjs","; el flag ",[210,588,589],{},"--commits"," aparece bajo ",[210,592,370],{},[194,594,596],{"id":595},"_0130-2026-10-10","0.13.0 — 2026-10-10",[199,598,599,637,684,693,725,767,786],{},[202,600,601,292,604,607,608,468,611,292,614,617,618,621,622,308,625,628,629,632,633,636],{},[205,602,603],{},"SDD anclado a specs, con specs vivas",[210,605,606],{},"work\u002Fspecs\u002F\u003Ccapacidad>\u002Fspec.md"," es la fuente de verdad del comportamiento actual. El trabajo del carril spec es un ",[205,609,610],{},"cambio",[210,612,613],{},"work\u002Fchanges\u002FNNN-slug\u002F",[210,615,616],{},"proposal.md"," (primer artefacto), specs delta ",[210,619,620],{},"specs\u002F\u003Ccapacidad>.md"," (requisitos ADDED \u002F MODIFIED \u002F REMOVED), ",[210,623,624],{},"plan.md",[210,626,627],{},"tasks.md",". ",[210,630,631],{},"specs.mjs merge NNN"," aplica los deltas todos o ninguno, retira los ids eliminados (nunca se reutilizan) y marca la propuesta con ",[210,634,635],{},"merged:",". La vía rápida edita la spec viva en su sitio.",[202,638,639,642,643,355,646,649,650,653,654,657,658,661,662,665,666,669,670,673,674,677,678,308,681,254],{},[205,640,641],{},"Una notación estándar",": requisitos en ",[205,644,645],{},"EARS",[210,647,648],{},"### cap.R1 — name"," + ",[210,651,652],{},"When …, the \u003Csystem> shall …","), escenarios ",[205,655,656],{},"Given\u002FWhen\u002FThen"," (BDD) como tests de aceptación (ATDD), una etiqueta ",[205,659,660],{},"ZOMBIES"," cada uno (",[210,663,664],{},"#### cap.R1.S1 — name @boundary","). ",[210,667,668],{},"specs.mjs lint|next|merge|trace|list"," (también ",[210,671,672],{},"agent-kit specs …","); referencia de la skill ",[210,675,676],{},"spec\u002Freferences\u002Fnotation.md","; conocimiento global ",[210,679,680],{},"ears-requirements",[210,682,683],{},"gherkin-scenarios",[202,685,686,689,690,254],{},[205,687,688],{},"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 ",[210,691,692],{},"NNN\u002FAC-n",[202,694,695,698,699,649,702,705,706,709,710,713,714,717,718,628,721,724],{},[205,696,697],{},"Dimensión de QA"," (se pregunta al instalar, activada por defecto, se cambia volviendo a ejecutar init): ",[210,700,701],{},"work\u002Fqa\u002Fchecklist.md",[210,703,704],{},"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 (",[210,707,708],{},"qa.mjs run","), ",[210,711,712],{},"qa.mjs status"," con ",[205,715,716],{},"re-check"," cuando un escenario cambió después de pasar; ",[210,719,720],{},"qa.mjs gaps",[210,722,723],{},"specs.mjs merge"," renueva el checklist.",[202,726,727,355,730,733,734,737,738,741,742,744,745,355,748,751,752,755,756,759,760,763,764,254],{},[205,728,729],{},"Datos de prueba de Supabase",[210,731,732],{},"--test-data",", solo proyectos con Supabase): ",[210,735,736],{},"supabase\u002Ftest-data\u002F{env,seed,purge}.sql"," + README: una transacción cada uno, primero la guarda ",[210,739,740],{},"_env"," (se niega salvo dev \u002F test \u002F staging; ",[210,743,740],{}," va en todos los entornos y está en la migración inicial del monorepo), filas marcadas con ",[210,746,747],{},"qa.testPrefix",[210,749,750],{},"TEST_","), fixtures marcados ",[210,753,754],{},"-- @fixture \u003Cids> @\u003Czombies>",". Se aplican en el SQL Editor; las skills pueden ofrecer ",[210,757,758],{},"supabase db query --linked -f …"," \u002F psql y ejecutarlo solo tras tu aprobación, nunca ",[210,761,762],{},"db reset",". Preflight avisa cuando cambian las migraciones sin cambios en seed\u002Fpurge. Referencia de la skill del stack ",[210,765,766],{},"test-data.md",[202,768,769,292,772,775,776,277,779,782,783,254],{},[205,770,771],{},"Actualizar",[210,773,774],{},"agent-kit upgrade"," mueve ",[210,777,778],{},"work\u002Fspecs\u002FNNN-*",[210,780,781],{},"work\u002Fchanges\u002F",", hace las nuevas preguntas de QA y renueva ",[210,784,785],{},"work\u002FREADME.md",[202,787,788,789,792],{},"E2E: ",[210,790,791],{},"scripts\u002Fe2e\u002Fspec-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.",[194,794,796],{"id":795},"_0120-2026-10-08","0.12.0 — 2026-10-08",[199,798,799,830,846,866,879],{},[202,800,801,292,804,807,808,811,812,814,815,818,819,821,822,825,826,829],{},[205,802,803],{},"Una skill de stack por plantilla, solo en el proyecto",[210,805,806],{},"stack-nuxt-supabase"," salió del plugin y ",[210,809,810],{},"stack-nuxt-content-site"," es nueva; ",[210,813,370],{}," instala la skill de la plantilla en ",[210,816,817],{},".claude\u002Fskills\u002F",", así los proyectos que no la usan no pagan sus tokens. ",[210,820,542],{}," la renueva (con respaldo), ",[210,823,824],{},"doctor"," comprueba que esté al día, ",[210,827,828],{},"uninstall"," la quita.",[202,831,832,292,835,838,839,842,843,559],{},[205,833,834],{},"Proyectos en blanco",[210,836,837],{},"--kind blank"," (o \"Blank project\"): solo la capa del agente, sin plantilla, con un ",[210,840,841],{},"package.json"," mínimo; los proyectos existentes y en blanco pueden elegir una skill de stack (",[210,844,845],{},"--stack none|nuxt-supabase|nuxt-content-site",[202,847,848,853,854,857,858,861,862,865],{},[205,849,850],{},[210,851,852],{},"agent-kit propose \"\u003Ctitle>\"",": los proyectos envían ideas de mejora al kit, a la bandeja ",[210,855,856],{},"work\u002Fproposals\u002F"," del clon o como un comando ",[210,859,860],{},"gh issue create"," listo; la skill ",[210,863,864],{},"retro"," lo usa.",[202,867,868,292,871,874,875,878],{},[205,869,870],{},"Evolución",[210,872,873],{},"scripts\u002Fevolve\u002Fscout.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 ",[210,876,877],{},"scripts\u002Fevolve\u002FROUTINE.md"," (rutina semanal en la nube: scout + investigación web sobre skills, arneses y flujos → como máximo 5 propuestas).",[202,880,881],{},"La evaluación de activación cubre ambas skills de stack (cada una en el proyecto de su plantilla).",[194,883,885],{"id":884},"_0110-2026-10-08","0.11.0 — 2026-10-08",[199,887,888,898,907],{},[202,889,890,893,894,897],{},[205,891,892],{},"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. ",[210,895,896],{},"knowledge check"," avisa de los resúmenes más largos.",[202,899,900,355,903,906],{},[205,901,902],{},"CI de plantillas",[210,904,905],{},".github\u002Fworkflows\u002Ftemplates.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.",[202,908,909,292,912,915,916,300,918,920],{},[205,910,911],{},"Las cifras del sitio se mantienen ciertas",[210,913,914],{},"scripts\u002Frelease\u002Fsite.mjs"," sincroniza la versión y el número de skills en ambos idiomas y en ",[210,917,253],{},[210,919,411],{}," lo ejecuta; un test falla cuando el sitio está desactualizado.",[194,922,924],{"id":923},"_0100-2026-10-08","0.10.0 — 2026-10-08",[199,926,927],{},[202,928,929,355,932,934,935,937,938,941],{},[205,930,931],{},"Sitio web del proyecto",[210,933,426],{},"): 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\u002Foscuro, móvil, botones de copiar, ",[210,936,253],{},". Se despliega en GitHub Pages con ",[210,939,940],{},".github\u002Fworkflows\u002Fpages.yml",". Test del sitio: enlaces, anclas, recursos, mismas secciones en ambos idiomas.",[194,943,945],{"id":944},"_090-2026-10-08","0.9.0 — 2026-10-08",[199,947,948,965,986],{},[202,949,950,953,954,957,958,308,961,964],{},[205,951,952],{},"E2E de autenticación"," ",[210,955,956],{},"scripts\u002Fe2e\u002Fauth.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 ",[210,959,960],{},"app_metadata",[210,962,963],{},"\u002Fme",", revocación de logout en el servidor, límite 429 tras 5 fallos (9\u002F9).",[202,966,967,970,971,974,975,978,979,982,983,559],{},[205,968,969],{},"Git guard",": se resuelven los alias configurados (",[210,972,973],{},"git ci"," → ",[210,976,977],{},"git commit",", también los alias de shell); se bloquea ",[210,980,981],{},"-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 ",[210,984,985],{},"pr",[202,987,988,292,991,254],{},[205,989,990],{},"Guía en español para personas no técnicas",[210,992,993],{},"docs\u002Fguia-sitio-web.md",[194,995,997],{"id":996},"_080-2026-10-08","0.8.0 — 2026-10-08",[199,999,1000,1013,1022,1030,1036],{},[202,1001,1002,1005,1006,1009,1010,1012],{},[205,1003,1004],{},"Aviso de versión",": cuando el plugin instalado es más nuevo que el ",[210,1007,1008],{},"kitVersion"," del proyecto, la sesión sugiere ",[210,1011,774],{}," una vez.",[202,1014,1015,1021],{},[205,1016,1017,1020],{},[210,1018,1019],{},"log.md"," del conocimiento"," (OKF): cada indexado añade lo añadido, cambiado o eliminado, lo más nuevo primero.",[202,1023,1024,1029],{},[205,1025,1026],{},[210,1027,1028],{},"agent-kit doctor --fix",": regenera los índices de conocimiento (+ log), el índice de scripts y el tablero de trabajo, y luego revisa.",[202,1031,1032,1035],{},[205,1033,1034],{},"Evaluaciones negativas de activación",": las preguntas no relacionadas no deben cargar ninguna skill de agent-kit; 3\u002F3 con haiku y sonnet (sin sobreactivación).",[202,1037,1038,1041],{},[205,1039,1040],{},"Presupuesto de latencia de los hooks"," en los tests de lint (\u003C 1,5 s cada uno; medidos 72–101 ms).",[194,1043,1045],{"id":1044},"_070-2026-10-08","0.7.0 — 2026-10-08",[199,1047,1048,1061,1086,1106,1129],{},[202,1049,1050,1053,1054,1057,1058,254],{},[205,1051,1052],{},"Arreglo",": los valores del frontmatter conservaban los comentarios YAML en línea (",[210,1055,1056],{},"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 ",[210,1059,1060],{},"check",[202,1062,1063,1066,1067,308,1070,308,1073,308,1076,1079,1080,308,1083,254],{},[205,1064,1065],{},"Endurecimiento del git guard",": separación de comandos que respeta las comillas; también se revisa git escondido en ",[210,1068,1069],{},"bash\u002Fsh -c",[210,1071,1072],{},"eval",[210,1074,1075],{},"xargs",[210,1077,1078],{},"$( )",", comillas invertidas, ",[210,1081,1082],{},"nohup",[210,1084,1085],{},"timeout",[202,1087,1088,355,1093,1096,1097,308,1100,213,1103,254],{},[205,1089,1090],{},[210,1091,1092],{},"work.mjs new feature|spec \u003Cslug>",[210,1094,1095],{},"agent-kit work new …","): siguiente número libre, archivos desde las plantillas, tablero actualizado; lo usan ",[210,1098,1099],{},"feature",[210,1101,1102],{},"spec",[210,1104,1105],{},"start",[202,1107,1108,953,1111,1114,1115,308,1117,308,1120,308,1123,308,1126,1128],{},[205,1109,1110],{},"Evaluación de activación de skills",[210,1112,1113],{},"scripts\u002Fe2e\u002Ftriggers.mjs",": un pedido realista por skill en un monorepo generado; las descripciones de ",[210,1116,1099],{},[210,1118,1119],{},"tdd",[210,1121,1122],{},"commit",[210,1124,1125],{},"adopt",[210,1127,806],{}," se reescribieron como \"Use BEFORE…\"; 12\u002F12 skills se activan con haiku y sonnet tras los cambios (las dudosas se repitieron dos veces por modelo).",[202,1130,1131,1132,1134,1135,254],{},"El kit se adopta a sí mismo: ",[210,1133,551],{},", un AGENTS.md de 48 líneas para trabajar en el kit, commitlint + husky, ",[210,1136,1137],{},".knowledge\u002F",[194,1139,1141],{"id":1140},"_060-2026-10-08","0.6.0 — 2026-10-08",[199,1143,1144,1175,1185,1196,1211],{},[202,1145,1146,1149,1150,1153,1154,709,1157,308,1160,300,1163,1166,1167,1170,1171,1174],{},[205,1147,1148],{},"Base de autenticación"," en la plantilla de app: BFF ",[210,1151,1152],{},"POST \u002Fapi\u002Fauth\u002Flogin"," (límite de intentos por login e IP en la base de datos, migración ",[210,1155,1156],{},"000000000001_login_throttle.sql",[210,1158,1159],{},"GET \u002Fapi\u002Fauth\u002Fme",[210,1161,1162],{},"POST \u002Fapi\u002Fauth\u002Flogout",[210,1164,1165],{},"useAuthStore"," de Pinia (restauración de sesión, setSession, logout), guarda global de rutas con redirecciones seguras, página de login; ",[210,1168,1169],{},"Input","\u002F",[210,1172,1173],{},"Label"," en la capa de UI.",[202,1176,1177,1181,1182,1184],{},[205,1178,1179],{},[210,1180,774],{},": hace solo las preguntas que el proyecto no respondió, vuelve a aplicar la capa del agente e imprime el CHANGELOG desde el ",[210,1183,1008],{}," del proyecto.",[202,1186,1187,1192,1193,1195],{},[205,1188,1189],{},[210,1190,1191],{},"agent-kit uninstall [--dry-run]",": quita el bloque de AGENTS.md, las entradas de agent-kit en los ajustes y ",[210,1194,551],{}," (con respaldo); el contenido del proyecto se queda.",[202,1197,1198,355,1201,1204,1205,300,1208,1210],{},[205,1199,1200],{},"MCP de Supabase opcional de solo lectura",[210,1202,1203],{},"--supabase-mcp \u003Cref>",", se pregunta en los proyectos de app nuevos): servidor alojado, limitado al proyecto, ",[210,1206,1207],{},"read_only=true",[210,1209,824],{}," marca uno que no sea de solo lectura.",[202,1212,1213],{},"CI del kit (Node 20 y 22: tests + revisión del paquete).",[194,1215,1217],{"id":1216},"_050-2026-10-08","0.5.0 — 2026-10-08",[199,1219,1220,1232,1265,1276,1292,1302],{},[202,1221,1222,1227,1228,1231],{},[205,1223,1224,1225],{},"Skill ",[210,1226,1122],{},": preflight → revisión → mensaje Conventional Commit (en inglés, ",[210,1229,1230],{},"type(scope): subject",", ≤ 72) → validación → commit según el flujo de git (los proyectos de solo lectura reciben el comando exacto).",[202,1233,1234,355,1237,1240,1241,308,1244,308,1247,1250,1251,1254,1255,213,1258,300,1261,1264],{},[205,1235,1236],{},"Pregunta de instalación \"Commit messages\"",[210,1238,1239],{},"--commits conventional|none",", por defecto conventional): añade ",[210,1242,1243],{},"@commitlint\u002Fcli",[210,1245,1246],{},"@commitlint\u002Fconfig-conventional",[210,1248,1249],{},"husky"," y un script ",[210,1252,1253],{},"prepare"," a package.json, ",[210,1256,1257],{},"commitlint.config.mjs",[210,1259,1260],{},".husky\u002Fcommit-msg",[210,1262,1263],{},"npm install"," activa el hook.",[202,1266,1267,355,1272,1275],{},[205,1268,1269],{},[210,1270,1271],{},"commit.mjs",[210,1273,1274],{},"agent-kit commit draft|check","): archivos → sugerencias de ámbito\u002Ftipo; revisión del mensaje con el commitlint del proyecto, o reglas propias fijadas a los veredictos de commitlint por un test de paridad.",[202,1277,1278,1280,1281,1284,1285,400,1288,1291],{},[205,1279,969],{},": valida los mensajes de ",[210,1282,1283],{},"git commit -m …"," en proyectos conventional antes de ejecutarlos; bloquea ",[210,1286,1287],{},"--no-verify",[210,1289,1290],{},"-n"," en todas partes.",[202,1293,1294,1298,1299,559],{},[205,1295,1296],{},[210,1297,824],{},": commitlint configurado, archivo del hook presente, hooks activos (",[210,1300,1301],{},"core.hooksPath",[202,1303,1304,1306],{},[210,1305,370],{}," ya no respalda archivos que creó antes en la misma ejecución.",[194,1308,1310],{"id":1309},"_040-2026-10-08","0.4.0 — 2026-10-08",[199,1312,1313,1327,1332,1342,1351],{},[202,1314,1315,1318,1319,1322,1323,1326],{},[205,1316,1317],{},"Verificado en vivo en Claude Code"," (2.1.294): ",[210,1320,1321],{},"scripts\u002Fe2e\u002Flive.mjs"," ejecuta una sesión headless con ",[210,1324,1325],{},"--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).",[202,1328,1329,1331],{},[205,1330,1052],{},": 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).",[202,1333,1334,649,1338,1341],{},[205,1335,1224,1336],{},[210,1337,1125],{},[210,1339,1340],{},"agent-kit context --sections",": pasar un AGENTS.md\u002FCLAUDE.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.",[202,1343,1344,292,1347,1350],{},[205,1345,1346],{},"Traza de hooks",[210,1348,1349],{},"AGENT_KIT_HOOK_LOG=\u003Carchivo>"," hace que cada hook añada una línea al ejecutarse.",[202,1352,1353,1356],{},[205,1354,1355],{},"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.",[194,1358,1360],{"id":1359},"_030-2026-10-08","0.3.0 — 2026-10-08",[199,1362,1363,1376,1395,1409,1423,1436,1448],{},[202,1364,1365,1368,1369,1372,1373,254],{},[205,1366,1367],{},"Retomar entre sesiones",": el hook de Stop (asíncrono) guarda ",[210,1370,1371],{},".agent-kit\u002Fcheckpoint.json","; el inicio de sesión muestra dónde terminó la última y el trabajo activo con su próxima tarea. ",[210,1374,1375],{},"work.mjs status|board",[202,1377,1378,1381,1382,300,1384,1387,1388,1391,1392,254],{},[205,1379,1380],{},"Trazabilidad de criterios de aceptación",": los tests nombran ",[210,1383,692],{},[210,1385,1386],{},"work.mjs trace","; preflight bloquea una spec ",[210,1389,1390],{},"done"," con un AC sin cubrir y avisa en las ",[210,1393,1394],{},"approved",[202,1396,1397,292,1400,1402,1403,1405,1406,1408],{},[205,1398,1399],{},"Informe de contexto",[210,1401,530],{}," 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; ",[210,1404,824],{}," revisa el presupuesto (",[210,1407,558],{},", por defecto 8000).",[202,1410,1411,1414,1415,1418,1419,1422],{},[205,1412,1413],{},"Aviso de scripts perdidos",": el hook PostToolUse(Write) apunta a la skill ",[210,1416,1417],{},"scripts"," cuando se escribe un script fuera de ",[210,1420,1421],{},"scripts\u002F"," o de scratch.",[202,1424,1425,1428,1429,1432,1433,1435],{},[205,1426,1427],{},"Sitio de contenido",": plantilla ",[210,1430,1431],{},"--kind site"," (Nuxt + Nuxt Content, páginas Markdown, estático) y la skill ",[210,1434,1105],{}," (arranque guiado en lenguaje sencillo).",[202,1437,1438,1441,1442,649,1444,1447],{},[205,1439,1440],{},"Retro",": skill ",[210,1443,864],{},[210,1445,1446],{},"agent-kit usage"," (ejecuciones, fallos, scripts sin usar, scratch por promover, conocimiento huérfano).",[202,1449,1450,1451,1454,1455,1457,1458,1460,1461,1463,1464,1466,1467,254],{},"Además: ",[210,1452,1453],{},"knowledge related \u003Cname>"," (enlaces + retroenlaces), ",[210,1456,1008],{}," en agent-kit.json revisado por ",[210,1459,824],{},", respaldos de cada archivo que cambia ",[210,1462,370],{},", flujo ",[210,1465,1060],{}," de GitHub Actions en las plantillas, comandos ",[210,1468,1469],{},"agent-kit preflight|work|context|usage",[194,1471,1473],{"id":1472},"_020-2026-10-07","0.2.0 — 2026-10-07",[199,1475,1476,1485],{},[202,1477,1478,1479,308,1481,1484],{},"Pregunta de método: SDD o SDD + TDD; skill ",[210,1480,1119],{},[210,1482,1483],{},"tdd.mjs status|run",", preflight bloquea la lógica sin tests.",[202,1486,1224,1487,1489,1490,1493,1494,254],{},[210,1488,1417],{}," + registro ",[210,1491,1492],{},"scripts.mjs"," (find\u002Frun\u002Ftest\u002Fnew\u002Findex\u002Fcheck), esqueletos de test ZOMBIES, ",[210,1495,1496],{},".agent-kit\u002Fscratch\u002F",[194,1498,1500],{"id":1499},"_010-2026-10-07","0.1.0 — 2026-10-07",[199,1502,1503],{},[202,1504,1505,1506,1509],{},"Plugin (spec, feature, knowledge, decide, stack-nuxt-supabase, preflight; agente revisor; hooks de sesión y git-guard), CLI ",[210,1507,1508],{},"init\u002Fsetup\u002Fdoctor",", plantilla de monorepo Nuxt + Supabase, conocimiento global.",{"title":1511,"searchDepth":1512,"depth":1512,"links":1513},"",2,[1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530],{"id":196,"depth":1512,"text":197},{"id":257,"depth":1512,"text":258},{"id":283,"depth":1512,"text":284},{"id":415,"depth":1512,"text":416},{"id":595,"depth":1512,"text":596},{"id":795,"depth":1512,"text":796},{"id":884,"depth":1512,"text":885},{"id":923,"depth":1512,"text":924},{"id":944,"depth":1512,"text":945},{"id":996,"depth":1512,"text":997},{"id":1044,"depth":1512,"text":1045},{"id":1140,"depth":1512,"text":1141},{"id":1216,"depth":1512,"text":1217},{"id":1309,"depth":1512,"text":1310},{"id":1359,"depth":1512,"text":1360},{"id":1472,"depth":1512,"text":1473},{"id":1499,"depth":1512,"text":1500},"Qué cambió en cada versión.","md",null,{"sourceHash":1535},"4305e6fe1b93",{"icon":177},{"title":174,"description":1531},"eFZa7AzRmGhX8N1QS2sstXL3O8AUYRJaDQ3r8ElKu7k",[1540,1542],{"title":66,"path":171,"stem":172,"description":1541,"icon":69,"children":-1},"Los scripts del plugin sin dependencias y sus comandos.",{"title":179,"path":180,"stem":181,"description":1543,"icon":182,"children":-1},"Lo que genera cada tipo de proyecto.",1793099619638]