genome-cli

Crates.iogenome-cli
lib.rsgenome-cli
version0.2.1
created_at2026-01-17 07:00:29.493234+00
updated_at2026-01-17 07:31:01.080803+00
descriptionCLI tool to analyze dbt manifest.json files
homepage
repositoryhttps://github.com/stijnzanders/genome
max_upload_size
id2050072
size30,732
Stijn Zanders (StijnZanders)

documentation

README

genome-cli

CLI tool to analyze dbt manifest.json files. Get insights into your dbt project structure, find bottlenecks, and understand dependency chains.

Installation

cargo install genome-cli

Usage

# Analyze a dbt manifest
genome sequence --manifest path/to/manifest.json

# Or use the default (manifest.json in current directory)
genome sequence

# Output as JSON for scripting
genome sequence --manifest manifest.json --json

What it shows

Manifest Statistics

  • Total nodes and sources
  • Breakdown by resource type (models, tests, seeds, snapshots, etc.)

Dependency Chain Analysis

  • Longest sequence depth
  • Average depth across all nodes
  • Root nodes (no dependencies) and leaf nodes (nothing depends on them)

Critical Path

The longest chain of models from root to the deepest node, showing each model and its SQL line count.

Bottleneck Chains

Identifies tightly-coupled sequences of models that form bottlenecks:

  • Shows upstream and downstream impact (model count + lines of code)
  • Sorted by impact score (upstream × downstream)
  • Only shows chains with both upstream AND downstream dependencies

Example Output

MANIFEST STATISTICS
===================
Total nodes:        500
Sources:            120

BY RESOURCE TYPE
----------------
  test               280
  model              180
  seed                20
  snapshot            20

DEPENDENCY CHAIN
----------------
  Longest sequence:  15 layers
  Average depth:     8.2 layers
  Root nodes:        12 (no dependencies)
  Leaf nodes:        320 (nothing depends on them)

CRITICAL PATH
-------------
  15 models, 1.2K total lines

  |-> stg_users (25 lines)
  |-> int_user_sessions (80 lines)
  ...
  `-> fct_daily_revenue (150 lines)

BOTTLENECK CHAINS
-----------------
  #1: 4 models, 295 lines
      35 upstream (2.1K lines) -> 80 downstream (8.5K lines)
      int_orders_enriched -> int_order_items -> fct_orders -> ...

Options

  • -m, --manifest <PATH> - Path to the manifest.json file (default: manifest.json)
  • --json - Output as JSON for machine processing
Commit count: 0

cargo fmt