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.
Skjema
Section titled “Skjema”{ "domains": { "security": "SEC", "compliance": "COMP" }, "paths": { "adrs": "docs/adrs", "rules": "docs/adrs" }, "baseBranch": "main"}domains
Section titled “domains”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.
baseBranch
Section titled “baseBranch”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/.
Stivalidering
Section titled “Stivalidering”- 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/adrsavvises). - Stier bruker skråstrek (
/) som skilletegn, i tråd med standard globkonvensjoner.
Egendefinert ADR-katalog
Section titled “Egendefinert ADR-katalog”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:
- Opprett målkatalogen (f.eks.
mkdir -p docs/adrs) - Flytt eksisterende ADR-filer og deres tilhørende
.rules.ts-filer fra.archgate/adrs/til den nye katalogen - Kjør
archgate checkfor å 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.
Eksempel: dokumentasjonsmappe i monorepo
Section titled “Eksempel: dokumentasjonsmappe i monorepo”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/ ...Merknader
Section titled “Merknader”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.jsonetter atarchgate initer kjørt. - Typedefinisjonfilen
rules.d.tsskrives 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.