Gå til innholdet

Archgate

Skriv en ADR én gang. Håndhev den overalt. Gi den til AI-agenter automatisk.

Archgate har to lag som fungerer sammen:

  1. ADR-er som dokumenter — Markdown-filer med YAML-frontmatter som beskriver arkitekturbeslutninger i klartekst. Mennesker leser dem. AI-agenter leser dem. Alle holder seg samkjørte.

  2. ADR-er som regler — Tilhørende .rules.ts-filer med automatiserte kontroller skrevet i TypeScript. De kjøres mot kodebasen din og rapporterer brudd med filstier og linjenumre.

ADR-er som håndhever seg selv

Skriv en beslutning i Markdown. Legg til regler i TypeScript. CLI-en sjekker samsvar automatisk.

ARCH-003-api-routes.md
---
id: ARCH-003
title: API Route Conventions
domain: backend
rules: true
files:
  - "src/api/**/*.ts"
---

## Decision

All API route handlers must use the
createRoute() factory function.
Direct export default is prohibited.

## Do's and Don'ts

DO:  Use createRoute({ handler })
DON'T: Use export default function
ARCH-003-api-routes.rules.ts
export default {
  rules: {
    "require-createRoute": {
      description: "Use createRoute() factory",
      severity: "error",
      async check(ctx) {
        const files = await ctx.glob("src/api/**/*.ts");

        for (const file of files) {
          const hits = await ctx.grep(
            file, /export\s+default\s+function/
          );
          for (const hit of hits) {
            ctx.report.violation({
              file, line: hit.line,
              message: "Use createRoute() factory",
            });
          }
        }
      },
    },
  },
} satisfies RuleSet;
Terminal
$ archgate check
ARCH-003 API Route Conventions
error require-createRoute: Use createRoute() factory
src/api/users/list.ts:14
1 violation found across 1 ADR

Når du kjører archgate check, laster CLI-en inn hver ADR som har rules: true i frontmatter, kjører den tilhørende regelfilen og rapporterer eventuelle brudd. Utgangskode 0 betyr at koden din er i samsvar. Utgangskode 1 betyr at den ikke er det.

Kjørbare regler

Skriv regler i TypeScript. Archgate kjører dem mot kodebasen din og rapporterer brudd med filstier og linjenumre. Reglene ligger ved siden av beslutningene de håndhever.

CI-integrasjon

Koble archgate check inn i pipelinen din. Utgangskode 1 blokkerer merges når regler brytes. Fungerer med GitHub Actions, GitLab CI eller ethvert CI-system som respekterer utgangskoder.

AI-bevisst styring

Editorplugins gir AI-agenter direkte tilgang til ADR-ene dine via CLI-kommandoer. De leser beslutninger før de skriver kode, og validerer etterpå. Ingen kopiering og liming av regler i ledetekster.

Selvstyre

Archgate styrer sin egen utvikling. Det samme verktøyet som sjekker koden din, sjekker vår. Våre egne ADR-er håndhever kommandostruktur, feilhåndtering, utdataformatering, testing og mer — se dem på GitHub.

Archgate CLI fungerer frittstående, men editorplugins låser opp en fullstendig AI-styringsarbeidsflyt. Plugins gir AI-agenter rollebaserte ferdigheter slik at de leser ADR-ene dine før de koder, validerer etterpå og fanger opp nye mønstre for teamet ditt — automatisk.

Claude Code

Claude Code-pluginen legger til fem ferdigheter: developer, architect, quality-manager, adr-author og onboard. Agenter følger en strukturert les-valider-fang-løkke for hver oppgave.

Cursor

Cursor-pluginen tilbyr ferdigbygde agentregler og ferdigheter som gir Cursors AI-agent den samme styringsarbeidsflyten som Claude Code.