Gå til innholdet

Konfigurasjon

Filen .archgate/config.json lagrer konfigurasjon på prosjektnivå som committes til versjonskontroll og deles på tvers av teamet.

Denne filen opprettes automatisk av archgate init (for å lagre den autodetekterte basisgrenen og eventuelle egendefinerte domener) eller når du legger til konfigurasjon manuelt. Den ligger inne i .archgate/-katalogen i prosjektroten din.

{
"domains": { "security": "SEC", "compliance": "COMP" },
"paths": { "adrs": "docs/adrs", "rules": "docs/adrs" },
"baseBranch": "main"
}

Egendefinerte domene-til-prefiks-tilordninger. Se Egendefinerte domener for detaljer.

| Nøkkel | Type | Beskrivelse | | ------ | -------- | --------------------------------------------------------------------------------------------------------- | | navn | string | Domenenavn (kebab-case med små bokstaver, 2-32 tegn) tilordnes et ID-prefiks (store bokstaver, 2-10 tegn) |

Disse slås sammen med de innebygde domenene (backend, frontend, data, architecture, general) ved lesing. Egendefinerte oppføringer kan ikke overstyre innebygde navn eller prefikser.

Basisgren for endringsdeteksjon i archgate check. Når dette er satt, hopper archgate check over autodeksjonsprobing og bruker denne verdien direkte for populering av ctx.changedFiles via git diff <baseBranch>...HEAD.

| Type | Standard | Beskrivelse | | -------- | ---------------- | ------------------------------------------------------------ | | string | (autodetekter) | Grennavn eller fjernreferanse (f.eks. main, origin/main) |

Dette feltet fylles automatisk av archgate init når et git-repository detekteres. Autodeteksjonen prøver origin/HEAD, origin/main, origin/master, lokal main og lokal master (første treff vinner). Å kjøre archgate init på nytt overskriver ikke en manuelt konfigurert verdi.

Du kan også sette den manuelt:

{ "baseBranch": "main" }

Se archgate check — Deteksjon av endrede filer for den fullstendige prioritetsrekkefølgen.

Overstyr standardkataloger for ADR-er og regler.

| Felt | Type | Standard | Beskrivelse | | ------- | -------- | ---------------- | ------------------------------------- | | adrs | string | .archgate/adrs | Relativ sti til ADR-katalogen | | rules | string | .archgate/lint | Relativ sti til regel-/lint-katalogen |

Begge feltene er valgfrie. Når de utelates, brukes standardkatalogene .archgate/adrs/ og .archgate/lint/.

  • Stier må være relative til prosjektroten — absolutte stier (f.eks. /docs/adrs, C:\docs\adrs) avvises.
  • Stier må ikke inneholde ..-segmenter — traversering over prosjektroten er ikke tillatt (f.eks. ../other-repo/adrs avvises).
  • Stier bruker skråstrek (/) som skilletegn, i tråd med standard globkonvensjoner.

Som standard ligger ADR-er i .archgate/adrs/. For å lagre dem i en annen katalog (f.eks. docs/adrs/), legg til en paths-seksjon i .archgate/config.json:

{ "paths": { "adrs": "docs/adrs" } }

Etter at konfigurasjonen er lagt til:

  1. Opprett målkatalogen (f.eks. mkdir -p docs/adrs)
  2. Flytt eksisterende ADR-filer og deres tilhørende .rules.ts-filer fra .archgate/adrs/ til den nye katalogen
  3. Kjør archgate check for å verifisere at reglene fortsatt lastes riktig

Alle CLI-kommandoer (archgate adr list, archgate adr create, archgate check, archgate review-context) leser automatisk den konfigurerte katalogen.

Et vanlig mønster er å plassere ADR-er sammen med annen dokumentasjon:

my-project/
.archgate/
config.json # { "paths": { "adrs": "docs/adrs" } }
lint/
rules.d.ts
docs/
adrs/
ARCH-001-api-design.md
ARCH-001-api-design.rules.ts
BE-001-database-access.md
BE-001-database-access.rules.ts
rules.d.ts # autogenerert av archgate check
guides/
...
src/
...
  • paths-konfigurasjonen er en teamomfattende innstilling — den committes til versjonskontroll og gjelder for alle teammedlemmer. Det finnes ingen brukernivå-overstyring for ADR-stier.
  • Endring av konfigurasjonen krever manuell redigering av .archgate/config.json etter at archgate init er kjørt.
  • Typedefinisjonfilen rules.d.ts skrives automatisk til både .archgate/ og foreldrekatalogen til den konfigurerte ADR-katalogen, slik at tilhørende .rules.ts-filer løser /// <reference path="../rules.d.ts" />-direktivet riktig.