Local Development

March 12, 2026 ยท View on GitHub

Toolchain

  • Node.js 22+ recommended
  • npm 11+ recommended
  • .NET SDK 9.0.311 currently pinned via global.json

Why .NET 9 Right Now

The project rule is to prefer C# and move toward modern .NET for core engines. The current bootstrap is pinned to the installed SDK version available in this workspace today: 9.0.311.

When the build environment is upgraded to .NET 10, the core projects can move forward in a controlled story rather than silently drifting per machine.

Initial Setup

  1. Install Node.js and the .NET SDK version from global.json.
  2. From the repository root, run npm install.
  3. Restore .NET dependencies with dotnet restore core/ArchitectureStudio.sln.

Development Commands

  • npm run lint
  • npm test
  • npm run build
  • npm run build:core-host
  • npm run package:extension
  • dotnet test core/ArchitectureStudio.sln
  1. Add or update a failing test first.
  2. Implement the smallest change to get back to green.
  3. Run:
    • npm run verify
    • dotnet test core/ArchitectureStudio.sln

VS Code Debugging

This repository includes starter .vscode launch and task files for extension development.

Recommended flow:

  1. Run the npm: build task.
  2. Press F5 in VS Code using the Run Architecture Studio Extension launch profile.
  3. Use the Extension Development Host to invoke scaffolded commands from the command palette.

Packaging

Run npm run package:extension to publish the C# CLI host into core-host/ and then produce a .vsix package.

Core Engine Runtime

The extension now uses a thin Node-to-.NET process boundary:

  • packaged extensions invoke core-host/ArchitectureStudio.Cli.dll
  • local development falls back to dotnet run --project core/ArchitectureStudio.Cli

That means local command execution requires a working dotnet installation even though the VS Code shell itself is TypeScript.

CLI Validation

The automation CLI can be exercised directly during local development:

dotnet core/ArchitectureStudio.Cli/bin/Debug/net9.0/ArchitectureStudio.Cli.dll --help
dotnet core/ArchitectureStudio.Cli/bin/Debug/net9.0/ArchitectureStudio.Cli.dll analyze-repository --workspace fixtures/sample-workspaces/fintech-platform

For packaged-host validation, build the host first and then run:

npm run build:core-host
dotnet core-host/ArchitectureStudio.Cli.dll generate-reports --workspace fixtures/sample-workspaces/fintech-platform