Repolode
k1LoW

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. 1

    Instale pelo Homebrew

    brew install tbls
  2. 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