[{"data":1,"prerenderedAt":413},["ShallowReactive",2],{"navigation_docs_es":3,"-es-concepts-guardrails":188,"-es-concepts-guardrails-surround":408},[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":71,"body":190,"description":400,"extension":401,"links":402,"meta":403,"navigation":405,"path":72,"seo":406,"stem":73,"__hash__":407},"docs_es\u002Fes\u002F2.concepts\u002F7.guardrails.md",{"type":191,"value":192,"toc":392},"minimark",[193,201,206,225,298,323,327,336,358,362,381,385],[194,195,196,197,200],"p",{},"Cuatro hooks y unos pocos scripts hacen las comprobaciones. Están en silencio fuera de los proyectos agent-kit y tardan unos 70–100 ms cada uno. La lista completa está en ",[198,199,166],"a",{"href":167},".",[202,203,205],"h2",{"id":204},"git-guard","Git guard",[194,207,208,209,213,214,217,218,217,221,224],{},"Un hook ",[210,211,212],"code",{},"PreToolUse(Bash)"," aplica el flujo de git que elegiste, incluso a través de ",[210,215,216],{},"bash -c",", ",[210,219,220],{},"eval",[210,222,223],{},"$( )"," y alias de git:",[226,227,228,244],"table",{},[229,230,231],"thead",{},[232,233,234,238,241],"tr",{},[235,236,237],"th",{},"Flujo",[235,239,240],{},"El agente puede",[235,242,243],{},"Bloqueado",[245,246,247,272,285],"tbody",{},[232,248,249,256,269],{},[250,251,252],"td",{},[253,254,255],"strong",{},"Solo lectura",[250,257,258,259,217,262,217,265,268],{},"leer (",[210,260,261],{},"status",[210,263,264],{},"diff",[210,266,267],{},"log",", …)",[250,270,271],{},"toda escritura en git: el agente te da el comando exacto",[232,273,274,279,282],{},[250,275,276],{},[253,277,278],{},"Ramas + PRs",[250,280,281],{},"hacer commits en una rama de feature",[250,283,284],{},"commits \u002F pushes en la rama principal",[232,286,287,292,295],{},[250,288,289],{},[253,290,291],{},"Trunk",[250,293,294],{},"hacer commits en main",[250,296,297],{},"—",[194,299,300,301,217,304,217,307,310,311,314,315,318,319,322],{},"Todos los flujos bloquean force-push, ",[210,302,303],{},"reset --hard",[210,305,306],{},"clean -f",[210,308,309],{},"branch -D"," y ",[210,312,313],{},"--no-verify",", y el guard valida los mensajes de ",[210,316,317],{},"git commit -m"," antes de ejecutarlos. Las reglas de permisos de ",[210,320,321],{},".claude\u002Fsettings.json"," son la primera capa; el hook es el respaldo.",[202,324,326],{"id":325},"preflight","Preflight",[194,328,329,332,333,335],{},[210,330,331],{},"agent-kit preflight [base]"," (y la skill ",[210,334,325],{},") antes de fusionar:",[337,338,339,346,352],"ul",{},[340,341,342,345],"li",{},[253,343,344],{},"Violaciones (bloquean)",": lógica cambiada sin test (SDD + TDD), una migración ya commiteada editada, permisos a los roles del navegador, posibles secretos, scripts conservados sin documentar, cambios terminados con escenarios sin cubrir o sin fusionar en las specs vivas.",[340,347,348,351],{},[253,349,350],{},"Informe",": migraciones por aplicar, variables de entorno nuevas, dependencias nuevas.",[340,353,354,357],{},[253,355,356],{},"Avisos",": restos de depuración, huecos en las specs vivas, errores de notación, un checklist de QA desactualizado, migraciones sin cambios en seed \u002F purge.",[202,359,361],{"id":360},"commits","Commits",[194,363,364,365,368,369,372,373,376,377,380],{},"Con Conventional Commits, ",[210,366,367],{},"init"," añade commitlint + husky. La skill ",[210,370,371],{},"commit"," ejecuta preflight, escribe el mensaje, lo valida con ",[210,374,375],{},"agent-kit commit check"," y hace el commit dentro del flujo de git, o te da el comando en un proyecto de solo lectura. ",[210,378,379],{},"agent-kit commit draft"," agrupa los archivos cambiados por ámbito sugerido.",[202,382,384],{"id":383},"revisor","Revisor",[194,386,387,388,391],{},"Un agente ",[210,389,390],{},"reviewer"," de solo lectura revisa un diff contra su cambio: la prueba de cada escenario, los requisitos EARS, las reglas del conocimiento y errores de corrección (comprobaciones de ámbito, redondeo, migraciones idempotentes).",{"title":393,"searchDepth":394,"depth":394,"links":395},"",2,[396,397,398,399],{"id":204,"depth":394,"text":205},{"id":325,"depth":394,"text":326},{"id":360,"depth":394,"text":361},{"id":383,"depth":394,"text":384},"Hooks y comprobaciones que aplican las reglas en lugar de pedirlas.","md",null,{"sourceHash":404},"d0abe863d0f0",{"icon":74},{"title":71,"description":400},"8TzQalEmX8uY3kPLCOYjEJfTz7fbJrQnOtdWiYG7phM",[409,411],{"title":66,"path":67,"stem":68,"description":410,"icon":69,"children":-1},"Un registro para que los agentes busquen, conserven, documenten y prueben scripts en lugar de reescribirlos.",{"title":76,"path":77,"stem":78,"description":412,"icon":79,"children":-1},"Con qué empieza cada sesión, cómo se retoma el trabajo y cómo se mantiene el presupuesto de contexto.",1793099613692]