Rename CLAUDE.md to AGENTS.md

AGENTS.md is the vendor-neutral name other coding agents already read,
and Claude Code now loads it through its built-in agents-md plugin
whenever a project has no CLAUDE.md of its own. One set of instructions
then serves every agent instead of only Claude. The plugin stands down
as soon as any CLAUDE.md remains in the project, so both files move
together rather than one at a time.

Assisted-by: Claude:claude-fable-5-1:Claude Code
This commit is contained in:
Christoph Wille
2026-09-21 18:40:40 +02:00
parent fe393d01d1
commit f226592bd8
5 changed files with 8 additions and 8 deletions
+1 -1
View File
@@ -3,7 +3,7 @@
How to review a pull request, a branch, or a working-tree diff in this repository. Written for
both human and agent reviewers; the agent-specific rules are called out where they differ.
`CLAUDE.md` carries the two rules that have to hold before you have even decided you are
`AGENTS.md` carries the two rules that have to hold before you have even decided you are
reviewing. Everything below applies once you are.
## Scope
+3 -3
View File
@@ -1,6 +1,6 @@
# CLAUDE.md
# AGENTS.md
Guidance for Claude Code (and future Claude sessions) when working on ILSpy.
Guidance for coding agents when working on ILSpy.
## What this codebase is
@@ -100,7 +100,7 @@ Never put more than one C# language feature on one branch.
## Test discipline
- Always run the test suite with `--report-trx` so failures survive: `dotnet test --solution ILSpy.sln --report-trx` (the repo pins Microsoft.Testing.Platform in `global.json`; the bare `dotnet test <sln>` form is the old VSTest syntax). Don't dismiss failures as flaky without first reproducing in isolation, then running repeatedly.
- The decompiler test suite (test kinds, fixture structure, how to write tests, the compiler-matrix model) is documented in [ICSharpCode.Decompiler.Tests/CLAUDE.md](ICSharpCode.Decompiler.Tests/CLAUDE.md).
- The decompiler test suite (test kinds, fixture structure, how to write tests, the compiler-matrix model) is documented in [ICSharpCode.Decompiler.Tests/AGENTS.md](ICSharpCode.Decompiler.Tests/AGENTS.md).
- After matcher / rewriter edits, **run the relevant tests, not just the build.** `dotnet build` green ≠ behaviour correct.
- **To see what a transform did, dump the ILAst:** `ilspycmd <assembly> -m <doc-id> --ilast` prints the IL transform pipeline's result, and `--after-transform <name-or-index>` stops the pipeline early so two stages can be diffed. Debug builds only (like the UI's Debug Steps pane), so run it from a local build, not the installed tool.
@@ -30,7 +30,7 @@ First test run on a machine: the `[SetUpFixture]` in `TestTraceListener.cs` call
packs from NuGet (network required; cached under the test output directory afterwards) and
builds the self-contained `ICSharpCode.Decompiler.TestRunner`. Package downloads check the
`ILSpy-tests/nuget` folder first, so the `ILSpy-tests` submodule must be initialized (see the
root `CLAUDE.md` section on the submodule).
root `AGENTS.md` section on the submodule).
## Test kinds
@@ -117,7 +117,7 @@ produced for that compiler's IL. This beats hand-running csc versions.
dotnet test --solution ILSpy.sln --report-trx --filter FullyQualifiedName~PrettyTestRunner.SwitchExpressions
```
(Microsoft.Testing.Platform syntax; see root `CLAUDE.md` "Test discipline".) A failing
(Microsoft.Testing.Platform syntax; see root `AGENTS.md` "Test discipline".) A failing
comparison prints an aligned diff with ` + `/` - ` markers. On failure the decompiled output
file is left on disk for inspection (Correctness failures print its path; output diffs are
also written to `%TEMP%/<test>.original.out` / `.decompiled.out`).
@@ -160,7 +160,7 @@ A few things that are easy to get wrong when editing the generator or the nodes
- **Build the way the repo expects.** Use the root pwsh scripts, and the OpenSSL env var is required:
`OPENSSL_ENABLE_SHA1_SIGNATURES=1 pwsh ./build.ps1 -Configuration Debug --no-restore`. A bare
`dotnet build` prunes the lock files (see the root `CLAUDE.md`).
`dotnet build` prunes the lock files (see the root `AGENTS.md`).
- **The generator is a cached analyzer assembly.** Editing a **node** file re-runs the generator (node
files are its input). Editing **the generator's own source** may *not* re-run it on an incremental
build -- the consuming project keeps using the cached analyzer. Force a fresh run by clearing the
+1 -1
View File
@@ -1703,7 +1703,7 @@ in practice, by the test suite: <span class="filecite">ICSharpCode.Decompiler.Te
hundreds of &quot;pretty&quot; fixtures &#8212; C# source compiled by a matrix of compilers and
options, decompiled, and diffed against expected output &#8212; plus round-trip tests that recompile
the decompiler's output. When the C# compiler changes its codegen, these fixtures are where the new
pattern lands first (see <span class="filecite">ICSharpCode.Decompiler.Tests/CLAUDE.md</span> for the
pattern lands first (see <span class="filecite">ICSharpCode.Decompiler.Tests/AGENTS.md</span> for the
fixture structure). A transform PR without a fixture is architecturally incomplete: the fixture
<em>is</em> the pattern's definition.</p>