Open source · Public roadmap

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.

MIT License TypeScript Local-first Self-hosted React PostgreSQL
The idea

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.

$ npm install bando-cms
Architecture

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/
bando/
│
├── apps/
│   ├── cli/
│   ├── server/
│   └── studio/
│
├── packages/
│   ├── client/
│   ├── config/
│   ├── core/
│   ├── database/
│
├── examples/
│   ├── nextjs/
│   ├── react/
│   └── node/
│
├── docs/
├── tests/
│
├── docker-compose.yml
├── pnpm-workspace.yaml
└── package.json
01

Schema

Define your content using TypeScript and defineCollection().

02

Engine

The schema engine discovers your collections, fields, relationships, and configuration.

03

Database

The database layer persists your content and provides CRUD operations through PostgreSQL.

04

Studio

Bando Studio discovers collections and lets you manage documents through a visual interface.

05

API

The REST API makes your content available to the applications and frontends you build.

Developer experience

Define your content in code.

Bando lets you define your content model directly in TypeScript, keeping your schema close to your application.

schema.ts Bando Core
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  })
query.ts Bando Client
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
Public roadmap

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.

Phase 0
Foundation

Project Foundation

The monorepo, tooling, TypeScript setup, workspace, Docker environment, and core project structure are in place.

Monorepo TypeScript pnpm Docker PostgreSQL Project structure
● Complete
Phase 1
Schema

Schema Engine

The schema engine provides collection definitions, schema discovery, field definitions, relationships, reference validation, and TypeScript types.

defineCollection() Fields Schema discovery TypeScript types Validation Relations Reference validation Reference protection
● Complete
Phase 2
Database

Database Engine

PostgreSQL persistence is functional, with CRUD operations, queries, adapters, and collection integration.

PostgreSQL Persistence CRUD Queries Database adapter
● Complete
Phase 3
API

API Layer

The HTTP API provides collection and document operations, including reading, creation, updates, deletion, filtering, and validation.

REST Collections Documents Queries Filtering Validation
● Complete
Phase 4
Auth

Authentication & Authorization

Authentication and authorization provide the foundation for protecting the Studio and API with secure access controls.

Login JWT Sessions Logout RBAC Permissions
● Complete
Phase 5
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.

React Authentication Collection explorer Document listing Create Edit Delete Dashboard Relation selectors
● Complete
Phase 6
Client

Developer Experience

The TypeScript client provides CRUD operations, filtered queries, pagination, and generic collection typing for working with Bando from your application.

Client Typed queries Generic typing Type generation Framework integrations CLI
● Complete
Phase 7
Content

Content Experience

Expand the editorial experience with richer content workflows and more powerful media and publishing capabilities.

Rich Text Media Uploads Drafts Publishing Preview Revisions
○ Planned
Phase 8
Extensibility

Extension System

Give developers more control over Bando through plugins, adapters, custom fields, hooks, and integrations.

Plugins Adapters Custom Fields Hooks Integrations
○ Planned
Phase 9
Realtime

Real-time

Add real-time updates, WebSockets, presence, and collaborative workflows.

WebSockets Live Updates Presence Collaboration
○ Planned
Phase 10
Production

Production Hardening

Strengthen Bando for demanding production environments with deeper security hardening, migrations, backups, observability, and operational tooling.

Security Migrations Backups Observability Production Docker Documentation
○ Planned

Current release

v1.0.0
Core infrastructure available v1.0.0
Principles

Some things are non-negotiable.

01

Local-first

Development should work locally and give developers control over how and where their infrastructure runs.

02

Open source

The core is open, auditable, and developed in public alongside the community.

03

Self-hosted

Developers can run Bando on their own infrastructure and keep control of their data.

04

TypeScript-first

Schemas, APIs, queries, and tooling should provide a strongly typed developer experience.

05

Extensible

Bando should adapt to different stacks, applications, and developer needs.

06

No lock-in

Your data and infrastructure remain under your control.

Open development

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/
├── issue define schema API
├── rfc database adapters
├── pull request #12
├── commit schema engine
├── release v1.0.0
└── community contribute
What's next

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.