Oh-My-NavLogg inn

Bygget med GitHub Copilot

PersonvernTilgjengelighetGitHub

nav-pilot dokumentasjon

Beta

Alt du trenger for å komme i gang med nav-pilot.

Kom i gangGod praksisVerktøyRetningslinjernav-pilotcpltStatistikkAdopsjonOrdbok

Innhold

  • Introduksjon
    • Hva er nav-pilot?
    • Isolasjon er påkrevd
    • Hvorfor nav-pilot?
    • Hva nav-pilot vet
  • Kom i gang
    • Installasjon (5 min)
    • Personlig installasjon (valgfritt)
    • Vanlige oppgaver
  • Klienter og konfigurasjon
    • Støttede klienter
    • OpenCode
    • Konfigurasjon
    • Konfigurasjonsnøkler
  • Collections
    • Tilgjengelige collections
    • Innhold i hver collection
    • Planning skills
  • Planleggingspipelinen
    • De fire fasene
    • Skills i detalj
  • Kompetansebevaring
    • Grønn og rød sone
    • Demo: I praksis
  • Sync og oppdatering
    • Automatisk sync
    • Lokal sync
    • Tilpasse synkronisering
    • FAQ
  • Tilpasning
    • Team-egne instruksjoner
    • Prosjektkontekst med nav-pilot init
    • Overstyre installerte filer
    • Ignorere enkeltkomponenter
  • CLI-referanse
    • Installer CLI
    • Oppgrader CLI
    • Kommandooversikt
  • Slik fungerer det
    • Filstruktur
  • Ressurser
    • Arkitektur
    • Designprinsipper
    • Lenker

Hva er nav-pilot?

nav-pilot er et CLI-verktøy og en AI-agent. CLI-et klargjør repoet ditt med riktige agenter, skills og instruksjoner. Agenten (@nav-pilot) bruker denne kunnskapen til å planlegge og arkitektere Nav-applikasjoner i Copilot Chat. I bakgrunnen sørger CLI-et også for at token-bruken din optimaliseres automatisk.

nav-pilot inneholder én planleggingsagent, fire planning skills og fem collections. Collectionene koder Navs institusjonelle kunnskap som kjørbare arbeidsflyter. CLI-et installerer markdown-filer — selve AI-funksjonaliteten kjøres av GitHub Copilot.

@nav-pilot

Planleggingsagent — din inngangsport

$nav-deep-interview

Avdekker blindsoner (personvern, auth, avhengigheter)

$nav-plan

Beslutningstrær → Nais-manifest, CI/CD, prosjektstruktur

$nav-architecture-review

Flerperspektiv-review → ADR

$nav-troubleshoot

Diagnostikk for pod-krasj, 401-er, Kafka-lag, DB-feil

Velg din stack

Kotlin/Ktor og Spring Boot på Nais

Rammeverk-uavhengig frontend (Astro, Remix, Vite …)

Next.js med Aksel Design System

Komplett stack (backend + frontend)

Nais, observability, sikkerhet og Go

Isolasjon er påkrevd på Nav-utstyr

Når du bruker en AI-agent på Nav-utstyr, skal agenten kjøre i en sandbox eller tilsvarende isolasjon. Kravet gjelder både Nav-relatert og personlig agentarbeid.

Bruk cplt — det er den anbefalte og enkleste løsningen. Hvis du velger en annen løsning, må du selv sette deg inn i hvordan agentklienten isolerer agenten, og aktivere denne funksjonen. Hvis klienten ikke gir tilstrekkelig beskyttelse, må du sørge for tilsvarende isolasjon, for eksempel med en VM eller container. Ikke kjør agenter med ubegrenset tilgang til Nav-utstyret.

Les kortversjonen av kravet for en lenke du kan dele med andre.

Hvorfor nav-pilot?

oh-my-openagent og lignende verktøy bygger bedre orkestrering — multi-agent-delegering, parallellkjøring og selvkorrigering. nav-pilot bygger bedre kunnskap. Orkestrering blir standardvare — institusjonell kunnskap er vanskelig å kopiere.

oh-my-openagentnav-pilot ✦
Fokus–Orkestrering og multi-agentInstitusjonell kunnskap
Inngangspunkt–ultrawork (terminal)Terminal, VS Code, JetBrains, GitHub.com
Kunnskap–Generisk kodingNavs kunnskapsbase
Auth–Vet ikke hva TokenX erVelger riktig auth basert på caller-type
Plattform–Vet ikke hva Nais erGenererer Nais-manifest med riktig accessPolicy
Oppdateringer–git pull / manueltAuto-sync workflow (ukentlig PR)

Hva nav-pilot vet som Copilot ikke vet

Copilot er god på kode, men vet ingenting om:

At innbyggere bruker ID-porten, men saksbehandlere bruker Azure AD

At du trenger accessPolicy.inbound i Nais-manifestet, ellers kan ingen kalle tjenesten din

At HikariCP default pool (10) er for stor for containere — start med 3

At du aldri skal sette CPU-limits i Nais (bare requests)

At PII aldri skal logges — logg sakId, ikke fnr

At Chainguard-images er standard i Nav, ikke distroless

At Rapids & Rivers-meldinger trenger @event_name og demandValue

Denne kunnskapen er kodet inn i nav-pilots beslutningstrær, blindsone-sjekklister og diagnostiske trær.

Kom i gang

Fra null til fungerende nav-pilot på 5 minutter.

Installasjon (5 min)

1
brew install navikt/tap/nav-pilot navikt/tap/cplt

Valgfritt for zsh eller bash: Legg alias copilot='cplt --' og alias np='nav-pilot' i shell-profilen din. Aliasene gjelder bare i terminalen.

2
cd /path/to/your/repo
nav-pilot
3

Du kan bruke nav-pilot på tre måter — velg den som passer deg best:

cplt -- --agent nav-pilot --prompt "Jeg trenger en ny tjeneste som behandler dagpengesøknader"
@nav-pilot Jeg trenger en ny tjeneste som behandler dagpengesøknader
nav-pilot

Starter interaktiv modus — sjekker oppdateringer og tilbyr å starte Copilot med valgt agent.

Personlig installasjon (valgfritt)

Du kan også installere agenter, skills og instruksjoner til hjemmemappen. De blir da tilgjengelige i alle repoer uten å endre hvert enkelt.

nav-pilot install --user

Filene installeres til ~/.copilot/. Agenter og skills plukkes opp automatisk av GitHub Copilot. Instruksjoner krever COPILOT_CUSTOM_INSTRUCTIONS_DIRS og fungerer kun med Copilot CLI — nav-pilot setter denne automatisk i interaktiv modus. OpenCode mottar Nav-kontekst på en annen måte — se OpenCode.

Når nye komponenter dukker opp i kilden, varsler nav-pilot om det ved oppstart. Vil du ikke installere en bestemt komponent, stopper du varselet med:

nav-pilot ignore instruction nextjs-aksel --user

For direkte bruk av cplt, legg til i shell-profilen:

eval "$(nav-pilot env)"

Trenger du full kommandoreferanse? Gå til CLI-referanse. Her i «Kom i gang» holder vi kun minimumsstegene.

Vanlige oppgaver

Du trenger ikke huske skill-navn. Bare beskriv oppgaven — nav-pilot bruker riktig kunnskap automatisk. Her er eksempler:

OppgaveEksempel-prompt
Bygge ny tjeneste«Jeg trenger en ny tjeneste for dagpenger»
Legge til autentisering«Legg til TokenX-validering i API-et»
Debugge deploy«Poden min krasjer i dev, hjelp meg feilsøke»
Gjennomgå før PR«Gjør en sikkerhetsgjennomgang av disse endringene»
Sette opp Kafka«Vi trenger en Kafka-consumer for vedtakshendelser»
Legge til observerbarhet«Sett opp metrikker og tracing for tjenesten»
Migrere Java → Kotlin«Hjelp meg migrere denne klassen til Kotlin»
Få kortere svar«$terse-mode»
Planlegge arkitektur«Planlegg arkitekturen for nytt saksbehandlersystem»

Klienter og konfigurasjon

nav-pilot kan starte ulike kodingsagent-klienter. Du velger klient via flagg eller konfigurasjonsfil, og tilpasser oppførsel med én felles fil: ~/.nav-pilot/config.toml.

Støttede klienter

Velg klient med --client-flagget eller client-nøkkelen i konfigurasjonsfilen.

copilotStandard

GitHub Copilot / cplt-sandkassen. Fungerer med VS Code, JetBrains og GitHub.com.

opencodeFørste klasse

OpenCode terminal-klient. Nav-kontekst leveres og holdes oppdatert automatisk.

piReservert

Ikke støttet ennå — nav-pilot returnerer feilmelding om du velger denne.

nav-pilot --client opencode
client = "opencode"

OpenCode

OpenCode er en første klasse-klient i nav-pilot. Når du starter med --client opencode, leverer nav-pilot Nav-kontekst (AGENTS.md, skills, kommandoer og agenter) direkte til ~/.config/opencode/ og holder det oppdatert ved hver kjøring.

Nav-kontekst materialiseres til ~/.config/opencode/ og holdes fersk med konfliktsdeteksjon — dine egne redigeringer overskrives ikke.

Når ingen modell er konfigurert, settes github-copilot/auto som Nav-standard for opencode.

OpenTelemetry-konfigurasjon settes opp automatisk — ingen manuell konfigurasjon nødvendig.

~/.config/opencode/.nav-pilot-state.json sporer installerte filer og versjon, slik at sync vet hva som er endret.

nav-pilot export opencode finnes fortsatt for manuell engangseksport, men trengs ikke i den normale flyten — nav-pilot håndterer dette automatisk når du bruker --client opencode.

Merk: Noen konfigurasjonsnøkler (mode=autopilot, context_tier, ask_user) gjelder kun GitHub Copilot. nav-pilot skriver én advarsel hvis disse er eksplisitt satt og du bruker opencode.

Konfigurasjon

nav-pilot leser brukerens konfigurasjon fra ~/.nav-pilot/config.toml. Det finnes ingen repo-lokal konfigurasjon. Prioritetsrekkefølge: CLI-flagg › config.toml › innebygd standard.

nav-pilot config init
nav-pilot config setup
nav-pilot config show
# Klient (copilot er standard)
client = "opencode"

# Modell (format avhenger av klient)
model = "github-copilot/auto"

# Modus (default | plan | autopilot) — kun Copilot
# mode = "default"

# Resonneringsinnsats (none|low|medium|high|xhigh|max)
reasoning_effort = "high"

# Loggnivå
# log_level = "info"

Konfigurasjonsnøkler

Alle nøkler kan overstyres med tilsvarende CLI-flagg. Flagg har alltid høyest prioritet.

NøkkelCLI-flaggTillatte verdierBeskrivelse
client--clientcopilot · opencode · piKlient å starte. copilot er standard; pi er reservert og støttes ikke ennå.
model--modelf.eks. claude-opus-4.8, gpt-5.5 (Copilot); github-copilot/auto (opencode)Modell å bruke. Format avhenger av klient.
mode--modedefault · plan · autopilotModus for Copilot-agenten. plan tilsvarer opencode --agent plan; autopilot og øvrige er kun Copilot.
reasoning_effort--effortnone · low · medium · high · xhigh · maxResonneringsinnsats. Fungerer for begge klienter: Copilot bruker --effort, opencode bruker --variant.
context_tier--contextdefault · long_contextKontekstnivå. Kun Copilot — nav-pilot advarer om feltet er satt for opencode.
allow_all_tools--allow-all-tools / --no-allow-all-toolsboolGi agenten tilgang til alle tilgjengelige verktøy.
ask_user--ask-user / --no-ask-userboolBe om bekreftelse på beslutninger. Kun Copilot — nav-pilot advarer om feltet er satt for opencode.
log_level--log-levelnone · error · warning · info · debugLoggnivå for nav-pilot CLI.
otel_log_level--otel-log-levelnone · error · warning · info · debugLoggnivå for OpenTelemetry-eksport.

Collections

Collections er ferdigpakkede sett med agenter, skills, instruksjoner og prompts organisert etter team-arketype. Velg din stack og få en komplett, testet pakke.

Tilgjengelige collections

CollectionBeskrivelseAgenterSkillsBest for
kotlin-backendKotlin/Ktor og Spring Boot på Nais424Backend-API-er og hendelseskonsumenter
frontendRammeverk-uavhengig frontend (Astro, Remix, Vite …)512Frontends som ikke bruker Next.js
nextjs-frontendNext.js med Aksel Design System512Innbygger- og saksbehandler-frontends
fullstackKomplett stack (backend + frontend)728Team som eier hele stacken
platformNais, observability, sikkerhet og Go415Plattform- og DevOps-team

Innhold i hver collection

Hver collection inneholder også planning skills, instruksjoner og prompts:

▶kotlin-backend— Kotlin/Ktor og Spring Boot på Nais
code-reviewresearchsecurity-championnav-pilot
api-designconventional-commitflyway-migrationjava-to-kotlinkafkakotlin-app-configktor-scaffoldnaisnav-authobservability-setupobservability-debuggingpostgresql-reviewreadme-reviewsecurity-reviewsecurity-owaspspring-boot-scaffoldterse-modethreat-modeltokenx-authworkstation-securitynav-plannav-deep-interviewnav-architecture-reviewnav-troubleshoot
code-reviewdeliberate-ai-usekotlin-ktorkotlin-springtestingtesting-kotlingithub-actionsdockerdatabasesecurity-owasp
ktor-endpointspring-boot-endpointkafka-topicnais-manifest
▶frontend— Rammeverk-uavhengig frontend (Astro, Remix, Vite …)
accessibilityakselcode-reviewforfatternav-pilot
aksel-builderconventional-commitplaywright-testingreadme-reviewterse-modeweb-design-reviewernav-dekoratorennav-plannav-deep-interviewnav-architecture-reviewnav-troubleshootsecurity-owasp
code-reviewdeliberate-ai-usenorwegian-texttestingtesting-typescriptaccessibilitygithub-actionsdockersecurity-owasp
aksel-componentnais-manifest
▶nextjs-frontend— Next.js med Aksel Design System
accessibilityakselcode-reviewforfatternav-pilot
aksel-builderconventional-commitplaywright-testingreadme-reviewterse-modeweb-design-reviewernav-dekoratorennav-plannav-deep-interviewnav-architecture-reviewnav-troubleshootsecurity-owasp
code-reviewdeliberate-ai-usenextjs-akselnorwegian-textperformancetestingtesting-typescriptaccessibilitygithub-actionsdockersecurity-owasp
aksel-componentnextjs-api-routenais-manifest
▶fullstack— Komplett stack (backend + frontend)
accessibilityakselcode-reviewforfatterresearchsecurity-championnav-pilot
aksel-builderapi-designconventional-commitflyway-migrationjava-to-kotlinkafkakotlin-app-configktor-scaffoldnaisnav-authobservability-setupobservability-debuggingplaywright-testingpostgresql-reviewreadme-reviewsecurity-reviewsecurity-owaspspring-boot-scaffoldterse-modethreat-modeltokenx-authweb-design-reviewernav-dekoratorenworkstation-securitynav-plannav-deep-interviewnav-architecture-reviewnav-troubleshoot
code-reviewdeliberate-ai-usekotlin-ktorkotlin-springgolangnextjs-akselnorwegian-textperformancetestingtesting-kotlintesting-typescriptaccessibilitygithub-actionsdockerdatabasesecurity-owasp
ktor-endpointspring-boot-endpointkafka-topicnais-manifestaksel-componentnextjs-api-routegolang-service
▶platform— Nais, observability, sikkerhet og Go
code-reviewresearchsecurity-championnav-pilot
conventional-commitnaisobservability-setupobservability-debuggingreadme-reviewrust-developmentsecurity-reviewsecurity-owaspterse-modethreat-modelworkstation-securitynav-plannav-deep-interviewnav-architecture-reviewnav-troubleshoot
code-reviewdeliberate-ai-usegolangtestinggithub-actionsdockersecurity-owasp
golang-servicenais-manifest

Planning skills

Alle collections inkluderer fire planning skills som utgjør nav-pilot-pipelinen:

SkillFormål
$nav-deep-interviewStrukturert intervju som avdekker blindsoner (personvern, auth, avhengigheter)
$nav-planArkitekturbeslutningstrær → konkret Nais-manifest, CI/CD og prosjektstruktur
$nav-architecture-reviewFlerperspektiv-review → Architecture Decision Record (ADR)
$nav-troubleshootDiagnostiske trær for vanlige Nav-plattformproblemer

Planleggingspipelinen

nav-pilot jobber i fire faser med eksplisitte stopp mellom hver. Du bestemmer når du går videre — nav-pilot foreslår, du godkjenner.

De fire fasene

Intervju

— Dypdykk-intervju
  • Personvern — behandler dere PII? Hvilke kategorier?
  • Auth — hvem kaller tjenesten — bruker, tjeneste, ekstern partner?
  • Avhengigheter — hva skjer når en avhengighet er nede?
  • Endringspåvirkning — hvem konsumerer dine API-er/hendelser?
  • Teststatus — hva er testdekningen i koden som endres?
  • Observerbarhet — hvilke forretningsmetrikker viser at tjenesten fungerer?

Skills i detalj

SkillFormålDekker
$nav-deep-interviewStrukturert intervju som avdekker blindsoner (personvern, auth, avhengigheter)
Personvern og dataPlattform og authObserverbarhetTeam og prosess

data-classification.md, blind-spots.md (25+ vanlige blindsoner fra ekte Nav-repoer)

$nav-planArkitekturbeslutningstrær → konkret Nais-manifest, CI/CD og prosjektstruktur
Auth-beslutningstreKommunikasjonstreDatabase-treaccessPolicy-tre

decision-trees.md, nais-templates.md (5 arketyper)

$nav-architecture-reviewFlerperspektiv-review → Architecture Decision Record (ADR)
ArkitekturSikkerhetPlattform

adr-template.md, nav-principles.md (Team First, essensiell kompleksitet, DORA)

$nav-troubleshootDiagnostiske trær for vanlige Nav-plattformproblemer
Pod krasjer (CrashLoopBackOff)401/403Kafka consumer lagDB-tilkobling feilerTreg responstidDeploy feiler

diagnostic-trees.md

Kompetansebevaring

Flere studier dokumenterer at passiv bruk av kodegenerering svekker utvikleres forståelse av egen kode. I Anthropics RCT (2026) scora utviklere som delegerte blindt 35–39 % på kodeforståelse, mot 86 % for de som aktivt stilte spørsmål etter generering. Navs egen longitudinalstudie (Stray et al., HICSS-59 2026) bekrefter mønsteret internt.

Samtidig viser MIT/Microsoft-studien (2025, ~5000 utviklere) at AI-assistanse gir størst produktivitetsgevinst på repetitive oppgaver. Gevinsten forsvinner — og kan bli negativ — på oppgaver som krever dyp forståelse av domenet.

nav-pilot implementerer dette skillet: oppgaver klassifiseres i grønn sone (AI genererer full kode) og rød sone (utvikleren skriver kjernelogikken selv). Klassifiseringen skjer i Fase 2 og håndheves i Fase 4.

Grønn og rød sone

🟢
  • Boilerplate og repetitiv kode (Nais-manifest, CRUD)
  • Kjent teknologi du allerede behersker
  • Konfigurasjon og infrastruktur
  • Refaktorering med kjent mål
  • Testdata og fixtures
🔴
  • Debugging og feilsøking
  • Nye konsepter og ukjent teknologi
  • Kjernelogikk og forretningsregler
  • Sikkerhetskritisk kode
  • Arkitekturbeslutninger

Når nav-pilot identifiserer rød-sone-logikk i Fase 2 (Plan), leverer Fase 4 bare testskjeletter og kode-stubs med TODO-kommentarer — ikke full implementasjon. Du skriver kjernelogikken selv for å bygge dyp forståelse.

Demo: I praksis

Her ser du nav-pilot planlegge en ny beregningsregel for sykepenger (§8-20). Legg merke til hvordan den skiller mellom grønn sone (plumbing-kode) og rød sone (regelverkslogikk):

Demo av nav-pilot som identifiserer kjernelogikk som rød sone og leverer stubs med TODO

Basert på forskning fra Anthropic, METR og Nav ITs egen studie.

Sync og oppdatering

Copilot-tilpasninger i navikt/copilot oppdateres jevnlig. Hold repoet ditt oppdatert med automatisk sync eller lokale kommandoer.

Automatisk sync

GitHub Actions-workflow som åpner PR-er automatisk — som Dependabot, men for Copilot-tilpasninger. PR-en viser hvilke filer som er oppdaterte, med lenker til kilderepoet.

name: Copilot Customization Sync
on:
  schedule:
    - cron: '0 7 * * 1'  # Mandager kl 07:00
  workflow_dispatch:
jobs:
  sync:
    uses: navikt/copilot/.github/workflows/copilot-customization-sync.yml@main
    permissions:
      contents: write
      pull-requests: write

Lokal sync

Bruk CLI-verktøyet for å sjekke og oppdatere filer lokalt. Sammenligner SHA-256-hasher mellom lokale filer og kilderepoet.

nav-pilot sync
nav-pilot sync --apply
nav-pilot sync --json

Hvordan nav-pilot finner filer

State-baserte repoer (brukte nav-pilot install): state-filen sporer nøyaktig hvilke filer som ble installert.

Klassiske repoer (kopierte filer manuelt): nav-pilot auto-oppdager filer som også finnes i kilderepoet:

  • .github/agents/*.agent.md
  • .github/instructions/*.instructions.md
  • .github/prompts/*.prompt.md
  • .github/skills/*/ (hele kataloger)

AGENTS.md og .github/copilot-instructions.md oppdateres aldri automatisk — de er alltid repo-spesifikke.

Tilpasse synkronisering

Trenger du å fjerne rammeverk-spesifikke filer (f.eks. Next.js-instruksjoner i et Astro-prosjekt)? Opprett .github/copilot-sync.json med overrides:

{
  "overrides": [
    ".github/instructions/nextjs-aksel.instructions.md",
    ".github/instructions/performance.instructions.md",
    ".github/prompts/nextjs-api-route.prompt.md"
  ]
}

Filer i overrides hoppes helt over under sync — ingen hash-sammenligning, ingen PR-diff. Du kan trygt slette filene etterpå, og de blir ikke lagt til igjen. Alternativt kan du installere frontend-collectionet som allerede utelater Next.js-spesifikke filer.

Sletter du en fil manuelt uten override, markeres den som «ignorert» og gjenopprettes ikke av sync. Legg den til igjen med nav-pilot install hvis du ombestemmer deg.

Har teamet en egen versjon av en fil med samme navn som kilden (f.eks. en egen kotlin-app-config skill), vil sync prøve å overskrive den. Bruk overrides for å beskytte filen. Filer med navn som ikke finnes i kilden blir aldri berørt av sync.

FAQ

?

Trenger jeg en GitHub-token eller secret?

Nei. Workflowen bruker standard GITHUB_TOKEN og leser offentlige kildefiler.

?

Hva om jeg har tilpasset en fil lokalt?

PR-en viser diff. Du kan gjennomgå, merge selektivt, eller lukke den. Workflowen tvinger aldri oppdateringer.

?

Kan jeg sjekke oppdateringer lokalt uten CI?

Ja. Kjør nav-pilot sync for å sjekke, eller nav-pilot sync --apply for å oppdatere direkte.

?

Hvordan er dette forskjellig fra Dependabot?

Samme konsept — automatiske oppdaterings-PR-er — men for Copilot-tilpasningsfiler. Sammenligner SHA-256-hasher i stedet for semantisk versjonering.

?

Hva om jeg sletter en fil manuelt?

Filen markeres som «ignorert» og legges ikke tilbake ved neste sync. Vil du ha den tilbake, kjør nav-pilot install <name>.

?

Jeg får varsel om en komponent jeg ikke vil installere. Hvordan stopper jeg det?

Kjør nav-pilot ignore <type> <name> --user. nav-pilot merker komponenten som ignorert og varsler ikke om den igjen.

?

Kan jeg fjerne filer som ikke passer mitt rammeverk?

Ja. Opprett .github/copilot-sync.json med overrides, eller installer frontend-collectionet som allerede utelater Next.js-spesifikke filer.

?

Hva skjer hvis vi har en egen fil med samme navn som kilden?

Sync sammenligner hasher og foreslår å overskrive den med kildens versjon. Legg filen i overrides for å beskytte den. Filer med navn som ikke finnes i kilden ignoreres helt.

Tilpasning

nav-pilot gir teamet et godt utgangspunkt, men repoet ditt trenger ofte egne regler og egen kontekst. Her er de fire mekanismene du bruker for å tilpasse installasjonen uten å miste kontrollen.

Team-egne instruksjoner

Legg egne filer i .github/instructions/ ved siden av det nav-pilot installerer. nav-pilot berører aldri filer det ikke selv har installert, så teamet kan trygt legge inn egne konvensjoner her.

.github/instructions/
  golang.instructions.md           ← installed by nav-pilot
  security-owasp.instructions.md   ← installed by nav-pilot
  team-conventions.instructions.md ← your team's own file

Prosjektkontekst med nav-pilot init

Kjør nav-pilot init når du vil fylle inn prosjektspesifikk kontekst. Kommandoen lager tre malfiler med TODO-er som teamet fyller ut selv. nav-pilot oppretter dem én gang, men forvalter dem ikke videre.

nav-pilot init
AGENTS.md
.github/copilot-instructions.md
.github/copilot-review-instructions.md

Overstyre installerte filer

Vil dere eie en fil som nav-pilot vanligvis oppdaterer, legger dere den i .github/copilot-sync.json. Filer i overrides hoppes over under nav-pilot sync, så teamets versjon blir stående.

{
  "overrides": [
    ".github/instructions/golang.instructions.md"
  ]
}

Ignorere enkeltkomponenter

Bruker du installasjon på brukernivå, kan du undertrykke enkeltkomponenter du ikke vil ha varsler om. nav-pilot ignore er bare for --user-installasjoner.

nav-pilot ignore agent rust-agent --user
nav-pilot ignore skill rust-development --user

Velg mekanisme etter behov: egne instruksjoner for nye regler, initfor prosjektkontekst, overrides når dere vil eie en installert fil, og ignore for brukerinstallerte komponenter dere ikke trenger.

CLI-referanse

nav-pilot er et rent installasjonsverktøy skrevet i Go uten avhengigheter. All AI-funksjonalitet ligger i markdown-filer som kjøres av GitHub Copilot.

Installer CLI

brew install navikt/tap/nav-pilot

Installer også cplt før du starter en agent. Sandboxing er et krav på Nav-utstyr.

Oppgrader CLI

nav-pilot sjekker automatisk om det finnes en nyere versjon ved oppstart. Du kan oppgradere på to måter:

Selvoppdatering

nav-pilot upgrade

Via Homebrew

brew update && brew upgrade nav-pilot

Feilsøking: «already installed»

Hvis brew upgrade sier at nav-pilot allerede er oppdatert men versjonen er gammel, skyldes det at den lokale tap-cachen ikke er oppdatert. Kjør brew update først. Dersom det feiler med tilgangsfeil:

sudo chown -R $(whoami) /opt/homebrew
brew update && brew upgrade nav-pilot

Kommandooversikt

KommandoBeskrivelse
nav-pilotInteraktivt: installer, oppgrader eller start Copilot-sandkassen (cplt)
nav-pilot --client opencodeStart OpenCode-sesjonen med Nav-kontekst levert automatisk
nav-pilot install <collection>Installer en collection i repoet ditt
nav-pilot install --userInstaller agenter, skills og instruksjoner til ~/.copilot (alle repoer)
nav-pilot install --dry-run <collection>Forhåndsvis hva som installeres
nav-pilot install --force <collection>Overskriv lokalt endrede filer
nav-pilot listVis tilgjengelige collections og enkeltkomponenter
nav-pilot list --installedVis installerte filer og integritet
nav-pilot doctorKjør helsesjekk av systemet og miljøet
nav-pilot install <name>Installer enkeltkomponent (agent, skill, etc.)
nav-pilot install <name> --type <type>Installer med eksplisitt type (agent, skill, instruction, prompt)
nav-pilot ignore <type> <name> --userStopp varsel om en komponent uten å installere den
nav-pilot uninstallFjern alle installerte filer
nav-pilot syncSjekk om oppdateringer finnes (exit 1 hvis ja)
nav-pilot sync --applyOppdater filer direkte
nav-pilot sync --jsonMaskinlesbar JSON-output
<command> --jsonGlobalt flagg: JSON-output på alle kommandoer (install, list, sync, export)
nav-pilot envSkriv shell-eksport for Copilot CLI-integrasjon
nav-pilot upgradeOppdater nav-pilot CLI til nyeste versjon
nav-pilot feedbackRapporter feil — åpner GitHub issue med diagnostikk
nav-pilot feedback --featureForeslå ny funksjon
nav-pilot export opencodeEksporter til .opencode/-format (OpenCode / oh-my-openagent)
nav-pilot export opencode --userEksporter til ~/.config/opencode/ (globalt)
nav-pilot config initOpprett ~/.nav-pilot/config.toml med alle valg kommentert ut
nav-pilot config setupInteraktiv konfigurasjonsveileder (klient, modell, modus)
nav-pilot config showVis effektiv konfigurasjon (fil + standardverdier)
nav-pilot config get <key>Hent én konfigurasjonsverdi
nav-pilot config set <key> <value>Sett én konfigurasjonsverdi
nav-pilot config validateValider konfigurasjonsfilen
nav-pilot export opencode --dry-runForhåndsvis hva som eksporteres
nav-pilot versionVis versjonsinformasjon

Oppskrifter

Se hva som installeres

nav-pilot install --dry-run kotlin-backend

Installer

nav-pilot install kotlin-backend

Installer i annet repo

nav-pilot install --target /path/to/repo kotlin-backend

Overskriv lokalt endrede filer

nav-pilot install --force kotlin-backend

Eksporter til OpenCode-format

nav-pilot export opencode

Eksporter globalt (alle repoer)

nav-pilot export opencode --user

Forhåndsvis hva som eksporteres

nav-pilot export opencode --dry-run

JSON-output for alle kommandoer

nav-pilot list --installed --json | jq .

Sjekk oppdateringer i CI (exit 1 = oppdateringer finnes)

nav-pilot sync --json

Installer i CI med JSON-resultat

nav-pilot install --json kotlin-backend

Exit-koder: 0 = suksess, 1 = feil eller oppdateringer tilgjengelig (sync), 2 = sync-sjekk feilet. --json fungerer på install, add, status, sync, list og export.

Slik fungerer det

nav-pilot installerer markdown-filer i repoet ditt. GitHub Copilot leser filene og tilpasser forslagene sine automatisk. Klikk på filene under for å se hva de gjør.

Filstruktur

Dette er filene som installeres i .github/-mappen din. Klikk for detaljer.

.github/

Agent

Definerer @nav-pilot sin persona, hvilke skills den bruker, og hvordan den delegerer til andre agenter. Copilot leser denne filen når du skriver @nav-pilot i chatten.

Aktiveres: Når du skriver @nav-pilot i Copilot Chat

Flyten fra installasjon til daglig bruk er dekket i Kom i gang og CLI-referanse. Denne seksjonen viser kun filstrukturen.

Ressurser

Arkitektur

nav-pilot er bygget på tre lag:

Alltid aktive — Nav-mønstre, kodestandarder, anti-patterns. Hver Copilot-sesjon er Nav-bevisst automatisk.

Én inngangsport — ruter til riktig fase og skill. Delegerer til @auth, @nais, @kafka, @security-champion.

Byggeklosser — intervju, plan, review, feilsøking. Brukes via @nav-pilot eller alene.

Designprinsipper

Institusjonell kunnskap er varig — orkestrering blir standardvare.

Lett agent som delegerer. Skills har beslutningstrær og sjekklister.

nav-pilot foreslår, du godkjenner, nav-pilot fortsetter.

«Hva bygger du?» bestemmer stack, auth og Nais-konfig.

Go-binær uten avhengigheter. All AI kjøres av Copilot.

Lenker

Minimumssteg for installasjon og første bruk

Kommandoreferanse med eksempler

Installer enkeltkomponenter

Lær å bruke Copilot effektivt