Guider
Repoet ditt trenger ofte egne regler og egen kontekst. Slik legger du dem til uten å miste oppdateringene fra nav-pilot.
Innstillingene dine ligger i ~/.nav-pilot/config.toml. Det finnes ingen konfig per repo. Et flagg vinner over fila, og fila vinner over standardverdien.
nav-pilot config # innstillingssiden i terminalen nav-pilot config setup # veiviser: klient, modell og modus nav-pilot config set <nøkkel> <verdi> nav-pilot config unset <nøkkel> # tilbake til standardverdien nav-pilot config show # hver nøkkel, verdien og hvor den kommer fra nav-pilot config init # lag fila med alle valg kommentert ut
Slik kan fila se ut:
# Skjemaversjon version = 1 # Klient (copilot er standard) client = "opencode" # Modell. En Copilot-id som claude-opus-4.8 virker for copilot og opencode; # opencode kjører den som github-copilot/claude-opus-4.8. # Uten modell velger klienten selv. # model = "claude-opus-4.8" # Modus (default | plan | autopilot), bare Copilot # mode = "default" # Resonneringsinnsats (none|low|medium|high|xhigh|max) reasoning_effort = "high" # Loggnivå # log_level = "info"
Alle nøklene står i referansen.
Legg teamets filer i .github/instructions/, ved siden av det nav-pilot installerer. nav-pilot rører aldri filer den ikke har installert selv.
.github/instructions/ golang.instructions.md ← fra nav-pilot security-owasp.instructions.md ← fra nav-pilot team-conventions.instructions.md ← teamets egen fil
nav-pilot init lager tre filer med TODO-er, forhåndsutfylt etter stacken den finner. Teamet fyller inn resten. nav-pilot lager filene én gang og rører dem ikke etterpå. Filer som finnes fra før, blir stående.
nav-pilot init # AGENTS.md # .github/copilot-instructions.md # .github/copilot-review-instructions.md
Vil teamet eie en fil nav-pilot vanligvis oppdaterer, legg den i .github/copilot-sync.json. nav-pilot sync hopper over filene i overrides, så teamets versjon blir stående.
{
"overrides": [
".github/instructions/golang.instructions.md"
]
}Mer om hva sync gjør med filene, står i Tilpasse sync.
Når agentpakka får en ny komponent, sier nav-pilot fra ved oppstart. Vil du ikke ha den, stopper du varselet. ignore virker bare for installasjonen i ~/.copilot (--user).
nav-pilot ignore agent rust-agent --user nav-pilot ignore skill rust-development --user nav-pilot ignore instruction nextjs-aksel --user
nav-pilot legger egne hooks i ~/.copilot/hooks/, og de kjører i alle økter med Copilot CLI. Fire nøkler slår dem av og på, og alle er på som standard:
hook_loop_guard: sier fra til modellen når den gjør det samme kallet om og om igjen.hook_redact_secrets: maskerer tokener, nøkler og passord i verktøyresultater før modellen leser dem.hook_redact_fnr: maskerer fødselsnummer, D-nummer og H-nummer.hook_injection_note: merker verktøyresultater som ser ut som instrukser til modellen, så den leser dem som data.nav-pilot config set hook_redact_fnr false # fjernes ved neste oppstart nav-pilot config set hook_redact_fnr true # på igjen
Kan ikke nav-pilot lese config.toml, kjører maskeringen og løkkevakta likevel, og du får beskjed på stderr. Løkkevakta nevner ikke terskelen overfor modellen, så modellen ikke kan heve den selv.
Agentpakka har også hooks. En hook er et Python-skript Copilot CLI kjører ved verktøykall, ikke tekst modellen leser. nav-pilot install legger dem inn sammen med resten, så les dem før du stoler på dem. De ligger i .github/hooks/ eller ~/.copilot/hooks/. nav-pilot uninstall fjerner bare det nav-pilot har skrevet, så dine egne hooks blir stående.
To av dem er porter som kan stoppe et verktøykall: polling-porten og ARIA-porten. Portene slipper kallet gjennom når Python svikter: python3 mangler, skriptet feiler, eller det svarer ikke innen fristen på ett sekund. Hver port har et unntak: POLL_OK=1 foran kommandoen for polling-porten, og en kommentar med ARIA_OK og begrunnelsen ved siden av role-attributtet for ARIA-porten. ARIA-porten ber bare modellen spørre deg og nevner ikke merket. Merket er et spor du legger igjen etter at du har sagt ja. Det er ingen lås, for en modell kan skrive det selv.