Documentation Index
Fetch the complete documentation index at: https://lab.pollack.ai/llms.txt
Use this file to discover all available pages before exploring further.
Module Structure
bud-core
The foundation. Reference project extraction, POM mutation (viamaven-model), JavaParser-based refactoring, project analysis, intent classification, and execution planning. Zero Spring framework dependencies — enforced by ArchUnit rules.
Key classes:
TemplateExtractor— Extracts reference projects 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 projectsRecipeCatalog— Composable recipes (actuator, security, CI, native image, etc.)StartersCatalog— Searchable index of Spring Boot startersBootProjectAnalyzer— Analyze existing projects for dependencies, structure, test strategyBudWorkflow— Full pipeline orchestrator: normalize → classify → resolve → plan → execute → recipes → explainExecutionPlanner— Routes resolved intents to CACHE, INITIALIZR, or EXPAND tiersTemplateSemanticCache— Subset-matching cache: intent capabilities ⊆ reference project capabilities
bud-mcp-server
Spring Boot 4.1.0-M2 application that wraps bud-core with 23@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 with two LLM roles:- Classifier (Sonnet via your approved CLI, ~$0.01/call) — Analyzes prompts via structured output JSON schema. Extracts capabilities, domain entities, best-fit reference project, and overlay level.
- Expander (Sonnet via your approved CLI, ~$0.19/call) — Generates domain-specific code for EXPAND-tier requests. Only invoked for business domain prompts.
Three-Tier Routing
When Bud receives a prompt, it classifies the intent and routes to one of three execution tiers:| Tier | When | Speed | LLM Cost |
|---|---|---|---|
| CACHE | Prompt matches one of 9 reference projects | ~1s | Classification only |
| INITIALIZR | Boot 3.x, Gradle, or no reference match | ~3s | Classification only |
| EXPAND | Business domain entity detected | ~30s | Classification + code gen |
Protocol Stack
- ACP — IDE ↔ BudAgent (session management, prompt/response)
- MCP — Claude Code ↔ Bud MCP Server (tool discovery, tool invocation)
Enterprise Model
- No API key — Bud delegates all LLM calls to your enterprise-approved agentic CLI (Claude Code, Gemini CLI, Codex, etc.)
- No billing exposure — the CLI handles authentication and billing
- No compliance review — your IT department already approved the CLI
- Swap providers freely — change your CLI, Bud keeps working. No vendor lock-in on the AI side.
- Deterministic tools — the 23 MCP tools don’t call any LLM; scaffolding is pure code operations
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 | @AcpAgent + ACP runtime | bud-acp-server |
agent-client-core | Portable CLI abstraction | bud-acp-server |
agent-claude | Claude Code CLI provider | bud-acp-server |