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. Inspect the repository structure
- 2. Read existing conventions and project files
- 3. Create an implementation plan, with an optional approval pause
- 4. Apply scoped file changes
- 5. Run dotnet restore and dotnet build
- 6. Execute the test suite
- 7. Diagnose compiler and test failures
- 8. Review the git diff
- 9. Write a structured summary from the recorded results
Architecture
- 1ASP.NET Core API
- 2Agent workflow
- 3Amazon Bedrock through Microsoft.Extensions.AI
- 4Typed tools
- 5Workspace checks and allow-listed dotnet and git
- 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
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.