Prerequisites
Dette må være på plass før du begynner å bygge agenten. Du trenger ikke ha deployet noe på forhånd, og du trenger ingen Azure-innlogging. Deployen går fra GitHub Actions.
Dette trenger du
Kryss av listen før kursdagen, eller bruk den som startpunkt når du åpner mini-nils.zip.
- En GitHub-konto som kan opprette et privat repository.
- Tilgang til
novanet/workshop.oslo-livegjennom et klassisk GitHub-token med barepublic_repo. Kurslederen legger deg til som collaborator med Write først; godta invitasjonen på e-post eller på repoet. - En laptop med PowerShell 7 (
pwsh), .NET 10 SDK, Git,ghog Python 3. - En kopi av
mini-nils.zip, lastet ned og pakket ut lokalt. Last den ned på nytt rett før kurset, så har du siste versjon. - En nettleser der du er logget inn på GitHub.
Velg arbeidsmiljø
Lokalt med pwsh
Hovedsporet. Installer PowerShell 7, .NET 10 SDK, Git, gh og Python 3. Alle kommandoene i labbene er skrevet for pwsh. Du trenger ikke az, jq, Docker, Node.js eller Claude Code lokalt. Dry-run kaller ikke Claude, og Claude Code ligger i worker-imaget i Azure.
Devcontainer eller Codespace
Fallback hvis du ikke får installert verktøyene. Starter-kitet har et ferdig miljø med .NET 10, gh og pwsh. Start pwsh i terminalen, så virker kommandoene i labbene likt.
Hvis noe er blokkert
Si fra før Lab 1. Codespaces eller en kursmaskin er fallback, slik at miljøoppsett ikke spiser tiden til oppgaven.
Tilganger og verdier
Du skal ikke gjette deg fram til kursverdier eller bruke private produksjonsressurser. Tre verdier får du av kurslederen, to lager du selv. Alt legges inn i ditt eget agentrepo mot slutten av Lab 1.
| Verdi | Når | Hvem leverer den | Hva du gjør |
|---|---|---|---|
GH_TOKEN | Før Lab 1 | Du selv | Klassisk token med bare public_repo og kort utløp. Legg det i lokal .env for dry-run og som repository secret. |
AGENT_NAME | Før Lab 1 | Du selv | Agentnavnet ditt, for eksempel kari. 3–12 tegn, små bokstaver, tall og bindestrek, og det må starte med en bokstav. Legg det i lokal .env og som repository variable. Det er også etiketten agenten lytter etter. |
AZURE_CREDENTIALS | Slutten av Lab 1 | Kurslederen | Repository secret. Gir Contributor på den delte ressursgruppen rg-agentic-workshop. Bruk den bare i GitHub Actions, aldri lokalt, og ikke del den videre. |
ANTHROPIC_API_KEY | Slutten av Lab 1 | Kurslederen | Repository secret. Én felles kursnøkkel med ett felles kostnadstak. Du trenger den ikke lokalt, dry-run kaller ikke Claude. |
WEBHOOK_SECRET | Slutten av Lab 1 | Kurslederen | Repository secret. Samme verdi som kurslederen bruker når webhooken registreres. |
ANTHROPIC_WORKSPACE_ID | Standard i zip | Kurslederen | Kursets workspace-ID ligger allerede i starter-kitet. Du gjør ingenting. |
| Azure-kursverdier | Lab 1 og 2 | Starter-kitet | GitHub Actions bruker rg-agentic-workshop, felles ACR og pull-identitet automatisk. |
AGENT_NAME. Repository secrets: AZURE_CREDENTIALS, GH_TOKEN, ANTHROPIC_API_KEY og WEBHOOK_SECRET. Ingen andre variables eller secrets er nødvendige.GH_TOKEN lager du selv som et klassisk token med bare public_repo på GitHub. Vær klar over hva det gir: public_repo når alle offentlige repoer du kan skrive til, ikke bare Oslo Live. Derfor skal det ha kort utløp, og workeren er låst til TARGET_REPO (novanet/workshop.oslo-live) og avviser andre repoer. Du må ha godtatt collaborator-invitasjonen, ellers får tokenet ikke skrive. Lab 1 bruker tokenet fra lokal .env i lesende dry-run. Azure-workeren får det som repository secret.Lag ditt GitHub-token
Tokenet brukes av workeren mot øvingsrepoet. Det er separat fra gh auth login, som du bruker med din egen GitHub-konto for å opprette agentrepoet.
Åpne klassiske tokens
Gå til GitHub → New personal access token (classic). Lenken fyller inn navn og scope for deg. Fine-grained funker ikke for collaborators utenfor Novanet-orgen.
Gi minst mulig tilgang
Kryss bare av public_repo. Ikke velg hele repo, da får tokenet tilgang til alle private repoer du har. Velg kort utløp, for eksempel 7 dager.
Lagre verdien lokalt
Copy-Item .env.example .env
Åpne .env og fyll inn:
GH_TOKEN=ghp_... AGENT_NAME=kari
GitHub viser tokenverdien bare én gang. Mot slutten av Lab 1 legger du den også inn som repository secret GH_TOKEN. Ikke legg den i kode, issue, PR eller skjermbilde. Hvis Azure-workeren logger addComment eller replaceActorsForAssignable, sjekk først at du har godtatt collaborator-invitasjonen, deretter at tokenet har public_repo.
Miljøsjekk
Kjør dette i pwsh fra mappen der du pakket ut starter-kitet. Versjonsnumrene kan være nyere, men kommandoene skal svare uten feil.
$PSVersionTable.PSVersion dotnet --version git --version gh --version gh auth status python --version dotnet build
gh auth status viser at du er logget inn, og løsningen bygger grønt. Test GitHub-tokenet uten API-kall med dotnet run --project src/Worker -- --issue 1 --repo novanet/workshop.oslo-live --dry-run. Ingen lokal issue-kjøring skal reservere, kommentere eller opprette PR. Det skjer først fra Azure i Lab 2.Hvis betalingen eller nøkkelen stopper deg
Du skal ikke kjøpe API-kreditt selv. Claude.ai-abonnement og Anthropic API-betaling er separate.
--dry-run virker uten. Ikke send nøkkelen i chat. Feiler Azure-jobben på nøkkel eller workspace, si fra til kurslederen.Ikke nødvendig før start
- Du trenger ingen Azure-konto, Azure-innlogging eller
az. Deployen kjører fra GitHub Actions. - Du trenger ikke opprette Azure-ressurser selv.
- Du trenger ikke lage webhooken. Kurslederen kobler den til i lunsjen.
- Du trenger ikke forstå hele workeren før Lab 1; du implementerer
RunStagessteg for steg.