Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Scanning Projects

Basic scan

ghostdep

Scans the current directory. ghostdep walks the file tree, finds manifest files, and scans source files for imports.

Scan a specific directory

ghostdep -p /path/to/project

What gets scanned

ghostdep uses the ignore crate for file walking, which respects .gitignore rules. It also skips:

  • node_modules/
  • vendor/
  • target/ (Rust build output)
  • build/
  • dist/
  • __pycache__/
  • .git/
  • Binary files

Restrict to a language

ghostdep -l python

Only scans Python files and Python manifests.

Specify a manifest

ghostdep -m path/to/package.json

Useful when your manifest isn’t in the project root.

Exclude paths

ghostdep --exclude-path "generated/**" --exclude-path "scripts/**"

Ignore specific dependencies

ghostdep -i "internal-*" -i "my-shared-lib"

Glob patterns. Matched deps won’t appear in findings.

Include/exclude dev dependencies

Dev dependencies are included by default. To exclude them:

ghostdep --dev

Parallel scanning

ghostdep scans files in parallel using Rayon. By default it uses all available CPU cores. To limit:

ghostdep --threads 4

Verbose mode

ghostdep -v

Prints progress info to stderr: number of project scopes detected, files scanned, errors skipped.

Quiet mode

ghostdep -q

Suppresses all output. Only the exit code tells you the result. Useful in CI when you just want pass/fail.