{"owner":"dotnet","repo":"aspnetcore","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":[".github/copilot-instructions.md"],"files":{".github/copilot-instructions.md":"## General\n\n* Make only high confidence suggestions when reviewing code changes.\n* Always use the latest version C#, currently C# 13 features.\n* Never change global.json unless explicitly asked to.\n* Never change package.json or package-lock.json files unless explicitly asked to.\n* Never change NuGet.config files unless explicitly asked to.\n\n## Framework assembly boundaries\n\n* In shipping framework code, do not add `InternalsVisibleTo` or use `[UnsafeAccessor]` to access non-public members in another framework assembly. Existing uses of these mechanisms are not precedent for new uses.\n* Redesign the assembly boundary instead. If that requires a public API, follow the repository API-review and baseline process.\n\n## Formatting\n\n* Apply code-formatting style defined in `.editorconfig`.\n* Prefer file-scoped namespace declarations and single-line using directives.\n* Insert a newline before the opening curly brace of any code block (e.g., after `if`, `for`, `while`, `foreach`, `using`, `try`, etc.).\n* Ensure that the final return statement of a method is on its own line.\n* Use pattern matching and switch expressions wherever possible.\n* Use `nameof` instead of string literals when referring to member names.\n* Ensure that XML doc comments are created for any public APIs. When applicable, include `<example>` and `<code>` documentation in the comments.\n\n### Nullable Reference Types\n\n* Declare variables non-nullable, and check for `null` at entry points.\n* Always use `is null` or `is not null` instead of `== null` or `!= null`.\n* Trust the C# null annotations and don't add null checks when the type system says a value cannot be null.\n\n### Testing\n\n* We use xUnit SDK v3 for tests.\n* Do not emit \"Act\", \"Arrange\" or \"Assert\" comments.\n* Use Moq for mocking in tests.\n* Copy existing style in nearby files for test method names and capitalization.\n\n## Running tests\n\n* To build and run tests in the repo, use the `build.sh` script that is located in each subdirectory within the `src` folder. For example, to run the build with tests in the `src/Http` directory, run `./src/Http/build.sh -test`.\n\n## .NET Environment\n\n* Before running any `dotnet` commands in this repository, always activate the locally installed .NET environment first by running the appropriate activation script from the repository root:\n  * On Windows: `. ./activate.ps1` (from repository root)\n  * On Linux/Mac: `source activate.sh` (from repository root)\n* If not in the repository root, navigate there first or use the full path to the activation script.\n* This ensures that the correct version of .NET SDK is used for the repository.\n\n## ASP.NET Core Components Area\n* When working on issues under the src/Components area, follow the instructions in [./instructions/components.instructions.md](./instructions/components.instructions.md).\n"}}