AGENTS.md carried identically across every repo in a venture. Linear is the spine.
Linear is the unit of work
Issue tracking drives the workflow (team Engineering, initiative GreekCore v2). Every git artifact links back to an issue.1
Start from a Linear issue
Work begins as a Linear issue, not a branch.
2
Copy the generated branch name verbatim
Branches use Linear’s generated name exactly — e.g.
paris/eng-175-ios-app-store-submission-release.3
Commit in Conventional Commits
feat: / fix: / chore: …, no emoji, written so they “read like a person dashed it off,” with [part of ENG-XX] appended.4
Open a walkthrough-style PR
The PR body walks the reviewer through the change and includes
Part of ENG-XX for auto-linking; reviews are right-sized.Commit style
Conventional Commits
Typed prefixes (
feat, fix, chore, …) with no emoji.Human voice
Messages read like a person dashed them off — not machine-generated boilerplate.
Issue linkage
Append
[part of ENG-XX] so commits trace back to Linear.Right-sized PRs
Part of ENG-XX in the body for auto-linking; review scope matched to the change.The CLAUDE.md → AGENTS.md pattern
A one-line CLAUDE.md imports the real AGENTS.md, which is the single source of truth — and agent-agnostic, so it serves Claude Code, Cursor, and any other agent.
CLAUDE.md
Writing the rules once in
AGENTS.md means every agent reads the same instructions, and the file can be carried identically across all repos in a venture.The Next.js canary rule
Every Next.js repo carries a standardnextjs-agent-rules block, because these projects run bleeding-edge canary builds:
A note on stale references
The dossiers flag thatRelic/landing/AGENTS.md references a sibling path from a collaborator’s machine (/Users/zidan/Desktop/relic-core) that doesn’t match this layout — a reminder that synced AGENTS.md files can carry machine-specific paths when copied between collaborators.