This is a 5 part series that is intentionally (hand) written to help dev teams understand how to scaffold a codebase for agentic engineering by focusing on key, underlying technical decisions and manual wiring before building with AI. Getting the foundations right helps provide the tools and safeguards for coding agents to iterate more efficiently while reducing slop.
Specifically:
- Giving agents access to programmable runtime orchestration (Aspire.dev[0])
- Empowering agents to iterate rapidly with runtime mutability (using CSharpRepl[1]) to dynamically modify code at runtime while retaining full application state
- Using the GitHub Copilot SDK to build an agentic core with a multi-platform harness, BYOK, any model provider
- Testcontainers[2] with automatic transactions to streamline and isolate integration tests
- A well-documented, AI-friendly UI framework (Nuxt UI[3])
- Logging and telemetry to give agents insights and visibility into the runtime state of the application
The core setup is used at a series C, post-YC startup to ship fast with AI while maintaining high quality standards (in combination with other tools facilitating code review and context management)
I encourage working through the posts since the goal is to underscore the platform level decision making process and assembly of the foundational core.
Specifically:
- Giving agents access to programmable runtime orchestration (Aspire.dev[0]) - Empowering agents to iterate rapidly with runtime mutability (using CSharpRepl[1]) to dynamically modify code at runtime while retaining full application state - Using the GitHub Copilot SDK to build an agentic core with a multi-platform harness, BYOK, any model provider - Testcontainers[2] with automatic transactions to streamline and isolate integration tests - A well-documented, AI-friendly UI framework (Nuxt UI[3]) - Logging and telemetry to give agents insights and visibility into the runtime state of the application
The core setup is used at a series C, post-YC startup to ship fast with AI while maintaining high quality standards (in combination with other tools facilitating code review and context management)
Part 1 (https://chrlschn.dev/blog/2026/08/the-unexpected-ai-stack-cs...) is an intro into a few key parts of this stack.
Part 2 (https://chrlschn.dev/blog/2026/08/the-unexpected-ai-stack-cs...) is focused on walking through the hands on scaffolding.
Part 3 (https://chrlschn.dev/blog/2026/08/the-unexpected-ai-stack-cs...) covers wiring GitHub Copilot SDK as an agent runtime and incorporating CSharpRepl to allow agents to dynamically work with the runtime DI container
Part 4 (https://chrlschn.dev/blog/2026/08/the-unexpected-ai-stack-cs...) wires up the test harness using Testcontainers to give agents isolated test environments
Part 5 (https://chrlschn.dev/blog/2026/08/the-unexpected-ai-stack-cs...) wires up logging and telemetry to give agents visibility into runtime state and I start to build the prototype application now that the foundations are ready.
---
The project repo is here: https://github.com/zeeq-ai/zeeq-tmpl (be sure to check the branches; main is currently the base code only)
I encourage working through the posts since the goal is to underscore the platform level decision making process and assembly of the foundational core.
[0] https://aspire.dev/
[1] https://fuqua.io/CSharpRepl/
[2] https://testcontainers.com/
[3] https://ui.nuxt.com/