[{"data":1,"prerenderedAt":951},["ShallowReactive",2],{"navigation":3,"\u002Fcommands\u002Fosdd-check":193,"\u002Fcommands\u002Fosdd-check-surround":946},[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":122,"body":195,"description":938,"extension":939,"links":940,"meta":941,"navigation":942,"path":123,"seo":943,"sitemap":944,"stem":124,"__hash__":945},"docs\u002F4.commands\u002F05.osdd-check.md",{"type":196,"value":197,"toc":931},"minimark",[198,213,238,246,257,262,333,386,390,436,440,455,818,847,851,864,870,873,905,912,916,927],[199,200,201,204,205,208,209,212],"p",{},[202,203,122],"code",{}," reads the PHP files of every layer and fails when a layer uses a class of a layer it does not require in its ",[202,206,207],{},"composer.json",", or when layers require each other. See ",[210,211,42],"a",{"href":43}," for the rule and what is read.",[214,215,220],"pre",{"className":216,"code":217,"language":218,"meta":219,"style":219},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","php artisan osdd:check\n","bash","",[202,221,222],{"__ignoreMap":219},[223,224,227,231,235],"span",{"class":225,"line":226},"line",1,[223,228,230],{"class":229},"sBMFI","php",[223,232,234],{"class":233},"sfazB"," artisan",[223,236,237],{"class":233}," osdd:check\n",[214,239,244],{"className":240,"code":242,"language":243},[241],"language-text","  ERROR  functional\u002Forders uses functional\u002Fbilling but does not require it.\n\n  functional\u002Forders\u002Fsrc\u002FCheckout.php:7 ........ Functional\\Billing\\Models\\Invoice\n  functional\u002Forders\u002Ftests\u002FCheckoutTest.php:5 .. Functional\\Billing\\Models\\Invoice\n\n   WARN  functional\u002Fbilling requires technical\u002Fcore but does not use it.\n\n  ERROR  1 boundary violation in 4 layers (1 unused requirement).\n","text",[202,245,242],{"__ignoreMap":219},[199,247,248,249,252,253,256],{},"A cycle shows as ",[202,250,251],{},"ERROR  Cycle in the layer requirements: functional\u002Forders -> functional\u002Fusers -> functional\u002Forders.",". Without violation, the command prints ",[202,254,255],{},"No boundary violation in 4 layers.",".",[258,259,261],"h2",{"id":260},"options","Options",[263,264,265,278],"table",{},[266,267,268],"thead",{},[269,270,271,275],"tr",{},[272,273,274],"th",{},"Option",[272,276,277],{},"Description",[279,280,281,300,314],"tbody",{},[269,282,283,289],{},[284,285,286],"td",{},[202,287,288],{},"--layer",[284,290,291,292,295,296,299],{},"Only check these layers. Full or package name, repeated (",[202,293,294],{},"--layer=orders --layer=billing",") or comma-separated (",[202,297,298],{},"--layer=orders,billing",").",[269,301,302,307],{},[284,303,304],{},[202,305,306],{},"--transitive",[284,308,309,310,313],{},"Also allow the layers that the required layers require. By default, only the layers in the layer's own ",[202,311,312],{},"require"," are allowed.",[269,315,316,321],{},[284,317,318],{},[202,319,320],{},"--format",[284,322,323,325,326,329,330,256],{},[202,324,243],{}," (default), ",[202,327,328],{},"json"," or ",[202,331,332],{},"github",[214,334,336],{"className":216,"code":335,"language":218,"meta":219,"style":219},"php artisan osdd:check --layer=orders,billing\nphp artisan osdd:check --transitive\nphp artisan osdd:check --format=json\nphp artisan osdd:check --format=github\n",[202,337,338,350,362,374],{"__ignoreMap":219},[223,339,340,342,344,347],{"class":225,"line":226},[223,341,230],{"class":229},[223,343,234],{"class":233},[223,345,346],{"class":233}," osdd:check",[223,348,349],{"class":233}," --layer=orders,billing\n",[223,351,353,355,357,359],{"class":225,"line":352},2,[223,354,230],{"class":229},[223,356,234],{"class":233},[223,358,346],{"class":233},[223,360,361],{"class":233}," --transitive\n",[223,363,365,367,369,371],{"class":225,"line":364},3,[223,366,230],{"class":229},[223,368,234],{"class":233},[223,370,346],{"class":233},[223,372,373],{"class":233}," --format=json\n",[223,375,377,379,381,383],{"class":225,"line":376},4,[223,378,230],{"class":229},[223,380,234],{"class":233},[223,382,346],{"class":233},[223,384,385],{"class":233}," --format=github\n",[258,387,389],{"id":388},"exit-codes","Exit codes",[263,391,392,402],{},[266,393,394],{},[269,395,396,399],{},[272,397,398],{},"Code",[272,400,401],{},"When",[279,403,404,414],{},[269,405,406,411],{},[284,407,408],{},[202,409,410],{},"0",[284,412,413],{},"No undeclared dependency and no cycle. Unused requirements are warnings and do not fail.",[269,415,416,421],{},[284,417,418],{},[202,419,420],{},"1",[284,422,423,424,426,427,429,430,433,434,256],{},"At least one undeclared dependency or cycle; or an unknown ",[202,425,288],{},", an unknown ",[202,428,320],{},", an invalid ",[202,431,432],{},"osdd.boundaries.ignore"," entry or an invalid layer ",[202,435,207],{},[258,437,439],{"id":438},"json-format","JSON format",[214,441,443],{"className":216,"code":442,"language":218,"meta":219,"style":219},"php artisan osdd:check --format=json\n",[202,444,445],{"__ignoreMap":219},[223,446,447,449,451,453],{"class":225,"line":226},[223,448,230],{"class":229},[223,450,234],{"class":233},[223,452,346],{"class":233},[223,454,373],{"class":233},[214,456,459],{"className":457,"code":458,"language":328,"meta":219,"style":219},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n    \"layers\": [\"functional\u002Fbilling\", \"functional\u002Forders\", \"functional\u002Fusers\", \"technical\u002Fcore\"],\n    \"strict\": true,\n    \"undeclared\": [\n        {\n            \"layer\": \"functional\u002Forders\",\n            \"uses\": \"functional\u002Fbilling\",\n            \"class\": \"Functional\\\\Billing\\\\Models\\\\Invoice\",\n            \"file\": \"functional\u002Forders\u002Fsrc\u002FCheckout.php\",\n            \"line\": 7\n        }\n    ],\n    \"unused\": [\n        {\"layer\": \"functional\u002Fbilling\", \"requires\": \"technical\u002Fcore\", \"section\": \"require\"}\n    ],\n    \"cycles\": [\n        [\"functional\u002Forders\", \"functional\u002Fusers\", \"functional\u002Forders\"]\n    ]\n}\n",[202,460,461,467,524,538,552,558,580,600,638,659,674,680,686,700,757,762,776,807,813],{"__ignoreMap":219},[223,462,463],{"class":225,"line":226},[223,464,466],{"class":465},"sMK4o","{\n",[223,468,469,472,476,479,482,485,487,490,492,495,498,501,503,505,507,510,512,514,516,519,521],{"class":225,"line":352},[223,470,471],{"class":465},"    \"",[223,473,475],{"class":474},"spNyl","layers",[223,477,478],{"class":465},"\"",[223,480,481],{"class":465},":",[223,483,484],{"class":465}," [",[223,486,478],{"class":465},[223,488,489],{"class":233},"functional\u002Fbilling",[223,491,478],{"class":465},[223,493,494],{"class":465},",",[223,496,497],{"class":465}," \"",[223,499,500],{"class":233},"functional\u002Forders",[223,502,478],{"class":465},[223,504,494],{"class":465},[223,506,497],{"class":465},[223,508,509],{"class":233},"functional\u002Fusers",[223,511,478],{"class":465},[223,513,494],{"class":465},[223,515,497],{"class":465},[223,517,518],{"class":233},"technical\u002Fcore",[223,520,478],{"class":465},[223,522,523],{"class":465},"],\n",[223,525,526,528,531,533,535],{"class":225,"line":364},[223,527,471],{"class":465},[223,529,530],{"class":474},"strict",[223,532,478],{"class":465},[223,534,481],{"class":465},[223,536,537],{"class":465}," true,\n",[223,539,540,542,545,547,549],{"class":225,"line":376},[223,541,471],{"class":465},[223,543,544],{"class":474},"undeclared",[223,546,478],{"class":465},[223,548,481],{"class":465},[223,550,551],{"class":465}," [\n",[223,553,555],{"class":225,"line":554},5,[223,556,557],{"class":465},"        {\n",[223,559,561,564,567,569,571,573,575,577],{"class":225,"line":560},6,[223,562,563],{"class":465},"            \"",[223,565,566],{"class":229},"layer",[223,568,478],{"class":465},[223,570,481],{"class":465},[223,572,497],{"class":465},[223,574,500],{"class":233},[223,576,478],{"class":465},[223,578,579],{"class":465},",\n",[223,581,583,585,588,590,592,594,596,598],{"class":225,"line":582},7,[223,584,563],{"class":465},[223,586,587],{"class":229},"uses",[223,589,478],{"class":465},[223,591,481],{"class":465},[223,593,497],{"class":465},[223,595,489],{"class":233},[223,597,478],{"class":465},[223,599,579],{"class":465},[223,601,603,605,608,610,612,614,617,621,624,626,629,631,634,636],{"class":225,"line":602},8,[223,604,563],{"class":465},[223,606,607],{"class":229},"class",[223,609,478],{"class":465},[223,611,481],{"class":465},[223,613,497],{"class":465},[223,615,616],{"class":233},"Functional",[223,618,620],{"class":619},"sTEyZ","\\\\",[223,622,623],{"class":233},"Billing",[223,625,620],{"class":619},[223,627,628],{"class":233},"Models",[223,630,620],{"class":619},[223,632,633],{"class":233},"Invoice",[223,635,478],{"class":465},[223,637,579],{"class":465},[223,639,641,643,646,648,650,652,655,657],{"class":225,"line":640},9,[223,642,563],{"class":465},[223,644,645],{"class":229},"file",[223,647,478],{"class":465},[223,649,481],{"class":465},[223,651,497],{"class":465},[223,653,654],{"class":233},"functional\u002Forders\u002Fsrc\u002FCheckout.php",[223,656,478],{"class":465},[223,658,579],{"class":465},[223,660,662,664,666,668,670],{"class":225,"line":661},10,[223,663,563],{"class":465},[223,665,225],{"class":229},[223,667,478],{"class":465},[223,669,481],{"class":465},[223,671,673],{"class":672},"sbssI"," 7\n",[223,675,677],{"class":225,"line":676},11,[223,678,679],{"class":465},"        }\n",[223,681,683],{"class":225,"line":682},12,[223,684,685],{"class":465},"    ],\n",[223,687,689,691,694,696,698],{"class":225,"line":688},13,[223,690,471],{"class":465},[223,692,693],{"class":474},"unused",[223,695,478],{"class":465},[223,697,481],{"class":465},[223,699,551],{"class":465},[223,701,703,706,708,710,712,714,716,718,720,722,724,727,729,731,733,735,737,739,741,744,746,748,750,752,754],{"class":225,"line":702},14,[223,704,705],{"class":465},"        {",[223,707,478],{"class":465},[223,709,566],{"class":229},[223,711,478],{"class":465},[223,713,481],{"class":465},[223,715,497],{"class":465},[223,717,489],{"class":233},[223,719,478],{"class":465},[223,721,494],{"class":465},[223,723,497],{"class":465},[223,725,726],{"class":229},"requires",[223,728,478],{"class":465},[223,730,481],{"class":465},[223,732,497],{"class":465},[223,734,518],{"class":233},[223,736,478],{"class":465},[223,738,494],{"class":465},[223,740,497],{"class":465},[223,742,743],{"class":229},"section",[223,745,478],{"class":465},[223,747,481],{"class":465},[223,749,497],{"class":465},[223,751,312],{"class":233},[223,753,478],{"class":465},[223,755,756],{"class":465},"}\n",[223,758,760],{"class":225,"line":759},15,[223,761,685],{"class":465},[223,763,765,767,770,772,774],{"class":225,"line":764},16,[223,766,471],{"class":465},[223,768,769],{"class":474},"cycles",[223,771,478],{"class":465},[223,773,481],{"class":465},[223,775,551],{"class":465},[223,777,779,782,784,786,788,790,792,794,796,798,800,802,804],{"class":225,"line":778},17,[223,780,781],{"class":465},"        [",[223,783,478],{"class":465},[223,785,500],{"class":233},[223,787,478],{"class":465},[223,789,494],{"class":465},[223,791,497],{"class":465},[223,793,509],{"class":233},[223,795,478],{"class":465},[223,797,494],{"class":465},[223,799,497],{"class":465},[223,801,500],{"class":233},[223,803,478],{"class":465},[223,805,806],{"class":465},"]\n",[223,808,810],{"class":225,"line":809},18,[223,811,812],{"class":465},"    ]\n",[223,814,816],{"class":225,"line":815},19,[223,817,756],{"class":465},[819,820,821,833,838],"ul",{},[822,823,824,826,827,830,831,256],"li",{},[202,825,530],{}," is ",[202,828,829],{},"false"," with ",[202,832,306],{},[822,834,835,837],{},[202,836,645],{}," is relative to the project. Each file reports a class once, at its first reference.",[822,839,840,826,842,329,844,256],{},[202,841,743],{},[202,843,312],{},[202,845,846],{},"require-dev",[258,848,850],{"id":849},"github-format","GitHub format",[199,852,853,856,857,863],{},[202,854,855],{},"--format=github"," prints ",[210,858,862],{"href":859,"rel":860},"https:\u002F\u002Fdocs.github.com\u002Fen\u002Factions\u002Freference\u002Fworkflows-and-actions\u002Fworkflow-commands",[861],"nofollow","GitHub Actions workflow commands",", so each violation shows as an annotation on the pull request:",[214,865,868],{"className":866,"code":867,"language":243},[241],"::error file=functional\u002Forders\u002Fsrc\u002FCheckout.php,line=7,title=Undeclared layer dependency::functional\u002Forders uses Functional\\Billing\\Models\\Invoice from functional\u002Fbilling but does not require functional\u002Fbilling.\n::error title=Layer cycle::Cycle in the layer requirements: functional\u002Forders -> functional\u002Fusers -> functional\u002Forders.\n::warning file=functional\u002Fbilling\u002Fcomposer.json,title=Unused layer requirement::functional\u002Fbilling requires technical\u002Fcore but does not use it.\n2 boundary violations in 4 layers (1 unused requirement).\n",[202,869,867],{"__ignoreMap":219},[199,871,872],{},"Add it as a step of the job that installs the application:",[214,874,879],{"className":875,"code":876,"filename":877,"language":878,"meta":219,"style":219},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","- name: Check layer boundaries\n  run: php artisan osdd:check --format=github\n",".github\u002Fworkflows\u002Ftests.yml","yaml",[202,880,881,895],{"__ignoreMap":219},[223,882,883,886,890,892],{"class":225,"line":226},[223,884,885],{"class":465},"-",[223,887,889],{"class":888},"swJcz"," name",[223,891,481],{"class":465},[223,893,894],{"class":233}," Check layer boundaries\n",[223,896,897,900,902],{"class":225,"line":352},[223,898,899],{"class":888},"  run",[223,901,481],{"class":465},[223,903,904],{"class":233}," php artisan osdd:check --format=github\n",[199,906,907,908,911],{},"The annotation paths are relative to the Laravel root. Run the step from the repository root, or set ",[202,909,910],{},"working-directory"," when the application lives in a sub-folder.",[258,913,915],{"id":914},"ignoring-a-dependency","Ignoring a dependency",[199,917,918,920,921,923,924,256],{},[202,919,432],{}," lists class prefixes and layer pairs that ",[202,922,122],{}," does not report. See ",[210,925,915],{"href":926},"\u002Fconcepts\u002Fboundaries#ignoring-a-dependency",[928,929,930],"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}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":219,"searchDepth":226,"depth":352,"links":932},[933,934,935,936,937],{"id":260,"depth":352,"text":261},{"id":388,"depth":352,"text":389},{"id":438,"depth":352,"text":439},{"id":849,"depth":352,"text":850},{"id":914,"depth":352,"text":915},"Check that each layer only uses the layers it requires, and that no requirements form a cycle.","md",null,{},true,{"title":122,"description":938},{"loc":123},"gFl4rFYTH_uQm598V5zNAFC5SMSVZyA0peZkswB844M",[947,949],{"title":118,"path":119,"stem":120,"description":948,"children":-1},"List the layers with their providers, requirements, file counts and health.",{"title":126,"path":127,"stem":128,"description":950,"children":-1},"Print the graph of the layers and the layers they require.",1794437211960]