Telepítés
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
tooldirective 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-pathlesz ago.modmodulod és minden generált import útvonala. Válaszd meg gondosan, utólag drága cserélni. - A
--diropcionális (alapértelmezés:./<név>). - A
--db pgx|bunválasztja ki az adatbázis-réteget (alapértelmezés:pgx); ez agpsystem.yamlmanifestbe 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.
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.