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.
Why Track Dependencies?
NLE project files reference external media. When you commit a project, Dits ensures all referenced files are also tracked. This prevents "missing media" errors when someone else opens your project.
| Command | Description | Usage |
|---|---|---|
| dep-check | Check dependencies for project files | dits dep-check [OPTIONS] [PATH] |
| dep-graph | Show dependency graph | dits dep-graph [OPTIONS] [FILE] |
| dep-list | List all project files | dits 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 issuesExamples
# 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: 1dits 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 dependenciesExamples
# 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.prprojdits 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 countExamples
# 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-12Supported Project Formats
| Application | Extension | Parsing Support |
|---|---|---|
| Adobe Premiere Pro | .prproj | Full (linked media, sequences, effects) |
| DaVinci Resolve | .drp | Full (media pool, timelines, grades) |
| After Effects | .aep | Full (footage, compositions, layers) |
| Final Cut Pro | .fcpbundle | Full (events, projects, media) |
| Avid Media Composer | .avp | Basic (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 mergeAutomatic Tracking
When you run
dits add project.prproj, Dits automatically prompts you to add any untracked dependencies. Use dits add -Ato include all dependencies automatically.Related Commands
- File Commands - Add and track files
- Metadata Commands - File technical info
- Video Commands - Video inspection