Liking cljdoc? Tell your friends :D

Boundary Framework

Boundary brings Django’s productivity and Rails' conventions to Clojure — with functional programming rigor. It is a batteries-included 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

  • 20 independently publishable libraries on Clojars — use only what you need

  • Scaffolder that generates production-ready 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

Quickstart

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 20 libraries

Library Overview

Essential commands

# Start a new project
curl -fsSL https://raw.githubusercontent.com/thijs-creemers/boundary-starter/main/scripts/bootstrap.sh | bash
cd boundary-starter && bb setup

# 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?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