Guider
Synkronisere
Agentpakka i navikt/copilot endres jevnlig. Hold repoet ditt oppdatert med en ukentlig pull request eller med nav-pilot sync.
brew update brew upgrade navikt/tap/nav-pilot navikt/tap/cplt copilot update # Copilot CLI opencode upgrade # hvis du bruker opencode
Automatisk sync
Legg denne workflowen i repoet. Den åpner en pull request når noe er endret, som Dependabot. Pull requesten viser hvilke filer som er oppdatert, 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: writeLokal sync
nav-pilot sync sammenligner SHA-256 for filene dine med kilderepoet. Uten flagg sjekker den alle stedene der du har installert.
nav-pilot sync # sjekk om det finnes oppdateringer (kode 1 hvis ja) nav-pilot sync --apply # oppdater filene; spør før den sletter noe nav-pilot sync --json # resultatet som JSON
Hvordan nav-pilot finner filer
Har du installert med nav-pilot install, står hver fil i tilstandsfila. Har teamet kopiert filene for hånd, ser nav-pilot etter filer som også finnes i kilderepoet:
.github/agents/*.agent.md.github/instructions/*.instructions.md.github/prompts/*.prompt.md.github/skills/*/(hele mapper)
AGENTS.md og .github/copilot-instructions.md oppdateres aldri. De hører til repoet.
Tilpasse sync
Vil du fjerne filer for et rammeverk du ikke bruker, for eksempel instruksjonene for Next.js i et Astro-prosjekt? Legg dem i overrides i .github/copilot-sync.json:
{
"overrides": [
".github/instructions/nextjs-aksel.instructions.md",
".github/instructions/performance.instructions.md",
".github/prompts/nextjs-api-route.prompt.md"
]
}Sync hopper helt over filene i overrides. Du kan slette dem, og de kommer ikke tilbake. Du kan også velge dem bort i velgeren når du installerer.
Har teamet en egen fil med samme navn som en i kilden, for eksempel en egen skill kotlin-app-config, avhenger det av når den kom:
- Fantes fila før
nav-pilot install, hopper install over den og sier fra, og sync rører den ikke. - I et repo med kopierte filer og uten install vil sync foreslå å overskrive den. Legg den i
overrides.
Filer med navn som ikke finnes i kilden, rører sync aldri. Varsler om nye komponenter stopper du med nav-pilot ignore.
Spørsmål og svar
Trenger jeg et GitHub-token eller en secret?
Nei. Workflowen bruker GITHUB_TOKEN og leser offentlige kildefiler.
Hva skjer med en fil jeg har endret?
Oppdateringen tar kildens versjon, lagrer kopien din som <fil>.orig ved siden av og sier fra. I CI står fila under «Changed» i pull requesten, merket med at den har lokale endringer. Du kan gå gjennom, flette det du vil ha eller lukke pull requesten. Workflowen tvinger aldri gjennom noe.
Hva skjer når kilden slutter å levere en fil?
nav-pilot sync --apply fjerner kopien din i repoet, i ~/.copilot og i mappa til opencode. Uten --apply lister sync bare filene. Har du endret fila, lagres kopien din som <fil>.orig før den fjernes, og i CI er den merket i pull requesten. En hook du har endret, blir stående og kjører videre, og sync sier fra. Vil du beholde fila, legg den i overrides før du kjører --apply.
Hva skjer hvis jeg sletter en fil selv?
Fila blir merket som ignorert og kommer ikke tilbake ved neste sync. Vil du ha den tilbake, kjør nav-pilot install <navn>.
Hva er forskjellen fra Dependabot?
Samme idé, en pull request med oppdateringer, men for Copilot-filer. nav-pilot sammenligner SHA-256 i stedet for versjonsnumre.