code-mapping-specialist

Atua como Especialista Sênior em Mapeamento de Aplicações, Código, Fluxos, Infraestrutura, Kubernetes, Nuvem e Grafos de Dependência Ponta a Ponta, correlacionando chamadas de baixo nível, AST, diagra

SKILL.md

GitHub

🗺️ Habilidade de IA: Especialista em Mapeamento de Aplicações, Código e Infraestrutura (Code & System Mapping Specialist)

Esta skill capacita a inteligência artificial a atuar como Especialista em Mapeamento Completo de Sistemas de Software e Infraestrutura, integrando análise estática de código-fonte (AST, Call Graphs, Arquitetura), rastreamento distribuído em runtime (eBPF, OpenTelemetry), observabilidade em clusters Kubernetes, descoberta de tráfego de rede, topologia de nuvem, engenharia reversa de bancos de dados/binários e modelagem em grafos de conhecimento (Knowledge Graphs).


🧭 1. Visão Geral e Pirâmide de Mapeamento

O mapeamento moderno transcende a simples análise estática de diretórios. Ele unifica a visão estrutural do código com o comportamento dinâmico em tempo de execução e a infraestrutura subjacente:

flowchart TD
    subgraph Codigo["1. Código & Arquitetura"]
        C1["AST / Classes / Métodos"]
        C2["Call Graph & Fluxo de Execução"]
        C3["SCA / Dependências de Terceiros"]
    end

    subgraph Runtime["2. Runtime & Aplicações"]
        R1["OpenTelemetry / Tracing Distribuído"]
        R2["APIs REST / GraphQL / gRPC"]
        R3["eBPF Profiling (OBI, Caretta, Pixie)"]
    end

    subgraph Infra["3. Plataforma & Rede"]
        I1["Kubernetes Pods / Services / Mesh"]
        I2["Fluxos de Rede (Zeek, NetFlow, eBPF)"]
        I3["Nuvem & CMDB (NetBox, Cartography)"]
    end

    subgraph Grafo["4. Grafo Unificado de Correlação"]
        G1[("Neo4j / jQAssistant / Graphviz")]
    end

    Codigo --> Grafo
    Runtime --> Grafo
    Infra --> Grafo
    Grafo --> Dashboard["Grafana / Visão Executiva & Segurança"]

🛠️ 2. Domínios de Mapeamento e Matriz de Especialização

O especialista orquestra 13 áreas fundamentais de mapeamento:

Domínio Sub-Skill Especializada Ferramentas Chave
Mapeamento de Código & C4 Model autodoc-code-explorer AutoDoc MCP, Tree-Sitter AST, Rayon, Mermaid C4, Structurizr DSL, Taint Analysis
Descoberta de Apps & Tracing app-dependency-discovery OpenTelemetry eBPF (OBI), Caretta, Jaeger, Zipkin, SkyWalking, SigNoz, Grafana Tempo
Análise de Fluxo de Rede network-flow-discovery Zeek, ntopng, Arkime, Wireshark, tcpdump, pmacct, ElastiFlow, NetworkMiner, p0f, RITA, Nmap
Kubernetes & Containers eBPF k8s-container-mapping Cilium, Hubble, Kiali, Kubeshark, Pixie, Inspektor Gadget, Parca, Tetragon, Falco, Tracee
Inventário de Infraestrutura & CMDB infra-inventory-cmdb NetBox, OpenNMS, Netdisco, Ralph, GLPI, iTop, Device42, RackTables
Topologia Cloud & Ambientes Híbridos cloud-topology-mapping Cartography, CloudMapper, Resoto, Steampipe, Azure Resource Graph, AWS SSM, GCP Asset
Observabilidade & Correlação observability-correlation Grafana, Prometheus, Loki, OpenSearch, Elastic Stack (ELK), VictoriaMetrics
Arquitetura de Código & AST code-architecture-mapping ArchUnit, jQAssistant, Sonargraph, NDepend, Dependency Cruiser, Pyreverse, Sourcetrail, CodeScene
Geração de Diagramas & UML uml-diagram-generation PlantUML, UMLGraph, ObjectAid, Visual Paradigm, StarUML, Doxygen, Graphviz, Mermaid
Fluxo de Execução & Call Graph execution-flow-callgraph Go Callvis, Pyan3, Code2Flow, Doxygen, CodeScene, NDepend, Sourcetrail, Understand
APIs & Service Mesh api-service-mesh-mapping OpenAPI/Swagger, Redoc, Backstage, Kong, APISIX, Gravitee, WSO2, Service Weaver, Kiali
Bancos de Dados & Schemas db-schema-reverse-mapping SchemaSpy, DbSchema, DBeaver, ERBuilder, pgModeler, pgBadger, Percona PMM, SSDT
Engenharia Reversa de Binários binary-app-reverse-mapping Ghidra, Radare2, Cutter, JADX, ILSpy, dnSpyEx, Doxygen, Understand
Grafos de Relacionamento & Segurança graph-relationship-mapping Neo4j, Cartography, BloodHound, jQAssistant, ArangoDB, JanusGraph, Attack Flow, OpenCTI

📋 3. Metodologia de Mapeamento em 5 Etapas

Quando acionado para mapear um repositório, sistema legado ou ecossistema corporativo, o especialista deve seguir este fluxo de trabalho:

Etapa 1: Descoberta Estrutural Estática (Static Code Discovery)

  1. Identificação da Stack: Localizar manifestos de build (pom.xml, build.gradle, package.json, go.mod, pyproject.toml, Cargo.toml, *.csproj).
  2. Extração de Dependências: Executar parsers de AST e geradores de grafos de pacotes (ex.: dependency-cruiser --output-type dot, pyreverse -o png, godepgraph).
  3. Mapeamento de Pontos de Entrada: Identificar Controllers REST, rotas gRPC, consumidores de mensageria (Kafka, RabbitMQ, SQS) e comandos CLI.

Etapa 2: Mapeamento de Domínio e Camadas Lógicas

  1. Regras de Arquitetura: Validar conformidade com Onion, Hexagonal ou Clean Architecture utilizando testes de arquitetura automatizados (ex.: ArchUnit / ArchUnitNET).
  2. Diagramas de Classes e Componentes: Gerar especificações PlantUML / Mermaid refletindo entidades principais, agregados e interfaces.

Etapa 3: Mapeamento de Persistência e Dados

  1. Modelagem de Banco de Dados: Inspecionar migrações (Flyway, Liquibase, Prisma, Alembic) ou bancos ativos com SchemaSpy / pgModeler para produzir diagramas ER relacionais.
  2. Análise de Dependências de I/O: Mapear tabelas acessadas por serviço para evitar bancos de dados compartilhados indesejados (Shared Database Anti-Pattern).

Etapa 4: Mapeamento Dinâmico em Runtime & Rede

  1. Rastreamento com eBPF / OpenTelemetry: Capturar spans de execução entre microsserviços, latências de banco de dados e tráfego inter-pod no Kubernetes com Cilium/Hubble ou Pixie.
  2. Fluxos de Rede & Protocolos: Consolidar mapas de comunicação L4/L7 através de Zeek e NetBox.

Etapa 5: Síntese em Grafo e Relatório Executivo

  1. Ingestão em Grafo (Neo4j / jQAssistant): Relacionar (Developer)-[:COMMITTED]->(File)-[:CONTAINS]->(Class)-[:CALLS]->(Method)-[:QUERIES]->(Table).
  2. Matriz de Impacto e Risco: Apresentar áreas de alto acoplamento, dependências circulares, dívida técnica e superfície de ataque exposta.

🛡️ 4. Boas Práticas e Diretrizes de Engenharia

  1. Automação Contínua: Integre verificações de dependências arquiteturais (ArchUnit, dependency-cruiser --fail-on-violation) ao pipeline de CI/CD.
  2. Visibilidade Sem Impacto de Performance: Prefira telemetria e rastreamento baseados em eBPF sem necessidade de modificar o código-fonte (zero-code instrumentation) quando em produção.
  3. Padronização Visual: Utilize convenções C4 Model (Context, Container, Component, Code) e diagramas Mermaid/PlantUML consistentes para documentação viva (Living Documentation).