[{"data":1,"prerenderedAt":1249},["ShallowReactive",2],{"navigation_docs_hu":3,"-hu-cli-overview":442,"-hu-cli-overview-surround":1244},[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":52,"body":444,"description":1237,"extension":1238,"links":1239,"meta":1240,"navigation":1241,"path":287,"seo":1242,"stem":288,"__hash__":1243},"docs_hu\u002Fhu\u002F4.cli\u002F1.overview.md",{"type":445,"value":446,"toc":1231},"minimark",[447,468,507,515,518,715,749,754,789,793,991,995,1002,1007,1188,1213,1227],[448,449,450,451,455,456,459,460,462,463,467],"p",{},"A fogyasztó projektek a Go 1.24+ ",[452,453,454],"code",{},"tool"," directive-vel rögzítik a CLI-t a ",[452,457,458],{},"go.mod","-ban (a ",[452,461,320],{}," írja be), így a csapat minden tagja ",[464,465,466],"strong",{},"ugyanazt a verziót"," futtatja:",[469,470,475],"pre",{"className":471,"code":472,"language":473,"meta":474,"style":474},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","go tool gpsystem \u003Cparancs>\n","sh","",[452,476,477],{"__ignoreMap":474},[478,479,482,486,490,493,497,500,504],"span",{"class":480,"line":481},"line",1,[478,483,485],{"class":484},"sBMFI","go",[478,487,489],{"class":488},"sfazB"," tool",[478,491,492],{"class":488}," gpsystem",[478,494,496],{"class":495},"sMK4o"," \u003C",[478,498,499],{"class":488},"paranc",[478,501,503],{"class":502},"sTEyZ","s",[478,505,506],{"class":495},">\n",[469,508,513],{"className":509,"code":511,"language":512},[510],"language-text","gpsystem\n├── new project \u003Cnév> --module-path \u003Cpath> [--dir] [--db pgx|bun]\n├── new module \u003Cnév> [--surface \u003Cnév>]\n├── new migration \u003Cnév>\n├── add surface \u003Cmodul> \u003Csurface> [--db \u003Cnév>]\n├── add core \u003Cmodul> [--db \u003Cnév>]\n├── add handler \u003Cmodul> \u003Csurface> \u003Cművelet> --method GET --path \"\u002Fx\u002F{id}\"\n├── add event \u003Cmodul> \u003Cnév>\n├── add listener \u003Cmodul> \u003Cevent> \u003Cnév> [--queue \u003Csor>]\n├── add job \u003Cmodul> \u003Cnév> --cron \"0 3 * * *\"\n├── add mail \u003Cmodul> \u003Cnév>\n├── add notification \u003Cmodul> \u003Cnév>\n├── add worker\n├── add realtime\n├── add db \u003Cmodul> \u003Cnév> [--connector pgx|bun]\n├── add seeder \u003Cnév>\n├── add compose\n├── add docker\n├── upgrade templates [--force]\n└── version\n","text",[452,514,511],{"__ignoreMap":474},[448,516,517],{},"Gyors, parancsonkénti tájékozódás:",[519,520,521,539,547,554,560,570,595,606,625,636,652,663,681,696],"ul",{},[522,523,524,525,530,531,534,535,538],"li",{},"A ",[526,527,528],"a",{"href":326},[452,529,325],{}," modult generál: belépési pont, első surface, kontraktus, plusz a modul-szintű ",[452,532,533],{},"core","\u002F",[452,536,537],{},"repository"," vázak.",[522,540,541,542,546],{},"Az ",[526,543,544],{"href":331},[452,545,330],{}," újabb surface-t ad egy meglévő modulhoz.",[522,548,541,549,553],{},[526,550,551],{"href":340},[452,552,339],{}," egy műveletet ad egy meglévő surface-hez.",[522,555,541,556,559],{},[452,557,558],{},"add event"," létrehoz egy eventet, és bedrótozza a modulba az outbox dispatchert.",[522,561,541,562,565,566,569],{},[452,563,564],{},"add listener"," feliratkozik egy eventre (a ",[452,567,568],{},"--queue"," egy nevesített asynq sorra irányítja).",[522,571,541,572,575,576,541,579,581,582,581,584,586,587,590,591,594],{},[452,573,574],{},"add job"," ütemez egy ismétlődő handlert.",[577,578],"br",{},[452,580,558],{}," \u002F ",[452,583,564],{},[452,585,574],{}," a ",[452,588,589],{},"cmd\u002Fworker"," binárishoz készít háttérmunkát (lásd a ",[526,592,593],{"href":221},"worker koncepciókat","); minden projekt tartalmazza a workert, így ezek a parancsok azonnal használhatók.",[522,596,541,597,601,602,605],{},[526,598,599],{"href":301},[452,600,300],{}," egy modul-tulajdonú mail-notifiert (payload + sablonok) generál, és a projekt első notifierénél bedrótoz egy közös ",[452,603,604],{},"mail.Mailer","-t minden belépési pontba.",[522,607,541,608,612,613,616,617,620,621,624],{},[526,609,610],{"href":306},[452,611,305],{}," egy modul-tulajdonú, többcsatornás notificationt (payload + ",[452,614,615],{},"Via"," + csatornánkénti tartalom) generál, és a projekt első notificationjénél bedrótoz egy közös ",[452,618,619],{},"notify.Sender","-t minden belépési pontba, plusz a ",[452,622,623],{},"notifications"," tábla migrációt.",[522,626,541,627,631,632,635],{},[526,628,629],{"href":311},[452,630,310],{}," a dedikált, horizontálisan skálázható ",[452,633,634],{},"cmd\u002Frealtime"," gatewayt scaffoldolja, ami élőben kézbesíti a notificationöket a csatlakozott klienseknek.",[522,637,541,638,641,642,644,645,534,648,651],{},[452,639,640],{},"add worker"," hozzáadja a worker-réteget (",[452,643,589],{},", modulonkénti ",[452,646,647],{},"listeners\u002F",[452,649,650],{},"jobs\u002F"," alcsomagok, az outbox migráció) egy olyan projekthez, amelyben még nincs.",[522,653,524,654,658,659,662],{},[526,655,656],{"href":345},[452,657,344],{}," számozott goose SQL migrációt hoz létre a ",[452,660,661],{},"migrations\u002F"," mappában.",[522,664,541,665,669,670,673,674,680],{},[526,666,667],{"href":291},[452,668,290],{}," egy modulhoz ad hozzá egy másik, önálló adatbázis-kapcsolatot (saját pool, config és ",[452,671,672],{},"Dependencies"," mezők, pgx vagy bun); az ",[526,675,677],{"href":676},"\u002Fhu\u002Fcli\u002Fadd-surface#repository-bek%C3%B6t%C3%A9se-neves%C3%ADtett-kapcsolathoz",[452,678,679],{},"add surface --db"," a modul közös repository-vázát köti hozzá.",[522,682,541,683,687,688,691,692,695],{},[526,684,685],{"href":336},[452,686,335],{}," a közös ",[452,689,690],{},"core\u002F"," és a modul-szintű ",[452,693,694],{},"repository\u002F"," vázakat adja hozzá egy olyan modulhoz, amelyben ezek még nincsenek meg (tisztán additív, anchorhoz nem nyúl).",[522,697,541,698,703,704,707,708,714],{},[526,699,700],{"href":296},[452,701,702],{},"add compose"," önállóan (újra)generálja a ",[452,705,706],{},"compose.yml","-t (alap stack + egy service manifest-modulonként); az ",[526,709,711],{"href":710},"\u002Fhu\u002Fcli\u002Fadd-compose#add-docker",[452,712,713],{},"add docker"," a Dockerfile-t\u002F.dockerignore-t generálja újra.",[448,716,717,718,721,722,725,726,730,731,534,734,534,737,740,741,743,744,748],{},"Globális flagek minden parancson: ",[452,719,720],{},"--dry-run"," (a terv kiírása, írás nélkül) és ",[452,723,724],{},"--force"," (felülírás engedélyezése). A ",[526,727,728],{"href":321},[452,729,320],{}," ezeken felül elfogadja a ",[452,732,733],{},"--kit-replace",[452,735,736],{},"--replace",[452,738,739],{},"--replace-dev"," flageket is: ez egy contributor\u002Fdev-mode funkció, ami a generált ",[452,742,458],{}," replace-direktíváit lokális modul-checkoutokra irányítja; a hétköznapi fogyasztó-projekteknek sosem kell hozzájuk nyúlniuk, lásd ",[526,745,747],{"href":746},"\u002Fhu\u002Fcli\u002Fnew-project#contributor-mod-lokalis-modul-replace-ek","new project: contributor mód",".",[750,751,753],"h2",{"id":752},"biztonsági-szabályok","Biztonsági szabályok",[519,755,756,772,779,786],{},[522,757,524,758,761,762,764,765,767,768,771],{},[464,759,760],{},"teljes fájlterv előre elkészül","; ha bármely cél létezik, az egész futás megszakad, mielőtt bármi íródna (kivéve ",[452,763,724],{},"). Részleges írás nincs. ",[452,766,724],{}," esetén a futás folytatódik, de előbb minden felülírandó létező fájlra kiír egy ",[452,769,770],{},"overwriting \u003Cpath>"," sort, így az újragenerálás soha nem írja felül némán a fájlokat.",[522,773,774,775,778],{},"A generált ",[452,776,777],{},".go"," fájlok goimports-szal formázódnak; az érvénytelen Go-t renderelő template hangosan hibázik.",[522,780,781,782,785],{},"Meglévő fájl ",[464,783,784],{},"kizárólag anchor-kommenteknél"," módosul, sehol máshol.",[522,787,788],{},"A beszúrások idempotensek: egy generátor újrafuttatása sosem duplikál blokkot.",[750,790,792],{"id":791},"anchorok","Anchorok",[794,795,796,812],"table",{},[797,798,799],"thead",{},[800,801,802,806,809],"tr",{},[803,804,805],"th",{},"Anchor",[803,807,808],{},"Fájl",[803,810,811],{},"Beszúrja",[813,814,815,831,849,863,880,894,908,928,951,976],"tbody",{},[800,816,817,823,828],{},[818,819,820],"td",{},[452,821,822],{},"gpsystem:modules",[818,824,825],{},[452,826,827],{},"spec\u002Ftypespec\u002Fmain.tsp",[818,829,830],{},"new module \u002F add surface",[800,832,833,842,847],{},[818,834,835,838,839],{},[452,836,837],{},"gpsystem:imports",", ",[452,840,841],{},"gpsystem:surfaces",[818,843,844],{},[452,845,846],{},"register.go",[818,848,830],{},[800,850,851,856,861],{},[818,852,853],{},[452,854,855],{},"gpsystem:operations",[818,857,858],{},[452,859,860],{},"\u003Csurface>.tsp",[818,862,339],{},[800,864,865,872,877],{},[818,866,867,838,869],{},[452,868,822],{},[452,870,871],{},"gpsystem:deps-init(\u003Cmodul>)",[818,873,874],{},[452,875,876],{},"cmd\u002Fworker\u002Fmain.go",[818,878,879],{},"new module \u002F add worker \u002F add event",[800,881,882,887,892],{},[818,883,884],{},[452,885,886],{},"gpsystem:listeners",[818,888,889],{},[452,890,891],{},"listeners\u002Fregister.go",[818,893,564],{},[800,895,896,901,906],{},[818,897,898],{},[452,899,900],{},"gpsystem:jobs",[818,902,903],{},[452,904,905],{},"jobs\u002Fregister.go",[818,907,574],{},[800,909,910,918,925],{},[818,911,912,838,915],{},[452,913,914],{},"gpsystem:pools",[452,916,917],{},"gpsystem:closers",[818,919,920,838,923],{},[452,921,922],{},"cmd\u002F\u003Cmodul>\u002Fmain.go",[452,924,876],{},[818,926,927],{},"add db (nevesített kapcsolat poolja \u002F closere), add mail (közös mailer konstrukció), add notification (közös notifier + publisher konstrukció\u002Fcloser)",[800,929,930,935,940],{},[818,931,932],{},[452,933,934],{},"gpsystem:config",[818,936,937],{},[452,938,939],{},"internal\u002Fplatform\u002Fconfig\u002Fconfig.go",[818,941,942,943,946,947,950],{},"add db (nevesített kapcsolat config mezője), add mail (",[452,944,945],{},"Mail smtp.Config","), add realtime (",[452,948,949],{},"Realtime realtime.Config",")",[800,952,953,960,966],{},[818,954,955,838,958],{},[452,956,957],{},"gpsystem:dependencies-init",[452,959,871],{},[818,961,962,838,964],{},[452,963,922],{},[452,965,876],{},[818,967,968,969,972,973,950],{},"add mail (",[452,970,971],{},"Mailer: mailer,","), add notification (",[452,974,975],{},"Notifier: notifier,",[800,977,978,983,988],{},[818,979,980],{},[452,981,982],{},"gpsystem:topics",[818,984,985],{},[452,986,987],{},"cmd\u002Frealtime\u002Fmain.go",[818,989,990],{},"add realtime (megosztott topic-csatorna authorizáció)",[992,993,994],"warning",{},"Egy anchor-komment törlése után az érintett generátor világos hibával áll le: nem találgat, hova szúrjon be. Hagyd őket a helyükön.",[750,996,998,999],{"id":997},"a-manifest-gpsystemyaml","A manifest: ",[452,1000,1001],{},"gpsystem.yaml",[448,1003,524,1004,1006],{},[452,1005,320],{}," írja a projekt gyökerébe; a CLI felfelé sétálva találja meg a projektet.",[469,1008,1012],{"className":1009,"code":1010,"language":1011,"meta":474,"style":474},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","version: 1\nname: shop\nmodule: github.com\u002Facme\u002Fshop\nkit: github.com\u002Fgp-system\u002Fgpsystem@v0.1.0\nengine: chi\ndb: pgx\ntemplatesSHA: 4f2a…            # a telepített oapi template-készlet checksumja\nmodules:\n  news:\n    surfaces: [api, admin]\n    dbs:\n      - name: analytics\n        connector: bun\n    surfaceDBs:\n      admin: analytics\n","yaml",[452,1013,1014,1027,1038,1049,1060,1071,1082,1097,1106,1114,1137,1145,1159,1170,1178],{"__ignoreMap":474},[478,1015,1016,1020,1023],{"class":480,"line":481},[478,1017,1019],{"class":1018},"swJcz","version",[478,1021,1022],{"class":495},":",[478,1024,1026],{"class":1025},"sbssI"," 1\n",[478,1028,1030,1033,1035],{"class":480,"line":1029},2,[478,1031,1032],{"class":1018},"name",[478,1034,1022],{"class":495},[478,1036,1037],{"class":488}," shop\n",[478,1039,1041,1044,1046],{"class":480,"line":1040},3,[478,1042,1043],{"class":1018},"module",[478,1045,1022],{"class":495},[478,1047,1048],{"class":488}," github.com\u002Facme\u002Fshop\n",[478,1050,1052,1055,1057],{"class":480,"line":1051},4,[478,1053,1054],{"class":1018},"kit",[478,1056,1022],{"class":495},[478,1058,1059],{"class":488}," github.com\u002Fgp-system\u002Fgpsystem@v0.1.0\n",[478,1061,1063,1066,1068],{"class":480,"line":1062},5,[478,1064,1065],{"class":1018},"engine",[478,1067,1022],{"class":495},[478,1069,1070],{"class":488}," chi\n",[478,1072,1074,1077,1079],{"class":480,"line":1073},6,[478,1075,1076],{"class":1018},"db",[478,1078,1022],{"class":495},[478,1080,1081],{"class":488}," pgx\n",[478,1083,1085,1088,1090,1093],{"class":480,"line":1084},7,[478,1086,1087],{"class":1018},"templatesSHA",[478,1089,1022],{"class":495},[478,1091,1092],{"class":488}," 4f2a…",[478,1094,1096],{"class":1095},"sHwdD","            # a telepített oapi template-készlet checksumja\n",[478,1098,1100,1103],{"class":480,"line":1099},8,[478,1101,1102],{"class":1018},"modules",[478,1104,1105],{"class":495},":\n",[478,1107,1109,1112],{"class":480,"line":1108},9,[478,1110,1111],{"class":1018},"  news",[478,1113,1105],{"class":495},[478,1115,1117,1120,1122,1125,1128,1131,1134],{"class":480,"line":1116},10,[478,1118,1119],{"class":1018},"    surfaces",[478,1121,1022],{"class":495},[478,1123,1124],{"class":495}," [",[478,1126,1127],{"class":488},"api",[478,1129,1130],{"class":495},",",[478,1132,1133],{"class":488}," admin",[478,1135,1136],{"class":495},"]\n",[478,1138,1140,1143],{"class":480,"line":1139},11,[478,1141,1142],{"class":1018},"    dbs",[478,1144,1105],{"class":495},[478,1146,1148,1151,1154,1156],{"class":480,"line":1147},12,[478,1149,1150],{"class":495},"      -",[478,1152,1153],{"class":1018}," name",[478,1155,1022],{"class":495},[478,1157,1158],{"class":488}," analytics\n",[478,1160,1162,1165,1167],{"class":480,"line":1161},13,[478,1163,1164],{"class":1018},"        connector",[478,1166,1022],{"class":495},[478,1168,1169],{"class":488}," bun\n",[478,1171,1173,1176],{"class":480,"line":1172},14,[478,1174,1175],{"class":1018},"    surfaceDBs",[478,1177,1105],{"class":495},[478,1179,1181,1184,1186],{"class":480,"line":1180},15,[478,1182,1183],{"class":1018},"      admin",[478,1185,1022],{"class":495},[478,1187,1158],{"class":488},[448,1189,1190,1191,1194,1195,1197,1198,1200,1201,534,1204,1207,1208,1212],{},"Ez a generátorok igazságforrása arról, mi létezik (az ",[452,1192,1193],{},"add surface news admin"," azonnal hibázik, ha a modul hiányzik vagy a surface már megvan), és a ",[452,1196,1043],{}," mezőt a ",[452,1199,458],{},"-dal is összeveti. A ",[452,1202,1203],{},"dbs",[452,1205,1206],{},"surfaceDBs"," csak akkor jelenik meg, ha a modulnak van nevesített kapcsolata (",[526,1209,1210],{"href":291},[452,1211,290],{}," révén); a nélkülük írt manifestek változatlanul betöltődnek.",[1214,1215,541,1216,1218,1219,1222,1223,1226],"note",{},[452,1217,1065],{}," mindig ",[452,1220,1221],{},"chi",": a gpsystem kizárólag net\u002Fhttp (chi) alapú backendet generál, és a ",[452,1224,1225],{},"LoadManifest"," is csak ezt az értéket fogadja el; egy ettől eltérő engine-értékű manifest betöltése világos hibával áll le, nem generál csendben hibás kódot.",[1228,1229,1230],"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 .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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}",{"title":474,"searchDepth":1029,"depth":1029,"links":1232},[1233,1234,1235],{"id":752,"depth":1029,"text":753},{"id":791,"depth":1029,"text":792},{"id":997,"depth":1029,"text":1236},"A manifest: gpsystem.yaml","Hogyan működik a gpsystem CLI: tool directive, biztonsági szabályok, anchorok, manifest.","md",null,{},{"icon":282},{"title":52,"description":1237},"mU3-YkGTrnU-0EPxxHynt8uwmrt6B_ByzPIwcDuDvI0",[1245,1247],{"title":277,"path":278,"stem":279,"description":1246,"icon":111,"children":-1},"Discord, Facebook, Apple, Google és bármely más OAuth2 provider bekötése az add auth modulba.",{"title":290,"path":291,"stem":292,"description":1248,"icon":293,"children":-1},"Nevesített adatbázis-kapcsolat hozzáadása egy modulhoz, saját poollal és connectorral.",1785445882616]