For the complete documentation index, see llms.txt. This page is also available as Markdown.

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:

API projects SHOULD also document:

Containerised projects SHOULD document:

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

Last updated

Was this helpful?