From README.md to PROGRAM.md: Markdown Is Now a Programming Language
For 22 years, Markdown was a documentation format. You wrote READMEs, blog posts, and notes. It explained things to humans.
Then something changed. In 2024, AI coding assistants started reading .cursorrules and copilot-instructions.md. In 2025, AGENTS.md emerged as a universal standard. In early 2026, Andrej Karpathy released autoresearch, where the entire human contribution is a Markdown file called program.md.
The evolution is clear:
| Era | File | Audience | Purpose |
|---|---|---|---|
| 2004-2023 | README.md | Humans | Documentation |
| 2024 | .cursorrules | AI coding tools | Code style rules |
| 2025 | AGENTS.md | AI coding agents | Project instructions |
| 2026 | program.md | Autonomous agents | Research programs |
Markdown isn’t just documentation anymore. It’s a programming language for AI.
The Three Generations
Generation 1: Documentation (README.md)
The original Markdown use case. You write a README to help humans understand your project. It’s passive --- it sits there until a human reads it. No machine acts on it.
Generation 2: Configuration (AGENTS.md, CLAUDE.md)
AI coding assistants need project context. AGENTS.md tells them your build commands, coding conventions, and architectural decisions. CLAUDE.md customizes Claude Code’s behavior. These files are active --- an AI reads them and changes its behavior accordingly.
But the human is still writing the code. The Markdown file just helps the AI assist better.
Generation 3: Programming (program.md)
With autoresearch, the human doesn’t write any code at all. The entire contribution is program.md --- a Markdown file that defines research goals, constraints, and strategy. The AI agent reads it and then autonomously writes, runs, and iterates on code for hours or days.
This is Markdown as a programming language. The output isn’t formatted text --- it’s running code, experimental results, and scientific discoveries.
Why Markdown?
Why did every AI system converge on Markdown instead of, say, YAML, JSON, or a custom DSL?
It’s in the training data. LLMs have seen billions of Markdown files during training. They understand its conventions deeply --- headings indicate hierarchy, bullet points indicate lists, code blocks indicate executable content.
It’s flexible. Markdown doesn’t impose a rigid schema. You can write free-form instructions, structured tables, code examples, and natural language all in the same file. This flexibility matches how humans think about directing AI agents.
It’s auditable. You can read a program.md and understand exactly what the agent is being told to do. Try that with a 500-line YAML config.
It’s version-controllable. Every change to your agent’s instructions is a git commit. You can diff, review, and rollback agent behavior changes just like code changes.
What This Means for You
If Markdown is becoming a programming language, then everyone who writes Markdown is becoming a programmer of sorts. The skill isn’t syntax --- it’s clarity of thought and precision of instruction.
Here’s what matters now:
Learn to write precise Markdown instructions. The better your AGENTS.md or program.md, the better your AI agent performs. This is a new skill that combines technical knowledge with clear writing.
Build a reference library in Markdown. When you’re writing instructions for AI agents, you need reference material: documentation, examples, papers, best practices. Having this material in clean Markdown format makes it immediately usable.
Understand the AI Markdown ecosystem. Know the difference between AGENTS.md, CLAUDE.md, llms.txt, and program.md. Each serves a different purpose in the growing Markdown-for-AI stack.
Capturing Knowledge for Agent Instructions
Writing good AI agent instructions requires knowledge. You need to understand the domain, the tools, the constraints, and the goals. Much of this knowledge lives on the web --- in documentation pages, blog posts, research papers, and tutorials.
Save converts any of these web sources to clean Markdown with one click. When you’re crafting a program.md or AGENTS.md, having your reference material already in Markdown means you can excerpt, reference, and build on it immediately.
The researchers writing the best program.md files aren’t starting from scratch. They’re building on knowledge they’ve captured and organized in Markdown format.
Save converts any webpage to clean Markdown --- perfect for building the reference library you need to write effective AI agent instructions. Try Save free.
## Continue reading
How to Write a Good program.md: A Practical Guide for AI Agent Instructions
program.md is the file that programs AI agents in Karpathy's autoresearch. Here's how to write one that gets results --- with structure, examples, and best practices.
Karpathy's Autoresearch & PROGRAM.md: AI That Runs Experiments While You Sleep
Andrej Karpathy's autoresearch lets AI agents run 100+ ML experiments overnight, guided by a single Markdown file called program.md. Here's how it works and why it matters.
Vibe Coding Is Dead. Welcome to Agentic Engineering with Markdown.
Karpathy says vibe coding is passé. The new paradigm is agentic engineering, where you orchestrate AI agents through Markdown files instead of writing code yourself.
AGENTS.md & CLAUDE.md: The New README for AI Coding Agents
Learn how AGENTS.md and CLAUDE.md files guide AI coding assistants like GitHub Copilot, Cursor, and Claude Code. Plus how to write effective agent instruction files for your projects.
Written by
Jean-Sébastien Wallez
I've been making internet products for 10+ years. Built Save on weekends because I wanted my own reading library in clean markdown for Claude and Obsidian. Write here about web clipping, AI workflows, and the small things that make a personal knowledge base actually useful.