Production-ready Clojure web framework with Functional Core / Imperative Shell architecture
New to Boundary? Start with these guides:
Get your first API endpoint running in 5 minutes. Perfect for trying out Boundary.
What you'll learn:
Time: 5 minutes | Level: Beginner
Build a complete task management API from scratch with authentication, validation, and tests.
What you'll build:
Time: 1-2 hours | Level: Beginner to Intermediate
Understand the Functional Core / Imperative Shell (FC/IS) pattern that powers Boundary.
Deep dive into how modules are structured and how to design new ones.
Everything you need for local development.
Configure your editor for the best Boundary development experience.
Covered IDEs:
What's included:
Configure databases for development and production.
Implement authentication and authorization in your app.
Write comprehensive tests for your Boundary application.
Complete guide for deploying and operating Boundary in production.
What's covered:
Sections: 140+ | Length: 1,200+ lines
Security best practices for Boundary applications.
Complete guide to using pagination in Boundary APIs.
What's covered:
Multi-factor authentication API documentation.
What's covered:
Learn by example with complete, working applications:
Simple REST API for task management.
Demonstrates:
Complexity: ⭐ Simple | Time: 30 minutes
Full-stack blog with web UI and admin panel.
Demonstrates:
Complexity: ⭐⭐ Moderate | Time: 2 hours
Production-ready microservice template.
Demonstrates:
Complexity: ⭐⭐⭐ Advanced | Time: 4 hours
Complete reference for core business logic functions.
Port (interface) definitions for all modules.
HTTP routing, handlers, and middleware reference.
Complete configuration options for Boundary applications.
Generate modules, endpoints, and adapters with the scaffolder.
# Generate complete module
clojure -M:dev -m boundary.scaffolder.core --name tasks
# Add field to existing module
clojure -M:dev -m boundary.scaffolder.field --module tasks --name priority:string
# Add endpoint
clojure -M:dev -m boundary.scaffolder.endpoint --module tasks --path /tasks/:id/complete
Database migration commands and workflow.
# Commands covered
clojure -M:migrate status # Check migration status
clojure -M:migrate migrate # Run pending migrations
clojure -M:migrate rollback # Rollback last migration
clojure -M:migrate create # Create new migration
Use multiple databases in a single application.
Implement asynchronous job processing.
Improve performance with caching.
Add real-time features to your application.
Deep dive into Functional Core / Imperative Shell.
Understanding ports and adapters (Hexagonal Architecture).
How to properly scope modules and maintain boundaries.
How to contribute to Boundary Framework.
Current state of the project and roadmap.
Version history and release notes.
Solutions to frequently encountered problems.
Frequently asked questions about Boundary.
#boundary-framework - Real-time help (link coming soon)docs/
├── README.md # This file - documentation hub
├── QUICKSTART.md # 5-minute getting started guide
├── TUTORIAL.md # Full hands-on tutorial
├── IDE_SETUP.md # Editor configuration
├── OPERATIONS.md # Production operations guide
├── PHASE2_COMPLETION.md # Phase 2 completion report
│
├── guides/ # How-to guides
│ ├── DATABASE_SETUP.md
│ ├── AUTHENTICATION.md
│ ├── TESTING.md
│ ├── CONFIGURATION.md
│ └── DEPLOYMENT.md
│
├── api/ # API reference
│ ├── CORE.md
│ ├── PORTS.md
│ └── HTTP.md
│
├── cli/ # CLI tool documentation
│ ├── SCAFFOLDER.md
│ └── MIGRATIONS.md
│
├── advanced/ # Advanced topics
│ ├── MULTI_DATABASE.md
│ ├── BACKGROUND_JOBS.md
│ ├── CACHING.md
│ └── WEBSOCKETS.md
│
└── concepts/ # Conceptual explanations
├── FC_IS_PATTERN.md
├── PORTS_ADAPTERS.md
└── MODULE_BOUNDARIES.md
| Document | Status | Priority | ETA |
|---|---|---|---|
| QUICKSTART.md | ✅ Complete | P0 | Done |
| OPERATIONS.md | ✅ Complete | P0 | Done |
| IDE_SETUP.md | ✅ Complete | P1 | Phase 3 |
| TUTORIAL.md | ✅ Complete | P1 | Phase 3 |
| guides/DATABASE_SETUP.md | ✅ Complete | P2 | Phase 3 |
| guides/AUTHENTICATION.md | ✅ Complete | P2 | Phase 4 |
| guides/TESTING.md | ✅ Complete | P2 | Phase 4 |
| Examples (todo-api, blog) | 📝 Planned | P1 | Phase 3 |
Legend:
Different learning paths depending on your goal:
Found an issue or want to improve the docs?
See CONTRIBUTING.md for full guidelines.
Happy coding with Boundary! 🚀
Last updated: 2026-01-26 Documentation version: 1.0.0
Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |