AGENTS.md, Explained: One File for Claude, Cursor, Copilot…
    Neura MarketNeura Market/Cursor
    ChatGPTChatGPTClaudeClaudeGeminiGeminiCursorCursorGrokGrokPerplexityPerplexityDeepSeekDeepSeek
    CoPilotCoPilotStable DiffusionStable DiffusionMidjourneyMidjourney
    View All Directories
    OverviewRulesPromptsMCPsAgentsGamesBlogVideosGuidesCoursesCommunityExtensionsTrending
    CursorBlogAGENTS.md, Explained: One File for Claude, Cursor, Copilot and Windsurf
    Back to Blog
    AGENTS.md, Explained: One File for Claude, Cursor, Copilot and Windsurf
    agentsmd

    AGENTS.md, Explained: One File for Claude, Cursor, Copilot and Windsurf

    Skojio Community July 9, 2026
    0 views

    What AGENTS.md is, why teams end up maintaining five near-identical agent files, and how to convert between AGENTS.md, CLAUDE.md, Cursor rules, Copilot and Windsurf without hand-copying.

    If you use more than one AI coding agent on the same project, you've probably noticed the file sprawl: an AGENTS.md, a CLAUDE.md, a .cursor/rules/ directory, a .github/copilot-instructions.md, maybe a .windsurf/rules/. They all say roughly the same thing — how to build the project, what conventions to follow — and they all drift apart the moment you change one and forget the others.

    This post explains what AGENTS.md is, why it exists, and how to keep the whole set in sync without hand-copying between formats.

    What AGENTS.md actually is

    AGENTS.md is a plain-Markdown file at your repository root that tells an AI coding agent what it needs to know about your project. There are no required fields and no special schema — just Markdown headings you'd recognise from any README:

    # Project overview
    A Next.js + TypeScript application.
    
    ## Setup / install
    npm install
    
    ## Build, test, and lint
    Build: npm run build
    Test: npm test
    Lint: npm run lint
    
    ## Code style and conventions
    - TypeScript strict mode — avoid `any` without good reason.
    - Prefer server components; add "use client" only where needed.
    

    What makes it more than a convention is adoption. In December 2025, AGENTS.md was donated to the Linux Foundation's Agentic AI Foundation as an open standard, and it's now read natively by Claude Code, Codex, Cursor, Copilot, Gemini CLI, Windsurf, Zed, Aider and roughly thirty other agents. For most tools, a single good AGENTS.md is all you need.

    <Callout tone="info"> Because AGENTS.md has no required fields, the fastest way to write a good one is to start from a stack-appropriate skeleton — overview, setup, build/test/lint, conventions — and fill in your real commands. That's what the stack presets in the tool below do. </Callout>

    Why you still end up with five files

    If everything read AGENTS.md, this would be a non-problem. Two things keep the sprawl alive:

    1. A few agents have their own established file. Claude Code looks for CLAUDE.md; Cursor has its .cursor/rules/ directory; older setups still carry a .cursorrules or .windsurfrules.
    2. Cursor does something the others don't: per-file scoping. A Cursor rule can be limited to specific globs, which is genuinely useful and has no equivalent in a flat file.

    So teams copy the same content into each file, and then the copies rot. A build command changes in AGENTS.md and nobody updates CLAUDE.md. A new convention lands in the Cursor rules and never makes it to Copilot. The files that were meant to keep your agents consistent quietly make them inconsistent.

    The fix for CLAUDE.md: bridge, don't duplicate

    The most common mistake is pasting your whole AGENTS.md into CLAUDE.md. Don't. Claude Code supports importing another file with an @-reference on the first line, so the recommended CLAUDE.md is a one-line bridge plus only what's genuinely Claude-specific:

    @AGENTS.md
    
    ## Claude-specific overrides
    - Prefer running the test suite with the focused `-t` flag during iteration.
    

    Now the shared instructions live in exactly one place. CLAUDE.md inherits them through the @AGENTS.md import and adds nothing it doesn't need to.

    Converting Cursor rules to AGENTS.md (and the glob caveat)

    This is the conversion people search for most — "cursor rules to agents.md" — and it's the one with a real subtlety. A Cursor rule is an .mdc file with YAML frontmatter:

    ---
    description: Testing conventions
    globs: **/*.test.ts, **/*.spec.ts
    alwaysApply: false
    ---
    Use Vitest. Co-locate tests with the code they cover.
    

    Converting the body to AGENTS.md is trivial — it's already Markdown. The catch is the globs line. That rule only applies to test files, but AGENTS.md is flat: it applies to the whole project and has no way to express "only for **/*.test.ts".

    <Callout tone="warn"> When a converter flattens a scoped Cursor rule, the scoping is lost. The honest thing to do is record the original glob verbatim — not drop it silently. A rule you *think* is still scoped, but isn't, is worse than one you know is global. </Callout>

    A good conversion therefore keeps the information visible. Instead of throwing the glob away, it appends the scoped rule under a labelled section and notes where it came from:

    ## Scoped rules (originally Cursor-only)
    
    ### testing-conventions — Testing conventions
    > Originally scoped to: **/*.test.ts, **/*.spec.ts
    
    Use Vitest. Co-locate tests with the code they cover.
    

    You keep the content, you can see exactly what was scoped, and you decide what to do about it — rather than a converter quietly pretending the scope survived.

    .cursorrules and .windsurfrules are deprecated — read them, don't write them

    If you're still carrying a single-file .cursorrules or .windsurfrules, those formats are deprecated. Cursor moved to a .cursor/rules/ directory of .mdc files; Windsurf moved to .windsurf/rules/. The right migration is one-way: read the old single file to recover its content, then emit the current directory-based format. There's no reason to generate a new .cursorrules in 2026.

    Doing it without hand-copying

    All of the above is mechanical, which means you shouldn't be doing it by hand. Skojio's AGENTS.md Generator & Converter treats AGENTS.md as the single source of truth and derives the rest from it:

    • Stack presets — Next.js + TypeScript, Python, Go, Rust, Node.js, or Generic — seed a sensible starting AGENTS.md so you're editing, not staring at a blank file.
    • Live format tabs show the CLAUDE.md bridge, Cursor .mdc rules (with real frontmatter and multi-block scoping), Copilot and Windsurf equivalents as you type.
    • Import an existing file in any of the formats — including deprecated .cursorrules and .windsurfrules — and convert to the others.
    • The glob caveat is surfaced, not hidden: convert a scoped Cursor rule to a flat format and you get the verbatim record shown above plus a plain-language warning.
    • Copy any file, or download all five at once as a .zip laid out at the correct paths for a drop-in.
    <ToolCta slug="agents-md-generator" />

    It runs entirely in your browser — nothing you paste or upload is sent anywhere, which matters when the file you're editing describes your private repository. If you work with JSON alongside your agent config, the same in-browser, privacy-first approach powers Skojio's JSON Formatter & Validator and JSON to TypeScript Converter.

    <KeyTakeaways> - AGENTS.md is an open standard (Linux Foundation, Dec 2025) read natively by ~30 AI coding agents — for most tools, one good AGENTS.md is enough. - The sprawl persists because a few agents keep their own file (CLAUDE.md, Cursor rules) and Cursor adds per-file glob scoping the flat formats can't express. - Write CLAUDE.md as a one-line `@AGENTS.md` bridge plus overrides — never a duplicate that drifts. - Converting scoped Cursor rules to a flat format loses the scoping; a good converter records the original glob verbatim instead of dropping it silently. - `.cursorrules` and `.windsurfrules` are deprecated — read them to migrate, but emit the current `.cursor/rules/` and `.windsurf/rules/` directory formats. </KeyTakeaways>

    Tags

    agentsmdaicodingagentscursorclaudecode

    Comments

    More Blog

    View all
    Cursor Automations in 2026: wire event-triggered coding agents to Slack, CI, and timerscursor

    Cursor Automations in 2026: wire event-triggered coding agents to Slack, CI, and timers

    Cursor Automations in 2026: wire event-triggered coding agents to Slack, CI, and...

    M
    Manu Shukla
    Index Everything, or Read Everything? The Dilemma of Feeding Specs to AI in Multi-Repo Developmentai

    Index Everything, or Read Everything? The Dilemma of Feeding Specs to AI in Multi-Repo Development

    The specs exist. The AI just can't see them. I've always been the type who builds hobby...

    S
    Shunya Shida
    Connect Claude Code, Cursor and Codex to Amazon Bedrock's new console (2026)amazonbedrock

    Connect Claude Code, Cursor and Codex to Amazon Bedrock's new console (2026)

    Connect Claude Code, Cursor and Codex to Amazon Bedrock's new console (2026) Summary. On 5...

    M
    Manu Shukla
    Spotting AI UI is too easyai

    Spotting AI UI is too easy

    There is a weird uncanny valley with LLM-generated UI right now. The code functions perfectly, but if...

    H
    Harish .s
    Seven ranking frameworks, one search page, zero translation tablesai

    Seven ranking frameworks, one search page, zero translation tables

    I went down a rabbit hole this morning reading the late-2025 Juejin AI roundups side by side, and the...

    N
    ninghonggang
    Zendesk MCP: Let Claude Handle Your Support Ticketsmcp

    Zendesk MCP: Let Claude Handle Your Support Tickets

    Install guide and config at curatedmcp.com Zendesk MCP: Let Claude Handle Your Support...

    C
    curatedmcp

    Stay up to date

    Get the latest Cursor prompts, rules, and resources delivered to your inbox weekly.

    Neura Market LogoNeura Market

    Discover the best AI prompts, plugins, and resources for Cursor and more.

    Content Types

    • Rules
    • Prompts
    • MCPs
    • Agents
    • Guides

    Platforms

    • ChatGPT Directory
    • Claude Directory
    • Gemini Directory
    • Cursor Directory
    • Grok Directory
    • Perplexity Directory
    • DeepSeek Directory
    • CoPilot Directory
    • Stable Diffusion Directory
    • Midjourney Directory
    • All Directories

    Resources

    • Blog
    • Documentation
    • Help Center
    • Marketplace

    Legal

    • Privacy Policy
    • Terms of Service

    © 2026 Neura Market. All rights reserved.

    |

    Not affiliated with any AI platform vendors.

    Neura Market

    Custom AI Systems & Services

    Our team of experienced AI builders will help build custom AI systems, workflows, and solutions for your business.

    Request custom work

    Ready-made automations for this

    Workflows from the Neura Market marketplace related to this Cursor resource

    • Build AI Agents with Think-Plan-Act Architecture Using Llama-4 Reasoningn8n · $24.99 · Related topic
    • GitHub Automation Hub: Complete API Controls for AI Agentsn8n · $24.99 · Related topic
    • Process Multiple Media Files in Telegram with Gemini AI & PostgreSQL Databasen8n · $24.99 · Related topic
    • Convert Images to 3D Models with Faller AI and Store in Google Driven8n · $14.99 · Related topic
    Browse all workflows