How vtjvlad/dependra works
Dependra is a JavaScript project inspection and repair CLI. A user supplies a target file and options; CLI resolution builds an analysis context, the pipeline dispatches selected inspectors, optionally explains findings or proposes/applies reversible modifications, then formats a report. The inspector suite spans file facts, dependency/export analysis, validation, environment/runtime/command checks, visualization, metadata, and code quality. Evidence is strongest for the sampled orchestration and selected inspectors; several inspector implementations are unsampled, so their internal calls are not mapped.
Main entry points: index.js CLI entry · pipeline.js Analysis pipeline · inspectors Inspector suite · load-source-file.js JavaScript parsers
Components 22
CLI and setup
- CLI entry
src/cli/index.js - CLI resolution
src/cli/resolve-cli.js - Configuration
src/config/index.js - Analysis context
src/core/context.js - Analysis pipeline
src/core/pipeline.js
Inspection
- Inspector registry
src/core/registry.js - Inspector suite
src/inspectors - Import/export analysis
src/inspectors/import-export-analysis.js - Exported entities
src/inspectors/exported-entities.js - Project validation
src/inspectors/validation.js - Code quality
src/inspectors/code-quality-analysis.js - Project scanning
src/inspectors/scan-js-files.js - JavaScript parsers
src/parsers/load-source-file.js
AI explanation
- AI explanation
src/ai/explain.js - AI providers
src/ai/registry.js
Modifications
- Modification pass
src/modifications/index.js - Repair operations
src/modifications/ops - Backup and undo
src/modifications/backup.js
Reporting
- Report formatter
src/reporters/index.js
Other components
- Engineer
- Project files
- Terminal output
Connections 27
- Engineer → CLI entry: invokes
src/cli/index.js - CLI entry → CLI resolution: resolves options
src/cli/index.js - CLI resolution → Configuration: loads configuration
src/cli/resolve-cli.js - CLI entry → Analysis context: creates context
src/cli/index.js - CLI entry → Analysis pipeline: runs analysis
src/cli/index.js - CLI entry → Inspector registry: registers inspectors
- Analysis pipeline → Inspector registry: looks up inspectors
src/core/pipeline.js - Analysis pipeline → JavaScript parsers: loads target
src/core/pipeline.js - Inspector registry → Inspector suite: dispatches registered suite
src/inspectors/index.js - Inspector suite → Import/export analysis: includes analysis
src/inspectors/index.js - Inspector suite → Exported entities: includes analysis
src/inspectors/index.js - Inspector suite → Project validation: includes validation
src/inspectors/index.js - Inspector suite → Code quality: includes analysis
src/inspectors/index.js - Project validation → Import/export analysis: extracts imports
src/inspectors/validation.js - Project validation → Project scanning: scans project files
src/inspectors/validation.js - Import/export analysis → JavaScript parsers: parses source
src/inspectors/import-export-analysis.js - Exported entities → JavaScript parsers: parses source
src/inspectors/exported-entities.js - Code quality → JavaScript parsers: parses source
src/inspectors/code-quality-analysis.js - Analysis pipeline → AI explanation: requests explanation
src/core/pipeline.js - AI explanation → AI providers: selects provider
src/ai/explain.js - Analysis pipeline → Modification pass: runs requested repairs
src/core/pipeline.js - Modification pass → Repair operations: builds changes
src/modifications/index.js - Modification pass → Backup and undo: creates backups
src/modifications/index.js - Modification pass → Project files: applies changes
src/modifications/index.js - JavaScript parsers → Project files: reads source
- CLI entry → Report formatter: formats report
src/cli/index.js - Report formatter → Terminal output: renders output
src/reporters/index.js