Skip to content

Enforce canonical AGENTS.md filename casing across repos #780

Description

@rachel-petry

Problem

The markets repo contains both AGENTS.md and Agents.md. On case-insensitive filesystems (default on macOS/Windows) these collide — only one checks out into the working tree, and the other becomes an invisible ghost that git still tracks. This causes confusing clone warnings (the following paths have collided) and inconsistent tooling behavior, since agent tooling looks for the exact name AGENTS.md.

Goal

Standardize on the single canonical filename AGENTS.md (uppercase AGENTS, .md extension) org-wide, and reject any other casing (Agents.md, agents.md, AGENTS.MD, etc.).

Proposed enforcement

  1. CI check — add an org-wide reusable workflow (this repo hosts org defaults) that fails a PR if a tracked file matches agents.md case-insensitively but is not exactly AGENTS.md. Sketch:

    bad=$(git ls-files | grep -iE '(^|/)agents\.md$' | grep -vE '(^|/)AGENTS\.md$' || true)
    if [ -n "$bad" ]; then
      echo "::error::Non-canonical AGENTS.md casing found:"; echo "$bad"; exit 1
    fi
  2. Clean up existing offenders — remove the duplicate Agents.md from markets (merge any unique content into AGENTS.md first).

  3. Optional pre-commit hook in repo-template so new repos inherit the guard.

Acceptance criteria

  • A shared workflow that fails PRs introducing a non-AGENTS.md casing of the file
  • markets no longer contains a colliding Agents.md
  • Guidance documented in the org contributing/standards docs

Metadata

Metadata

Assignees

No one assigned

    Labels

    dev-leadFor dev-lead agent pickup

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions