Guider
Installere og oppgradere
Har du ikke installert nav-pilot ennå, start med Kom i gang. Her står det du trenger etterpå.
Alle kommandoene og flaggene står i referansen.
Velg installasjonssted
install spør hvor agentpakka skal ligge, hvis du ikke svarer på forhånd med --repo eller --user. Tre former er i bruk i Nav:
- I repoet (
--repo, skriver til.github/). Hele teamet får det samme, prompts virker, og Copilot på github.com ser filene fordi de er sjekket inn. Til gjengjeld ligger de i repoet og i hver diff. - Personlig (
--user, skriver til~/.copilot/). Følger deg i alle repoer, og ingenting sjekkes inn. Du får ikke prompts, og verken github.com eller resten av teamet ser filene. - Hub-repo. En repo-installasjon i et repo som ikke er en app, med teamets egne skills lagt for hånd i samme
.github/. Konteksten gjelder mens du står i hub-repoet.
Du kan bruke flere. nav-pilot sync uten flagg synkroniserer alle stedene som har en tilstandsfil. Hele avveiningen står i README.nav-pilot.md.
nav-pilot install --dry-run nav-pilot # se hva som installeres nav-pilot install nav-pilot --repo # i repoet nav-pilot install --user # personlig nav-pilot install --target /sti/til/repo nav-pilot # i et annet repo nav-pilot install --force nav-pilot # overskriv filer du har endret (din kopi lagres som .orig)
Copilot finner agenter og skills i ~/.copilot/ selv. Instruksjonene krever COPILOT_CUSTOM_INSTRUCTIONS_DIRS og virker bare i Copilot CLI. nav-pilot setter variabelen når den starter Copilot. Starter du cplt selv, legg dette i skallprofilen:
eval "$(nav-pilot env)"
opencode får Nav-konteksten på en annen måte, se opencode.
Vanlige oppgaver
Du trenger ikke huske navnet på skillene. Beskriv oppgaven, så henter nav-pilot kunnskapen som trengs. Du kan spørre fra tre steder:
# Terminalen: nav-pilot starter Copilot med agenten nav-pilot nav-pilot # Copilot CLI direkte, i sandkassen cplt --project-dir . -- --agent nav-pilot --prompt "Jeg trenger en ny tjeneste som behandler dagpengesøknader" # Copilot Chat i VS Code eller JetBrains @nav-pilot Jeg trenger en ny tjeneste som behandler dagpengesøknader
| Oppgave | Eksempel |
|---|---|
| Bygge ny tjeneste | «Jeg trenger en ny tjeneste for dagpenger» |
| Legge til autentisering | «Legg til TokenX-validering i API-et» |
| Feilsøke en 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 til Kotlin | «Hjelp meg migrere denne klassen til Kotlin» |
| Få kortere svar | «$terse-mode» |
| Planlegge arkitektur | «Planlegg arkitekturen for nytt saksbehandlersystem» |
Installere i CI
Første gang du installerer en agentpakke i et repo, skriver nav-pilot .nav-pilot/agentpakke.lock.json med versjonen den installerte. Sjekk inn fila. I CI installerer du så nøyaktig den versjonen:
- run: nav-pilot install <navn> --frozen --force
Runneren trenger nav-pilot. Bruk installasjonsskriptet eller apt:
--frozen spør aldri og flytter aldri låsen. Kode 3 betyr at låsen ikke ble fulgt: fila mangler, den peker ikke på en versjon, en annen versjon kom inn, eller bare en del ble installert. Kode 1 betyr at noe annet feilet, for eksempel at kilden ikke svarte.
nav-pilot install nav-pilot --repo --yes --json # installer uten terminal, resultat som JSON nav-pilot sync --json # kode 1: en oppdatering finnes nav-pilot list --installed --json | jq .
Uten terminal installerer install hele agentpakka bare med --yes, --all eller --frozen. Ellers avslutter den med kode 2 og sier hva den ville ha skrevet. Alle kodene står i referansen.
Oppgradere
nav-pilot sjekker ved oppstart om det finnes en nyere versjon. cplt er en egen pakke, så oppgrader begge, med samme metode som du installerte:
brew update && brew upgrade navikt/tap/nav-pilot navikt/tap/cplt # Homebrew sudo apt update && sudo apt upgrade nav-pilot cplt # Debian og Ubuntu nav-pilot upgrade && cplt update # installert med skript
nav-pilot upgrade spør ikke, og installerer alltid nyeste versjon. Har du installert med Homebrew eller apt, lar den binæren være og skriver kommandoen som virker. Den sjekker også cplt, og er cplt utdatert, skriver den kommandoen som oppgraderer den. --dry-run sjekker bare. Vil du ha en bestemt versjon, bruk pakkebehandleren eller last den ned fra GitHub-releasene.
Med auto_update = true oppgraderer nav-pilot seg selv før andre kommandoer. Feiler det, får du en advarsel, kommandoen kjører på versjonen du har, og neste forsøk kommer etter 24 timer. Slå det av med nav-pilot config set auto_update false.
Homebrew sier «already installed», men versjonen er gammel
Tap-cachen er ikke oppdatert. Kjør brew update først, og så brew upgrade navikt/tap/nav-pilot. Feiler brew update med tilgangsfeil, kjør brew doctor. Den sier hvilke mapper som har feil eier, og hvordan du retter dem.
Avinstallere
uninstall fjerner ett sted om gangen: repoet du står i, eller ~/.copilot med --user. Den viser alt den fjerner, også tilstandsfila og låsen, og spør først. Filer du har endret, blir stående, og den sier hvilke. --force fjerner dem også. Skal alt bort, gjør du det i denne rekkefølgen:
nav-pilot alpha local stop # bare hvis du har brukt lokal modell nav-pilot alpha local purge --all --yes # Python-miljøet og alle nedlastede vekter nav-pilot uninstall # i hvert repo der du installerte med --repo nav-pilot uninstall --user # ~/.copilot brew uninstall nav-pilot # eller: sudo apt remove nav-pilot rm -rf ~/.nav-pilot # konfig, cache og lokale data
Vektene til de lokale modellene ligger i ~/.cache/huggingface, eller der HF_HOME peker. purge tar dem, så kjør den før du fjerner nav-pilot. cplt kan du beholde. Vil du fjerne den også: brew uninstall cplt.