Alt du trenger for å komme i gang med nav-pilot.
Fra null til fungerende nav-pilot på 5 minutter.
brew install navikt/tap/nav-pilot
cd /path/to/your/repo nav-pilot
Du kan bruke nav-pilot på tre måter — velg den som passer deg best:
copilot --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.
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 alle Copilot-klienter. Instruksjoner krever COPILOT_CUSTOM_INSTRUCTIONS_DIRS og fungerer kun med Copilot CLI — nav-pilot setter denne automatisk i interaktiv modus.
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)"
Her er noen nyttige kommandoer:
nav-pilot status
nav-pilot list
nav-pilot add agent security-champion nav-pilot add skill postgresql-review
nav-pilot sync
nav-pilot feedback
Collections er ferdigpakkede sett med agenter, skills, instruksjoner og prompts organisert etter team-arketype. Velg din stack og få en komplett, testet pakke.
| Collection | Beskrivelse | Agenter | Skills | Best for |
|---|---|---|---|---|
kotlin-backend | Kotlin/Ktor og Spring Boot på Nais | 6 | 13 | Backend-API-er og hendelseskonsumenter |
frontend | Rammeverk-uavhengig frontend (Astro, Remix, Vite …) | 4 | 7 | Frontends som ikke bruker Next.js |
nextjs-frontend | Next.js med Aksel Design System | 4 | 7 | Innbygger- og saksbehandler-frontends |
fullstack | Komplett stack (backend + frontend) | 10 | 16 | Team som eier hele stacken |
platform | Nais, observability, sikkerhet og Go | 4 | 8 | Plattform- og DevOps-team |
Alle collections inkluderer fire planning skills som utgjør nav-pilot-pipelinen:
| Skill | Formål |
|---|---|
$nav-deep-interview | Strukturert intervju som avdekker blindsoner (personvern, auth, avhengigheter) |
$nav-plan | Arkitekturbeslutningstrær → konkret Nais-manifest, CI/CD og prosjektstruktur |
$nav-architecture-review | Flerperspektiv-review → Architecture Decision Record (ADR) |
$nav-troubleshoot | Diagnostiske trær for vanlige Nav-plattformproblemer |
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.
| Skill | Formål | Dekker |
|---|---|---|
$nav-deep-interview | Strukturert 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-plan | Arkitekturbeslutningstrær → konkret Nais-manifest, CI/CD og prosjektstruktur | Auth-beslutningstreKommunikasjonstreDatabase-treaccessPolicy-tre decision-trees.md, nais-templates.md (5 arketyper) |
$nav-architecture-review | Flerperspektiv-review → Architecture Decision Record (ADR) | ArkitekturSikkerhetPlattform adr-template.md, nav-principles.md (Team First, essensiell kompleksitet, DORA) |
$nav-troubleshoot | Diagnostiske trær for vanlige Nav-plattformproblemer | Pod krasjer (CrashLoopBackOff)401/403Kafka consumer lagDB-tilkobling feilerTreg responstidDeploy feiler diagnostic-trees.md |
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.
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.
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):

Basert på forskning fra Anthropic, METR og Nav ITs egen studie.
Copilot-tilpasninger i navikt/copilot oppdateres jevnlig. Hold repoet ditt oppdatert med automatisk sync eller lokale kommandoer.
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: writeBruk 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
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.
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 add 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.
Nei. Workflowen bruker standard GITHUB_TOKEN og leser offentlige kildefiler.
PR-en viser diff. Du kan gjennomgå, merge selektivt, eller lukke den. Workflowen tvinger aldri oppdateringer.
Ja. Kjør nav-pilot sync for å sjekke, eller nav-pilot sync --apply for å oppdatere direkte.
Samme konsept — automatiske oppdaterings-PR-er — men for Copilot-tilpasningsfiler. Sammenligner SHA-256-hasher i stedet for semantisk versjonering.
Filen markeres som «ignorert» og legges ikke tilbake ved neste sync. Vil du ha den tilbake, kjør nav-pilot add <type> <name>.
Kjør nav-pilot ignore <type> <name> --user. nav-pilot merker komponenten som ignorert og varsler ikke om den igjen.
Ja. Opprett .github/copilot-sync.json med overrides, eller installer frontend-collectionet som allerede utelater Next.js-spesifikke filer.
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.
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.
brew install navikt/tap/nav-pilot
nav-pilot sjekker automatisk om det finnes en nyere versjon ved oppstart. Du kan oppgradere på to måter:
Selvoppdatering
nav-pilot update
Via Homebrew
brew update && brew upgrade nav-pilot
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
| Kommando | Beskrivelse |
|---|---|
nav-pilot | Interaktivt: installer, oppgrader eller start Copilot-sandkassen (cplt) |
nav-pilot install <collection> | Installer en collection i repoet ditt |
nav-pilot install --user | Installer 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 list | Vis tilgjengelige collections |
nav-pilot list --items | Vis alle tilgjengelige agenter, skills, etc. |
nav-pilot add <type> <name> | Installer enkeltkomponent (agent, skill, etc.) |
nav-pilot ignore <type> <name> --user | Stopp varsel om en komponent uten å installere den |
nav-pilot status | Vis installerte filer og integritet |
nav-pilot uninstall | Fjern alle installerte filer |
nav-pilot sync | Sjekk om oppdateringer finnes (exit 1 hvis ja) |
nav-pilot sync --apply | Oppdater filer direkte |
nav-pilot sync --json | Maskinlesbar JSON-output |
<command> --json | Globalt flagg: JSON-output på alle kommandoer (install, add, status, sync, list, export) |
nav-pilot env | Skriv shell-eksport for Copilot CLI-integrasjon |
nav-pilot update | Oppdater nav-pilot CLI til nyeste versjon |
nav-pilot feedback | Rapporter feil — åpner GitHub issue med diagnostikk |
nav-pilot feedback --feature | Foreslå ny funksjon |
nav-pilot export opencode | Eksporter til .opencode/-format (OpenCode / oh-my-openagent) |
nav-pilot export opencode --user | Eksporter til ~/.config/opencode/ (globalt) |
nav-pilot export opencode --dry-run | Forhåndsvis hva som eksporteres |
nav-pilot version | Vis versjonsinformasjon |
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 status --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.
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.
Dette er filene som installeres i .github/-mappen din. Klikk for detaljer.
.github/
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
Fra installasjon til daglig bruk — slik henger delene sammen.
nav-pilot install kopierer markdown-filer fra navikt/copilot til .github/ i repoet ditt.
nav-pilot install kotlin-backendFilene committes som vanlig kode. Hele teamet får samme Copilot-tilpasning.
git add .github/ && git commitGitHub Copilot oppdager filene og tilpasser seg. Instruksjoner aktiveres automatisk, agenter kalles med @.
@nav-pilot planlegg et nytt APInav-pilot sjekker automatisk om det finnes oppdateringer. Bruk sync for å hente nye skills og forbedringer.
nav-pilot sync --applynav-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.
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.