DARTX
An Intelligent Development Environment Assistant for VS Code
Visit Official Website
About DARTX
DARTX is a professional-grade development environment assistant designed to enhance productivity by focusing on dependency management, environment validation, and setup acceleration. It helps developers and teams quickly identify, diagnose, and resolve dependency and environment issues, minimizing setup time and reducing "works on my machine" problems.
It acts as an intelligent layer on top of your existing tools, providing diagnostics and automated (but user-approved) fixes without replacing your package manager or container runtime.
Features
1. Smart Dependency Analysis
- Missing Dependency Detection: Identifies imported but uninstalled packages from terminal output and editor diagnostics.
- Unused Dependency Detection: Scans your project to find packages listed in manifests but not used in the code.
- Conflict Analysis: Detects package version conflicts, peer dependency issues, and transitive dependency problems.
2. Environment Validation
- Environment Doctor: Analyzes local
python, node, and virtual environment configurations against project requirements.
- Version Comparison: Clearly displays required vs. installed versions of runtimes and services.
- "Works-On-My-Machine" Analyzer: Generates a diagnostic report comparing the project's expected environment with the local machine's setup.
3. Automated Fixes & Setup
- Auto-Fix Engine: Provides one-click actions to install missing packages, update dependencies, and fix conflicts. All actions require explicit user confirmation.
- Project Setup Assistant: Generates a setup checklist based on project analysis, estimating setup time and showing environment readiness.
- Docker Recommendation Engine: When appropriate, suggests Docker-based solutions and can generate
Dockerfile and docker-compose.yml files to resolve environment inconsistencies.
4. Security
- Secure Command Execution: All generated commands are sanitized and validated against an allowlist to prevent command injection.
- Verified Package Installation: Before installation, packages are verified against official registries (PyPI, npm) to prevent typosquatting.
- Explicit User Approval: No actions are ever performed silently. Every installation, file generation, or command execution requires user confirmation.
Supported Technologies
- Languages: Python, Node.js
- Package Managers: pip, npm, yarn, pnpm
- Manifests:
requirements.txt, pyproject.toml, package.json
Quick Start
- Install DARTX from the VS Code Marketplace.
- Open a supported project (Python or Node.js).
- DARTX will activate and begin analyzing your environment in the background.
- When an issue is detected (e.g., a missing import), a notification will appear with actionable suggestions like "Install" or "View Details".
- Use the DARTX icon in the Activity Bar to access the Health Dashboard, issue panels, and activity logs.
Configuration
DARTX is designed to work with minimal configuration. Key settings can be adjusted in VS Code (File > Preferences > Settings and search for "DARTX"):
{
// Controls the verbosity of notifications.
"dartx.notifications": "detailed",
// Re-scan for issues when a relevant file is saved.
"dartx.scanOnSave": true,
// Verify a package exists in its official registry before attempting to install.
"dartx.verifyPackagesBeforeInstall": true,
// Enable the dependency health check dashboard.
"dartx.healthCheck": true
}
How It Works
Architecture
- Terminal Monitoring - Listens to terminal output for error patterns
- Language Detection - Identifies project type (Python/Node.js)
- Error Analysis - Uses regex patterns to detect dependency issues
- Package Extraction - Extracts package name from error message
- Command Generation - Generates appropriate install commands
- UI Display - Shows issues in a beautiful webview panel
- Safe Installation - Executes commands with safety validation
Error Detection Flow
Terminal Output
↓
[Terminal Monitor]
↓
[Error Analyzer] → Pattern Matching
↓
[Language Detector] → Language Detection
↓
[Dependency Parser] → Check if package exists
↓
[Issue Created] → Confidence Scoring
↓
[Webview Display] → Show UI Panel
↓
[Command Generator] → Generate install command
↓
[User Action] → Install or Copy Command
Type System
The extension uses strict TypeScript typing for reliability:
// Core types (see types/types.ts)
- SupportedLanguage enum (Python, NodeJS)
- IssueType enum (Missing, Conflict, Environment, NonDependency)
- DependencyIssue interface
- InstallCommand interface
- AnalysisResult interface
Safety
The extension implements multiple safety layers:
- Pattern Matching Only - Will not execute unknown or unverified commands.
- Command Validation - Strictly checks for code injection attempts.
- Confidence Scoring - Actions are only suggested on high-confidence detections.
- User Approval - Requires explicit authorization before altering the environment.
- Terminal Execution - Runs commands visibly in the integrated terminal for full transparency.
Corruption Prevention
DARTX is built securely to guarantee your code and computer stay safe:
- Zero Dependencies Download: The extension is bundled completely into one file (
esbuild), meaning it won't get corrupted by partial downloads or missing node_modules during installation.
- Registry Verification:
PackageValidator ensures DARTX will only run an install command if the dependency genuinely exists on the official PyPI or NPM registries.
- Environment Snapshots: Built-in environment snapshots (
dartx.exportEnvironment) automatically back up your state. If an installation breaks your workspace, DARTX can immediately rollback without leaving corrupt packages behind.
- No Arbitrary Code Execution: No external ML models or black-box servers. DARTX relies strictly on localized Regex pattern-matching.
Limitations
- Requires terminal output to contain error message (doesn't intercept VS Code's run output yet)
- Supports Python and Node.js (other languages in roadmap)
- Confidence scoring based on pattern matching (not AST analysis)
- Limited to common error patterns
Troubleshooting
Extension not detecting errors?
- Make sure error is printed to terminal
- Check that error message matches known patterns
- Open Command Palette and run "Smart Dependency Assistant: Check Terminal"
- Enable debug logs:
"smartDependencyAssistant.debug": true
Installation not working?
- Verify package name is correct
- Check you have internet connection
- Try copying command and running manually
- Check pip/npm installation locally
Panel not showing?
- Click on "Smart Dependency Panel" in the Activity Bar
- Press
Ctrl+Shift+P and search "Smart Dependency Assistant"
- Reload VS Code window (F1 → Developer: Reload Window)
Contributing
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests:
npm test
- Submit a pull request
Adding Support for New Languages
- Add language to
SupportedLanguage enum in types/types.ts
- Add error patterns to
errorAnalyzer.ts
- Add install command logic to
installCommandGenerator.ts
- Update documentation
- Memory: ~15-20MB base + dependencies
- CPU: Minimal impact (only analyzes terminal output when changed)
- Startup: <1 second extension activation
License
MIT © 2024 Suravi R
Support
DARTX: Professional Dependency Management.
Maintained by Suravi R