[{"data":1,"prerenderedAt":309},["ShallowReactive",2],{"navigation":3,"/tooling":259,"/tooling-surround":304},[4,16,56,104,140,151,235,239,243,247,251,255],{"title":5,"path":6,"stem":7,"children":8},"Getting Started","/getting-started","1.getting-started",[9,12],{"title":10,"path":6,"stem":11},"Introduction","1.getting-started/index",{"title":13,"path":14,"stem":15},"Installation","/getting-started/installation","1.getting-started/1.installation",{"title":17,"path":18,"stem":19,"children":20},"Essentials","/essentials","2.essentials",[21,24,28,32,36,40,44,48,52],{"title":22,"path":18,"stem":23},"Core concepts","2.essentials/index",{"title":25,"path":26,"stem":27},"Routing","/essentials/routing","2.essentials/1.routing",{"title":29,"path":30,"stem":31},"Authentication","/essentials/authentication","2.essentials/2.authentication",{"title":33,"path":34,"stem":35},"Identity & User Store","/essentials/identity","2.essentials/3.identity",{"title":37,"path":38,"stem":39},"Requests & Responses","/essentials/requests-responses","2.essentials/4.requests-responses",{"title":41,"path":42,"stem":43},"Controllers","/essentials/controllers","2.essentials/5.controllers",{"title":45,"path":46,"stem":47},"Database","/essentials/database","2.essentials/6.database",{"title":49,"path":50,"stem":51},"Validation","/essentials/validation","2.essentials/7.validation",{"title":53,"path":54,"stem":55},"Migrations","/essentials/migrations","2.essentials/8.migrations",{"title":57,"path":58,"stem":59,"children":60},"Features","/features","3.features",[61,64,68,72,76,80,84,88,92,96,100],{"title":62,"path":58,"stem":63},"Built‑in Capabilities","3.features/index",{"title":65,"path":66,"stem":67},"Caching","/features/caching","3.features/caching",{"title":69,"path":70,"stem":71},"CORS & CSRF","/features/cors-csrf","3.features/cors-csrf",{"title":73,"path":74,"stem":75},"Distributed Locks","/features/distributed-locks","3.features/distributed-locks",{"title":77,"path":78,"stem":79},"Events & Listeners","/features/events","3.features/events",{"title":81,"path":82,"stem":83},"Field Selection","/features/field-selection","3.features/field-selection",{"title":85,"path":86,"stem":87},"File Uploads","/features/file-uploads","3.features/file-uploads",{"title":89,"path":90,"stem":91},"Notifications","/features/notifications","3.features/notifications",{"title":93,"path":94,"stem":95},"Queues & Jobs","/features/queues-jobs","3.features/queues-jobs",{"title":97,"path":98,"stem":99},"Rate Limiting","/features/rate-limiting","3.features/rate-limiting",{"title":101,"path":102,"stem":103},"Task Scheduling","/features/scheduling","3.features/scheduling",{"title":105,"path":106,"stem":107,"children":108},"Advanced","/advanced","4.advanced",[109,112,116,120,124,128,132,136],{"title":110,"path":106,"stem":111},"Techniques and Patterns","4.advanced/index",{"title":113,"path":114,"stem":115},"Configuration","/advanced/configuration","4.advanced/configuration",{"title":117,"path":118,"stem":119},"Dependency Injection","/advanced/dependency-injection","4.advanced/dependency-injection",{"title":121,"path":122,"stem":123},"Middleware","/advanced/middleware","4.advanced/middleware",{"title":125,"path":126,"stem":127},"Performance","/advanced/performance","4.advanced/performance",{"title":129,"path":130,"stem":131},"Repositories","/advanced/repositories","4.advanced/repositories",{"title":133,"path":134,"stem":135},"Service Providers","/advanced/service-providers","4.advanced/service-providers",{"title":137,"path":138,"stem":139},"Testing","/advanced/testing","4.advanced/testing",{"title":141,"path":142,"stem":143,"children":144},"Overview","/tooling","5.tooling",[145,147],{"title":141,"path":142,"stem":146},"5.tooling/index",{"title":148,"path":149,"stem":150},"AI Skills","/tooling/ai-skills","5.tooling/1.ai-skills",{"title":152,"path":153,"stem":154,"children":155},"Cookbook","/cookbook","6.cookbook",[156,159,163,167,171,175,179,183,187,191,195,199,203,207,211,215,219,223,227,231],{"title":157,"path":153,"stem":158},"Recipes & How‑Tos","6.cookbook/index",{"title":160,"path":161,"stem":162},"Routing Recipes","/cookbook/routing","6.cookbook/1.routing",{"title":164,"path":165,"stem":166},"Caching Recipes","/cookbook/caching","6.cookbook/10.caching",{"title":168,"path":169,"stem":170},"Queue Infrastructure","/cookbook/queues-and-jobs","6.cookbook/11.queues-and-jobs",{"title":172,"path":173,"stem":174},"Notification Channels & Templates","/cookbook/notifications","6.cookbook/13.notifications",{"title":176,"path":177,"stem":178},"Storage","/cookbook/storage","6.cookbook/15.storage",{"title":180,"path":181,"stem":182},"Image Processing Examples","/cookbook/image-processing","6.cookbook/16.image-processing",{"title":184,"path":185,"stem":186},"Permissions and Authorization","/cookbook/permissions-and-authorization","6.cookbook/18.permissions-and-authorization",{"title":188,"path":189,"stem":190},"Session Analytics","/cookbook/sessions-analytics","6.cookbook/19.sessions-analytics",{"title":192,"path":193,"stem":194},"Writing Middleware","/cookbook/middleware","6.cookbook/2.middleware",{"title":196,"path":197,"stem":198},"API Metrics","/cookbook/api-metrics","6.cookbook/20.api-metrics",{"title":200,"path":201,"stem":202},"Performance Deep Dive","/cookbook/performance","6.cookbook/21.performance",{"title":204,"path":205,"stem":206},"Memory Management","/cookbook/memory-management","6.cookbook/22.memory-management",{"title":208,"path":209,"stem":210},"Writing Console Commands","/cookbook/console-commands","6.cookbook/23.console-commands",{"title":212,"path":213,"stem":214},"Glueful Extensions","/cookbook/extensions","6.cookbook/25.extensions",{"title":216,"path":217,"stem":218},"Error Handling Guide","/cookbook/error-handling","6.cookbook/4.error-handling",{"title":220,"path":221,"stem":222},"Security Guide","/cookbook/security","6.cookbook/5.security",{"title":224,"path":225,"stem":226},"Service Options Resolver","/cookbook/configuration","6.cookbook/6.configuration",{"title":228,"path":229,"stem":230},"Logging","/cookbook/logging","6.cookbook/7.logging",{"title":232,"path":233,"stem":234},"Database Advanced Features","/cookbook/database","6.cookbook/8.database",{"title":236,"path":237,"stem":238},"API Reference","/api-reference","7.api-reference",{"title":240,"path":241,"stem":242},"CLI Reference","/cli-reference","8.cli-reference",{"title":244,"path":245,"stem":246},"Extensions","/extensions","9.extensions",{"title":248,"path":249,"stem":250},"Contributing","/contributing","contributing",{"title":252,"path":253,"stem":254},"Release Notes","/releases","releases",{"title":256,"path":257,"stem":258},"Release Archive","/releases-archive","releases-archive",{"id":260,"title":141,"body":261,"description":297,"extension":298,"links":299,"meta":300,"navigation":301,"path":142,"seo":302,"stem":146,"__hash__":303},"docs/5.tooling/index.md",{"type":262,"value":263,"toc":291},"minimark",[264,269,273,278],[265,266,268],"h1",{"id":267},"tooling","Tooling",[270,271,272],"p",{},"Tools that make building with Glueful faster and more reliable.",[274,275,277],"h2",{"id":276},"available-now","Available now",[279,280,281],"ul",{},[282,283,284,290],"li",{},[285,286,287],"strong",{},[288,289,148],"a",{"href":149}," — official coding-assistant skills that teach Claude, Codex, Cursor, and similar agents Glueful's real conventions, so they write idiomatic Glueful instead of guessing at APIs that don't exist.",{"title":292,"searchDepth":293,"depth":294,"links":295},"",1,2,[296],{"id":276,"depth":294,"text":277},"Developer tooling for building with Glueful — official AI coding-assistant skills.","md",null,{},true,{"title":141,"description":297},"Hf91AB7Um5TKSV1t-RtE2QGO-z6mkRRda-pc0bqK9WA",[305,307],{"title":137,"path":138,"stem":139,"description":306,"children":-1},"Write tests for your Glueful application",{"title":148,"path":149,"stem":150,"description":308,"children":-1},"Official Glueful coding-assistant skills — teach Claude, Codex, and Cursor the framework's real conventions so they stop inventing APIs that don't exist.",1780958511191]