Guider

Kom i gang på 5 minutter

Fra installasjon til en agent som jobber i repoet ditt, med Copilot CLI eller OpenCode i sandkassen cplt.

Guiden gjelder nav-pilot fra 30. september 2026 eller nyere. Sjekk med nav-pilot --version. Har du en eldre versjon, kjør brew update og brew upgrade navikt/tap/nav-pilot navikt/tap/cplt.

Installer

På Mac med Homebrew:

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

Installer så én av klientene. OpenCode:

brew install anomalyco/tap/opencode-v2

Eller Copilot CLI. Den havner i ~/.local/bin, så den andre linja legger den mappa til i PATH:

curl -fsSL https://gh.io/copilot-install | bash
export PATH="$HOME/.local/bin:$PATH"

På Linux og i WSL bruker du installasjonsskriptet. Kommandoene står på Kom i gang.

Logg inn på GitHub

Agenten pusher og åpner pull requests med gh-innloggingen din. Logg inn én gang, utenfor sandkassen:

(unset GH_TOKEN GITHUB_TOKEN COPILOT_GITHUB_TOKEN GH_HOST GH_REPO; gh auth login --hostname github.com --web)
(unset GH_TOKEN GITHUB_TOKEN COPILOT_GITHUB_TOKEN GH_HOST GH_REPO; gh auth status --hostname github.com)

gh skal vise riktig konto og (keyring). Viser den en config-fil, stopp og løs nøkkelringtilgangen. Logg inn utenfor cplt, ikke med /login inne i økten. På macOS stenger cplt Keychain når den sender inn gh-tokenet, og på Linux og i WSL fjerner den DBUS_SESSION_BUS_ADDRESS og stenger nøkkelringfiler, så /login ofte ikke får lagret tokenet og spør om klartekstlagring. Får du «System vault not available», har du kjørt /login tidligere på Linux eller i WSL, eller har du valgt env_only? Følg innloggingsoppskriften. OpenCode logger du inn med /connect; nav-pilot auth login og innloggingen på nettstedet logger ikke klienten inn.

Kloner du med SSH (git@github.com:…)? cplt stenger ~/.ssh, så push over SSH feiler i sandkassen. Få git til å bruke HTTPS mot GitHub. Kjør dette utenfor cplt, siden git-vakta stopper endringer i remote-oppsettet:

git config --global url."https://github.com/".insteadOf "git@github.com:"

Første kjøring

Gå til et repo og start nav-pilot:

cd ~/src/min-app
(unset GH_TOKEN GITHUB_TOKEN COPILOT_GITHUB_TOKEN GH_HOST GH_REPO; nav-pilot)

Tokenene tømmes bare for denne kommandoen, så nav-pilot bruker innloggingen fra gh auth login, ikke et gammelt token i skallet.

Første gang spør nav-pilot om noen innstillinger. Enter gir det anbefalte valget. Spørsmålene er på engelsk:

  • Which coding agent? OpenCode, GitHub Copilot eller pi. OpenCode er valgt på forhånd.
  • Conversation mode: vanlig samtale, plan eller autopilot.
  • How should the agent run commands? og What may the agent do with git? Se Hvor mye skal agenten gjøre selv?
  • Model, Reasoning effort og Auto-update nav-pilot.

Til slutt viser Save these settings? hva som blir endret, både i nav-pilot og i cplt. Velger du Cancel, lagres ingenting. Etterpå sjekker nav-pilot gh-innloggingen. Kan den ikke bekrefte innloggingen, sier den at agenten kanskje ikke får pushet eller laget pull requests, og viser til nav-pilot doctor for detaljer. Mangler gh, viser den kommandoen som installerer den.

Kjenner cplt igjen verktøyene i repoet, kommer spørsmålet om .cplt.toml nå, se Første gang i et repo. Så spør nav-pilot hvor agentpakka skal ligge (Where to install?): i repoet, som hele teamet får, eller i hjemmekatalogen, bare for deg. Installere og oppgradere forklarer forskjellen.

Ber agentpakka om et unntak i sandkassen, spør nav-pilot før den installerer (Let the agent read Nais logs, metrics and traces?). Nav-pakka ber om å nå Grafana-verktøyene Mimir, Loki og Tempo. Enter svarer Decline, og da virker alt annet i pakka. Ombestemmer du deg, kjører du nav-pilot pakke access. Agentpakker forklarer unntakene.

Har du lagt inn MCP-servere fra Navs MCP-register i Copilot CLI eller OpenCode, spør nav-pilot om de får nå hostene sine fra sandkassen (MCP server … connects to these hosts. Allow them in the sandbox?). Enter svarer nei. nav-pilot henter registeret i bakgrunnen, så spørsmålet kan komme først ved neste oppstart. Deretter starter klienten i sandkassen.

Første gang i et repo

Står du i et repo uten .cplt.toml, og cplt kjenner igjen verktøyene, for eksempel Gradle, spør nav-pilot: Apply the suggested sandbox rules for this repo? Svarer du ja, skriver cplt init --write fila. Den gir ingen tilgang før den er sjekket inn og godkjent:

git add .cplt.toml
git commit -m "chore: add cplt sandbox config"
cplt trust accept

cplt trust accept viser hva fila ber om, og spør før den godkjenner. Har repoet allerede en .cplt.toml, sier cplt fra ved oppstart om at den ikke er godkjent. Da kjører du bare cplt trust accept. Mer om fila står i Sett opp cplt i et repo.

Hva agenten kan gjøre

Med det anbefalte valget kan agenten:

  • lese og skrive filer i katalogen du startet i, og kjøre kommandoer der
  • committe, pushe egne brancher og åpne pull requests

cplt stopper:

  • merging av pull requests (gh pr merge)
  • push til default branch, for eksempel main, og force push
  • skriving utenfor prosjektkatalogen, og lesing av SSH-nøkler, nøkler til skytjenester og andre hemmeligheter

I tillegg ber nav-pilot agenten om å spørre deg før den sletter brancher eller filer utenfor oppgaven, deployer, endrer CI eller tilganger, legger til avhengigheter, og når kravene er uklare. Det er en instruks, ikke en sperre. Det er cplt som sperrer.

Hvor mye skal agenten gjøre selv?

Veiviseren stiller to spørsmål. Enter gir det anbefalte valget:

  • How should the agent run commands? (bare Copilot CLI): agenten kjører kommandoer selv i sandkassen, og spør deg når den trenger det.
  • What may the agent do with git?: agenten committer, pusher egne brancher og åpner pull requests.

cplt bruker sikkerhetsnivået standard, som passer for de fleste. Sandkassen forklarer nivåene, strict og hvordan du endrer svarene senere.

Videre

  • Stopper cplt noe agenten trenger? Slå opp meldingen i Feil i sandkassen.
  • Vil du la agenten jobbe på flere brancher samtidig? Se Worktrees med nav-pilot og cplt.
  • Trenger agenten verktøy utenfor klienten, som Playwright? Finn navnet med nav-pilot mcp list, legg serveren til med nav-pilot mcp enable <navn>, og se Navs MCP-register.