docs: CLI in README, Architektur und Konventionen
Refs #013 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -38,6 +38,7 @@ src/app/api/v1/* Route Handler: Recht prüfen, zod, Service. Sonst nichts
|
||||
src/components/* Darstellung, keine Geschäftslogik.
|
||||
src/lib/* Framework-freie Helfer; was Client und Server teilen, liegt hier.
|
||||
src/worker/* Hintergrundprozess (pg-boss).
|
||||
cli/ CLI in Go; nur REST-API. Typen aus cli/api/openapi.json (oapi-codegen).
|
||||
```
|
||||
|
||||
- **Web-GUI und CLI nutzen dieselbe REST-API.** Keine Logik nur für eine Oberfläche.
|
||||
@@ -61,6 +62,11 @@ Node 24 über nvm (`export NVM_DIR="$HOME/.nvm"; . "$NVM_DIR/nvm.sh"`), pnpm 12.
|
||||
`pino@10.4.0`. Obergrenzen: **eslint 9.x** (eslint-plugin-react aus eslint-config-next kann 10 nicht),
|
||||
**typescript ~6.0.3** (typescript-eslint 8 erlaubt < 6.1).
|
||||
|
||||
CLI: **Go 1.27.2** ohne sudo unter `~/.local/go` (`export PATH="$HOME/.local/go/bin:$PATH"`),
|
||||
`cobra 1.10.2`, `BurntSushi/toml 1.6.0`, `x/term 0.46.0`, `go-runewidth 0.0.30`,
|
||||
`go.yaml.in/yaml/v3 3.0.5`, `oapi-codegen 2.8.0` (als `go tool`). Antwortschemas der API stehen in
|
||||
`src/lib/schemas/api.ts`; nach einer Änderung `pnpm openapi` und `go generate ./...` in `cli/`.
|
||||
|
||||
Next 16: `proxy.ts` statt middleware; `cookies()`, `headers()`, `params`, `searchParams` sind async.
|
||||
Prisma 7: Client aus `@/generated/prisma/client`, Enum-Werte aus `@/generated/prisma/enums`, Zugriff
|
||||
über den Lazy-Proxy `src/lib/db.ts`.
|
||||
@@ -70,6 +76,7 @@ Prisma 7: Client aus `@/generated/prisma/client`, Enum-Werte aus `@/generated/pr
|
||||
```bash
|
||||
pnpm db:up
|
||||
pnpm lint && pnpm typecheck && pnpm format:pruefen && pnpm test
|
||||
pnpm cli:pruefen # wenn API-Schemas oder cli/ betroffen sind
|
||||
```
|
||||
|
||||
Ohne laufende Datenbank überspringt `pnpm test` die Datenbanktests und sagt es auf stderr.
|
||||
|
||||
Reference in New Issue
Block a user