Manage isolated Python & Node.js runtimes. Download and execute scripts without polluting your system environment.
npm install -g adjust
# Install runtime (downloads on first use)
adjust install python
adjust install node
# Run a script
adjust run script.py
adjust run app.js
# Check status
adjust list- Runtime Download - Downloads Python 3.11 or Node 20 (platform-specific binaries) via native fetch API
- Smart Dependency Caching - Fingerprint-based caching prevents redundant
pip install/npm installoperations - Isolated Execution - Spawns child processes with isolated runtimes, streams output to terminal
- Cross-Platform Support - Windows/Linux/macOS with automatic platform detection and bin folder recursive search
- Robust Error Handling - Comprehensive error recovery with cleanup on failed extractions
server.js- CLI entry point (Commander.js) with install/run/list commandslib/config.js- Persistent config management in~/.adjust/config.jsonlib/downloader.js- Stream-based runtime download & extraction with progress trackinglib/runtimeHandler.js- Process spawning & execution with dependency installationlib/dependencyHandler.js- Unified dependency manager (pip/npm) with cross-platform support
- Native Fetch API - Replaced HTTP redirect handling with built-in Node.js fetch
- Smart Runtime Detection - Automatically determines language from file extension (.py/.js)
- Recursive Executable Search - Finds executables in nested bin directories
- Environment Isolation - Modifies PATH to use isolated runtimes without affecting system
- Progress Tracking - Visual progress bar for runtime downloads
- Dependency Verification - Checks for requirements.txt / package.json before installation
npm install
npm link # Make CLI available globally
npm run dev # Watch mode for developmentnpm run watch # Run test suite in watch mode- Fixed Node.js dependency handler (npm command path on Windows & Unix)
- Replaced custom network handler with native Node.js fetch
- Removed SHA256 logic, using fingerprint-based caching instead
- Added recursive bin folder search for nested executables
- Enhanced error handling with proper cleanup on extraction failures
- Improved logging and user feedback
| Runtime | Version | Support |
|---|---|---|
| Python | 3.11.7 | Windows, Linux, macOS |
| Node.js | 20.11.0 | Windows, Linux, macOS |
- Windows - Uses
.exebinaries and.ziparchives - Linux - Uses
.tar.xzarchives - macOS - Uses
.tgzarchives
