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
-
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
-
Clean up existing offenders — remove the duplicate Agents.md from markets (merge any unique content into AGENTS.md first).
-
Optional pre-commit hook in repo-template so new repos inherit the guard.
Acceptance criteria
Problem
The
marketsrepo contains bothAGENTS.mdandAgents.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 nameAGENTS.md.Goal
Standardize on the single canonical filename
AGENTS.md(uppercaseAGENTS,.mdextension) org-wide, and reject any other casing (Agents.md,agents.md,AGENTS.MD, etc.).Proposed enforcement
CI check — add an org-wide reusable workflow (this repo hosts org defaults) that fails a PR if a tracked file matches
agents.mdcase-insensitively but is not exactlyAGENTS.md. Sketch:Clean up existing offenders — remove the duplicate
Agents.mdfrommarkets(merge any unique content intoAGENTS.mdfirst).Optional pre-commit hook in
repo-templateso new repos inherit the guard.Acceptance criteria
AGENTS.mdcasing of the filemarketsno longer contains a collidingAgents.md