Boundary Boundary alpha

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

  • 22 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 22 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