Skip to content

Rename CLAUDE.md to AGENTS.md org-wide, with CLAUDE.md as a symlink #51

Description

@lesnik512

What

Every repo in the org keeps its agent instructions in CLAUDE.md — this repo included. AGENTS.md
is the cross-agent filename other coding agents look for, so the instructions are invisible to
anything that is not Claude Code.

Proposal: rename the file to AGENTS.md in each repo and leave CLAUDE.md as a symlink to it, so
Claude Code keeps loading it with no change on its side.

Scope

Repos with a CLAUDE.md today include this one, modern-di, faststream-outbox, and the
modern-di-* integrations. Worth doing in one pass rather than per repo — half-migrated is worse
than either end state, because a reader cannot tell which file is authoritative.

Per-repo checklist

  • git mv CLAUDE.md AGENTS.md
  • ln -s AGENTS.md CLAUDE.md (git stores the symlink as a mode-120000 blob; no config needed)
  • Update inbound references. In faststream-outbox that is two: .github/PULL_REQUEST_TEMPLATE.md
    and a prose mention in tests/test_client_contract.py. Other repos will have their own.

Worth checking before doing it

  • Windows checkouts. Git creates symlinks on Windows only with core.symlinks=true and
    developer mode or elevation; otherwise the working tree gets a plain text file containing the
    target path. If anyone develops on Windows, a committed duplicate with a one-line pointer may beat
    a symlink.
  • Direction. AGENTS.md as the real file and CLAUDE.md as the link is the right way round —
    the generic name should be the content — but it means any tool that writes to CLAUDE.md writes
    through the link, which is fine, and any tool that replaces it breaks the link silently.
  • Tools that resolve vs. read links. Worth a quick check that the agents in use follow a symlink
    rather than skipping it.

Context

Raised in review on modern-python/faststream-outbox#159, which deliberately did not do the rename:
that PR's premise is aligning with modern-di, which is still on CLAUDE.md, so renaming in one
repo alone would have introduced the drift this issue exists to avoid.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or requestready-for-agentFully specified, ready for an AFK agent

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions