Kjøreregler for AI-agenter som jobber med dette prosjektet.
- Go-prosjekt med GraphQL API og gRPC
- Domene-drevet design: pakker i
internal/inneholder ett domene hver - GraphQL schema i
internal/graph/schema/*.graphqls - SQL queries i
internal/<domain>/queries/*.sql - Integrasjonstester i
integration_tests/*.lua
| Oppgave | Kommando |
|---|---|
| Bygg | mise run build |
| Kjør lokalt | mise run local |
| Kjør alle tester | mise run test |
| Kun enhetstester | mise run test:unit |
| Integrasjonstester med UI | mise run test:ui |
| Generer all kode | mise run generate |
| Generer GraphQL | mise run generate:graphql |
| Generer SQL | mise run generate:sql |
| Generer mocks | mise run generate:mocks |
| Formater kode | mise run fmt |
| Alle sjekker | mise run check |
go test -v -tags=integration_test -run "TestIntegration/<testnavn>" ./integration_tests- Før du endrer kode: Les relevante filer for å forstå eksisterende mønstre
- Etter endringer i
.graphqls: Kjørmise run generate:graphql- Hvis det havner modeller i
internal/graph/model/donotuse/models_gen.go, flytt disse til riktig pakke/domene og generer på nytt
- Hvis det havner modeller i
- Etter endringer i
.sql: Kjørmise run generate:sql - Etter alle endringer: Kjør
mise run testogmise run fmt - Ved kompileringsfeil: Sjekk at generert kode er oppdatert
- Utviklingspraksis:
docs/practices.md - GraphQL-konvensjoner:
docs/graphql_practices.md - Audit logging:
docs/audit_events.md
- GraphQL:
.configs/gqlgen.yaml - SQL (sqlc):
.configs/sqlc.yaml - Mocks:
.configs/mockery.yaml
mise install
cp .env.example .env
docker compose up -d
mise run local:setup
mise run localFor å teste som bruker, sett header X-User-Email: dev.usersen@example.com.
For admin: X-User-Email: admin.usersen@example.com.