← Projects

Applied AI · Independent · Built

.NET Engineering Agent

Independent open-source agent for repository-aware .NET work

Built a repository-aware AI agent that can inspect .NET projects, plan and implement changes, execute builds and tests, and review code modifications.

Overview

A repository-aware engineering agent built with C# and Amazon Bedrock. The ASP.NET Core host decides which tools the model may call, then builds and tests the workspace before a task can finish.

Problem

A model can write source text. Useful engineering automation also has to read a repository, stay inside a boundary, check the change against the compiler and the test suite, and report what actually happened.

Outcome

Demonstrates controlled tool execution, agent orchestration, and automated engineering validation.

Approach

  1. 1. Inspect the repository structure
  2. 2. Read existing conventions and project files
  3. 3. Create an implementation plan, with an optional approval pause
  4. 4. Apply scoped file changes
  5. 5. Run dotnet restore and dotnet build
  6. 6. Execute the test suite
  7. 7. Diagnose compiler and test failures
  8. 8. Review the git diff
  9. 9. Write a structured summary from the recorded results

Architecture

  1. 1ASP.NET Core API
  2. 2Agent workflow
  3. 3Amazon Bedrock through Microsoft.Extensions.AI
  4. 4Typed tools
  5. 5Workspace checks and allow-listed dotnet and git
  6. 6Build and test results

The host runs discovery, planning, implementation, verification, review, and evaluation. Typed tools cover repository inspection, file changes, build, test, and read-only git. A separate knowledge MCP server can supply local fixtures. OpenTelemetry export is optional.

Engineering decisions

  • File paths resolve under a workspace root. Parent traversal, absolute escapes, and symlink escapes are rejected.
  • Process execution is an allow-list of dotnet and git. The runner does not start a shell, and it rejects bash, cmd, and PowerShell wrappers.
  • Tools take structured arguments: read, search, create, replace, patch, build, test, and read-only git inspection. There is no general shell tool.
  • The host runs the build and tests and stores the exit code and diagnostics. The model does not get to declare the build successful.
  • Repair stops at a configured attempt and iteration budget. A failed build or test suite does not loop without a limit.

Technologies

C#.NET 10ASP.NET CoreAmazon BedrockMicrosoft.Extensions.AI

Limitations

  • The automated tests use a null chat client and do not call Amazon Bedrock. A live run needs AWS credentials and model access.
  • Git tools in this version are read-only. The agent does not commit or push.
  • Callers select a registered workspace name. The API does not accept an arbitrary path.
  • The included FinanceApi sample is synthetic. A successful demo there is not evidence of use on a production codebase.
  • This is an open-source project under active development. It is not a claim of production deployment or enterprise adoption.

Source code on GitHub