Embabel (Em-BAY-bel) is a framework for authoring agentic flows on the JVM that seamlessly mix LLM-prompted interactions with code and domain models. Supports intelligent path finding towards goals. Written in Kotlin but offers a natural usage model from Java. From the creator of Spring.
Embabel Agentic AI Framework
Recepies on Building Embabel-powered Agentic Applications
Embabel Cookbook is a hands-on guide to building agentic AI applications on the JVM with the Embabel Agent Framework. It covers agent annotations, conditions, heuristics, repeat-until loops, stuck-state debugging, startup wiring, and EPUB/HTML cookbook generation for Java and Spring Boot developers. Keywords: Embabel, Embabel Agent Framework, agentic AI, Java, Kotlin, Spring Boot, JVM, LLM, prompt runner, conditions, heuristics, repeat-until, stuck state, MCP, A2A, RAG.
Build the HTML cookbook locally with:
mvn -DskipTests generate-resourcesThe generated HTML is written under target/generated-docs/.
Build the EPUB cookbook locally with:
mvn -DskipTests -Pcookbook-epub generate-resourcesThe generated EPUB is written under target/generated-docs/book.epub.
For reference, the generated HTML files are also under target/generated-docs/, with the main entry point at target/generated-docs/book.html.
Build and run tests locally with:
mvn clean install -DskipTests=falseBy default this repo skips test execution during mvn clean install, but still compiles test sources.
In CI, test execution is currently skipped temporarily. That is a stopgap until the Ollama-based test container setup is ready. Once that container path is in place, CI should run the test suite again.
Contributions are welcome. Please keep changes small, focused, and aligned with the existing cookbook structure.
This cookbook is organized as executable documentation:
- every chapter has a corresponding test with one-to-one naming mapping
- documentation is generated from tagged code in tests
- each chapter follows the same structure: Introduction, Key Concepts, How It Works, Conclusion
- tests are self-contained and runnable on their own
- the book is built from the repo sources, so the code and prose stay aligned
Tentative areas to cover next:
- create object, including
PromptRunneroptions and parameters create-object-if-possible- creating user prompts and system prompts with
PromptRunner - property filtering
- thinking mode
- streaming mode
- termination
- tooling, including
AgenticTool,UnfoldingToolsand subagents - parallel tool loop, for more advanced flows
- native provider support, for more advanced flows
- interceptors and guardrails
- HITL
- observability
- MCP and A2A
- RAG
