[{"data":1,"prerenderedAt":1141},["ShallowReactive",2],{"page-\u002Fv1\u002Fadopt\u002Fapply\u002Fslim-full":3},{"id":4,"title":5,"body":6,"description":1134,"extension":1135,"meta":1136,"navigation":850,"path":1137,"seo":1138,"stem":1139,"__hash__":1140},"content\u002Fv1\u002Fadopt\u002Fapply\u002Fslim-full.md","Slim one-shot apply (full architecture)",{"type":7,"value":8,"toc":1107},"minimark",[9,14,58,61,66,73,128,133,143,145,149,161,163,167,171,182,186,192,205,209,301,308,312,318,322,379,383,390,443,473,477,519,539,543,551,555,561,565,571,575,586,590,599,601,605,657,660,728,738,740,744,773,775,779,782,784,788,790,794,799,802,808,812,900,904,933,937,1002,1006,1026,1030,1044,1048,1065,1069,1077,1081,1092,1096,1103],[10,11,13],"h1",{"id":12},"modular-hexagonal-ddd-one-shot-apply-slim","Modular Hexagonal DDD — ONE-SHOT APPLY (slim)",[15,16,17],"blockquote",{},[18,19,20,24,25,28,29,32,33,37,32,40,43,44,32,47,50,53,54,57],"p",{},[21,22,23],"strong",{},"Self-contained."," An AI agent should fetch ",[21,26,27],{},"this file only"," and execute it.\n",[21,30,31],{},"Core version:"," ",[34,35,36],"code",{},"1.0.0-draft",[21,38,39],{},"Short HTML entry:",[34,41,42],{},"\u002Fslim"," · ",[21,45,46],{},"This file:",[34,48,49],{},"\u002Fapply\u002Fslim.full.md",[21,51,52],{},"AI-neutral:"," assistant files are optional; architecture does not require any AI vendor.\n",[21,55,56],{},"Host baseline researched:"," see Part C header (versions as of 2026-08).",[59,60],"hr",{},[62,63,65],"h2",{"id":64},"_0-agent-mandate","0. Agent mandate",[18,67,68,69,72],{},"You are bootstrapping a ",[21,70,71],{},"slim application repository"," (not the docs site).",[74,75,76,80,87,98,104,121],"ol",{},[77,78,79],"li",{},"Treat this document as the complete working standard for this session.",[77,81,82,83,86],{},"Execute ",[21,84,85],{},"Part D"," in order after reading Parts A–C.",[77,88,89,90,93,94,97],{},"When writing module code, obey ",[21,91,92],{},"Part B (Core)"," and ",[21,95,96],{},"Part C (host)",".",[77,99,100,103],{},[21,101,102],{},"Do not create a git commit"," unless the human explicitly asks.",[77,105,106,107,110,111,110,114,110,117,120],{},"Rename illustrative contexts ",[34,108,109],{},"Ordering",", ",[34,112,113],{},"Warehouse",[34,115,116],{},"Directory",[34,118,119],{},"Identity"," to the human’s domains.",[77,122,123,124,127],{},"If AI vendor is ",[34,125,126],{},"none",", skip Part E.",[129,130,132],"h3",{"id":131},"programmer-prompt","Programmer prompt",[134,135,141],"pre",{"className":136,"code":138,"language":139,"meta":140},[137],"language-text","Apply Modular Hexagonal DDD from \u003CORIGIN>\u002Fapply\u002Fslim.full.md\nAI assistant: \u003Ccursor|claude|gemini|copilot|generic|none>\nBounded contexts: \u003Clist>\nDo not commit unless I ask.\n","text","",[34,142,138],{"__ignoreMap":140},[59,144],{},[10,146,148],{"id":147},"part-a-design-test","Part A — Design test",[15,150,151],{},[18,152,153,154,93,157,160],{},"If the peer module is deleted and replaced by HTTP, does this module’s ",[21,155,156],{},"Application",[21,158,159],{},"Domain"," still compile?",[59,162],{},[10,164,166],{"id":165},"part-b-complete-core-architecture","Part B — Complete Core architecture",[62,168,170],{"id":169},"b1-purpose","B1. Purpose",[18,172,173,174,177,178,181],{},"Build applications as ",[21,175,176],{},"replaceable bounded-context modules"," using Hexagonal Architecture (ports & adapters) + DDD. This docs site is the ",[21,179,180],{},"sole canon","; consuming repos keep thin pointers, not a forked essay.",[62,183,185],{"id":184},"b2-module-layout-must","B2. Module layout (MUST)",[134,187,190],{"className":188,"code":189,"language":139,"meta":140},[137],"{Module}\u002F\n  Application\u002F     # UseCases, Application DTO, Providers \u002F composition root\n  Domain\u002F          # Entities, Ports, Events, Enums, Domain DTOs\n  Infrastructure\u002F  # Persistence adapters, ExternalServices (ACL), Config, listeners\n  UI\u002F              # Controllers, Routes, validation, admin UI, console\nShared\u002F            # Promoted technical ports\u002Fadapters only (after promote rule)\n",[34,191,189],{"__ignoreMap":140},[18,193,194,195,110,198,201,202],{},"Host roots vary (",[34,196,197],{},"app\u002FModules",[34,199,200],{},"src\u002FModules",", packages). ",[21,203,204],{},"Roles do not.",[62,206,208],{"id":207},"b3-strictness-ladder-must","B3. Strictness ladder (MUST)",[210,211,212,231],"table",{},[213,214,215],"thead",{},[216,217,218,222,225,228],"tr",{},[219,220,221],"th",{},"Strictness",[219,223,224],{},"Area",[219,226,227],{},"Allowed",[219,229,230],{},"Forbidden",[232,233,234,250,269,285],"tbody",{},[216,235,236,240,244,247],{},[237,238,239],"td",{},"Hardest",[237,241,242],{},[21,243,159],{},[237,245,246],{},"Own Domain types + Shared kernel ports",[237,248,249],{},"Other modules; host facades\u002Fhelpers; ORM; framework traits on Domain Events",[216,251,252,255,260,263],{},[237,253,254],{},"Strict",[237,256,257],{},[21,258,259],{},"Application Use Cases \u002F App DTOs",[237,261,262],{},"Own Domain + Shared ports",[237,264,265,266],{},"Facades, ORM, foreign Application\u002FDomain, peer ",[34,267,268],{},"*ModuleInterface",[216,270,271,274,279,282],{},[237,272,273],{},"Relaxed",[237,275,276],{},[21,277,278],{},"Composition root",[237,280,281],{},"Container binds, routes, config merge",[237,283,284],{},"Business rules",[216,286,287,290,295,298],{},[237,288,289],{},"Outer",[237,291,292],{},[21,293,294],{},"Infrastructure & UI",[237,296,297],{},"Framework, ORM, HTTP, ACL adapters, admin",[237,299,300],{},"Leaking ORM\u002Fforeign Domain into Domain\u002FUse Cases",[18,302,303,304,307],{},"Dependency direction: ",[21,305,306],{},"Domain ← Application ← Infrastructure\u002FUI",". Ports in Domain; adapters in Infrastructure.",[62,309,311],{"id":310},"b4-golden-flow-must","B4. Golden flow (MUST)",[134,313,316],{"className":314,"code":315,"language":139,"meta":140},[137],"UI → Application DTO → first-level *UseCase::__invoke\n  → Domain (Entity \u002F Domain service)\n  → Domain Port\n  → Infrastructure adapter (ORM \u002F ACL \u002F HTTP)\n  → back as Entity \u002F result\n  → UI presents\n",[34,317,315],{"__ignoreMap":140},[62,319,321],{"id":320},"b5-use-cases-dtos-must","B5. Use Cases & DTOs (MUST)",[323,324,325,335,349,356,366,373,376],"ul",{},[77,326,327,328,331,332,97],{},"First-level: ",[34,329,330],{},"Application\u002FUseCases\u002F{Capability}\u002FSomethingUseCase"," with single public ",[34,333,334],{},"__invoke",[77,336,337,338,32,341,344,345,348],{},"Nested helpers: ",[21,339,340],{},"no",[34,342,343],{},"UseCase"," suffix; ",[21,346,347],{},"not"," called from UI.",[77,350,351,352,355],{},"Mirror ",[34,353,354],{},"{Capability}\u002F"," for DTOs and Ports.",[77,357,358,359,362,363,97],{},"ACL need ports: ",[34,360,361],{},"Domain\u002FPorts\u002FAcl\u002F",". Module façades: ",[34,364,365],{},"Domain\u002FPorts\u002FModule\u002F",[77,367,368,369,372],{},"Never create a literal ",[34,370,371],{},"Feature\u002F"," directory.",[77,374,375],{},"Application DTO = UI\u002FCLI input. Domain DTO = intra-module only.",[77,377,378],{},"Other modules never call Use Cases — only ACL \u002F Events.",[62,380,382],{"id":381},"b6-cross-module-bridges-must","B6. Cross-module bridges (MUST)",[18,384,385,386,389],{},"Application\u002FDomain of A ",[21,387,388],{},"never"," import Application\u002FDomain of B.",[210,391,392,402],{},[213,393,394],{},[216,395,396,399],{},[219,397,398],{},"Need",[219,400,401],{},"Bridge",[232,403,404,425],{},[216,405,406,412],{},[237,407,408,409],{},"Peer answer ",[21,410,411],{},"now",[237,413,414,417,418,421,422],{},[21,415,416],{},"Sync ACL",": local ",[34,419,420],{},"{Need}PortInterface"," → Infra ACL adapter → thin peer ",[34,423,424],{},"{This}ModuleInterface",[216,426,427,433],{},[237,428,429,430],{},"Peer reacts ",[21,431,432],{},"later",[237,434,435,438,439,442],{},[21,436,437],{},"Async Domain Event"," → consumer Infra ",[21,440,441],{},"translation listener"," → inbound Use Case",[323,444,445,452,470],{},[77,446,447,448,451],{},"Mapping only in ACL adapter; façades thin + HTTP-mappable; Prefer ACL ",[21,449,450],{},"validate before"," local commit.",[77,453,454,455,458,459,462,463,462,466,469],{},"Events: pure Domain class; Shared ",[34,456,457],{},"EventDispatcherInterface","; ",[34,460,461],{},"eventId"," + ",[34,464,465],{},"occurredAt",[34,467,468],{},"schemaVersion"," + rich happy-path payload; idempotent consumers; no Domain re-fetch on happy path; prefer outbox.",[77,471,472],{},"No cross-module write transaction. Reports: ACL reads or owned projections.",[62,474,476],{"id":475},"b7-shared-promote-rule-must","B7. Shared promote rule (MUST)",[210,478,479,489],{},[213,480,481],{},[216,482,483,486],{},[219,484,485],{},"Situation",[219,487,488],{},"Where",[232,490,491,499,507],{},[216,492,493,496],{},[237,494,495],{},"Tech used by one module",[237,497,498],{},"That module’s Infrastructure",[216,500,501,504],{},[237,502,503],{},"Same tech used by ≥2 modules",[237,505,506],{},"Promote to Shared",[216,508,509,516],{},[237,510,511,512,515],{},"Cross-module ",[21,513,514],{},"business"," concept",[237,517,518],{},"Never Shared — ACL \u002F Events",[18,520,521,522,110,525,110,528,110,530,110,533,110,536,97],{},"Typical Shared: ",[34,523,524],{},"DomainException",[34,526,527],{},"DatabaseTransactionInterface",[34,529,457],{},[34,531,532],{},"ClockInterface",[34,534,535],{},"ConfigReaderInterface",[34,537,538],{},"Ensure",[62,540,542],{"id":541},"b8b9-persistence-ui-must","B8–B9. Persistence & UI (MUST)",[323,544,545,548],{},[77,546,547],{},"Map persistence records ↔ Domain Entities in Infrastructure; never leak ORM into Use Cases\u002FDomain.",[77,549,550],{},"UI: authorize → DTO → Use Case → present.",[62,552,554],{"id":553},"b10-decision-tree","B10. Decision tree",[134,556,559],{"className":557,"code":558,"language":139,"meta":140},[137],"Only this module? → Golden flow\nNeed peer now? → ACL\nPeer later? → Event\nMulti-step? → Orchestration (still ACL+Events)\nReport across contexts? → Projection \u002F ACL read\nTech in 2+ modules? → Shared\nBusiness in 2+ modules? → ACL\u002FEvents — never Shared\n",[34,560,558],{"__ignoreMap":140},[62,562,564],{"id":563},"b11-anti-patterns","B11. Anti-patterns",[18,566,567,568,570],{},"Peer imports in Use Cases; god façades; thin-ID events; Shared business enums; ORM in Domain; Entity extends ORM; literal ",[34,569,371],{},"; cross-module DB TX; ORM joins across modules for policy.",[62,572,574],{"id":573},"b12-examples","B12. Examples",[18,576,577,110,579,110,581,110,583,585],{},[34,578,109],{},[34,580,113],{},[34,582,116],{},[34,584,119],{}," only — rename to your domains.",[62,587,589],{"id":588},"b13-quality-assertions","B13. Quality assertions",[18,591,592,593,595,596,598],{},"Boundary tests must fail CI if: foreign Application\u002FDomain imports; peer ",[34,594,268],{}," in Use Cases; ORM\u002Ffacades in Domain\u002FUse Cases; literal ",[34,597,371],{}," folders. Also: behaviour tests, formatter, static analysis, event idempotency.",[59,600],{},[10,602,604],{"id":603},"part-c-slim-host-mapping","Part C — Slim host mapping",[210,606,607,615],{},[213,608,609],{},[216,610,611,613],{},[219,612],{},[219,614],{},[232,616,617,630,645],{},[216,618,619,624],{},[237,620,621],{},[21,622,623],{},"Target",[237,625,626,629],{},[21,627,628],{},"Slim 4.15.x"," (microframework; PHP 8.2+ recommended)",[216,631,632,637],{},[237,633,634],{},[21,635,636],{},"Docs",[237,638,639],{},[640,641,642],"a",{"href":642,"rel":643},"https:\u002F\u002Fwww.slimframework.com\u002Fdocs\u002Fv4\u002F",[644],"nofollow",[216,646,647,652],{},[237,648,649],{},[21,650,651],{},"Adapter HTML",[237,653,654],{},[34,655,656],{},"\u003CORIGIN>\u002Fv1\u002Fadapters\u002Fslim",[18,658,659],{},"Slim provides routing + middleware + PSR-7\u002F15. You bring the container, ORM, and queue.",[210,661,662,672],{},[213,663,664],{},[216,665,666,669],{},[219,667,668],{},"Core",[219,670,671],{},"Slim place",[232,673,674,684,694,704,712,720],{},[216,675,676,679],{},[237,677,678],{},"Module root",[237,680,681],{},[34,682,683],{},"src\u002F{Module}\u002F",[216,685,686,689],{},[237,687,688],{},"Shared",[237,690,691],{},[34,692,693],{},"src\u002FShared\u002F",[216,695,696,698],{},[237,697,278],{},[237,699,700,701],{},"PHP-DI (or other PSR-11) definitions + ",[34,702,703],{},"routes.php",[216,705,706,709],{},[237,707,708],{},"Persistence",[237,710,711],{},"Chosen library in Infrastructure only",[216,713,714,717],{},[237,715,716],{},"ACL \u002F Events",[237,718,719],{},"Infra services + optional queue worker",[216,721,722,725],{},[237,723,724],{},"UI",[237,726,727],{},"Invokable Action classes \u002F controllers",[18,729,730,731,734,735,97],{},"Keep ",[34,732,733],{},"public\u002Findex.php"," thin. See deep pages under ",[34,736,737],{},"\u002Fv1\u002Fadapters\u002Fslim\u002F*",[59,739],{},[10,741,743],{"id":742},"part-d-apply-procedure-slim","Part D — Apply procedure (Slim)",[74,745,746,749,752,755,761,764,767,770],{},[77,747,748],{},"Confirm Slim 4 app + PSR-11 container",[77,750,751],{},"README → one-shot URL",[77,753,754],{},"ROADMAP \u002F optional PRD",[77,756,757,758],{},"Copy ARCHITECTURE.full.md to ",[34,759,760],{},".ai\u002F",[77,762,763],{},"PSR-4 Modules + Shared",[77,765,766],{},"Bind ports; wire routes to UI Actions → Use Cases",[77,768,769],{},"Choose persistence + migration tool; quarantine ORM",[77,771,772],{},"Part E (AI) — no commit unless asked",[59,774],{},[10,776,778],{"id":777},"part-f-sketch","Part F — Sketch",[18,780,781],{},"Route → PlaceOrderAction → Use Case → ACL port → Warehouse façade service.",[59,783],{},[10,785,787],{"id":786},"part-g-done-checklist-standard","Part G — Done checklist (standard)",[59,789],{},[10,791,793],{"id":792},"part-e-assistant-files-optional","Part E — Assistant files (optional)",[18,795,796,797,97],{},"Skip if AI vendor is ",[34,798,126],{},[18,800,801],{},"Create shared folder:",[134,803,806],{"className":804,"code":805,"language":139,"meta":140},[137],".ai\u002Fmodular-hexagonal-ddd\u002F\n  ARCHITECTURE.full.md   # copy of the host one-shot you fetched\n  RULES.core.md\n  SKILL.md\n  CHECKLIST.md\n  slim-host.md         # host-only notes from Part C\n",[34,807,805],{"__ignoreMap":140},[129,809,811],{"id":810},"e0-rulescoremd","E0 — RULES.core.md",[134,813,817],{"className":814,"code":815,"language":816,"meta":140,"style":140},"language-markdown shiki shiki-themes github-light github-dark","# Modular Hexagonal DDD — Core rules\nCanon: \u003CORIGIN>\u002Fv1\u002Fcore (1.0.0-draft)\nOne-shot: \u003CORIGIN>\u002Fapply\u002Fslim.full.md\nLocal: .ai\u002Fmodular-hexagonal-ddd\u002FARCHITECTURE.full.md\n\n1. Domain hardest: no host framework, ORM, other modules.\n2. Use Cases: own Domain + Shared ports only.\n3. Cross-module: ACL or Domain Events only.\n4. Thin façades; rich events (eventId, schemaVersion); idempotent consumers.\n5. No cross-module write TX; ACL validate-before-commit.\n6. Shared = technical ≥2 modules only.\n7. *UseCase + __invoke; no literal Feature\u002F folders.\n8. Design test: peer→HTTP, Application\u002FDomain still compile.\n","markdown",[34,818,819,827,833,839,845,852,858,864,870,876,882,888,894],{"__ignoreMap":140},[820,821,824],"span",{"class":822,"line":823},"line",1,[820,825,826],{},"# Modular Hexagonal DDD — Core rules\n",[820,828,830],{"class":822,"line":829},2,[820,831,832],{},"Canon: \u003CORIGIN>\u002Fv1\u002Fcore (1.0.0-draft)\n",[820,834,836],{"class":822,"line":835},3,[820,837,838],{},"One-shot: \u003CORIGIN>\u002Fapply\u002Fslim.full.md\n",[820,840,842],{"class":822,"line":841},4,[820,843,844],{},"Local: .ai\u002Fmodular-hexagonal-ddd\u002FARCHITECTURE.full.md\n",[820,846,848],{"class":822,"line":847},5,[820,849,851],{"emptyLinePlaceholder":850},true,"\n",[820,853,855],{"class":822,"line":854},6,[820,856,857],{},"1. Domain hardest: no host framework, ORM, other modules.\n",[820,859,861],{"class":822,"line":860},7,[820,862,863],{},"2. Use Cases: own Domain + Shared ports only.\n",[820,865,867],{"class":822,"line":866},8,[820,868,869],{},"3. Cross-module: ACL or Domain Events only.\n",[820,871,873],{"class":822,"line":872},9,[820,874,875],{},"4. Thin façades; rich events (eventId, schemaVersion); idempotent consumers.\n",[820,877,879],{"class":822,"line":878},10,[820,880,881],{},"5. No cross-module write TX; ACL validate-before-commit.\n",[820,883,885],{"class":822,"line":884},11,[820,886,887],{},"6. Shared = technical ≥2 modules only.\n",[820,889,891],{"class":822,"line":890},12,[820,892,893],{},"7. *UseCase + __invoke; no literal Feature\u002F folders.\n",[820,895,897],{"class":822,"line":896},13,[820,898,899],{},"8. Design test: peer→HTTP, Application\u002FDomain still compile.\n",[129,901,903],{"id":902},"e1-skillmd","E1 — SKILL.md",[134,905,907],{"className":814,"code":906,"language":816,"meta":140,"style":140},"---\nname: modular-hexagonal-ddd\ndescription: Enforce Modular Hexagonal DDD. Modules, ACL, Events, Shared, Use Cases.\n---\nFollow .ai\u002Fmodular-hexagonal-ddd\u002FARCHITECTURE.full.md\n",[34,908,909,914,919,924,928],{"__ignoreMap":140},[820,910,911],{"class":822,"line":823},[820,912,913],{},"---\n",[820,915,916],{"class":822,"line":829},[820,917,918],{},"name: modular-hexagonal-ddd\n",[820,920,921],{"class":822,"line":835},[820,922,923],{},"description: Enforce Modular Hexagonal DDD. Modules, ACL, Events, Shared, Use Cases.\n",[820,925,926],{"class":822,"line":841},[820,927,913],{},[820,929,930],{"class":822,"line":847},[820,931,932],{},"Follow .ai\u002Fmodular-hexagonal-ddd\u002FARCHITECTURE.full.md\n",[129,934,936],{"id":935},"e2-checklistmd","E2 — CHECKLIST.md",[134,938,940],{"className":814,"code":939,"language":816,"meta":140,"style":140},"- [ ] First-level *UseCase entry\n- [ ] App DTO → __invoke\n- [ ] I\u002FO via Domain ports\n- [ ] No ORM\u002Ffacades in Application\u002FDomain\n- [ ] Sync peer → local ACL port → thin façade\n- [ ] Async → rich event + translation listener → inbound UC\n- [ ] Idempotent eventId\n- [ ] No cross-module DB TX\n- [ ] No foreign Application\u002FDomain imports\n- [ ] Shared only technical ≥2\n- [ ] No Feature\u002F directories\n- [ ] Replaceability test = yes\n",[34,941,942,947,952,957,962,967,972,977,982,987,992,997],{"__ignoreMap":140},[820,943,944],{"class":822,"line":823},[820,945,946],{},"- [ ] First-level *UseCase entry\n",[820,948,949],{"class":822,"line":829},[820,950,951],{},"- [ ] App DTO → __invoke\n",[820,953,954],{"class":822,"line":835},[820,955,956],{},"- [ ] I\u002FO via Domain ports\n",[820,958,959],{"class":822,"line":841},[820,960,961],{},"- [ ] No ORM\u002Ffacades in Application\u002FDomain\n",[820,963,964],{"class":822,"line":847},[820,965,966],{},"- [ ] Sync peer → local ACL port → thin façade\n",[820,968,969],{"class":822,"line":854},[820,970,971],{},"- [ ] Async → rich event + translation listener → inbound UC\n",[820,973,974],{"class":822,"line":860},[820,975,976],{},"- [ ] Idempotent eventId\n",[820,978,979],{"class":822,"line":866},[820,980,981],{},"- [ ] No cross-module DB TX\n",[820,983,984],{"class":822,"line":872},[820,985,986],{},"- [ ] No foreign Application\u002FDomain imports\n",[820,988,989],{"class":822,"line":878},[820,990,991],{},"- [ ] Shared only technical ≥2\n",[820,993,994],{"class":822,"line":884},[820,995,996],{},"- [ ] No Feature\u002F directories\n",[820,998,999],{"class":822,"line":890},[820,1000,1001],{},"- [ ] Replaceability test = yes\n",[129,1003,1005],{"id":1004},"e3-cursor","E3 — Cursor",[323,1007,1008,1014,1020],{},[77,1009,1010,1013],{},[34,1011,1012],{},".cursor\u002Frules\u002Fmodular-hexagonal-ddd.mdc"," ← E0 + path to ARCHITECTURE.full.md",[77,1015,1016,1019],{},[34,1017,1018],{},".cursor\u002Frules\u002Fslim-host.mdc"," ← Part C summary",[77,1021,1022,1025],{},[34,1023,1024],{},".cursor\u002Fskills\u002Fmodular-hexagonal-ddd\u002FSKILL.md"," ← E1",[129,1027,1029],{"id":1028},"e4-claude","E4 — Claude",[323,1031,1032,1038],{},[77,1033,1034,1037],{},[34,1035,1036],{},"CLAUDE.md"," ← pointer to ARCHITECTURE.full.md + E0",[77,1039,1040,1041],{},"Shared ",[34,1042,1043],{},".ai\u002Fmodular-hexagonal-ddd\u002F*",[129,1045,1047],{"id":1046},"e5-gemini","E5 — Gemini",[323,1049,1050,1060],{},[77,1051,1052,1055,1056,1059],{},[34,1053,1054],{},"GEMINI.md"," or ",[34,1057,1058],{},".gemini\u002Finstructions.md"," ← pointer + E0",[77,1061,1040,1062],{},[34,1063,1064],{},".ai\u002F*",[129,1066,1068],{"id":1067},"e6-github-copilot","E6 — GitHub Copilot",[323,1070,1071],{},[77,1072,1073,1076],{},[34,1074,1075],{},".github\u002Fcopilot-instructions.md"," ← E0 + short host section",[129,1078,1080],{"id":1079},"e7-generic","E7 — Generic",[323,1082,1083],{},[77,1084,1085,1088,1089],{},[34,1086,1087],{},"AGENTS.md"," pointing at ",[34,1090,1091],{},".ai\u002Fmodular-hexagonal-ddd\u002FARCHITECTURE.full.md",[129,1093,1095],{"id":1094},"e8-multiple-vendors","E8 — Multiple vendors",[18,1097,1098,1099,1102],{},"One shared ",[34,1100,1101],{},".ai\u002Fmodular-hexagonal-ddd\u002F","; vendor entry files only point to it.",[1104,1105,1106],"style",{},"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);}",{"title":140,"searchDepth":829,"depth":829,"links":1108},[1109,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123],{"id":64,"depth":829,"text":65,"children":1110},[1111],{"id":131,"depth":835,"text":132},{"id":169,"depth":829,"text":170},{"id":184,"depth":829,"text":185},{"id":207,"depth":829,"text":208},{"id":310,"depth":829,"text":311},{"id":320,"depth":829,"text":321},{"id":381,"depth":829,"text":382},{"id":475,"depth":829,"text":476},{"id":541,"depth":829,"text":542},{"id":553,"depth":829,"text":554},{"id":563,"depth":829,"text":564},{"id":573,"depth":829,"text":574},{"id":588,"depth":829,"text":589,"children":1124},[1125,1126,1127,1128,1129,1130,1131,1132,1133],{"id":810,"depth":835,"text":811},{"id":902,"depth":835,"text":903},{"id":935,"depth":835,"text":936},{"id":1004,"depth":835,"text":1005},{"id":1028,"depth":835,"text":1029},{"id":1046,"depth":835,"text":1047},{"id":1067,"depth":835,"text":1068},{"id":1079,"depth":835,"text":1080},{"id":1094,"depth":835,"text":1095},"Self-contained Modular Hexagonal DDD + Slim 4 apply playbook for AI agents.","md",{},"\u002Fv1\u002Fadopt\u002Fapply\u002Fslim-full",{"title":5,"description":1134},"v1\u002Fadopt\u002Fapply\u002Fslim-full","z7B025-CmKO81h38PJCViNURWy92qP6MpMstAkyInrk",1786241410679]