Gera diagramas ER interativos e fáceis de entender a partir do schema do banco de dados, sem configuração, via URL ou CLI.
k1LoW/tbls
CLI em Go que gera documentação em Markdown GFM a partir do schema de um banco de dados ativo, com suporte a diff, lint e diagramas ER para CI.
- Estrelas
- 4,364
- Forks
- 217
- Issues abertas
- 57
- Último commit
- há 8 dias
O que é?
tbls se conecta a um banco de dados, lê o schema e gera um documento navegável em Markdown com tabelas, colunas, índices, restrições e relações. Também pode gerar diagramas ER em SVG, PNG, JPG ou Mermaid e exportar o schema para formatos como DOT, PlantUML, JSON, YAML e Excel.
Além de documentar, tbls também verifica schemas. O comando diff compara um banco de dados ativo com o documento gerado ou com outro banco, enquanto o comando lint aplica regras configuráveis, como exigir comentários em colunas, limitar a quantidade de colunas e exigir índices em chaves estrangeiras. O comando coverage informa quanto do schema está documentado.
tbls é distribuído como um único binário e oferece suporte, entre outros, a PostgreSQL, MySQL, MariaDB, SQLite, SQL Server, BigQuery, Snowflake, Redshift, Cloud Spanner, DynamoDB, MongoDB, ClickHouse e Databricks. A configuração fica em um arquivo .tbls.yml, facilitando a execução em pipelines de CI.
Recursos principais
- 01Gera documentação em Markdown compatível com GitHub a partir do schema de um banco de dados.
- 02Gera diagramas ER nos formatos SVG, PNG, JPG ou Mermaid.
- 03Compara um banco de dados com sua documentação ou com outro banco.
- 04Verifica schemas com regras configuráveis, como comentários obrigatórios e limites de colunas.
- 05Mede a cobertura da documentação de tabelas e colunas.
- 06Oferece suporte a vários bancos de dados, incluindo PostgreSQL, MySQL, SQLite, BigQuery e MongoDB.
Casos de uso
- Manter no repositório um documento do schema do banco de dados, atualizado junto com as mudanças no código.
- Fazer os builds de CI falharem quando mudanças no schema prejudicarem a documentação ou violarem regras de lint.
- Comparar um banco de dados de produção com uma cópia de staging ou local.
- Exportar definições de schema para Excel ou PlantUML e revisá-las com pessoas que não são desenvolvedoras.
Início rápido
- 1
Instale pelo Homebrew
brew install tbls - 2
Documente um banco de dados com um único comando
tbls doc postgres://dbuser:dbpass@hostname:5432/dbname
Antes de usar
- Documenta um banco de dados ativo, então é necessária uma conexão acessível ao banco de dados e credenciais.
Em coleções
Tópicos
Perguntas frequentes
- O que é tbls?
- CLI em Go que gera documentação em Markdown GFM a partir do schema de um banco de dados ativo, com suporte a diff, lint e diagramas ER para CI. tbls se conecta a um banco de dados, lê o schema e gera um documento navegável em Markdown com tabelas, colunas, índices, restrições e relações. Também pode gerar diagramas ER em SVG, PNG, JPG ou Mermaid e exportar o schema para formatos como DOT, PlantUML, JSON, YAML e Excel.
- tbls é gratuito? Qual é a licença?
- tbls é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- tbls ainda é mantido?
- Manutenção ativa. O último commit de tbls foi em 15 de out. de 2026.
- Para que posso usar tbls?
- Manter no repositório um documento do schema do banco de dados, atualizado junto com as mudanças no código. Fazer os builds de CI falharem quando mudanças no schema prejudicarem a documentação ou violarem regras de lint. Comparar um banco de dados de produção com uma cópia de staging ou local. Exportar definições de schema para Excel ou PlantUML e revisá-las com pessoas que não são desenvolvedoras.
- Como instalar tbls?
- Instale pelo Homebrew: brew install tbls Documente um banco de dados com um único comando: tbls doc postgres://dbuser:dbpass@hostname:5432/dbname
- Onde consigo tbls?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/k1LoW/tbls
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um gerador de sites de documentação que transforma arquivos Markdown em um site sem exigir uma etapa de build.
Gerador de sites estáticos rápido, distribuído como um único binário, com suporte integrado a Markdown, Sass, processamento de imagens e busca.
Gerador de documentação para Python que cria HTML, PDF, EPUB e outros formatos a partir de fontes em reStructuredText ou Markdown.
Framework Hugo de código aberto com blocos Tailwind para criar landing pages, portfólios, blogs e documentação a partir de arquivos Markdown simples.
Ferramenta de linha de comando que copia dados entre bancos de dados, arquivos e plataformas SaaS com um único comando, sem precisar escrever código.