Skip to content

Add AGENTS.md for AI coding agents#48

Open
riverma wants to merge 1 commit into
mainfrom
add-agents-md
Open

Add AGENTS.md for AI coding agents#48
riverma wants to merge 1 commit into
mainfrom
add-agents-md

Conversation

@riverma

@riverma riverma commented Jun 2, 2026

Copy link
Copy Markdown
Collaborator

Adds an AGENTS.md at the repo root as the agent-facing companion to CONTRIBUTING.md and NOMENCLATURE.md. It summarizes the nine CI lint gates from CL.yml with the exact commands and the most common pitfalls, ships a copy-pasteable Python file skeleton matching the house style in _rapid2.py, and condenses the naming grammar to a scannable quick reference pointing back to NOMENCLATURE.md for the full tables. Goal is that a coding assistant with this file in context produces a PR that passes lint on the first try.

Also adds CLAUDE.md as a symlink to AGENTS.md so Claude Code (which reads CLAUDE.md) and other tools (which read AGENTS.md) share one source of truth.

Closes #40.

@riverma riverma requested a review from c-h-david June 2, 2026 22:08
@riverma riverma self-assigned this Jun 2, 2026
@riverma riverma added the enhancement New feature or request label Jun 2, 2026
@riverma riverma modified the milestones: April 2026, May 2026 Jun 2, 2026
@riverma

riverma commented Jun 2, 2026

Copy link
Copy Markdown
Collaborator Author

Quick note on how this was verified locally before opening the PR.

Spawned a fresh Sonnet coding agent in an isolated worktree with the new AGENTS.md as its only project-side guidance, and gave it a small task: "add a -vrb / --verbose flag to _rapid2.py following project conventions." The agent picked the right short-flag convention and correctly named the parsed value BS_vrb (boolean + scalar, derived from the nomenclature section). Of the nine CI lint commands run on the agent's diff, seven passed cleanly. The other two non-passes don't reflect on AGENTS.md or the agent's work: shellcheck wasn't installed in my local environment (and the agent didn't touch any shell scripts, so it wouldn't have fired anyway), and mypy errored on a third-party earthaccess import that uses Python 3.12 syntax incompatible with the project's python_version = "3.11" setting — the same failure happens on a clean checkout of main.

The agent flagged one gap: no explicit worked example for naming boolean CLI flags. Added the BS_vrb / BS_<short-flag-name> example to Section E to close that.

@c-h-david c-h-david left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Following up on our conversation yesterday... Would you consider minimizing duplication with other files and instead pointing to them such that maintenance is eased? I understand this might have an impact on "tokens" so it's worth acknowledging here. Notably, the file TESTING.md has much of the description of linting, formatting and testing. Also pyproj.toml includes important linting and formatting options, so do .pymarkdown.yml and .yamllint.yml. I do really like the CLI formatting standard and I wonder if that could justify a separate file of its own pointed to here. I also like the part on registration of CLIs into pyproj.toml. Actually I feel like the pre-PR checklist, the authoritative sources, and the formatting guidance for program structure are the most important new addition and the rest could be perceived as redundant/duplicate/more-maintenance. Thoughts?

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

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create AGENTS.md for RAPID2

2 participants