Agentic Engineering with Clojure¶
This manual is a guide on how to best use the Clojure Programming language and LLM coding agents. It is a reflection of a year of constant use. I hope this manual helps you get the most out of Clojure and LLM agents.
Why¶
Clojure is a dynamic, lisp designed for the JVM. It is unorthodox in many ways. In an age of typed languages with C syntax, Clojure stands out. It is focused, concise and functional. Its S Expression based syntax is unusual. In the era of LLM agents, where the training data set is dominated by TypeScript, Python and C, there is a fear that more unorthodox languages will come under threat.
Over the past year, intense development with LLM based agents has led the authors of this manual to the opposite conclusion. The fundamentals of the Clojure language make it an excellent language for agentic development. Specifically, Clojure’s focus on functional programming, REPL based development and intentional development lends itself to the age of Agentic Engineering.
The author’s hope is that this manual will keep Clojure relevant in this era.
This manual is designed to cover both working with Clojure from LLM based agents and building LLM agents with Clojure.
Contents:
- Installation
- Agentic Toolchain
- Agentic Browser with Etaoin
- Overview
- Installation
- Core Workflow Pattern
- Basic Firefox Session
- Using with-driver for Automatic Cleanup
- Query API - Finding Elements
- Interaction - Clicking and Typing
- Data Extraction
- Waiting and Synchronization
- JavaScript Execution
- Navigation and Window Management
- Scrolling
- Cookies
- Screenshots and Visual Capture
- Alerts and Dialogs
- Element State Checking
- Agentic Browser Patterns
- Driver Options and Configuration
- Browser-Specific Helpers
- Complete Agentic Browser Example
- Testing and Debugging
- Best Practices
- Troubleshooting
- Quick Reference Card
- References
- Common User Prompts
- REPL-Based Development
- Testing
- Changelog