What is install.md?
install.md is a proposal to standardize software installation using task-oriented markdown files that AI agents execute autonomously. When you ask an AI agent to install software today, you have no idea what context it receives—it might search the web, find outdated docs, or hallucinate commands. With install.md, developers define exactly what instructions the agent gets. install.md files are direct commands, not just documentation. The format is structured to trigger immediate autonomous execution.Why install.md?
Verifiable
Developers and users know exactly what context the AI agent receives. Test it yourself, iterate on it, trust it.
Adaptable
AI agents adapt instructions to your environment—detecting your OS, package manager, project structure, and more.
Verifies success
install.md files include success criteria so the agent knows when installation is complete and working.
Human-readable
See exactly what will happen before it happens. Modify the instructions yourself if needed.
Advantages
For developers shipping software
You define installation once and it adapts to every environment. Encode edge cases and troubleshooting knowledge without cluttering your main documentation. You control exactly what context the LLM receives, and installation instructions for agents can differ from your public docs. You’re writing directly to your actual users—which increasingly are agents.For users installing software
A single command installs your software, or paste the file into any LLM. The instructions are human-readable so you can review every step before it executes. The LLM adapts to your specific environment automatically. Because the file is fetched at runtime, you never deal with stale data or depend on the LLM’s outdated knowledge.For agents
Installation instructions live in a predictable location that’s easy to find. The structured format provides clear success criteria for determining when installation is complete. The file is markdown, not HTML—clean input for the model.Example: Firecrawl install.md
Example: Firecrawl install.md
Here’s a real install.md file for Firecrawl, a web scraping API:
Relationship to llms.txt
install.md works naturally with llms.txt. While llms.txt helps LLMs understand your software broadly, install.md tells them specifically how to install it. Your install.md can link to your llms.txt so the agent can reference it for troubleshooting, configuration details, or additional context needed during installation. We recommend putting any reference pages or your llms.txt at the end of your install.md file.Get started
Quickstart
Learn how to create your first install.md file.
Format specification
Understand the install.md file format and best practices.
Examples
Browse real-world examples of install.md files.
FAQ
What about installation wizards like PostHog's or Sentry's?
What about installation wizards like PostHog's or Sentry's?
Wizards solve the same problem: reliable installation across environments. They require significant engineering to build and maintain. install.md is a lighter-weight alternative—you define instructions in markdown, and the LLM handles adaptation. For complex integrations with many configuration options, a dedicated wizard may still be the right choice. For most software, install.md gets you most of the benefit with far less effort.
How does install.md work with my existing CLI or scripts?
How does install.md work with my existing CLI or scripts?
install.md doesn’t replace your existing tools—it works with them. Your install.md can instruct the LLM to run your CLI, execute your scripts, or follow your existing setup process. Think of it as a layer that guides the LLM to use whatever tools you’ve already built.
What about security? Isn't this just curl | bash with extra steps?
What about security? Isn't this just curl | bash with extra steps?
This is a fair concern. A few things make install.md different:
- Human-readable by design. Users can review the instructions before execution. Unlike obfuscated scripts, the intent is clear.
- Step-by-step approval. LLMs in agentic contexts can be configured to request approval before running commands. Users see each action and can reject it.
- No hidden behavior. install.md describes outcomes in natural language. Malicious intent is harder to hide than in a shell script. This is less safe than a shell script for example, because an install.md file can contain a script or even multiple scripts. But it’s easier to audit than a sophisticated wizard or any tool that runs LLM prompts under the hood.
Is install.md only for developer tools?
Is install.md only for developer tools?
No. install.md can be used for any software—desktop applications, system utilities, complex multi-component setups. If it can be installed via terminal commands, it can have an install.md.
Does install.md need its own page?
Does install.md need its own page?
Not necessarily. It can be a snippet users copy-paste, or embedded directly in your existing installation page. The key is that users and agents can access the structured instructions.
The vision
As AI agents become more capable, we envision a future where:- Developers control exactly what context AI agents receive for installing their software
- AI agents adapt installation to any environment and verify success automatically
- Users can read, modify, and trust installation instructions before execution
- The yak-shaving of software installation is handled entirely by AI
Read the full proposal
Learn more about the specification and join the conversation.