This document defines the recommended format for a TLDR.md file.
The specification is intentionally lightweight. TLDR.md is a Markdown convention, not a schema, package, service, or validator. The goal is a short orientation layer that helps a human or AI coding agent become useful safely in one repository.
A repository that adopts this convention SHOULD place the file at:
TLDR.md
The file SHOULD live at the repository root.
TLDR.md MUST be useful to both humans and AI coding agents.
It SHOULD avoid vendor-specific framing. Tool-specific instructions belong in adapter files such as AGENTS.md, CLAUDE.md, CODEX.md, Cursor rules, or equivalent systems.
TLDR.md is the orientation layer. It SHOULD describe the repo map: what the repo is, what to inspect first, what matters, what is risky, how to validate changes, and where deeper docs live.
AGENTS.md is the behavior layer. It SHOULD describe how AI coding agents operate in the repo: when to read TLDR.md, how to handle conflicts, which workflow rules to follow, how to communicate uncertainty, and what checks to run before finishing.
A repository MAY use both files. In that setup:
AGENTS.mdSHOULD point agents toTLDR.md.TLDR.mdSHOULD remain useful to humans who never readAGENTS.md.TLDR.mdSHOULD NOT contain detailed agent conduct rules.AGENTS.mdSHOULD NOT become the only place where repo orientation lives.
The exact headings MAY vary, but every TLDR.md SHOULD cover the following information.
MUST explain the repository in a few concrete sentences.
Good answers include:
- product, library, service, app, platform, or infrastructure role
- primary language or framework
- production relevance, if applicable
- what the repo is not, when that prevents confusion
MUST list the first files, directories, or docs a newcomer should inspect.
This section SHOULD be ordered. Sequence matters because it prevents broad, wasteful scanning and helps the reader build the right mental model.
MUST identify the small set of ideas, invariants, workflows, or boundaries that explain how the repo works.
This section SHOULD be short and concrete. Prefer bullets over paragraphs.
MUST identify files, commands, modules, or workflows that are reasonable places to start.
Examples:
- app entry point
- API router
- package exports
- test fixtures
- local development command
- documentation source of truth
MUST identify risky areas.
Examples:
- migrations
- generated files
- security-sensitive code
- billing logic
- data deletion paths
- production deployment config
- public API contracts
- compliance evidence
Warnings SHOULD be visible and specific. Do not hide them in long prose.
MUST include practical validation guidance.
This MAY include:
- test commands
- typecheck commands
- lint commands
- local smoke checks
- migration checks
- fixture regeneration steps
- manual review steps
Commands SHOULD be current and runnable. Do not include stale command output.
MUST point to the most important deeper docs.
This section SHOULD link selectively. TLDR.md is not a docs index.
Use optional sections only when they prevent confusion or unsafe work.
MAY describe major components and how data or requests move through them.
MAY list the safest path for common work such as adding an endpoint, updating a UI component, adding a migration, or changing a background job.
MAY include repo-specific notes useful to agents, as long as they remain AI-agnostic.
Avoid tool-specific instructions such as "Claude should..." or "Codex must..." in TLDR.md. Put those in adapters.
MAY define domain terms, acronyms, or internal names.
MAY identify maintainers, code owners, or review expectations.
Do not include private personal data. Link to public ownership files where possible.
MAY summarize recent architecture decisions that materially affect current work.
Prefer links to ADRs or issues over long summaries.
MAY list recurring mistakes, confusing names, test pitfalls, or misleading files.
MAY identify generated files and the command or source that produces them.
MAY identify authentication, authorization, secret handling, encryption, or audit logging boundaries.
Do not include secrets.
MAY identify sensitive data flows, schema ownership, retention rules, deletion paths, or privacy constraints.
MAY summarize how changes reach production or where deployment docs live.
MAY explain which tests matter for which changes and where fixtures live.
TLDR.md SHOULD usually be 100-250 lines.
Small repositories MAY use less. Very large repositories SHOULD keep the root TLDR.md concise and link to subsystem docs.
If the file becomes a manual, split details into docs and keep TLDR.md as the orientation layer.
TLDR.md SHOULD use direct language:
- "Start here."
- "Validate with this command."
- "Do not edit generated files."
- "This path owns public API behavior."
- "If changing migrations, read this doc first."
TLDR.md SHOULD NOT use vague confidence language:
- "Probably important."
- "Maybe start here."
- "There are many things to know."
If uncertain, mark uncertainty clearly:
Unconfirmed: this appears to be the main worker entry point, but a maintainer should verify.Avoid these:
- turning TLDR.md into a full manual
- duplicating README
- hiding important warnings in long prose
- making it agent-specific
- using it as secret storage
- using it as a substitute for tests
- including stale command output
- letting it become a dumping ground
- listing every file in the repo
- linking every doc instead of the few that matter first
- describing aspirational architecture that is not true yet
- storing private user or team memory
TLDR.md is plain Markdown. It should work in GitHub, GitLab, editors, terminals, and agent contexts.
No tooling is required for adoption.