EmDash is a content management system for creating and managing websites, built with TypeScript and Astro and deployable on Cloudflare or Node.js with SQLite. It is for site owners and developers who want WordPress-like administration, templates, and plugins without PHP or separate hosting.
Borrowing it
Nothing to install: this file belongs to emdash-cms/emdash. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/emdash-cms/emdash/main/AGENTS.mdgit clone --depth 1 https://github.com/emdash-cms/emdashWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/emdash-cms/emdash/agents-md)<a href="https://agentmods.dev/instructions/emdash-cms/emdash/agents-md"><img src="https://agentmods.dev/badge/instructions/emdash-cms/emdash/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/emdash-cms/emdash/agents-md"><img src="https://agentmods.dev/badge/instructions/emdash-cms/emdash/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.07360 | $0.07360 |
| Opus 5.5 | $0.02944 | $0.02944 |
| Sonnet 5.5 | $0.01472 | $0.01472 |
| Haiku 4.5 | $0.00736 | $0.00736 |
Grade A, and why
emdash AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 438 lines — stays where its author put it; the contents beside it link to each section on GitHub.
This file provides guidance to agentic coding tools working in this repository.
For human-facing contributor info (setup, repo layout, PR policy, i18n), see CONTRIBUTING.md. This file focuses on the patterns and gotchas an agent needs to write correct code.
Follow AI_POLICY.md for external actions and project communication. In particular, do not open design PRs, and do not comment on issues, Discussions, or design PRs. On implementation PRs, post only a specifically requested code review or a reply to code review, and sign agent-written comments posted from a human account as the policy requires.
To check the autofix bot's status on an issue or PR, read https://autofix.emdashcms.com/api/cases?issue=N, where N is the issue or PR number.
.claude/CLAUDE.md is a symlink to this file. .agents/skills and .claude/skills are symlinks to skills/. Don't try to sync between them.
When writing, revising, or reviewing documentation, load the writing-emdash-docs skill. Use it for public docs, READMEs, contributor guidance, technical specifications, release notes and changesets, and skill instructions.
Rules
Backwards compatibility matters. EmDash is published, in active use, and on 1.x. Prefer additive changes (new fields, new routes, new options with defaults). Breaking changes need an explicit decision, a major version bump, and a changeset that calls the break out clearly. Database migrations are forward-only -- never write one that leaves existing content inaccessible. When the compatibility decision is unclear, propose a Discussion instead of choosing a breaking design.
Regression evidence for bugs. A fix must demonstrate that it changes the reported behavior. Add a regression test when it can protect meaningful behavior; otherwise report the reproduction and verification. See Testing.
Localize everything user-facing. All admin UI strings, aria labels, and toast messages go through Lingui. All admin layout uses RTL-safe logical Tailwind classes. See Localization and RTL.
Scope discipline. No drive-by refactors, no bulk lint/type cleanups, no "while I'm here" edits in unrelated files. Report systemic issues separately instead of expanding the current change. See CONTRIBUTING.md § Contribution Policy.
Protect the logged-out hot path. Any change that increases the query count of a logged-out route needs explicit justification -- and that includes cold-start or first-request-only queries, not just steady state. See Performance.
Comments are for code readers, not reviewers. Write a comment only when the code can't be made clearer, or to give a non-obvious "why". Never justification, narrative, or issue/PR references. See Comments.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday Changed · +170 tokens per session 185322686d71
- 16d ago Changed · +2 lines · +67 tokens per session c57000c46bea
- 19d ago Changed · +2 lines · +41 tokens per session cfec9c73d0a9
- 28d ago Changed · +2 lines · +104 tokens per session 727ad88a14b2
- 1mo ago Changed · +96 tokens per session 9416c853f7ff
- 1mo ago Changed · +1 tokens per session d49a8dacc629
- 1mo ago Changed · +2 lines · +195 tokens per session 79c9dfe7fc6a
- 1mo ago Changed · +2 lines · +35 tokens per session 9c11c50e2791
- 2mo ago Changed · +15 lines · +285 tokens per session 7e113d8f49c3
- 2mo ago First seen · 413 lines · 6,366 tokens per session scan A 353f62341445
emdash AGENTS.md is an instructions file published in the GitHub repository emdash-cms/emdash (14,175 stars, last pushed today), licensed MIT. It adds 7,360 tokens to every session, about $0.0294 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
emdash AGENTS.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| emdash AGENTS.mdemdash-cms/emdash | Instructions file | 14k | today | MIT | A | 7,360 | Codex, OpenCode |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | today | MIT | A | 7,461 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 5,516 | GitHub Copilot |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | today | MIT | A | 4,680 | Codex, OpenCode |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 3,093 | GitHub Copilot |
| deepseek-harness AGENTS.mddeepseek-ai/deepseek-harness | Instructions file | 274k | 2d ago | MIT | A | 4,313 | Codex, OpenCode |