> For the complete documentation index, see [llms.txt](https://framework.aic.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://framework.aic.io/technical-guidelines-code-standards-and-tech-stack/tech-stack/ide-and-developer-tooling.md).

# IDE and Developer Tooling

## Standard Tooling

AIC engineering teams should use a consistent toolchain so that builds and checks behave the same locally and in CI.

| Tool                                                                     | Standard use                                                                   |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| Visual Studio 2026                                                       | Primary IDE for .NET 10, WPF, MAUI and enterprise .NET development on Windows. |
| JetBrains Rider                                                          | Approved alternative IDE where licensing and project requirements allow.       |
| Visual Studio Code                                                       | Lightweight editing, scripts, documentation, infrastructure and API work.      |
| ReSharper                                                                | Code inspections, refactoring, cleanup and style enforcement.                  |
| .NET CLI                                                                 | Canonical build, test, restore and publish interface.                          |
| Git                                                                      | Source control.                                                                |
| Docker Desktop or approved container runtime                             | Local container development where required.                                    |
| Azure Data Studio / SQL Server Management Studio / database-native tools | Database development where approved.                                           |

## Tooling Principles

* The command line build is authoritative.
* IDE success is not enough; CI must pass.
* Formatting and analyzer rules must be stored in the repository.
* Local development must be reproducible from the repository instructions.
* Project setup must not depend on undocumented machine state.

## Required Local Commands

Every repository README MUST document the following commands or equivalents:

```bash
dotnet --info
dotnet restore
dotnet build --configuration Release
dotnet test --configuration Release
```

API projects SHOULD also document:

```bash
dotnet run --project src/Project.Api
```

Containerised projects SHOULD document:

```bash
docker compose up --build
```

## Developer Machine Standard

Developer machines SHOULD have:

* supported .NET SDK pinned by the project
* approved IDE
* ReSharper or Rider inspections configured where used
* Git client
* approved package sources
* approved secrets tooling
* local test database or container runtime if required
* customer-mandated VPN, proxy or certificate configuration where applicable

## Tooling Evidence

Projects SHOULD retain:

* `global.json`
* `.editorconfig`
* `Directory.Build.props`
* `Directory.Packages.props`
* pipeline definition
* onboarding README
* local development prerequisites
