Skip to main content
Documentation

Dependency Commands

Track and analyze dependencies in NLE project files. Dits parses Premiere Pro, DaVinci Resolve, After Effects, and Final Cut Pro projects to identify linked media files and catch missing assets.

CommandDescriptionUsage
dep-checkCheck dependencies for project filesdits dep-check [OPTIONS] [PATH]
dep-graphShow dependency graphdits dep-graph [OPTIONS] [FILE]
dep-listList all project filesdits dep-list [OPTIONS]

dits dep-check

Check that all dependencies for project files are present and tracked. Identifies missing media, untracked files, and broken links.

Synopsis

dits dep-check [OPTIONS] [PATH]

Options

--strict            Fail on any untracked dependency
--fix               Suggest fixes for issues
--json              Output as JSON
-v, --verbose       Show all dependencies, not just issues

Examples

# Check all project files
$ dits dep-check

Checking dependencies...

  Project: project.prproj (Premiere Pro)
  ─────────────────────────────────────

  Linked Assets: 45
    ✓ footage/scene01.mov
    ✓ footage/scene02.mov
    ✓ footage/scene03.mov
    ✗ footage/missing-file.mov (NOT FOUND)
    ⚠ audio/music.wav (untracked)
    ⚠ graphics/logo.png (untracked)
    ...

  Status:
    Tracked: 42
    Missing: 1
    Untracked: 2

  Issues:
    1. footage/missing-file.mov - File not found on disk
    2. audio/music.wav - File exists but not tracked
    3. graphics/logo.png - File exists but not tracked

  Run 'dits add audio/music.wav graphics/logo.png' to track untracked files.

# Check specific project
$ dits dep-check project.prproj

# Verbose output (show all dependencies)
$ dits dep-check -v

Dependencies for project.prproj:
  footage/scene01.mov           tracked  2.3 GB
  footage/scene02.mov           tracked  1.8 GB
  footage/scene03.mov           tracked  2.1 GB
  audio/music.wav               untracked  45 MB
  ...

# Strict mode (CI/CD)
$ dits dep-check --strict
Error: 2 untracked dependencies found
Exit code: 1

dits dep-graph

Visualize the dependency graph for project files. Shows which media files are used by which projects and identifies shared assets.

Synopsis

dits dep-graph [OPTIONS] [FILE]

Options

--format <FMT>      Output format (tree, dot, json)
--depth <N>         Maximum depth to display
--reverse           Show reverse dependencies (what uses this file)
--shared            Highlight shared dependencies

Examples

# Show dependency tree for project
$ dits dep-graph project.prproj

project.prproj
├── footage/
│   ├── scene01.mov (2.3 GB)
│   ├── scene02.mov (1.8 GB)
│   └── scene03.mov (2.1 GB)
├── audio/
│   ├── music.wav (45 MB)
│   └── sfx/
│       ├── whoosh.wav (2 MB)
│       └── impact.wav (1 MB)
└── graphics/
    └── logo.png (500 KB)

Total: 8 files (6.25 GB)

# Reverse dependencies (what uses this file?)
$ dits dep-graph --reverse footage/scene01.mov

footage/scene01.mov is used by:
├── project.prproj (Premiere Pro)
│   └── Sequence: "Main Edit" at 00:00:00
├── color-grade.drp (DaVinci Resolve)
│   └── Timeline at 00:00:00
└── vfx-comp.aep (After Effects)
    └── Composition: "Scene 1 VFX" as layer 1

# Export as DOT for visualization
$ dits dep-graph --format dot project.prproj > deps.dot
$ dot -Tpng deps.dot > deps.png

# Show shared dependencies
$ dits dep-graph --shared

Shared Assets (used by multiple projects):
  footage/scene01.mov
    ├── project.prproj
    ├── color-grade.drp
    └── vfx-comp.aep

  audio/music.wav
    ├── project.prproj
    └── trailer.prproj

dits dep-list

List all recognized project files in the repository. Shows which NLE applications created them and their last modified date.

Synopsis

dits dep-list [OPTIONS]

Options

--type <TYPE>       Filter by application (premiere, resolve, ae, fcpx)
--format <FMT>      Output format (table, json)
--with-deps         Include dependency count

Examples

# List all project files
$ dits dep-list

Project Files (5):

  File                      Application         Version   Modified
  ────────────────────────────────────────────────────────────────────
  project.prproj            Premiere Pro        24.0      2025-01-15
  color-grade.drp           DaVinci Resolve     18.5      2025-01-14
  vfx-comp.aep              After Effects       24.0      2025-01-13
  trailer.prproj            Premiere Pro        24.0      2025-01-12
  archive/old-edit.prproj   Premiere Pro        23.0      2024-12-01

# List with dependency counts
$ dits dep-list --with-deps

  File                      Application       Dependencies  Size
  ─────────────────────────────────────────────────────────────────
  project.prproj            Premiere Pro      45            125 GB
  color-grade.drp           DaVinci Resolve   12            45 GB
  vfx-comp.aep              After Effects     8             23 GB
  ...

# Filter by application
$ dits dep-list --type premiere

Premiere Pro Projects (2):
  project.prproj            24.0    2025-01-15
  trailer.prproj            24.0    2025-01-12

Supported Project Formats

ApplicationExtensionParsing Support
Adobe Premiere Pro.prprojFull (linked media, sequences, effects)
DaVinci Resolve.drpFull (media pool, timelines, grades)
After Effects.aepFull (footage, compositions, layers)
Final Cut Pro.fcpbundleFull (events, projects, media)
Avid Media Composer.avpBasic (linked media references)

Workflow Integration

# Pre-commit hook: Ensure all dependencies are tracked
# .dits/hooks/pre-commit

#!/bin/bash
dits dep-check --strict
if [ $? -ne 0 ]; then
    echo "Error: Untracked dependencies found."
    echo "Run 'dits add <files>' to track them before committing."
    exit 1
fi

# CI check: Verify project completeness
$ dits dep-check --strict --json | jq '.issues | length'
0  # No issues = ready to merge

Related Commands