{"id":870,"date":"2026-03-18T07:40:48","date_gmt":"2026-03-18T05:40:48","guid":{"rendered":"https:\/\/vittrup-graversen.dk\/?p=870"},"modified":"2026-03-28T12:10:10","modified_gmt":"2026-03-28T10:10:10","slug":"agents-md-en-fil-der-faar-alle-dine-ai-kodningsagenter-til-at-forstaa-dit-projekt","status":"publish","type":"post","link":"https:\/\/vittrup-graversen.dk\/index.php\/2026\/03\/18\/agents-md-en-fil-der-faar-alle-dine-ai-kodningsagenter-til-at-forstaa-dit-projekt\/","title":{"rendered":"AGENTS.md: \u00c9n fil der f\u00e5r alle dine AI-kodningsagenter til at forst\u00e5 dit projekt"},"content":{"rendered":"\n<p>Forestil dig at du ans\u00e6tter en ny udvikler. Du ville aldrig s\u00e6tte dem foran kodebasen uden onboarding \u2014 uden at fort\u00e6lle dem om jeres tech stack, kodestandarder og testprocedurer. Men det er pr\u00e6cis hvad de fleste g\u00f8r med deres AI-kodningsagenter. <strong>AGENTS.md<\/strong> \u00e6ndrer det.<\/p>\n\n\n\n<p>AGENTS.md er en simpel Markdown-fil du placerer i roden af dit repository. Den fungerer som en README \u2014 men for AI-agenter. Hvor README.md fort\u00e6ller mennesker hvad projektet handler om, fort\u00e6ller AGENTS.md dine kodningsagenter <em>hvordan<\/em> de skal arbejde med det: build-kommandoer, teststrategi, kodestandarder, og hvilke mapper de skal holde sig fra.<\/p>\n\n\n\n<p>Formatet blev lanceret af OpenAI i august 2025, og siden er adoptionen eksploderet. I marts 2026 bruges AGENTS.md af <a href=\"https:\/\/github.com\/search?q=path%3AAGENTS.md+NOT+is%3Afork+NOT+is%3Aarchived&#038;type=code\" target=\"_blank\" rel=\"noopener\">over 60.000 open source-projekter<\/a> p\u00e5 GitHub \u2014 og alle de store AI-kodningsv\u00e6rkt\u00f8jer underst\u00f8tter det nu nativt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00c9t format der virker p\u00e5 tv\u00e6rs af alle agenter<\/h2>\n\n\n\n<p>Det mest bem\u00e6rkelsesv\u00e6rdige ved AGENTS.md er bredden af adoption. Hvor hvert AI-v\u00e6rkt\u00f8j tidligere havde sit eget propriet\u00e6re konfigurationsformat \u2014 Cursor havde <code>.cursorrules<\/code>, Claude Code har <code>CLAUDE.md<\/code>, Copilot har <code>.github\/copilot-instructions.md<\/code> \u2014 er AGENTS.md blevet den f\u00e6lles standard, som alle v\u00e6rkt\u00f8jerne l\u00e6ser.<\/p>\n\n\n\n<p>Her er status i marts 2026: <strong>OpenAI Codex CLI<\/strong> bruger AGENTS.md som sin prim\u00e6re instruktionsfil. <strong>GitHub Copilot<\/strong>, <strong>Cursor<\/strong>, <strong>Windsurf<\/strong>, <strong>Amp<\/strong> (fra Sourcegraph), <strong>Devin<\/strong>, <strong>Jules<\/strong> (fra Google) og <strong>Factory<\/strong> l\u00e6ser alle AGENTS.md nativt. Claude Code underst\u00f8tter det endnu ikke direkte, men <a href=\"https:\/\/vittrup-graversen.dk\/?p=479\">du kan referere til det fra din CLAUDE.md<\/a>.<\/p>\n\n\n\n<p>I praksis betyder det, at du kan skrive \u00e9n AGENTS.md-fil og f\u00e5 konsistent opf\u00f8rsel uanset om du bruger Codex, Copilot, Cursor eller noget helt fjerde. Det er f\u00f8rste gang vi ser reel interoperabilitet mellem AI-kodningsv\u00e6rkt\u00f8jer.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Linux Foundation giver standarden officiel ballast<\/h2>\n\n\n\n<p>I december 2025 tog Linux Foundation et us\u00e6dvanligt skridt og oprettede <a href=\"https:\/\/www.linuxfoundation.org\/press\/linux-foundation-announces-the-formation-of-the-agentic-ai-foundation\" target=\"_blank\" rel=\"noopener\">Agentic AI Foundation (AAIF)<\/a> \u2014 en paraplyorganisation for \u00e5bne standarder inden for AI-agenter. AGENTS.md blev lagt ind under AAIF sammen med Anthropics MCP-protokol og Blocks open source-agent Goose.<\/p>\n\n\n\n<p>Bag initiativet st\u00e5r en us\u00e6dvanlig alliance: OpenAI, Anthropic, Google, AWS, Block, Intuit og flere. At konkurrerende virksomheder enes om en f\u00e6lles standard for agent-konfiguration er et klart signal om, at branchen har indset at fragmentering skader alle. For udviklere er det en befrielse \u2014 du beh\u00f8ver ikke l\u00e6ngere vedligeholde separate konfigurationsfiler til hvert v\u00e6rkt\u00f8j.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">S\u00e5dan kommer du i gang med AGENTS.md<\/h2>\n\n\n\n<p>En minimal AGENTS.md-fil er overraskende simpel. Der er ingen special-syntaks, ingen schema-validering, ingen YAML-frontmatter. Det er ren Markdown \u2014 ligesom en README:<\/p>\n\n\n\n<pre class=wp-block-code><code># AGENTS.md\n\n## Setup\n- Install: pnpm install\n- Dev server: pnpm dev\n- Tests: pnpm test\n\n## Kodestandarder\n- TypeScript strict mode\n- Named exports, ikke default exports\n- R\u00f8r IKKE filer i \/legacy\/\n\n## F\u00f8r commit\n- K\u00f8r pnpm lint og pnpm test\n- Hold PR-beskrivelser under 3 s\u00e6tninger<\/code><\/pre>\n\n\n\n<p>Det geniale er simpliciteten. Agenten parser bare teksten og f\u00f8lger instruktionerne. Ingen integration, ingen plugins, ingen konfiguration. L\u00e6g filen i roden af dit repo, og alle underst\u00f8ttede agenter finder den automatisk.<\/p>\n\n\n\n<p>For monorepos underst\u00f8tter formatet <strong>nestede AGENTS.md-filer<\/strong>. Du kan l\u00e6gge en i roden med projektbrede regler, og en i hver undermappe med specifikke instruktioner. Den n\u00e6rmeste fil til den fil agenten arbejder p\u00e5, har forrang. OpenAIs eget repository har i skrivende stund 88 AGENTS.md-filer.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hvad det \u00e6ndrer for dit workflow<\/h2>\n\n\n\n<p>F\u00f8r AGENTS.md var onboarding af AI-agenter en ad hoc-proces. Du skrev instruktioner i prompten hver gang, eller du h\u00e5bede p\u00e5 at agenten g\u00e6ttede dine konventioner rigtigt ud fra kodebasen. Resultatet var inkonsistent kode, brudte tests, og tid spildt p\u00e5 at rette agentens fejl.<\/p>\n\n\n\n<p>Med AGENTS.md codificerer du din viden \u00e9n gang. Typiske ting at inkludere:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Build- og testkommandoer<\/strong> \u2014 s\u00e5 agenten kan verificere sit eget arbejde<\/li>\n<li><strong>Kodestandarder<\/strong> \u2014 navngivning, imports, formattering<\/li>\n<li><strong>Arkitektur-beslutninger<\/strong> \u2014 vi bruger repository pattern, ikke direkte database-kald<\/li>\n<li><strong>Forbudte zoner<\/strong> \u2014 r\u00f8r aldrig \/legacy\/ eller \/vendor\/<\/li>\n<li><strong>Sikkerhedshensyn<\/strong> \u2014 brug aldrig eval(), sanit\u00e9r altid bruger-input<\/li>\n<li><strong>PR-konventioner<\/strong> \u2014 commit message-format, review-krav<\/li>\n<\/ul>\n\n\n\n<p>Agenten k\u00f8rer derefter automatisk de tests du har defineret og fikser fejl inden den markerer opgaven som f\u00e6rdig. Det er den afg\u00f8rende forskel mellem en agent der genererer generisk kode, og en der f\u00f8lger dine konventioner fra f\u00f8rste linje.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">AGENTS.md vs. CLAUDE.md vs. .cursorrules<\/h2>\n\n\n\n<p>Mange udviklere sp\u00f8rger: Skal jeg droppe mine eksisterende konfigurationsfiler? Nej \u2014 de lever fint side om side. Den anbefalede tilgang er at bruge AGENTS.md til <strong>delte regler<\/strong> der g\u00e6lder alle agenter, og de v\u00e6rkt\u00f8jsspecifikke filer til ting der kun g\u00e6lder \u00e9t v\u00e6rkt\u00f8j.<\/p>\n\n\n\n<p>Et typisk setup i et moderne projekt ser s\u00e5dan ud: AGENTS.md i roden med delte regler for stack, konventioner og tests. CLAUDE.md ved siden af med Claude Code-specifikke regler. Copilot-instruktioner i <code>.github\/copilot-instructions.md<\/code>. Og Cursor-regler i <code>.cursor\/rules\/<\/code>.<\/p>\n\n\n\n<p>AGENTS.md er fundamentet. De andre filer tilf\u00f8jer v\u00e6rkt\u00f8jsspecifikke detaljer ovenp\u00e5. Det er et m\u00f8nster der minder om hvordan vi bruger <code>.editorconfig<\/code> som f\u00e6lles standard, mens individuelle editorer stadig har deres egne indstillinger.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Perspektiv: En standard der holder<\/h2>\n\n\n\n<p>AGENTS.md l\u00f8ser et reelt problem: AI-kodningsagenter er kun s\u00e5 gode som den kontekst de f\u00e5r. Uden projektspecifikke instruktioner producerer selv den bedste agent \u2014 uanset om det er <a href=\"https:\/\/vittrup-graversen.dk\/?p=823\">Claude Code<\/a>, Copilot eller Codex \u2014 generisk kode der ikke passer ind i en eksisterende kodebase.<\/p>\n\n\n\n<p>At 60.000+ projekter allerede bruger formatet, og at det nu er forankret i Linux Foundation, tyder p\u00e5 at AGENTS.md har momentum nok til at blive en varig standard. For udviklere der endnu ikke har oprettet en, er der ingen undskyldning: Det tager fem minutter, og det forbedrer kvaliteten af alt hvad dine AI-agenter producerer fra dag \u00e9t.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kilder<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/agents.md\/\" target=\"_blank\" rel=\"noopener\">AGENTS.md \u2014 officiel hjemmeside<\/a> \u2014 agents.md<\/li>\n<li><a href=\"https:\/\/www.linuxfoundation.org\/press\/linux-foundation-announces-the-formation-of-the-agentic-ai-foundation\" target=\"_blank\" rel=\"noopener\">Linux Foundation Announces the Formation of the Agentic AI Foundation<\/a> \u2014 Linux Foundation, december 2025<\/li>\n<li><a href=\"https:\/\/openai.com\/index\/agentic-ai-foundation\/\" target=\"_blank\" rel=\"noopener\">OpenAI co-founds the Agentic AI Foundation<\/a> \u2014 OpenAI, december 2025<\/li>\n<li><a href=\"https:\/\/vibecoding.app\/blog\/agents-md-guide\" target=\"_blank\" rel=\"noopener\">AGENTS.md: The Complete Guide to Configuring AI Coding Agents<\/a> \u2014 vibecoding.app, marts 2026<\/li>\n<\/ul>\n\n\n\n<p><em>Denne artikel er skrevet i samarbejde med AI, og efterf\u00f8lgende redigeret af et rigtigt menneske \ud83d\ude42<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>AGENTS.md er \u00e9n fil der f\u00e5r alle dine AI-kodningsagenter til at forst\u00e5 dit projekt. Simpelt, effektivt og universelt.<\/p>\n","protected":false},"author":1,"featured_media":869,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[24,8],"tags":[91,31],"class_list":["post-870","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-agentic-engineering","category-ai","tag-agents-md","tag-language-models"],"acf":[],"_links":{"self":[{"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/posts\/870","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/comments?post=870"}],"version-history":[{"count":2,"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/posts\/870\/revisions"}],"predecessor-version":[{"id":979,"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/posts\/870\/revisions\/979"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/media\/869"}],"wp:attachment":[{"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/media?parent=870"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/categories?post=870"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/tags?post=870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}