Skip to main content

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.

Prerequisites

  • Java 21+ on PATH
  • An agentic CLI installed and authenticated (e.g., Claude Code, Gemini CLI, Codex)
  • An ACP-compatible IDE — JetBrains 2026.1+, Zed, VS Code, or any editor with ACP support

Install from Release

Download the fat JAR from the v0.4.0 release:
  • bud-acp-server-0.4.0-jar-with-dependencies.jar — the ACP agent

Install from Source

git clone https://github.com/markpollack/bud.git
cd bud
./mvnw package -DskipTests
This produces:
  • bud-acp-server/target/bud-acp-server-*-jar-with-dependencies.jar

Configure JetBrains

Create or edit ~/.jetbrains/acp.json:
{
  "agent_servers": {
    "Bud": {
      "command": "java",
      "args": [
        "-jar",
        "/path/to/bud-acp-server-0.4.0-jar-with-dependencies.jar"
      ]
    }
  }
}
Replace /path/to with the absolute path where you saved the JAR.
Restart your JetBrains IDE after editing the config.

Your First Project

  1. Open any project in IntelliJ
  2. Open AI Chat tool window
  3. Select “Bud” from the agent dropdown
  4. Type: create a REST app called hello-api in /tmp
Bud will scaffold a complete Spring Boot REST project with:
  • GreetingController with GET endpoint
  • GreetingService with business logic
  • ProblemDetail error handling
  • Working tests
  • Maven wrapper

Verify

cd /tmp/hello-api
./mvnw test

What You Can Ask

Bud understands natural language and routes your request to the right approach. Here are tested prompts organized by what Bud does with them.

Known patterns (instant, no LLM code gen)

These match one of Bud’s 9 reference projects — Bud uses proven, working code directly:
PromptReference Project
”create a simple spring boot app”spring-boot-minimal
”create a basic spring boot application”spring-boot-minimal
”create a greeting api”spring-boot-rest
”create a hello world rest service”spring-boot-rest
”spring boot app with actuator”spring-boot-actuator
”create an app with health checks”spring-boot-actuator
”create a batch job”spring-boot-batch
”build a CSV processing batch application”spring-boot-batch
”create a scheduled task processor”spring-boot-scheduling
”rest api with security”spring-boot-security
”create a secure web application”spring-boot-security
”create a spring boot app with JPA”spring-boot-jpa
”create a rest api without database”spring-boot-rest
”build an api with no database”spring-boot-rest

Domain apps (LLM-expanded with real business code)

These have specific business entities — Bud scaffolds a base project and expands it with domain models, repositories, services, and controllers:
PromptDomain
”build a todo api”Todo CRUD
”build a customer management system”Customer entities
”create a customer tracking system”Customer tracking
”create an inventory management api”Inventory
”build an order processing system with JPA”Order processing
”create an employee directory application”Employee directory
”build a product catalog service”Product catalog
”build a hotel reservation and booking system”Reservations
”build an e-commerce backend with payments”E-commerce

Edge cases (handled gracefully)

PromptBehavior
”spring boot management system”Too vague — builds minimal app, no over-expansion
”create a spring boot app with JPA and security”Multi-capability — picks best match

How It Works

When you send a message to Bud in AI Chat:
  1. JetBrains sends the prompt to Bud’s ACP agent over stdio
  2. Bud’s LLM classifier (Sonnet, running on your approved CLI) analyzes the intent — capabilities, domain entities, best-fit reference project
  3. The execution planner routes to the right tier:
    • CACHE — matches a reference project, uses working code directly
    • INITIALIZR — generates via start.spring.io (Boot 3.x, Gradle)
    • EXPAND — starts from a reference project, then AI generates domain-specific code
  4. Tools execute deterministically — no LLM in the actual scaffolding. Your CLI is only used for classification and domain code generation.
  5. Results stream back through ACP to your chat window
The first prompt may take 30-60 seconds (CLI startup + classification + MCP server startup). Subsequent prompts in the same session are faster.