See where Bando is going next.
Bando is already available as v1.0.0, with its core infrastructure in place: schema engine, database layer, API, authentication, client, CLI, and Studio. This roadmap shows what is available today and what comes next.
The CMS should work for the developer.
Bando started with a simple idea: your application's content should be able to live on your own infrastructure.
We built a modern headless CMS around a different philosophy: local-first, open source, self-hosted, and designed around the way developers actually work.
Today, Bando provides the foundation to define content in TypeScript, persist it with PostgreSQL, expose it through an API, authenticate access, query it through a typed client, and manage it through Bando Studio.
A modular foundation. A complete system.
Bando is organized as a modular monorepo. Each part has a clear responsibility while working together as a complete content infrastructure.
bando/ │ ├── apps/ │ ├── cli/ │ ├── server/ │ └── studio/ │ ├── packages/ │ ├── client/ │ ├── config/ │ ├── core/ │ ├── database/ │ ├── examples/ │ ├── nextjs/ │ ├── react/ │ └── node/ │ ├── docs/ ├── tests/ │ ├── docker-compose.yml ├── pnpm-workspace.yaml └── package.json
Schema
Define your content using TypeScript and
defineCollection().
Engine
The schema engine discovers your collections, fields, relationships, and configuration.
Database
The database layer persists your content and provides CRUD operations through PostgreSQL.
Studio
Bando Studio discovers collections and lets you manage documents through a visual interface.
API
The REST API makes your content available to the applications and frontends you build.
Define your content in code.
Bando lets you define your content model directly in TypeScript, keeping your schema close to your application.
1import { 2 defineCollection, 3 text, 4 image, 5 richText, 6} from "bando-cms" 7 8export const post = 9 defineCollection({ 10 name: "posts", 11 12 fields: { 13 title: text({ 14 required: true, 15 }), 16 17 cover: image(), 18 19 body: richText(), 20 }, 21 })
1import { createBandoClient } 2 from "bando-cms" 3 4const bando = createBandoClient({ 5 baseUrl: "http://localhost:3333", 6}); 7 8const { data, total } = await bando 9 .collection("posts") 10 .findMany({ 11 limit: 10, 12 sort: "-createdAt", 13 filters: { 14 published: true, 15 }, 16 }); 17 18// content consumed through the client
What exists today. What comes next.
Bando v1.0.0 provides the core infrastructure needed to run and use the platform. The roadmap now focuses on expanding its capabilities and developer experience. Priorities may evolve with community feedback.
Foundation
Project Foundation
The monorepo, tooling, TypeScript setup, workspace, Docker environment, and core project structure are in place.
Schema
Schema Engine
The schema engine provides collection definitions, schema discovery, field definitions, relationships, reference validation, and TypeScript types.
Database
Database Engine
PostgreSQL persistence is functional, with CRUD operations, queries, adapters, and collection integration.
API
API Layer
The HTTP API provides collection and document operations, including reading, creation, updates, deletion, filtering, and validation.
Auth
Authentication & Authorization
Authentication and authorization provide the foundation for protecting the Studio and API with secure access controls.
Studio
Bando Studio
Bando Studio connects to the real API, provides a dashboard, discovers collections and schemas, and lets you manage documents through the interface.
Client
Developer Experience
The TypeScript client provides CRUD operations, filtered queries, pagination, and generic collection typing for working with Bando from your application.
Content
Content Experience
Expand the editorial experience with richer content workflows and more powerful media and publishing capabilities.
Extensibility
Extension System
Give developers more control over Bando through plugins, adapters, custom fields, hooks, and integrations.
Realtime
Real-time
Add real-time updates, WebSockets, presence, and collaborative workflows.
Production
Production Hardening
Strengthen Bando for demanding production environments with deeper security hardening, migrations, backups, observability, and operational tooling.
Current release
v1.0.0Some things are non-negotiable.
Local-first
Development should work locally and give developers control over how and where their infrastructure runs.
Open source
The core is open, auditable, and developed in public alongside the community.
Self-hosted
Developers can run Bando on their own infrastructure and keep control of their data.
TypeScript-first
Schemas, APIs, queries, and tooling should provide a strongly typed developer experience.
Extensible
Bando should adapt to different stacks, applications, and developer needs.
No lock-in
Your data and infrastructure remain under your control.
The work stays visible.
Bando is developed openly. The community can follow releases, discuss decisions, report issues, and contribute directly to the project.
- Public issues
- RFCs for important decisions
- Open pull requests
- Public roadmap
- Public releases
- Documentation from day one
Bando v1.0.0 is just the beginning.
Use Bando today, explore the code, follow the roadmap, or join the community and help shape what comes next.