[{"data":1,"prerenderedAt":483},["ShallowReactive",2],{"navigation":3,"\u002Fintegrations\u002Flaravel-boost":193,"\u002Fintegrations\u002Flaravel-boost-surround":478},[4,27,49,99,149,169,183],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":26},"Getting Started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,14,18,22],{"title":11,"path":12,"stem":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":15,"path":16,"stem":17},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":19,"path":20,"stem":21},"Quick Start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start",{"title":23,"path":24,"stem":25},"Existing Application","\u002Fgetting-started\u002Fexisting-application","1.getting-started\u002F4.existing-application",false,{"title":28,"icon":29,"path":30,"stem":31,"children":32,"page":26},"Concepts","i-lucide-layers","\u002Fconcepts","2.concepts",[33,37,41,45],{"title":34,"path":35,"stem":36},"Layers","\u002Fconcepts\u002Flayers","2.concepts\u002F1.layers",{"title":38,"path":39,"stem":40},"Buckets","\u002Fconcepts\u002Fbuckets","2.concepts\u002F2.buckets",{"title":42,"path":43,"stem":44},"Boundaries","\u002Fconcepts\u002Fboundaries","2.concepts\u002F3.boundaries",{"title":46,"path":47,"stem":48},"Service Providers","\u002Fconcepts\u002Fservice-providers","2.concepts\u002F4.service-providers",{"title":50,"icon":51,"path":52,"stem":53,"children":54,"page":26},"Guides","i-lucide-book-marked","\u002Fguides","3.guides",[55,59,63,67,71,75,79,83,87,91,95],{"title":56,"path":57,"stem":58},"Add a Domain","\u002Fguides\u002Fadd-a-domain","3.guides\u002F01.add-a-domain",{"title":60,"path":61,"stem":62},"Share Code Between Layers","\u002Fguides\u002Fshare-code-between-layers","3.guides\u002F02.share-code-between-layers",{"title":64,"path":65,"stem":66},"Routes","\u002Fguides\u002Froutes","3.guides\u002F03.routes",{"title":68,"path":69,"stem":70},"Views and Components","\u002Fguides\u002Fviews-and-components","3.guides\u002F04.views-and-components",{"title":72,"path":73,"stem":74},"Seeders","\u002Fguides\u002Fseeders","3.guides\u002F05.seeders",{"title":76,"path":77,"stem":78},"Configuration","\u002Fguides\u002Fconfiguration","3.guides\u002F06.configuration",{"title":80,"path":81,"stem":82},"Events","\u002Fguides\u002Fevents","3.guides\u002F07.events",{"title":84,"path":85,"stem":86},"Tests and CI","\u002Fguides\u002Ftesting-and-ci","3.guides\u002F08.testing-and-ci",{"title":88,"path":89,"stem":90},"Production","\u002Fguides\u002Fproduction","3.guides\u002F09.production",{"title":92,"path":93,"stem":94},"Remove a Layer","\u002Fguides\u002Fremoving-a-layer","3.guides\u002F10.removing-a-layer",{"title":96,"path":97,"stem":98},"Multi-tenancy","\u002Fguides\u002Fmulti-tenancy","3.guides\u002F11.multi-tenancy",{"title":100,"icon":101,"path":102,"stem":103,"children":104,"page":26},"Commands","i-lucide-terminal","\u002Fcommands","4.commands",[105,109,113,117,121,125,129,133,137,141,145],{"title":106,"path":107,"stem":108},"Overview","\u002Fcommands\u002Foverview","4.commands\u002F01.overview",{"title":110,"path":111,"stem":112},"osdd:start","\u002Fcommands\u002Fosdd-start","4.commands\u002F02.osdd-start",{"title":114,"path":115,"stem":116},"osdd:layer","\u002Fcommands\u002Fosdd-layer","4.commands\u002F03.osdd-layer",{"title":118,"path":119,"stem":120},"osdd:list","\u002Fcommands\u002Fosdd-list","4.commands\u002F04.osdd-list",{"title":122,"path":123,"stem":124},"osdd:check","\u002Fcommands\u002Fosdd-check","4.commands\u002F05.osdd-check",{"title":126,"path":127,"stem":128},"osdd:graph","\u002Fcommands\u002Fosdd-graph","4.commands\u002F06.osdd-graph",{"title":130,"path":131,"stem":132},"osdd:seed","\u002Fcommands\u002Fosdd-seed","4.commands\u002F07.osdd-seed",{"title":134,"path":135,"stem":136},"osdd:phpunit","\u002Fcommands\u002Fosdd-phpunit","4.commands\u002F08.osdd-phpunit",{"title":138,"path":139,"stem":140},"osdd:remove","\u002Fcommands\u002Fosdd-remove","4.commands\u002F09.osdd-remove",{"title":142,"path":143,"stem":144},"osdd:cache","\u002Fcommands\u002Fosdd-cache","4.commands\u002F10.osdd-cache",{"title":146,"path":147,"stem":148},"Generators","\u002Fcommands\u002Fmake-commands","4.commands\u002F11.make-commands",{"title":150,"icon":151,"path":152,"stem":153,"children":154,"page":26},"API Reference","i-lucide-book-open","\u002Fapi-reference","5.api-reference",[155,159,162,166],{"title":156,"path":157,"stem":158},"LayerServiceProvider","\u002Fapi-reference\u002Flayer-service-provider","5.api-reference\u002F1.layer-service-provider",{"title":34,"path":160,"stem":161},"\u002Fapi-reference\u002Flayers","5.api-reference\u002F2.layers",{"title":163,"path":164,"stem":165},"SeederRegistry","\u002Fapi-reference\u002Fseeder-registry","5.api-reference\u002F3.seeder-registry",{"title":76,"path":167,"stem":168},"\u002Fapi-reference\u002Fconfiguration","5.api-reference\u002F4.configuration",{"title":170,"icon":171,"path":172,"stem":173,"children":174,"page":26},"Integrations","i-lucide-puzzle","\u002Fintegrations","6.integrations",[175,179],{"title":176,"path":177,"stem":178},"Laravel Boost","\u002Fintegrations\u002Flaravel-boost","6.integrations\u002F1.laravel-boost",{"title":180,"path":181,"stem":182},"Tinker and IDE Helper","\u002Fintegrations\u002Ftinker-and-ide-helper","6.integrations\u002F2.tinker-and-ide-helper",{"title":184,"icon":185,"path":186,"stem":187,"children":188,"page":26},"Upgrade","i-lucide-arrow-up-circle","\u002Fupgrade","7.upgrade",[189],{"title":190,"path":191,"stem":192},"Upgrade from 2.x","\u002Fupgrade\u002Ffrom-2x","7.upgrade\u002F1.from-2x",{"id":194,"title":176,"body":195,"description":470,"extension":471,"links":472,"meta":473,"navigation":474,"path":177,"seo":475,"sitemap":476,"stem":178,"__hash__":477},"docs\u002F6.integrations\u002F1.laravel-boost.md",{"type":196,"value":197,"toc":465},"minimark",[198,225,229,236,276,287,340,344,349,363,381,385,461],[199,200,201,202,208,209,213,214,216,217,220,221,224],"p",{},"Laravel OSDD ships a ",[203,204,176],"a",{"href":205,"rel":206},"https:\u002F\u002Fgithub.com\u002Flaravel\u002Fboost",[207],"nofollow"," skill. With it, a coding agent knows that an OSDD project has no ",[210,211,212],"code",{},"app\u002F"," folder: it creates layers with ",[210,215,114],{},", generates classes with the ",[210,218,219],{},"osdd:*"," commands and ",[210,222,223],{},"--layer",", and wires seeders, config and routes through the layer's provider.",[226,227,15],"h2",{"id":228},"installation",[199,230,231,232,235],{},"Install Boost in your project, then pick ",[210,233,234],{},"lomkit\u002Flaravel-osdd"," when it lists the packages that ship guidelines and skills:",[237,238,243],"pre",{"className":239,"code":240,"language":241,"meta":242,"style":242},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","composer require laravel\u002Fboost --dev\nphp artisan boost:install\n","bash","",[210,244,245,264],{"__ignoreMap":242},[246,247,250,254,258,261],"span",{"class":248,"line":249},"line",1,[246,251,253],{"class":252},"sBMFI","composer",[246,255,257],{"class":256},"sfazB"," require",[246,259,260],{"class":256}," laravel\u002Fboost",[246,262,263],{"class":256}," --dev\n",[246,265,267,270,273],{"class":248,"line":266},2,[246,268,269],{"class":252},"php",[246,271,272],{"class":256}," artisan",[246,274,275],{"class":256}," boost:install\n",[199,277,278,279,282,283,286],{},"Boost copies the ",[210,280,281],{},"laravel-osdd"," skill into your agent's skills folder and records the package in ",[210,284,285],{},"boost.json",":",[237,288,292],{"className":289,"code":290,"filename":285,"language":291,"meta":242,"style":242},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n    \"packages\": [\n        \"lomkit\u002Flaravel-osdd\"\n    ]\n}\n","json",[210,293,294,300,317,328,334],{"__ignoreMap":242},[246,295,296],{"class":248,"line":249},[246,297,299],{"class":298},"sMK4o","{\n",[246,301,302,305,309,312,314],{"class":248,"line":266},[246,303,304],{"class":298},"    \"",[246,306,308],{"class":307},"spNyl","packages",[246,310,311],{"class":298},"\"",[246,313,286],{"class":298},[246,315,316],{"class":298}," [\n",[246,318,320,323,325],{"class":248,"line":319},3,[246,321,322],{"class":298},"        \"",[246,324,234],{"class":256},[246,326,327],{"class":298},"\"\n",[246,329,331],{"class":248,"line":330},4,[246,332,333],{"class":298},"    ]\n",[246,335,337],{"class":248,"line":336},5,[246,338,339],{"class":298},"}\n",[226,341,343],{"id":342},"keeping-it-up-to-date","Keeping it up to date",[199,345,346,347,286],{},"The skill follows the package version. Refresh it after each update of ",[210,348,234],{},[237,350,352],{"className":239,"code":351,"language":241,"meta":242,"style":242},"php artisan boost:update\n",[210,353,354],{"__ignoreMap":242},[246,355,356,358,360],{"class":248,"line":249},[246,357,269],{"class":252},[246,359,272],{"class":256},[246,361,362],{"class":256}," boost:update\n",[364,365,366],"note",{},[199,367,368,369,371,372,375,376,380],{},"Upgrading from 2.x? Update the package name in ",[210,370,285],{}," before you run ",[210,373,374],{},"boost:update",", or Boost removes the skill. The ",[203,377,379],{"href":378},"\u002Fupgrade\u002Ffrom-2x#laravel-boost","upgrade guide"," shows the change.",[226,382,384],{"id":383},"what-the-skill-covers","What the skill covers",[386,387,388,400,418,441,446,453],"ul",{},[389,390,391,392,395,396,399],"li",{},"Detecting an OSDD project and finding the layer that owns a concept, starting from ",[210,393,394],{},"osdd:list --json"," and ",[210,397,398],{},"osdd:graph --format=json",".",[389,401,402,403,405,406,409,410,413,414,417],{},"Never writing to ",[210,404,212],{},", ",[210,407,408],{},"database\u002F"," or the root ",[210,411,412],{},"config\u002F",", and never running a bare ",[210,415,416],{},"make:*"," command.",[389,419,420,421,424,425,427,428,430,431,433,434,436,437,440],{},"Creating a layer with ",[210,422,423],{},"--requires",", and generating code inside it with ",[210,426,223],{},". Without a terminal, ",[210,429,223],{}," is required and ",[210,432,110],{}," or ",[210,435,138],{}," need ",[210,438,439],{},"--force",": the skill only passes it when you asked for the change.",[389,442,443,444,399],{},"Wiring migrations, seeders, config overrides, routes, views, components and commands in the layer's ",[210,445,156],{},[389,447,448,449,452],{},"Declaring a layer before using its classes, and running ",[210,450,451],{},"osdd:check --format=json"," before finishing a change.",[389,454,455,456,395,458,460],{},"Running ",[210,457,130],{},[210,459,134],{}," after a change.",[462,463,464],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":242,"searchDepth":249,"depth":266,"links":466},[467,468,469],{"id":228,"depth":266,"text":15},{"id":342,"depth":266,"text":343},{"id":383,"depth":266,"text":384},"The skill that teaches your coding agent to write inside layers.","md",null,{},true,{"title":176,"description":470},{"loc":177},"961g-aIBejrtyVh9fTHWcV2csb2zqFfEu5aNLbi8CqA",[479,481],{"title":76,"path":167,"stem":168,"description":480,"children":-1},"Every key of the osdd config, its default, and where to set it.",{"title":180,"path":181,"stem":182,"description":482,"children":-1},"Use short class names in Tinker, and let IDE Helper find the models of every layer. Nothing to configure.",1794437209293]