Liking cljdoc? Tell your friends :D

Boundary Framework

Boundary is a batteries-included Clojure web framework that enforces the Functional Core / Imperative Shell (FC/IS) pattern: pure business logic in core/, side effects in shell/, and clean interfaces through ports.clj protocols.

What Boundary provides

  • 24 independently publishable libraries on Clojars — use only what you need (plus boundary-cli and boundary-devtools)

  • Scaffolder that generates fully structured modules (entity + routes + tests) in seconds

  • Auto-generated admin UI from your schema — no manual forms

  • Built-in observability, RFC 5988 pagination, and declarative interceptors

  • Framework-aware AI tooling — NL scaffolding, error explainer, test generator, SQL copilot

Where to start

I want to…​Go to

Try Boundary in minutes

Getting Started

Understand the design philosophy

Why Boundary?

Learn the core architecture

Functional Core / Imperative Shell

Add a module to an existing app

Create a Module

Browse all 24 libraries

Library Overview

Essential commands

# Install Boundary (JVM, Clojure CLI, Babashka, bbin, boundary CLI)
curl -fsSL https://get.boundary-app.org | bash

# Start a new project
boundary new my-app
cd my-app

# Add optional modules
boundary add payments
boundary list modules

# REPL-driven development
export JWT_SECRET="change-me-dev-secret-min-32-chars"
export BND_ENV="development"
clojure -M:repl-clj

# Scaffold a new module (interactive)
bb scaffold

# Run all tests
clojure -M:test:db/h2

Can you improve this documentation? These fine people already did:
Thijs Creemers & thijscreemers
Edit on GitHub

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close