Skip to content

docs: expand AGENTS.md with git workflow, boundaries and code style examples - #5526

Open
jamescrosswell wants to merge 2 commits into
mainfrom
docs/agents-md-improvements
Open

docs: expand AGENTS.md with git workflow, boundaries and code style examples#5526
jamescrosswell wants to merge 2 commits into
mainfrom
docs/agents-md-improvements

Conversation

@jamescrosswell

@jamescrosswell jamescrosswell commented Aug 31, 2026

Copy link
Copy Markdown
Collaborator

#skip-changelog

Audits AGENTS.md against the six areas that GitHub's analysis of agent instruction files found separate the ones that work from the ones that don't — commands, testing, project structure, code style, git workflow, boundaries — and fills the gaps. The file was already strong on commands, testing and structure; this covers the other three.

Notes for review

  • CLAUDE.md and .github/copilot-instructions.md are symlinks to AGENTS.md, so this one file covers all three agent vendors — no drift to keep in sync.
  • The article is really about Copilot custom agent files (.github/agents/*.agent.md), so its YAML frontmatter / persona / "create six named agents" advice is deliberately not applied here. Only the six-areas finding transfers to a repo-root AGENTS.md.

jamescrosswell and others added 2 commits September 1, 2026 11:07
…xamples

Fills the gaps against the six areas that matter for agent instruction files:
commands, testing, project structure, code style, git workflow and boundaries.

- Git Workflow: the PR title is the changelog line, so document the
  conventional-commit format and the prefix -> CHANGELOG section mapping from
  .github/release.yml. The previous wording pointed at "commit message
  conventions" without ever stating the format.
- Boundaries: collect the five never-edit paths (generated, vendored or
  CI-guarded) into one table with what to do instead; add never-commit-secrets
  and an ask-first tier.
- Code Style: name .editorconfig as authoritative, dotnet format as the
  enforcer, and show the no-comments rule as good/bad snippets.
- Before you're done: the build/test/format gate, plus a note that the API
  approval tests self-rewrite their snapshots on a local run.
- Promote Code Intelligence to a top-level heading; it was nested under
  Commit Attribution.

CLAUDE.md and .github/copilot-instructions.md are symlinks to AGENTS.md and
pick these up unchanged.

Co-Authored-By: Claude Opus 5 <[email protected]>
@jamescrosswell
jamescrosswell marked this pull request as ready for review September 6, 2026 22:52
@github-actions github-actions Bot added the risk: medium PR risk score: medium label Sep 6, 2026

@szokeasaurusrex szokeasaurusrex left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Did not review the technical content as I am not a .NET expert, but these changes look reasonable

Comment thread AGENTS.md
Comment on lines +236 to +243
### Commit Attribution

AI commits MUST include:

```
Co-Authored-By: <Agent Name> <[email protected]>
```

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

l: These instructions do not usually play well with agent harnesses like Pi which do not have a commit email address.

I have found that my Pi agent will hallucinate commit emails when given this instruction.

@adinauer adinauer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM just some minor things that might need correction. Leaving up to you whether there's anything to fix. Feel free to ignore those comments.

Comment thread AGENTS.md

| Path | Instead |
|------|---------|
| `*.slnf` | Edit `scripts/generate-solution-filters-config.yml`, then run `scripts/generate-solution-filters.ps1` |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

l

Suggested change
| `*.slnf` | Edit `scripts/generate-solution-filters-config.yml`, then run `scripts/generate-solution-filters.ps1` |
| `*.slnf` | Edit `scripts/generate-solution-filters-config.yaml`, then run `scripts/generate-solution-filters.ps1` |

Comment thread AGENTS.md
| Path | Instead |
|------|---------|
| `*.slnf` | Edit `scripts/generate-solution-filters-config.yml`, then run `scripts/generate-solution-filters.ps1` |
| `CHANGELOG.md` | Generated on squash-merge from the PR title. `.github/workflows/changelog-guard.yml` fails CI on manual entries |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

l Does this happen on release (by craft) rather than during squash-merge?

Comment thread AGENTS.md
| `fix:` / `bugfix:` | Fixes 🐛 |
| `chore(deps):` | Dependencies ⬆️ |
| any type with `!`, e.g. `feat!:` | Breaking Changes 🛠 |
| anything else | omitted from the changelog |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

l

is this true or does it land in "Other"?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

+1, iirc there is an "Internal Changes" (or similar) section

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

Labels

risk: medium PR risk score: medium

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants