Veja para onde o Bando está indo a seguir.
O Bando já está disponível na versão v1.0.0, com sua infraestrutura principal implementada: motor de schemas, camada de banco de dados, API, autenticação, client, CLI e Studio. Este roadmap mostra o que já existe hoje e o que vem a seguir.
O CMS deve trabalhar para o desenvolvedor.
O Bando começou com uma ideia simples: o conteúdo da sua aplicação deve poder viver na sua própria infraestrutura.
Criamos um headless CMS moderno baseado em uma filosofia diferente: local-first, open source, self-hosted e pensado para a forma como os desenvolvedores realmente trabalham.
Hoje, o Bando oferece a base necessária para definir conteúdo em TypeScript, armazená-lo com PostgreSQL, disponibilizá-lo através de uma API, proteger o acesso com autenticação, consultá-lo através de um client tipado e gerenciá-lo através do Bando Studio.
Uma base modular. Um sistema completo.
O Bando é organizado como um monorepo modular. Cada parte possui uma responsabilidade clara, trabalhando em conjunto como uma infraestrutura completa de conteúdo.
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
Defina seu conteúdo usando TypeScript e
defineCollection().
Engine
O motor de schemas descobre suas collections, campos, relacionamentos e configurações.
Database
A camada de banco de dados armazena seu conteúdo e fornece operações CRUD através do PostgreSQL.
Studio
O Bando Studio descobre collections e permite gerenciar documentos através de uma interface visual.
API
A API REST disponibiliza seu conteúdo para as aplicações e frontends que você construir.
Defina seu conteúdo em código.
O Bando permite definir seu modelo de conteúdo diretamente em TypeScript, mantendo o schema próximo da sua aplicação.
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// conteúdo consumido através do client
O que existe hoje. O que vem a seguir.
O Bando v1.0.0 fornece a infraestrutura principal necessária para executar e utilizar a plataforma. O roadmap agora foca na expansão das suas capacidades e da experiência do desenvolvedor. As prioridades podem evoluir de acordo com o feedback da comunidade.
Fundação
Fundação do Projeto
O monorepo, as ferramentas, a configuração TypeScript, o workspace, o ambiente Docker e a estrutura principal do projeto estão implementados.
Schema
Motor de Schemas
O motor de schemas fornece definições de collections, descoberta de schemas, definição de campos, relacionamentos, validação de referências e tipos TypeScript.
Database
Motor de Banco de Dados
A persistência com PostgreSQL está funcional, com operações CRUD, queries, adapters e integração com collections.
API
Camada de API
A API HTTP fornece operações para collections e documentos, incluindo leitura, criação, atualização, exclusão, filtragem e validação.
Auth
Autenticação e Autorização
A autenticação e autorização fornecem a base para proteger o Studio e a API através de controles de acesso seguros.
Studio
Bando Studio
O Bando Studio conecta-se à API real, fornece um dashboard, descobre collections e schemas e permite gerenciar documentos através da interface.
Client
Experiência do Desenvolvedor
O client TypeScript fornece operações CRUD, queries com filtros, paginação e tipagem genérica de collections para trabalhar com o Bando diretamente na sua aplicação.
Conteúdo
Experiência de Conteúdo
Expandir a experiência editorial com fluxos de conteúdo mais completos e capacidades mais avançadas de mídia e publicação.
Extensibilidade
Sistema de Extensões
Dar aos desenvolvedores mais controle sobre o Bando através de plugins, adapters, campos personalizados, hooks e integrações.
Realtime
Tempo Real
Adicionar atualizações em tempo real, WebSockets, presença e fluxos de trabalho colaborativos.
Produção
Preparação para Produção
Fortalecer o Bando para ambientes de produção mais exigentes, com maior segurança, migrations, backups, observabilidade e ferramentas operacionais.
Versão atual
v1.0.0Algumas coisas não são negociáveis.
Local-first
O desenvolvimento deve funcionar localmente e dar aos desenvolvedores controle sobre como e onde sua infraestrutura é executada.
Open source
O core é aberto, auditável e desenvolvido publicamente junto com a comunidade.
Self-hosted
Os desenvolvedores podem executar o Bando em sua própria infraestrutura e manter o controle sobre seus dados.
TypeScript-first
Schemas, APIs, queries e ferramentas devem oferecer uma experiência de desenvolvimento fortemente tipada.
Extensível
O Bando deve se adaptar a diferentes stacks, aplicações e necessidades dos desenvolvedores.
Sem lock-in
Seus dados e sua infraestrutura permanecem sob seu controle.
O trabalho permanece visível.
O Bando é desenvolvido de forma aberta. A comunidade pode acompanhar releases, discutir decisões, reportar problemas e contribuir diretamente para o projeto.
- Issues públicas
- RFCs para decisões importantes
- Pull requests abertos
- Roadmap público
- Releases públicas
- Documentação desde o primeiro dia
O Bando v1.0.0 é apenas o começo.
Use o Bando hoje, explore o código, acompanhe o roadmap ou entre na comunidade e ajude a definir o que vem a seguir.