Pular para o conteúdo
Skillpedia
Código em geral40 mil · #5130

efcore-d2-db-diagram

Faz seu agente gerar diagramas de banco de dados D2 a partir de modelos Entity Framework Core. É útil para visualizar relacionamentos de tabelas e esquemas.

O que ela faz

Esta ferramenta cria um diagrama visual do seu banco de dados a partir do código do seu projeto. Ela entende como você definiu suas tabelas e os relacionamentos entre elas usando o Entity Framework Core.

Quando usar

  • ✓Quando você quer ver como as tabelas do seu banco de dados se conectam.
  • ✓Para documentar a estrutura do banco de dados de um projeto C#.
  • ✓Para entender relacionamentos complexos como muitos-para-muitos.

Exemplo do que pedir para a IA

“Gere um diagrama do banco de dados do meu projeto usando o Entity Framework Core.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/github/awesome-copilot/blob/main/skills/efcore-d2-db-diagram/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/efcore-d2-db-diagram/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta analisa seu código C# que usa Entity Framework Core. Ela procura pelas definições de tabelas, colunas e como elas se relacionam para desenhar o diagrama.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add github/awesome-copilot --skill efcore-d2-db-diagram

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/efcore-d2-db-diagram/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Gerador de Diagrama de Banco de Dados D2 para EF Core

Quando Usar

Use esta habilidade quando o usuário quiser gerar um diagrama de banco de dados / ERD a partir de um codebase do Entity Framework Core.

Solicitações típicas:

  • Gerar um diagrama de banco de dados D2 a partir de entidades EF Core.
  • Visualizar tabelas, colunas, chaves primárias, chaves estrangeiras e relacionamentos.
  • Analisar DbContext, DbSet<T>, IEntityTypeConfiguration<T>, Fluent API e migrações.
  • Produzir um arquivo .d2 renderizável para SVG/PNG com a CLI d2.
  • Documentar o modelo de banco de dados de um projeto ASP.NET Core / .NET.

Objetivo

Criar um diagrama de relacionamento de entidade D2 legível que reflita o modelo de persistência EF Core real, não apenas a forma bruta da classe C#.

O diagrama deve priorizar:

  1. Tabelas e relacionamentos do banco de dados.
  2. Chaves primárias, chaves estrangeiras, colunas obrigatórias/opcionais.
  3. Tipos possuídos (owned types) e objetos de valor (value objects).
  4. Relacionamentos muitos-para-muitos e tabelas de junção.
  5. Índices, restrições únicas e nomes de tabelas.
  6. Convenções do EF Core apenas quando o mapeamento explícito estiver ausente.

A saída é código fonte .d2. Ele pode ser renderizado para SVG ou PNG através da CLI d2.

Ferramentas

  • CLI d2: renderiza arquivos .d2 para SVG/PNG.
    • d2 input.d2 output.svg
    • d2 --layout=elk input.d2 output.svg
  • d2 fmt: formata arquivos D2.
    • d2 fmt input.d2
  • Nenhum servidor MCP é necessário. A habilidade gera código fonte D2 como texto.

Fluxo de Trabalho Recomendado

  1. Leia a estrutura do projeto EF Core.
  2. Localize todas as classes DbContext.
  3. Localize todas as declarações DbSet<T>.
  4. Localize classes de entidade, tipos possuídos, tipos enum e objetos de valor.
  5. Leia OnModelCreating e todas as classes IEntityTypeConfiguration<T>.
  6. Leia as migrações quando disponíveis para confirmar nomes de tabelas, tabelas de junção, índices e comportamentos de exclusão.
  7. Construa um modelo de banco de dados normalizado antes de escrever D2.
  8. Faça o questionário obrigatório do diagrama antes da geração.
  9. Gere o arquivo .d2 usando o modelo de banco de dados, não o aninhamento bruto de classes.
  10. Valide a sintaxe D2 com d2 fmt antes da entrega.
  11. Renderize com d2 --layout=elk schema.d2 schema.svg quando possível.
  12. Se estiver regenerando, releia primeiro os mapeamentos e migrações do EF Core.

Perguntas Obrigatórias Antes da Geração do Diagrama

Faça estas perguntas para cada novo diagrama e cada regeneração, a menos que o usuário já as tenha respondido na mesma solicitação.

  1. Which DbContext should be diagrammed? (auto-detect/all/specific name)
  2. Display columns? (all/key-only/none)
  3. Display column types? (Yes/No)
  4. Display nullable/required markers? (Yes/No)
  5. Display indexes and unique constraints? (Yes/No)
  6. Display enum values? (Yes/No)
  7. Display owned types? (inline/separate/hide)
  8. Display many-to-many join tables? (explicit/compact/hide)
  9. Display audit/technical tables? (Yes/No)
  10. Display migration-only tables not present as entities? (Yes/No)
  11. Which grouping mode? (bounded-context/schema/namespace/flat)
  12. Which layout engine? (elk/dagre/tala)
  13. Which output format? (d2/svg/png)

Valores padrão, quando o usuário pede uma geração rápida:

  • DbContext: auto-detect
  • Colunas: key-only
  • Tipos de coluna: Yes
  • Marcadores de nulidade: Yes
  • Índices: Yes
  • Enums: No
  • Tipos possuídos: inline
  • Tabelas de junção: explicit
  • Tabelas de auditoria/técnicas: No
  • Tabelas apenas de migração: Yes
  • Agrupamento: bounded-context
  • Layout: elk
  • Saída: d2

Documentos de Referência

Carregue estes sob demanda quando necessário:

Referência Quando carregar
references/efcore-model-extraction.md Regras para leitura de DbContext, DbSet, Fluent API, configurações e migrações
references/d2-erd-style.md Sintaxe D2 e convenções visuais para diagramas ERD
references/relationship-rules.md Como inferir relacionamentos um-para-um, um-para-muitos, muitos-para-muitos e possuídos
references/grouping-modes.md Regras para bounded-context, schema, namespace e agrupamento plano
references/quality-gate.md Checklist final antes de entregar o diagrama gerado

Regras de Extração do EF Core

Prioridade da Fonte

Use esta ordem de prioridade quando as fontes discordarem:

  1. Última migração aplicada / snapshot de migração.
  2. Configuração da Fluent API em OnModelCreating ou IEntityTypeConfiguration<T>.
  3. Data annotations.
  4. Convenções do EF Core.
  5. Forma bruta da classe C#.

Conceitos Essenciais do EF Core a Detectar

Detecte e represente:

  • DbContext e DbSet<T>.
  • Nomes de classes de entidade e nomes reais de tabelas de ToTable.
  • Nomes de schema de ToTable("Table", "schema").
  • Chaves primárias de HasKey, [Key], convenções e migrações.

…

Perguntas frequentes

O que é um diagrama ERD?

ERD significa Entity-Relationship Diagram (Diagrama Entidade-Relacionamento). É um desenho que mostra as tabelas do banco de dados e como elas se ligam umas às outras.

O que é Entity Framework Core?

É uma ferramenta que ajuda desenvolvedores a trabalhar com bancos de dados em projetos C# sem precisar escrever todo o código SQL manualmente.

O que é um arquivo .d2?

É um arquivo de texto que descreve o diagrama. Ele pode ser transformado em imagens como SVG ou PNG usando outra ferramenta chamada 'd2 CLI'.

Detalhes

Descrição original do autor

Generate D2 database diagrams from Entity Framework Core models. USE FOR: EF Core database diagram, Entity Framework Core ERD, DbContext diagram, C# entity relationship diagram, PostgreSQL schema visualization, generate .d2 file from EF Core entities, Fluent API mapping diagram, migrations-based database diagram, table relationships, owned types, many-to-many join tables, indexes and constraints.

repo: github/awesome-copilot

Popularidade

Estrelas no GitHub
40 mil
Posição no ranking
#5130
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas