The wave of CLI Coding Agents If you have tried Claude Code, Gemini Code, Open Code or Simon Willison’s LLM CLI, you’ve experienced something fundamentally different from ChatGPT or Github Copilot. These aren’t just chatbots or autocomplete tools - they’re agents that can read your code, run your tests, search docs and make changes to your codebase async. But how do they work? For me the best way to understand how any tool works is to try and build it myself. So that’s exactly what we did, and in this article I’ll take you through how we built our own CLI Coding Agent using the Pydantic-AI framework and the Model Context Protocol (MCP). You’ll see not just how to assemble the pieces but why each capability matters and how it changes the way you can work with code. Our implementation leverages AWS Bedrock but with Pydantic-AI you could easily use any other mainstream provider or even a fully local LLM. Why Build When You Can Buy? Before diving into the technical implementation, let's examine why we chose to build our own solution. The answer became clear very quickly using our custom agent, while commercial tools are impressive, they’re built for general use cases. Our agent was fully customised to our internal context and all the little eccentricities of our specific project. More importantly, building it gave us insights into how these systems work and the quality of our own GenAI Platform and Dev Tooling. Think of it like learning to cook. You can eat at restaurants forever but understanding how flavours combine and techniques work makes you appreciate food differently - and lets you create exactly what you want. The Architecture of Our Development Agent At a high level, our coding assistant consists of several key components: Core AI Model: Claude from Anthropic accessed through AWS Bedrock Pydantic-AI Framework: provides the agent framework and many helpful utilities to make our Agent more useful immediately MCP Servers: independent processes that give the agent...
First seen: 2025-08-28 19:30
Last seen: 2025-08-29 02:31