Module Structure
bud-core
The foundation. Template extraction, POM mutation (viamaven-model), JavaParser-based refactoring, project analysis. Zero Spring framework dependencies — enforced by ArchUnit rules.
Key classes:
TemplateExtractor— Extracts project templates from classpath using JDK ClassLoader + manifest filesPomMutator— Read/write Maven POM files (add/remove dependencies, set versions, add plugins)JavaParserRefactor— AST-based package rename for extracted templatesRecipeCatalog— Composable recipes (actuator, security, CI, native image, etc.)StartersCatalog— Searchable index of Spring Boot startersBootProjectAnalyzer— Analyze existing projects for dependencies, structure, test strategy
bud-mcp-server
Spring Boot 4.1.0-M2 application that wraps bud-core with 16@McpTool-annotated methods. Communicates via stdio JSON-RPC (MCP protocol). This is the tool layer — it has no AI, no LLM calls, no opinions about what to do. It just exposes deterministic operations.
bud-acp-server
The product. An ACP agent that receives natural language prompts, delegates to anAgentClient (which spawns Claude Code CLI with the MCP tools registered), and streams results back to the IDE.
Protocol Stack
- ACP — IDE ↔ BudAgent (session management, prompt/response)
- MCP — Claude Code ↔ Bud MCP Server (tool discovery, tool invocation)
Enterprise Model
Every other ACP registry agent requires an API key. Bud is different:- No API key — Bud delegates to your enterprise-approved CLI
- No billing exposure — the CLI handles authentication and billing
- No compliance review — your IT department already approved the CLI
- Deterministic tools — the MCP tools don’t call any LLM; scaffolding is pure code generation
Key Dependencies
| Dependency | Purpose | Module |
|---|---|---|
javaparser-core 3.28.0 | AST-based package rename | bud-core |
maven-model 3.9.6 | POM read/write | bud-core |
spring-ai-starter-mcp-server | @McpTool + stdio transport | bud-mcp-server |
acp-agent-support 0.10.0 | @AcpAgent + ACP runtime | bud-acp-server |
agent-client-core 0.12.0 | Portable CLI abstraction | bud-acp-server |
agent-claude 0.12.0 | Claude Code CLI provider | bud-acp-server |