[{"data":1,"prerenderedAt":1799},["ShallowReactive",2],{"navigation_docs_hu":3,"-hu-cli-new-project":442,"-hu-cli-new-project-surround":1794},[4,45,60,81,112,129,146,173,197,213,242,280,357,373,385,404,430],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":44},"Kezdő lépések","i-lucide-rocket","\u002Fhu\u002Fgetting-started","hu\u002F1.getting-started",[10,15,20,24,29,34,39],{"title":11,"path":12,"stem":13,"icon":14},"Bevezetés","\u002Fhu\u002Fgetting-started\u002Fintroduction","hu\u002F1.getting-started\u002F1.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Laravelből érkezőknek","\u002Fhu\u002Fgetting-started\u002Fcoming-from-laravel","hu\u002F1.getting-started\u002F2.coming-from-laravel","i-lucide-arrow-right-left",{"title":21,"path":22,"stem":23,"icon":19},"Symfonyból érkezőknek","\u002Fhu\u002Fgetting-started\u002Fcoming-from-symfony","hu\u002F1.getting-started\u002F3.coming-from-symfony",{"title":25,"path":26,"stem":27,"icon":28},"Telepítés","\u002Fhu\u002Fgetting-started\u002Finstallation","hu\u002F1.getting-started\u002F4.installation","i-lucide-download",{"title":30,"path":31,"stem":32,"icon":33},"Az első modulod","\u002Fhu\u002Fgetting-started\u002Ffirst-module","hu\u002F1.getting-started\u002F5.first-module","i-lucide-package-plus",{"title":35,"path":36,"stem":37,"icon":38},"Projektstruktúra","\u002Fhu\u002Fgetting-started\u002Fproject-structure","hu\u002F1.getting-started\u002F6.project-structure","i-lucide-folder-tree",{"title":40,"path":41,"stem":42,"icon":43},"A shop mintaalkalmazás","\u002Fhu\u002Fgetting-started\u002Fsample-app","hu\u002F1.getting-started\u002F7.sample-app","i-lucide-shopping-cart",false,{"title":46,"icon":47,"path":48,"stem":49,"children":50,"page":44},"queue","i-lucide-layers","\u002Fhu\u002Fqueue","hu\u002F10.queue",[51,56],{"title":52,"path":53,"stem":54,"icon":55},"Áttekintés","\u002Fhu\u002Fqueue\u002Foverview","hu\u002F10.queue\u002F1.overview","i-lucide-list-ordered",{"title":57,"path":58,"stem":59,"icon":47},"Taskok","\u002Fhu\u002Fqueue\u002Ftasks","hu\u002F10.queue\u002F2.tasks",{"title":61,"icon":62,"path":63,"stem":64,"children":65,"page":44},"events","i-lucide-workflow","\u002Fhu\u002Fevents","hu\u002F11.events",[66,71,76],{"title":67,"path":68,"stem":69,"icon":70},"Események","\u002Fhu\u002Fevents\u002Foverview","hu\u002F11.events\u002F1.overview","i-lucide-radio",{"title":72,"path":73,"stem":74,"icon":75},"Outbox","\u002Fhu\u002Fevents\u002Foutbox","hu\u002F11.events\u002F2.outbox","i-lucide-inbox",{"title":77,"path":78,"stem":79,"icon":80},"Ütemezés","\u002Fhu\u002Fevents\u002Fscheduler","hu\u002F11.events\u002F3.scheduler","i-lucide-calendar-clock",{"title":82,"icon":83,"path":84,"stem":85,"children":86,"page":44},"auth","i-lucide-shield-check","\u002Fhu\u002Fauth","hu\u002F12.auth",[87,92,97,102,107],{"title":88,"path":89,"stem":90,"icon":91},"Autentikáció","\u002Fhu\u002Fauth\u002Foverview","hu\u002F12.auth\u002F1.overview","i-lucide-key-round",{"title":93,"path":94,"stem":95,"icon":96},"RBAC","\u002Fhu\u002Fauth\u002Frbac","hu\u002F12.auth\u002F2.rbac","i-lucide-users",{"title":98,"path":99,"stem":100,"icon":101},"Policy-k","\u002Fhu\u002Fauth\u002Fpolicy","hu\u002F12.auth\u002F3.policy","i-lucide-gavel",{"title":103,"path":104,"stem":105,"icon":106},"Az auth önálló használata","\u002Fhu\u002Fauth\u002Fstandalone","hu\u002F12.auth\u002F4.standalone","i-lucide-plug",{"title":108,"path":109,"stem":110,"icon":111},"Social login goth-tal, önállóan","\u002Fhu\u002Fauth\u002Fsocial-standalone","hu\u002F12.auth\u002F5.social-standalone","i-lucide-log-in",{"title":113,"icon":114,"path":115,"stem":116,"children":117,"page":44},"mail","i-lucide-mail","\u002Fhu\u002Fmail","hu\u002F13.mail",[118,121,125],{"title":52,"path":119,"stem":120,"icon":114},"\u002Fhu\u002Fmail\u002Foverview","hu\u002F13.mail\u002F1.overview",{"title":122,"path":123,"stem":124,"icon":114},"SMTP","\u002Fhu\u002Fmail\u002Fsmtp","hu\u002F13.mail\u002F2.smtp",{"title":126,"path":127,"stem":128,"icon":114},"MJML","\u002Fhu\u002Fmail\u002Fmjml","hu\u002F13.mail\u002F3.mjml",{"title":130,"icon":131,"path":132,"stem":133,"children":134,"page":44},"notify","i-lucide-bell","\u002Fhu\u002Fnotify","hu\u002F14.notify",[135,138,142],{"title":52,"path":136,"stem":137,"icon":131},"\u002Fhu\u002Fnotify\u002Foverview","hu\u002F14.notify\u002F1.overview",{"title":139,"path":140,"stem":141,"icon":131},"Database csatorna","\u002Fhu\u002Fnotify\u002Fdatabase","hu\u002F14.notify\u002F2.database",{"title":143,"path":144,"stem":145,"icon":131},"Broadcast csatorna","\u002Fhu\u002Fnotify\u002Fbroadcast","hu\u002F14.notify\u002F3.broadcast",{"title":147,"icon":148,"path":149,"stem":150,"children":151,"page":44},"storage","i-lucide-hard-drive","\u002Fhu\u002Fstorage","hu\u002F15.storage",[152,155,159,163,168],{"title":52,"path":153,"stem":154,"icon":148},"\u002Fhu\u002Fstorage\u002Foverview","hu\u002F15.storage\u002F1.overview",{"title":156,"path":157,"stem":158},"Disk API","\u002Fhu\u002Fstorage\u002Fdisk-api","hu\u002F15.storage\u002F2.disk-api",{"title":160,"path":161,"stem":162,"icon":148},"Memória és helyi lemez","\u002Fhu\u002Fstorage\u002Flocal","hu\u002F15.storage\u002F3.local",{"title":164,"path":165,"stem":166,"icon":167},"S3","\u002Fhu\u002Fstorage\u002Fs3","hu\u002F15.storage\u002F4.s3","i-lucide-cloud",{"title":169,"path":170,"stem":171,"icon":172},"Tesztelés","\u002Fhu\u002Fstorage\u002Ftesting","hu\u002F15.storage\u002F5.testing","i-lucide-flask-conical",{"title":174,"icon":175,"path":176,"stem":177,"children":178,"page":44},"telemetry","i-lucide-activity","\u002Fhu\u002Ftelemetry","hu\u002F16.telemetry",[179,182,187,192],{"title":52,"path":180,"stem":181,"icon":175},"\u002Fhu\u002Ftelemetry\u002Foverview","hu\u002F16.telemetry\u002F1.overview",{"title":183,"path":184,"stem":185,"icon":186},"Logolás","\u002Fhu\u002Ftelemetry\u002Flogging","hu\u002F16.telemetry\u002F2.logging","i-lucide-scroll-text",{"title":188,"path":189,"stem":190,"icon":191},"OpenTelemetry","\u002Fhu\u002Ftelemetry\u002Fopentelemetry","hu\u002F16.telemetry\u002F3.opentelemetry","i-lucide-radar",{"title":193,"path":194,"stem":195,"icon":196},"Sentry","\u002Fhu\u002Ftelemetry\u002Fsentry","hu\u002F16.telemetry\u002F4.sentry","i-lucide-bug",{"title":198,"icon":199,"path":200,"stem":201,"children":202,"page":44},"Referencia","i-lucide-book-open","\u002Fhu\u002Freference","hu\u002F17.reference",[203,208],{"title":204,"path":205,"stem":206,"icon":207},"Konfiguráció","\u002Fhu\u002Freference\u002Fconfiguration","hu\u002F17.reference\u002F1.configuration","i-lucide-settings",{"title":209,"path":210,"stem":211,"icon":212},"Külső függőségek","\u002Fhu\u002Freference\u002Fdependencies","hu\u002F17.reference\u002F2.dependencies","i-lucide-package",{"title":214,"icon":215,"path":216,"stem":217,"children":218,"page":44},"Koncepciók","i-lucide-lightbulb","\u002Fhu\u002Fconcepts","hu\u002F2.concepts",[219,223,228,232,237],{"title":220,"path":221,"stem":222,"icon":47},"Architektúra","\u002Fhu\u002Fconcepts\u002Farchitecture","hu\u002F2.concepts\u002F1.architecture",{"title":224,"path":225,"stem":226,"icon":227},"Hibamodell","\u002Fhu\u002Fconcepts\u002Ferror-model","hu\u002F2.concepts\u002F2.error-model","i-lucide-shield-alert",{"title":204,"path":229,"stem":230,"icon":231},"\u002Fhu\u002Fconcepts\u002Fconfiguration","hu\u002F2.concepts\u002F3.configuration","i-lucide-settings-2",{"title":233,"path":234,"stem":235,"icon":236},"Codegen pipeline","\u002Fhu\u002Fconcepts\u002Fcodegen-pipeline","hu\u002F2.concepts\u002F4.codegen-pipeline","i-lucide-file-json",{"title":238,"path":239,"stem":240,"icon":241},"Design patternek","\u002Fhu\u002Fconcepts\u002Fdesign-patterns","hu\u002F2.concepts\u002F5.design-patterns","i-lucide-puzzle",{"title":243,"icon":244,"path":245,"stem":246,"children":247,"page":44},"A kit","i-lucide-box","\u002Fhu\u002Fkit","hu\u002F3.kit",[248,252,257,262,267,271,276],{"title":249,"path":250,"stem":251,"icon":244},"A kit áttekintése","\u002Fhu\u002Fkit\u002Foverview","hu\u002F3.kit\u002F1.overview",{"title":253,"path":254,"stem":255,"icon":256},"Alkalmazás-életciklus","\u002Fhu\u002Fkit\u002Fapp","hu\u002F3.kit\u002F2.app","i-lucide-power",{"title":258,"path":259,"stem":260,"icon":261},"Szerver","\u002Fhu\u002Fkit\u002Fserver","hu\u002F3.kit\u002F3.server","i-lucide-server",{"title":263,"path":264,"stem":265,"icon":266},"Worker","\u002Fhu\u002Fkit\u002Fworker","hu\u002F3.kit\u002F4.worker","i-lucide-cog",{"title":268,"path":269,"stem":270,"icon":70},"Realtime","\u002Fhu\u002Fkit\u002Frealtime","hu\u002F3.kit\u002F5.realtime",{"title":272,"path":273,"stem":274,"icon":275},"Migrációk","\u002Fhu\u002Fkit\u002Fmigrations","hu\u002F3.kit\u002F6.migrations","i-lucide-file-stack",{"title":277,"path":278,"stem":279,"icon":111},"Social login","\u002Fhu\u002Fkit\u002Fsocial-login","hu\u002F3.kit\u002F7.social-login",{"title":281,"icon":282,"path":283,"stem":284,"children":285,"page":44},"CLI referencia","i-lucide-terminal","\u002Fhu\u002Fcli","hu\u002F4.cli",[286,289,294,299,304,309,314,319,324,329,334,338,343,348,352],{"title":52,"path":287,"stem":288,"icon":282},"\u002Fhu\u002Fcli\u002Foverview","hu\u002F4.cli\u002F1.overview",{"title":290,"path":291,"stem":292,"icon":293},"add db","\u002Fhu\u002Fcli\u002Fadd-db","hu\u002F4.cli\u002F10.add-db","i-lucide-database-zap",{"title":295,"path":296,"stem":297,"icon":298},"add compose \u002F add docker","\u002Fhu\u002Fcli\u002Fadd-compose","hu\u002F4.cli\u002F11.add-compose","i-lucide-container",{"title":300,"path":301,"stem":302,"icon":303},"add mail","\u002Fhu\u002Fcli\u002Fadd-mail","hu\u002F4.cli\u002F12.add-mail","i-lucide-mail-plus",{"title":305,"path":306,"stem":307,"icon":308},"add notification","\u002Fhu\u002Fcli\u002Fadd-notification","hu\u002F4.cli\u002F13.add-notification","i-lucide-bell-plus",{"title":310,"path":311,"stem":312,"icon":313},"add realtime","\u002Fhu\u002Fcli\u002Fadd-realtime","hu\u002F4.cli\u002F14.add-realtime","i-lucide-radio-tower",{"title":315,"path":316,"stem":317,"icon":318},"add seeder","\u002Fhu\u002Fcli\u002Fadd-seeder","hu\u002F4.cli\u002F15.add-seeder","i-lucide-sprout",{"title":320,"path":321,"stem":322,"icon":323},"new project","\u002Fhu\u002Fcli\u002Fnew-project","hu\u002F4.cli\u002F2.new-project","i-lucide-folder-plus",{"title":325,"path":326,"stem":327,"icon":328},"new module","\u002Fhu\u002Fcli\u002Fnew-module","hu\u002F4.cli\u002F3.new-module","i-lucide-blocks",{"title":330,"path":331,"stem":332,"icon":333},"add surface","\u002Fhu\u002Fcli\u002Fadd-surface","hu\u002F4.cli\u002F4.add-surface","i-lucide-layers-2",{"title":335,"path":336,"stem":337,"icon":244},"add core","\u002Fhu\u002Fcli\u002Fadd-core","hu\u002F4.cli\u002F5.add-core",{"title":339,"path":340,"stem":341,"icon":342},"add handler","\u002Fhu\u002Fcli\u002Fadd-handler","hu\u002F4.cli\u002F6.add-handler","i-lucide-webhook",{"title":344,"path":345,"stem":346,"icon":347},"new migration","\u002Fhu\u002Fcli\u002Fnew-migration","hu\u002F4.cli\u002F7.new-migration","i-lucide-file-plus",{"title":349,"path":350,"stem":351,"icon":266},"worker generátorok","\u002Fhu\u002Fcli\u002Fworker-generators","hu\u002F4.cli\u002F8.worker-generators",{"title":353,"path":354,"stem":355,"icon":356},"upgrade templates","\u002Fhu\u002Fcli\u002Fupgrade-templates","hu\u002F4.cli\u002F9.upgrade-templates","i-lucide-refresh-cw",{"title":358,"icon":227,"path":359,"stem":360,"children":361,"page":44},"errs","\u002Fhu\u002Ferrs","hu\u002F5.errs",[362,365,369],{"title":52,"path":363,"stem":364,"icon":227},"\u002Fhu\u002Ferrs\u002Foverview","hu\u002F5.errs\u002F1.overview",{"title":366,"path":367,"stem":368},"API","\u002Fhu\u002Ferrs\u002Fapi","hu\u002F5.errs\u002F2.api",{"title":370,"path":371,"stem":372,"icon":227},"Integráció","\u002Fhu\u002Ferrs\u002Fintegration","hu\u002F5.errs\u002F3.integration",{"title":374,"icon":231,"path":375,"stem":376,"children":377,"page":44},"envconf","\u002Fhu\u002Fenvconf","hu\u002F6.envconf",[378,381],{"title":52,"path":379,"stem":380,"icon":231},"\u002Fhu\u002Fenvconf\u002Foverview","hu\u002F6.envconf\u002F1.overview",{"title":382,"path":383,"stem":384},"Receptek","\u002Fhu\u002Fenvconf\u002Frecipes","hu\u002F6.envconf\u002F2.recipes",{"title":386,"icon":387,"path":388,"stem":389,"children":390,"page":44},"httperr","i-lucide-globe","\u002Fhu\u002Fhttperr","hu\u002F7.httperr",[391,394,399],{"title":52,"path":392,"stem":393,"icon":387},"\u002Fhu\u002Fhttperr\u002Foverview","hu\u002F7.httperr\u002F1.overview",{"title":395,"path":396,"stem":397,"icon":398},"Hibaválaszok","\u002Fhu\u002Fhttperr\u002Ferror-responses","hu\u002F7.httperr\u002F2.error-responses","i-lucide-octagon-alert",{"title":400,"path":401,"stem":402,"icon":403},"Validáció","\u002Fhu\u002Fhttperr\u002Fvalidation","hu\u002F7.httperr\u002F3.validation","i-lucide-badge-check",{"title":405,"icon":406,"path":407,"stem":408,"children":409,"page":44},"dbx","i-lucide-database","\u002Fhu\u002Fdbx","hu\u002F8.dbx",[410,413,417,421,426],{"title":52,"path":411,"stem":412,"icon":406},"\u002Fhu\u002Fdbx\u002Foverview","hu\u002F8.dbx\u002F1.overview",{"title":414,"path":415,"stem":416,"icon":106},"pgx","\u002Fhu\u002Fdbx\u002Fpg","hu\u002F8.dbx\u002F2.pg",{"title":418,"path":419,"stem":420,"icon":47},"bun","\u002Fhu\u002Fdbx\u002Fbunx","hu\u002F8.dbx\u002F3.bunx",{"title":422,"path":423,"stem":424,"icon":425},"Tranzakciók","\u002Fhu\u002Fdbx\u002Ftransactions","hu\u002F8.dbx\u002F4.transactions","i-lucide-git-merge",{"title":427,"path":428,"stem":429,"icon":318},"Seederek","\u002Fhu\u002Fdbx\u002Fseed","hu\u002F8.dbx\u002F5.seed",{"title":431,"icon":55,"path":432,"stem":433,"children":434,"page":44},"paginate","\u002Fhu\u002Fpaginate","hu\u002F9.paginate",[435,438],{"title":52,"path":436,"stem":437,"icon":55},"\u002Fhu\u002Fpaginate\u002Foverview","hu\u002F9.paginate\u002F1.overview",{"title":439,"path":440,"stem":441,"icon":19},"Cursor-lapozás","\u002Fhu\u002Fpaginate\u002Fcursor","hu\u002F9.paginate\u002F2.cursor",{"id":443,"title":320,"body":444,"description":1787,"extension":1788,"links":1789,"meta":1790,"navigation":1791,"path":321,"seo":1792,"stem":322,"__hash__":1793},"docs_hu\u002Fhu\u002F4.cli\u002F2.new-project.md",{"type":445,"value":446,"toc":1774},"minimark",[447,451,507,515,542,547,632,659,666,678,682,708,713,718,1070,1095,1099,1275,1293,1297,1337,1348,1352,1452,1456,1480,1484,1502,1572,1594,1630,1634,1760,1770],[448,449,450],"p",{},"Ez a belépési pont a gpsystembe: egy teljes fogyasztó-projektet generál a nulláról, és minden más CLI-parancs egy általa létrehozott projekten belül fut.",[452,453,458],"pre",{"className":454,"code":455,"language":456,"meta":457,"style":457},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","gpsystem new project \u003Cnév> --module-path \u003Cgo-module-path> [flagek]\n","sh","",[459,460,461],"code",{"__ignoreMap":457},[462,463,466,470,474,477,481,484,488,491,494,496,499,502,504],"span",{"class":464,"line":465},"line",1,[462,467,469],{"class":468},"sBMFI","gpsystem",[462,471,473],{"class":472},"sfazB"," new",[462,475,476],{"class":472}," project",[462,478,480],{"class":479},"sMK4o"," \u003C",[462,482,483],{"class":472},"né",[462,485,487],{"class":486},"sTEyZ","v",[462,489,490],{"class":479},">",[462,492,493],{"class":472}," --module-path",[462,495,480],{"class":479},[462,497,498],{"class":472},"go-module-pat",[462,500,501],{"class":486},"h",[462,503,490],{"class":479},[462,505,506],{"class":486}," [flagek]\n",[448,508,509,510,514],{},"Így készült a ",[511,512,513],"a",{"href":41},"shop mintaalkalmazás"," is:",[452,516,518],{"className":454,"code":517,"language":456,"meta":457,"style":457},"gpsystem new project shop --module-path github.com\u002Facme\u002Fshop --dir .\u002Fshop\n",[459,519,520],{"__ignoreMap":457},[462,521,522,524,526,528,531,533,536,539],{"class":464,"line":465},[462,523,469],{"class":468},[462,525,473],{"class":472},[462,527,476],{"class":472},[462,529,530],{"class":472}," shop",[462,532,493],{"class":472},[462,534,535],{"class":472}," github.com\u002Facme\u002Fshop",[462,537,538],{"class":472}," --dir",[462,540,541],{"class":472}," .\u002Fshop\n",[543,544,546],"h2",{"id":545},"flagek","Flagek",[548,549,550,569],"table",{},[551,552,553],"thead",{},[554,555,556,560,563,566],"tr",{},[557,558,559],"th",{},"Flag",[557,561,562],{},"Kötelező",[557,564,565],{},"Default",[557,567,568],{},"Jelentés",[570,571,572,593,611],"tbody",{},[554,573,574,580,583,586],{},[575,576,577],"td",{},[459,578,579],{},"--module-path",[575,581,582],{},"igen",[575,584,585],{},"nincs",[575,587,588,589,592],{},"a projekt Go module path-ja: a ",[459,590,591],{},"go.mod","-ba és minden generált importba bekerül",[554,594,595,600,603,608],{},[575,596,597],{},[459,598,599],{},"--dir",[575,601,602],{},"nem",[575,604,605],{},[459,606,607],{},".\u002F\u003Cnév>",[575,609,610],{},"célmappa",[554,612,613,618,620,624],{},[575,614,615],{},[459,616,617],{},"--db",[575,619,602],{},[575,621,622],{},[459,623,414],{},[575,625,626,627,629,630],{},"a generált backend adatbázis-stackje: ",[459,628,414],{}," vagy ",[459,631,418],{},[448,633,634,635,638,639,642,643,646,647,646,650,653,654,658],{},"A globális ",[459,636,637],{},"--dry-run"," (tervet nyomtat, nem ír semmit) és ",[459,640,641],{},"--force"," (meglévő fájlok felülírása) itt is működik, mint minden alparancson. Három további flag (",[459,644,645],{},"--kit-replace",", ",[459,648,649],{},"--replace",[459,651,652],{},"--replace-dev",") létezik a gpsystem saját fejlesztéséhez; lásd a ",[511,655,657],{"href":656},"#contributor-mod-lokalis-modul-replace-ek","Contributor mód"," szakaszt lentebb, a hétköznapi projekt-setupnak nincs rájuk szüksége.",[448,660,661,662,665],{},"A projekt ",[459,663,664],{},"\u003Cnév>"," kisbetű\u002Fszámjegy, betűvel kezdve. Ez táplálja a TypeSpec namespace-eket, és megjelenik a generált konfigokban.",[667,668,669,670,672,673,677],"warning",{},"A ",[459,671,579],{}," ",[674,675,676],"strong",{},"véglegesnek tekintendő",": minden generált import erre épül, és minden későbbi generátor ezt írja az új fájlokba. Utólagos csere az összes import átírását jelenti, ezért válaszd meg az elején.",[543,679,681],{"id":680},"adatbázis-választás","Adatbázis-választás",[448,683,684,685,688,689,692,693,646,695,646,697,699,700,702,703,707],{},"Az adatbázis-stack ",[674,686,687],{},"projektenkénti és végleges"," döntés: a manifest rögzíti (",[459,690,691],{},"db:","), és minden későbbi generátor (",[459,694,325],{},[459,696,330],{},[459,698,339],{},") ehhez igazodik: a ",[459,701,617],{}," flaget csak egyszer, itt adod meg. Egy adott modul később is felvehet további, önálló kapcsolatot más connectorral az ",[511,704,705],{"href":291},[459,706,290],{}," révén.",[709,710,712],"h3",{"id":711},"mi-különbözik-adatbázisonként","Mi különbözik adatbázisonként",[448,714,669,715,717],{},[459,716,617],{}," a repository-réteg alatti stacket dönti el; a pool mindkét esetben pgx:",[719,720,721,912],"code-group",{},[452,722,727],{"className":723,"code":724,"filename":725,"language":726,"meta":457,"style":457},"language-go shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F cmd\u002F\u003Cmodul>\u002Fmain.go: deps-init\npool := pg.MustNewPool(ctx, cfg.DB)\n\ndeps := shop.Dependencies{\n    DB:         pg.NewDB(pool),\n    Transactor: pg.NewTransactor(pool),\n}\n\n\u002F\u002F register.go\ntype Dependencies struct {\n    DB         *pg.DB\n    Transactor dbx.Transactor\n}\n","pgx (default)","go",[459,728,729,735,774,781,799,824,845,851,856,862,877,894,907],{"__ignoreMap":457},[462,730,731],{"class":464,"line":465},[462,732,734],{"class":733},"sHwdD","\u002F\u002F cmd\u002F\u003Cmodul>\u002Fmain.go: deps-init\n",[462,736,738,741,744,747,750,754,757,760,763,766,768,771],{"class":464,"line":737},2,[462,739,740],{"class":486},"pool ",[462,742,743],{"class":479},":=",[462,745,746],{"class":486}," pg",[462,748,749],{"class":479},".",[462,751,753],{"class":752},"s2Zo4","MustNewPool",[462,755,756],{"class":479},"(",[462,758,759],{"class":486},"ctx",[462,761,762],{"class":479},",",[462,764,765],{"class":486}," cfg",[462,767,749],{"class":479},[462,769,770],{"class":486},"DB",[462,772,773],{"class":479},")\n",[462,775,777],{"class":464,"line":776},3,[462,778,780],{"emptyLinePlaceholder":779},true,"\n",[462,782,784,787,789,791,793,796],{"class":464,"line":783},4,[462,785,786],{"class":486},"deps ",[462,788,743],{"class":479},[462,790,530],{"class":468},[462,792,749],{"class":479},[462,794,795],{"class":468},"Dependencies",[462,797,798],{"class":479},"{\n",[462,800,802,805,808,811,813,816,818,821],{"class":464,"line":801},5,[462,803,804],{"class":486},"    DB",[462,806,807],{"class":479},":",[462,809,810],{"class":486},"         pg",[462,812,749],{"class":479},[462,814,815],{"class":752},"NewDB",[462,817,756],{"class":479},[462,819,820],{"class":486},"pool",[462,822,823],{"class":479},"),\n",[462,825,827,830,832,834,836,839,841,843],{"class":464,"line":826},6,[462,828,829],{"class":486},"    Transactor",[462,831,807],{"class":479},[462,833,746],{"class":486},[462,835,749],{"class":479},[462,837,838],{"class":752},"NewTransactor",[462,840,756],{"class":479},[462,842,820],{"class":486},[462,844,823],{"class":479},[462,846,848],{"class":464,"line":847},7,[462,849,850],{"class":479},"}\n",[462,852,854],{"class":464,"line":853},8,[462,855,780],{"emptyLinePlaceholder":779},[462,857,859],{"class":464,"line":858},9,[462,860,861],{"class":733},"\u002F\u002F register.go\n",[462,863,865,868,871,874],{"class":464,"line":864},10,[462,866,867],{"class":479},"type",[462,869,870],{"class":468}," Dependencies",[462,872,873],{"class":479}," struct",[462,875,876],{"class":479}," {\n",[462,878,880,883,886,889,891],{"class":464,"line":879},11,[462,881,882],{"class":486},"    DB         ",[462,884,885],{"class":479},"*",[462,887,888],{"class":468},"pg",[462,890,749],{"class":479},[462,892,893],{"class":468},"DB\n",[462,895,897,900,902,904],{"class":464,"line":896},12,[462,898,899],{"class":486},"    Transactor ",[462,901,405],{"class":468},[462,903,749],{"class":479},[462,905,906],{"class":468},"Transactor\n",[462,908,910],{"class":464,"line":909},13,[462,911,850],{"class":479},[452,913,915],{"className":723,"code":914,"filename":418,"language":726,"meta":457,"style":457},"\u002F\u002F cmd\u002F\u003Cmodul>\u002Fmain.go: deps-init\npool := pg.MustNewPool(ctx, cfg.DB)\nbunDB := bunx.Open(pool) \u002F\u002F bun query builder a pgx pool fölött\n\ndeps := shop.Dependencies{\n    DB:         bunDB,\n    Transactor: bunx.NewTransactor(bunDB),\n}\n\n\u002F\u002F register.go\ntype Dependencies struct {\n    DB         *bun.DB\n    Transactor dbx.Transactor\n}\n",[459,916,917,921,947,972,976,990,1002,1021,1025,1029,1033,1043,1055,1065],{"__ignoreMap":457},[462,918,919],{"class":464,"line":465},[462,920,734],{"class":733},[462,922,923,925,927,929,931,933,935,937,939,941,943,945],{"class":464,"line":737},[462,924,740],{"class":486},[462,926,743],{"class":479},[462,928,746],{"class":486},[462,930,749],{"class":479},[462,932,753],{"class":752},[462,934,756],{"class":479},[462,936,759],{"class":486},[462,938,762],{"class":479},[462,940,765],{"class":486},[462,942,749],{"class":479},[462,944,770],{"class":486},[462,946,773],{"class":479},[462,948,949,952,954,957,959,962,964,966,969],{"class":464,"line":776},[462,950,951],{"class":486},"bunDB ",[462,953,743],{"class":479},[462,955,956],{"class":486}," bunx",[462,958,749],{"class":479},[462,960,961],{"class":752},"Open",[462,963,756],{"class":479},[462,965,820],{"class":486},[462,967,968],{"class":479},")",[462,970,971],{"class":733}," \u002F\u002F bun query builder a pgx pool fölött\n",[462,973,974],{"class":464,"line":783},[462,975,780],{"emptyLinePlaceholder":779},[462,977,978,980,982,984,986,988],{"class":464,"line":801},[462,979,786],{"class":486},[462,981,743],{"class":479},[462,983,530],{"class":468},[462,985,749],{"class":479},[462,987,795],{"class":468},[462,989,798],{"class":479},[462,991,992,994,996,999],{"class":464,"line":826},[462,993,804],{"class":486},[462,995,807],{"class":479},[462,997,998],{"class":486},"         bunDB",[462,1000,1001],{"class":479},",\n",[462,1003,1004,1006,1008,1010,1012,1014,1016,1019],{"class":464,"line":847},[462,1005,829],{"class":486},[462,1007,807],{"class":479},[462,1009,956],{"class":486},[462,1011,749],{"class":479},[462,1013,838],{"class":752},[462,1015,756],{"class":479},[462,1017,1018],{"class":486},"bunDB",[462,1020,823],{"class":479},[462,1022,1023],{"class":464,"line":853},[462,1024,850],{"class":479},[462,1026,1027],{"class":464,"line":858},[462,1028,780],{"emptyLinePlaceholder":779},[462,1030,1031],{"class":464,"line":864},[462,1032,861],{"class":733},[462,1034,1035,1037,1039,1041],{"class":464,"line":879},[462,1036,867],{"class":479},[462,1038,870],{"class":468},[462,1040,873],{"class":479},[462,1042,876],{"class":479},[462,1044,1045,1047,1049,1051,1053],{"class":464,"line":896},[462,1046,882],{"class":486},[462,1048,885],{"class":479},[462,1050,418],{"class":468},[462,1052,749],{"class":479},[462,1054,893],{"class":468},[462,1056,1057,1059,1061,1063],{"class":464,"line":909},[462,1058,899],{"class":486},[462,1060,405],{"class":468},[462,1062,749],{"class":479},[462,1064,906],{"class":468},[462,1066,1068],{"class":464,"line":1067},14,[462,1069,850],{"class":479},[448,1071,1072,1073,1076,1077,1080,1081,1084,1085,1088,1089,1091,1092,1094],{},"Ugyanez a különbség jelenik meg a ",[459,1074,1075],{},"cmd\u002Fworker\u002Fmain.go","-ban és az ",[459,1078,1079],{},"add event"," által bedrótozott outbox-store-ban (",[459,1082,1083],{},"outbox.NewStore(pg.NewDB(pool))"," ↔ ",[459,1086,1087],{},"outbox\u002Fbunx.NewStore(bunDB)","). A repository-sablonok pgx-nél SQL-t, bunnál query-builder-hívásokat adnak (lásd ",[511,1090,414],{"href":415}," és ",[511,1093,418],{"href":419},").",[543,1096,1098],{"id":1097},"mit-generál","Mit generál",[1100,1101,1102,1116,1129,1147,1158,1178,1191,1208],"ul",{},[1103,1104,1105,672,1108,1111,1112,1115],"li",{},[459,1106,1107],{},"gpsystem.yaml",[511,1109,1110],{"href":287},"manifest"," (név, module path, ",[459,1113,1114],{},"db",", kit-verzió, template-checksum)",[1103,1117,1118,1120,1121,1124,1125,1128],{},[459,1119,591],{}," a kittel és a szükséges önálló modulokkal mint ",[459,1122,1123],{},"require","-ekkel, plusz ",[459,1126,1127],{},"tool"," direktívákkal (gpsystem, oapi-codegen), így a csapat minden tagja ugyanazt a CLI-verziót és ugyanazokat a publikált modul-verziókat futtatja",[1103,1130,1131,1132,646,1135,1138,1139,1142,1143,1146],{},"TypeSpec workspace: ",[459,1133,1134],{},"spec\u002Ftypespec\u002F{main.tsp, shared\u002Ferrors.tsp, shared\u002Fpaginator.tsp, lib\u002Fpolicy.tsp}",[459,1136,1137],{},"tspconfig.yaml"," (OpenAPI 3.0-ra rögzítve, kimenet az ",[459,1140,1141],{},"api\u002Fopenapi\u002F","-ba), ",[459,1144,1145],{},"package.json"," pinelt TypeSpec-fordítóval",[1103,1148,1149,1150,1153,1154,1157],{},"A kit oapi-codegen template-jei az ",[459,1151,1152],{},"api\u002Foapi-codegen\u002Ftemplates\u002F"," alá: egyetlen, chi-alapú készlet (az oapi-codegen beépített ",[459,1155,1156],{},"chi-server"," sablonjai plusz a kit strict-handler override-jai)",[1103,1159,1160,1163,1164,1167,1168,1167,1170,1167,1172,1174,1175,1177],{},[459,1161,1162],{},"internal\u002Fplatform\u002Fconfig\u002Fconfig.go",": összerakott env-konfig (",[459,1165,1166],{},"Server"," + ",[459,1169,770],{},[459,1171,263],{},[459,1173,72],{},"), ",[511,1176,374],{"href":229},"-fal töltve",[1103,1179,1180,1182,1183,1186,1187,1190],{},[459,1181,1075],{},": a háttérfeldolgozó bináris (",[511,1184,1185],{"href":264},"worker","); ",[459,1188,1189],{},"cmd\u002Fmigrate\u002Fmain.go",": a migrációfuttató",[1103,1192,1193,1196,1197,1167,1200,1203,1204,1207],{},[459,1194,1195],{},"migrations\u002F",": beágyazott, időbélyeg-prefixes goose SQL, induló ",[459,1198,1199],{},"20200101000000_init.sql",[459,1201,1202],{},"20200101000100_outbox.sql"," (az ",[511,1205,1206],{"href":73},"outbox"," táblája)",[1103,1209,1210,1213,1214,646,1217,646,1220,646,1223,646,1226,646,1229,646,1232,646,1235,646,1237,646,1240,646,1243,646,1246,646,1249,1174,1252,1255,1256,646,1259,1262,1263,646,1266,646,1269,646,1272],{},[459,1211,1212],{},"mise.toml"," taskok (",[459,1215,1216],{},"setup",[459,1218,1219],{},"spec",[459,1221,1222],{},"generate",[459,1224,1225],{},"dev",[459,1227,1228],{},"dev:deps",[459,1230,1231],{},"restart",[459,1233,1234],{},"dev:down",[459,1236,1185],{},[459,1238,1239],{},"migrate",[459,1241,1242],{},"logs",[459,1244,1245],{},"build",[459,1247,1248],{},"test",[459,1250,1251],{},"lint",[459,1253,1254],{},"Dockerfile"," (multi-stage, lásd lent), ",[459,1257,1258],{},".dockerignore",[459,1260,1261],{},"compose.yml"," (teljes dev-stack, lásd lent), ",[459,1264,1265],{},".env.example",[459,1267,1268],{},".golangci.yml",[459,1270,1271],{},".gitignore",[459,1273,1274],{},"README.md",[448,1276,1277,1278,1281,1282,1284,1285,1289,1290,1292],{},"A HTTP-oldali belépési pontot (",[459,1279,1280],{},"cmd\u002F\u003Cmodul>\u002Fmain.go",") nem a ",[459,1283,320],{},", hanem az első ",[511,1286,1287],{"href":326},[459,1288,325],{}," hozza létre: modulonként egy bináris készül, és a ",[459,1291,325],{}," a compose-service-ét is beszúrja.",[543,1294,1296],{"id":1295},"a-compose-dev-stack","A compose dev-stack",[448,1298,1299,1300,1302,1303,1306,1307,1309,1310,1312,1313,1315,1316,1322,1323,1326,1327,1309,1330,1333,1334,1094],{},"A generált ",[459,1301,1261],{}," egy teljes, konténerizált dev-stack (",[674,1304,1305],{},"egyetlen publikált port sincs benne","): postgres, valkey, mailpit, rustfs (S3-kompatibilis object storage), a ",[459,1308,1239],{},"\u002F",[459,1311,1185],{},"\u002Fmodul-binárisok, mind a projekt ",[459,1314,1254],{},"-jából build-elve, mind kifelé ",[511,1317,1321],{"href":1318,"rel":1319},"https:\u002F\u002Ftraefik.io",[1320],"nofollow","Traefik","-labelekkel az external ",[459,1324,1325],{},"proxynet"," hálózaton (dupla ",[459,1328,1329],{},"web",[459,1331,1332],{},"websecure"," router, ",[459,1335,1336],{},"tls.certresolver=letsEncrypt",[448,1338,1339,1340,1343,1344,1347],{},"Előfeltétel: ",[459,1341,1342],{},"docker network create proxynet"," (egyszeri, workspace-szinten megosztott), docker compose ≥ 2.17 + BuildKit (az ",[459,1345,1346],{},"additional_contexts"," és a cache mountok miatt).",[709,1349,1351],{"id":1350},"dockerfile-négy-stage","Dockerfile: négy stage",[1100,1353,1354,1369,1422,1438],{},[1103,1355,1356,1361,1362,1365,1366,749],{},[674,1357,1358],{},[459,1359,1360],{},"base",": ",[459,1363,1364],{},"golang:1.25-alpine",", csak a ",[459,1367,1368],{},"WORKDIR",[1103,1370,1371,1376,1377,1380,1381,1309,1384,1387,1388,1391,1392,1174,1395,1398,1399,1406,1407,1410,1411,1414,1415,1309,1418,1421],{},[674,1372,1373],{},[459,1374,1375],{},"development",": a compose ezt build-eli (",[459,1378,1379],{},"target: development","); host-UID\u002FGID-es user (",[459,1382,1383],{},"USER_ID",[459,1385,1386],{},"GROUP_ID"," build-argok a ",[459,1389,1390],{},".env","-ből), a forrás bind-mountolva (",[459,1393,1394],{},".:\u002Fsrc",[459,1396,1397],{},"CMD [\"sh\", \"-c\", \"exec go run .\u002Fcmd\u002F${CMD}\"]",". ",[674,1400,1401,1402,1405],{},"Nincs forrás-másolás, nincs ",[459,1403,1404],{},"go mod download"," build-time",": kódváltozás után elég ",[459,1408,1409],{},"docker compose restart \u003Cservice>",", a ",[459,1412,1413],{},"go run"," a mountolt forrásból újrafordít; a modul-cache-ek (",[459,1416,1417],{},"gomodcache",[459,1419,1420],{},"gocache",") named volume-on élnek, hogy a restart-újrafordítás gyors legyen.",[1103,1423,1424,1361,1428,1167,1431,1434,1435,1094],{},[674,1425,1426],{},[459,1427,1245],{},[459,1429,1430],{},"ARG CMD",[459,1432,1433],{},"go build .\u002Fcmd\u002F${CMD}",", cache mountokkal; ebből épül a prod image (",[459,1436,1437],{},"docker build --target production --build-arg CMD=\u003Cx> .",[1103,1439,1440,1361,1445,646,1448,1451],{},[674,1441,1442],{},[459,1443,1444],{},"production",[459,1446,1447],{},"alpine:3.22",[459,1449,1450],{},"USER nobody",", csak a lefordított bináris.",[709,1453,1455],{"id":1454},"modul-routing-path-alapú-nem-subdomain","Modul-routing: path-alapú, nem subdomain",[448,1457,1458,1459,1462,1463,1466,1467,1470,1471,1474,1475,1479],{},"A modul-service Traefik rule-ja ",[459,1460,1461],{},"Host(`${APP_HOST}`) && PathRegexp(`^\u002Fapi\u002Fv1\u002F([a-z0-9-]+\u002F)?\u003Cmodul>(\u002F|$)`)","; ez lefedi az ",[459,1464,1465],{},"api"," surface ",[459,1468,1469],{},"\u002Fapi\u002Fv1\u002F\u003Cmodul>"," és minden más surface ",[459,1472,1473],{},"\u002Fapi\u002Fv1\u002F\u003Csurface>\u002F\u003Cmodul>"," útvonalát is, így ",[511,1476,1477],{"href":331},[459,1478,330],{}," után sem kell hozzányúlni.",[543,1481,1483],{"id":1482},"contributor-mód-lokális-modul-replace-ek","Contributor mód: lokális modul-replace-ek",[448,1485,1486,1487,1489,1490,1493,1494,672,1496,672,1498,1501],{},"A fentiek mind a hétköznapi utat feltételezik: a kit és a 12 önálló modul sima publikus Go modul, a ",[459,1488,320],{},"-nek egyik sem kell lokálisan, a ",[459,1491,1492],{},"go mod tidy"," a publikált verziókat oldja fel a modul-proxyból. Ha magát a gpsystemet fejleszted, vagy egy generált projektnek egy önálló modul még nem publikált változatával kell buildelnie, három további flag lehetővé teszi, hogy a ",[459,1495,320],{},[459,1497,591],{},[459,1499,1500],{},"replace"," direktívákat írjon lokális checkoutokra:",[548,1503,1504,1512],{},[551,1505,1506],{},[554,1507,1508,1510],{},[557,1509,559],{},[557,1511,568],{},[570,1513,1514,1533,1549],{},[554,1515,1516,1521],{},[575,1517,1518],{},[459,1519,1520],{},"--kit-replace \u003Cútvonal>",[575,1522,1523,1525,1526,1529,1530,1532],{},[459,1524,1500],{},"-t ad hozzá, ami magát a kitet egy lokális checkoutra irányítja; hacsak egy explicit ",[459,1527,1528],{},"--replace errs=..."," felül nem írja, ez egyúttal az ",[459,1531,358],{},"-hez is levezet egy replace-t, a checkout melletti testvérkönyvtárban",[554,1534,1535,1540],{},[575,1536,1537],{},[459,1538,1539],{},"--replace \u003Cnév>=\u003Cútvonal>",[575,1541,1542,1543,1545,1546,1548],{},"ismételhető; egy konkrét önálló modulhoz (",[459,1544,358],{},", vagy bármely modulnév a kit modul-regiszteréből) ad hozzá ",[459,1547,1500],{},"-t, a másik két flagtől függetlenül",[554,1550,1551,1556],{},[575,1552,1553],{},[459,1554,1555],{},"--replace-dev \u003Cmappa>",[575,1557,1558,1559,1561,1562,1565,1566,1568,1569,1571],{},"rövidítés arra az esetre, amikor a kit, az ",[459,1560,358],{}," és minden regiszterbeli modul testvérkönyvtárként van kicheckoutolva a ",[459,1563,1564],{},"\u003Cmappa>"," alatt: ezzel egyenértékű, mintha mindegyikükre külön-külön megadnád a ",[459,1567,645],{},"-t és a ",[459,1570,649],{},"-t",[448,1573,1574,1575,1577,1578,646,1580,1091,1582,1584,1585,1587,1588,1590,1591,1593],{},"Minden célútvonal a ",[459,1576,599],{},"-hez viszonyítva oldódik fel, így a kimenő ",[459,1579,591],{},[459,1581,1261],{},[459,1583,1254],{}," csak relatív útvonalakat hordoz, sosem gépspecifikusat: a generált projekt hordozható marad, amíg a lokális checkoutokhoz viszonyított pozíciója nem változik. E három flag nélkül a ",[459,1586,320],{}," egy sima ",[459,1589,1123],{},"-rel generálja a projektet minden szükséges modul publikált verziójára, ",[459,1592,1500],{}," nélkül: ez az alapértelmezés, és egy fogyasztó-projektnek egyedül ezt kellene használnia.",[448,1595,1299,1596,1309,1598,1600,1601,1605,1606,1609,1610,1616,1617,1619,1620,1622,1623,1626,1627,1629],{},[459,1597,1261],{},[459,1599,1254],{}," ugyanezt a replace-térképet követi: minden replace-elt modulhoz a ",[674,1602,1603],{},[459,1604,1375],{}," target bind-mountolja a checkoutot egy fix, konténeren belüli útra (futásidejű mount, build-time másolás nélkül, így a checkout szerkesztése is csak ",[459,1607,1608],{},"docker compose restart","-ot igényel), a ",[674,1611,1612,1309,1614],{},[459,1613,1245],{},[459,1615,1444],{}," target pedig egy compose ",[459,1618,1346],{}," bejegyzést ad hozzá, amit a Dockerfile ",[459,1621,1245],{}," stage-e ",[459,1624,1625],{},"COPY --from=\u003Cmodul>","-lal másol be a ",[459,1628,1404],{}," elé. Egy replace nélküli projekt egyik blokkot sem kapja meg.",[543,1631,1633],{"id":1632},"generálás-után","Generálás után",[452,1635,1637],{"className":454,"code":1636,"language":456,"meta":457,"style":457},"cd \u003Cnév>\ngo mod tidy        # függőségek + tool directive-ek feloldása\nmise run setup     # TypeSpec toolchain (npm)\ngo tool gpsystem new module \u003Celső-modul>\nmise run generate  # tsp → OpenAPI → szerverkód → build\ncp .env.example .env               # USER_ID\u002FGROUP_ID: id -u \u002F id -g\ndocker network create proxynet     # egyszeri\nmise run dev                       # build + a teljes dev-stack indítása\n",[459,1638,1639,1653,1666,1680,1705,1717,1731,1748],{"__ignoreMap":457},[462,1640,1641,1644,1646,1648,1650],{"class":464,"line":465},[462,1642,1643],{"class":752},"cd",[462,1645,480],{"class":479},[462,1647,483],{"class":472},[462,1649,487],{"class":486},[462,1651,1652],{"class":479},">\n",[462,1654,1655,1657,1660,1663],{"class":464,"line":737},[462,1656,726],{"class":468},[462,1658,1659],{"class":472}," mod",[462,1661,1662],{"class":472}," tidy",[462,1664,1665],{"class":733},"        # függőségek + tool directive-ek feloldása\n",[462,1667,1668,1671,1674,1677],{"class":464,"line":776},[462,1669,1670],{"class":468},"mise",[462,1672,1673],{"class":472}," run",[462,1675,1676],{"class":472}," setup",[462,1678,1679],{"class":733},"     # TypeSpec toolchain (npm)\n",[462,1681,1682,1684,1687,1690,1692,1695,1697,1700,1703],{"class":464,"line":783},[462,1683,726],{"class":468},[462,1685,1686],{"class":472}," tool",[462,1688,1689],{"class":472}," gpsystem",[462,1691,473],{"class":472},[462,1693,1694],{"class":472}," module",[462,1696,480],{"class":479},[462,1698,1699],{"class":472},"első-modu",[462,1701,1702],{"class":486},"l",[462,1704,1652],{"class":479},[462,1706,1707,1709,1711,1714],{"class":464,"line":801},[462,1708,1670],{"class":468},[462,1710,1673],{"class":472},[462,1712,1713],{"class":472}," generate",[462,1715,1716],{"class":733},"  # tsp → OpenAPI → szerverkód → build\n",[462,1718,1719,1722,1725,1728],{"class":464,"line":826},[462,1720,1721],{"class":468},"cp",[462,1723,1724],{"class":472}," .env.example",[462,1726,1727],{"class":472}," .env",[462,1729,1730],{"class":733},"               # USER_ID\u002FGROUP_ID: id -u \u002F id -g\n",[462,1732,1733,1736,1739,1742,1745],{"class":464,"line":847},[462,1734,1735],{"class":468},"docker",[462,1737,1738],{"class":472}," network",[462,1740,1741],{"class":472}," create",[462,1743,1744],{"class":472}," proxynet",[462,1746,1747],{"class":733},"     # egyszeri\n",[462,1749,1750,1752,1754,1757],{"class":464,"line":853},[462,1751,1670],{"class":468},[462,1753,1673],{"class":472},[462,1755,1756],{"class":472}," dev",[462,1758,1759],{"class":733},"                       # build + a teljes dev-stack indítása\n",[448,1761,1762,1763,1766,1767,1769],{},"Innen a CLI már a projektbe pinelt verzióként fut (",[459,1764,1765],{},"go tool gpsystem","), és a ",[511,1768,1110],{"href":287}," alapján tudja, milyen adatbázis-stackhez generáljon.",[1771,1772,1773],"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 pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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 .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}",{"title":457,"searchDepth":737,"depth":737,"links":1775},[1776,1777,1780,1781,1785,1786],{"id":545,"depth":737,"text":546},{"id":680,"depth":737,"text":681,"children":1778},[1779],{"id":711,"depth":776,"text":712},{"id":1097,"depth":737,"text":1098},{"id":1295,"depth":737,"text":1296,"children":1782},[1783,1784],{"id":1350,"depth":776,"text":1351},{"id":1454,"depth":776,"text":1455},{"id":1482,"depth":737,"text":1483},{"id":1632,"depth":737,"text":1633},"Teljes fogyasztó-projektváz generálása, adatbázis-választással.","md",null,{},{"icon":323},{"title":320,"description":1787},"Jud2BSjWszjvGShc7N33ZXEdco9wGeGPWdZ6nTuSDEo",[1795,1797],{"title":315,"path":316,"stem":317,"description":1796,"icon":318,"children":-1},"Seeder hozzáadása a projekt központi seeds\u002F package-éhez, automatikus regisztrációval.",{"title":325,"path":326,"stem":327,"description":1798,"icon":328,"children":-1},"Modul generálása (belépési pont, első surface, kontraktus) a projektbe.",1785445886898]