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
OppgaveEksempel
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.