diff --git a/AGENTS.md b/AGENTS.md index f214bcc..7b8cbcc 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -17,6 +17,11 @@ Two roles are covered: **writing code** and **reviewing pull requests**. (`Transience`, `ErrorOrigin`) are the only value-type exception. - Keep changes small and focused. Treat renamed error codes, diagnostic IDs and public types as breaking changes. +- Adding a new project? Also add its GUID to `FirstClassErrors.sln`'s + `GlobalSection(NestedProjects)`, nested under the `src` or `tests` solution + folder like its siblings — a project left out of that section sits loose at + the solution root instead of grouped with the rest. This has recurred + several times; check it whenever a `.csproj` is added. ## Architecture decisions (code changes) diff --git a/CLAUDE.md b/CLAUDE.md index f1e3d72..1803198 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -36,6 +36,13 @@ errors should stay structured, documented, and close to the code. * `FirstClassErrors.Usage` — usage examples * `doc/` — documentation: `handwritten/` (`for-users`, `for-maintainers`) and `generated/` (CI/CD living docs) +When adding a new project to the solution, also add its GUID to +`FirstClassErrors.sln`'s `GlobalSection(NestedProjects)`, nested under the +`src` or `tests` solution folder like its siblings — a project missing from +that section shows up loose at the solution root in Visual Studio/Rider +instead of grouped with the rest. This has been missed and fixed after the +fact several times; check it every time a `.csproj` is added. + ## Change guidelines * Keep changes small, focused, and aligned with the requested task. diff --git a/FirstClassErrors.sln b/FirstClassErrors.sln index 3131b88..ee394bd 100644 --- a/FirstClassErrors.sln +++ b/FirstClassErrors.sln @@ -381,6 +381,8 @@ Global {75EA57DD-0128-4EB9-ADBE-567BFF602A93} = {B7C3D08D-EFC5-4F5D-8DE4-5B7938354DBB} {F2C739E7-6F2E-4256-9C87-9D6F1168DF4A} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} {BC4F2BE8-55C9-4AA4-90FA-699EC83A8985} = {B7C3D08D-EFC5-4F5D-8DE4-5B7938354DBB} + {BF67DBAE-EBE1-45CE-86E5-B2E9E3D4EF6B} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} + {75FD5E2C-A871-4659-8A01-13461FED84EB} = {B7C3D08D-EFC5-4F5D-8DE4-5B7938354DBB} {1FC2C501-8842-4ABE-845E-000ED6575DD6} = {B7C3D08D-EFC5-4F5D-8DE4-5B7938354DBB} {D12EE45B-78F8-4CD4-8E67-E4A9DDA01AE6} = {B7C3D08D-EFC5-4F5D-8DE4-5B7938354DBB} {04707ACA-FB2E-43BF-A12C-28E01BF5F60D} = {B7C3D08D-EFC5-4F5D-8DE4-5B7938354DBB}