Kezdő lépések

Telepítés

Előfeltételek, a CLI telepítése és az első gpsystem projekted létrehozása.

Ennek az oldalnak a végén a gpsystem CLI telepítve lesz, egy friss projekt felvázolva, és a lokális dev-stack (Postgres, Valkey, mail-catcher, object storage) fut Dockerben, készen az első modulodra.

Előfeltételek

  • Go 1.25+ (a tool directive Go 1.24+-t igényel; a kit és minden modul az aktuális Go-release-t célozza)
  • Node 24+ npm-mel: a TypeSpec fordítóhoz; a generált projekt mise.toml-ja ezt a verziót pineli
  • Docker: a teljes dev-stack (postgres, valkey, mailpit, rustfs, app-modulok) a compose.yml-ből fut; docker compose ≥ 2.17 + BuildKit szükséges (additional_contexts + cache mountok a Dockerfile-ban)
  • docker network create proxynet: a stack kifelé Traefik-labelekkel megy ki egy külső, workspace-szinten megosztott hálózaton; egyszeri, projektek között közös
  • A mise ajánlott; a generált projektek mise.toml-t kapnak pinelt tool-verziókkal és taskokkal

A CLI telepítése

A kit és a 12 kísérő modulja (errs, envconf, httperr, dbx, paginate, queue, events, auth, mail, notify, storage, telemetry) mind publikus, külön tagelt Go-modul. Nincs privát repó, nincs token, nincs speciális Go-beállítás: egy sima go install a publikus module proxy-ról oldja fel a CLI-t.

go install github.com/gp-system/gpsystem/cmd/gpsystem@latest

Ha csapatban reprodukálható scaffoldingra van szükséged, @latest helyett érdemes rögzített release-t telepíteni:

go install github.com/gp-system/gpsystem/cmd/gpsystem@v0.1.0

Projekt létrehozása

gpsystem new project shop \
  --module-path github.com/acme/shop \
  --dir ./shop
cd shop
  • A --module-path lesz a go.mod modulod és minden generált import útvonala. Válaszd meg gondosan, utólag drága cserélni.
  • A --dir opcionális (alapértelmezés: ./<név>).
  • A --db pgx|bun választja ki az adatbázis-réteget (alapértelmezés: pgx); ez a gpsystem.yaml manifestbe kerül, és minden későbbi generálás ehhez igazodik. Részletek a new project oldalon.

Függőségek feloldása

go mod tidy

A generált go.mod minden github.com/gp-system/* modulja publikus és tagelt: a go mod tidy egyenesen a module proxy-ról oldja fel őket, replace direktíva nélkül. Ez a tool directive-eket is feloldja, így innentől a CLI go tool gpsystem-ként fut: a go.mod-ban rögzített verzión, a csapat minden tagjánál ugyanazon.

A TypeSpec toolchain telepítése

mise run setup   # npm ci / npm install

A lokális dev-stack indítása

cp .env.example .env               # USER_ID/GROUP_ID: id -u / id -g
docker network create proxynet     # egyszeri
mise run dev                       # build + a teljes stack indítása (postgres, valkey, mailpit, rustfs, ...)

Mit kapsz

Teljes projektvázat: gpsystem.yaml manifest, TypeSpec források a spec/typespec/ alatt, codegen konfiguráció és a chi oapi-codegen template-jei az api/oapi-codegen/ alatt, env-alapú konfiguráció, compose fájl, lint konfig és mise taskok. A teljes fát a Projektstruktúra írja le.

Modul még nincs. Következő lépésként hozd létre az elsőt: Az első modulod.

Magát a kitet fejleszted, vagy egy még nem publikált modulváltoztatás ellen kell tesztelned? A new project a --kit-replace, --replace és --replace-dev flageket is elfogadja: ezek a generált go.mod-ot lokális checkoutokra mutatják a publikált tagek helyett. Ez egy fejlesztői út: a flagekről a new project CLI-referencia ad részleteket.
Copyright © 2026