Modul 1 – Introduktion och kontext
OpenCode-utbildningen på AIWiki.se ← Tillbaka till översikten
Vad är OpenCode?
OpenCode är en öppen källkods AI-kodagent som primärt körs i terminalen. Det är inte ett plugin i din editor, inte en chatbot i webbläsaren – det är ett CLI/TUI-verktyg som tar din kodbas som kontext och låter en LLM agera på den.
Tre centrala egenskaper:
- Terminal-first – körs i din befintliga terminal, utan att kräva ett grafiskt gränssnitt.
- Provider-agnostisk – kopplas mot OpenAI, Anthropic (Claude), Google Gemini, eller lokala modeller via Ollama.
- Agent-orienterad – arbetar utifrån AGENTS.md och SKILL.md-filer som styr beteendet, inte bara en rak prompt.
Verktyget är besläktat med Claude Code, Aider och liknande CLI-agenter, men skiljer sig i hur det hanterar konfiguration och återanvändbarhet via skills.
Varför spelar det roll för arkitekter?
Arkitekter arbetar med mönster, principer och strukturer – inte enstaka kodrader. OpenCode adresserar just det lagret:
AGENTS.md som ”README för agenter”
AGENTS.md är ett konfigurationsformat som definierar hur en agent ska bete sig i ett givet kodrepo. Det är inte en prompt – det är ett styrande dokument. Det specificerar:
- Vilken modell som ska användas
- Vilka verktyg agenten har tillgång till
- Vad agenten får göra (allow/ask/deny-modell)
- Max antal steg per körning
- Eventuella sub-agenter
Det liknar på många sätt ett Architecture Decision Record (ADR) – ett dokument som styr beteende och sätter ramar. Skillnaden är att det maskinen som läser det, inte bara människan.
Kompatibilitet och portabilitet
AGENTS.md-formatet är inte OpenCode-specifikt. Det är ett öppande standard som stöds av flera agentverktyg. Det innebär att en välskriven AGENTS.md-fil i ett repo kan styra beteendet oavsett vilket verktyg teamet väljer att använda.
Användningsfall
OpenCode passar bäst för strukturerade, väldefinierade uppgifter med tydlig avgränsning. Typiska användningsfall:
| Kategori | Exempel |
|---|---|
| Kodförståelse | ”Förklara vad den här modulen gör och vilka beroenden den har.” |
| Refaktorering | ”Bryt ut den här klassen till separata filer enligt SOLID-principerna.” |
| Generering | ”Skapa ett REST-API utifrån den här datamodellen.” |
| Dokumentation | ”Generera OpenAPI-spec från den här kodbasen.” |
| Migrering | ”Migrera det här projektet från CommonJS till ESM.” |
Gemensamt för dessa fall: de har en tydlig in-signal (kodbas, spec, instruktion) och en tydlig ut-signal (kod, dokument, diff). OpenCode är inte ett brainstormingverktyg – det är ett exekveringsverktyg.
Vad OpenCode inte är
Det är viktigt att sätta rätt förväntningar:
- Inte ett autonomt system – OpenCode agerar på en uppgift i taget, det planerar inte långsiktiga mål utan styrning.
- Inte ett ersättningsverktyg – det kompletterar utvecklaren, det ersätter inte arkitektbedömning.
- Inte en chatbot – interaktionen är mer kommando-orienterad än konversationell, även om TUI-läget tillåter dialog.
Positionering i ekosystemet
Ekosystem för AI-kodagenter (förenklad bild): Chatbot-orienterade Agent-orienterade (GitHub Copilot Chat, → (OpenCode, Claude Code, ChatGPT) Aider, Amp) Editor-integrerade Terminal-first (Cursor, Windsurf) → (OpenCode, Aider) Proprietära Open source (Claude Code, Copilot) → (OpenCode, Aider)
OpenCode befinner sig i skärningspunkten: öppen källkod, terminal-first, agent-orienterad.
Sammanfattning
- OpenCode är ett CLI/TUI-verktyg för AI-assisterad kodutveckling.
- Det styrs av konfigurationsfiler (AGENTS.md, SKILL.md) – inte bara löpande prompts.
- Det är provider-agnostiskt och stöder lokala modeller.
- Arkitektperspektivet: tänk på det som ett exekveringsverktyg med styrande dokument, inte en chatbot.
Nästa modul: Modul 2 – Arkitektur och mentala modeller →