Comander is a Visual Studio Code extension that enhances the Node.js developer experience by providing an intuitive interface for discovering, managing, and executing npm scripts.
Features
- Automatic Script Discovery: Scans all package.json files in your workspace
- One-Click Execution: Execute npm scripts with a single button click
- Parameterized Execution: Add arguments to scripts with persistent parameter storage
- Custom Scripts: Create and manage custom scripts outside of package.json
- Bulk Execution: Execute multiple scripts in sequence with custom ordering
- Multi-Project Support: Works seamlessly with monorepos and multi-project workspaces
Requirements
- Visual Studio Code 1.85.0 or higher
- Node.js and npm installed on your system
Extension Settings
This extension contributes the following settings:
comander.scriptParameters: Saved parameters for scriptscomander.customScripts: Custom user-defined scriptscomander.bulkSequences: Saved bulk execution sequences
Keyboard Shortcuts
Ctrl+Shift+R(Mac:Cmd+Shift+R): Execute most recent script
Installation
From VSIX Package
- Download the
.vsixfile from releases - Open VS Code
- Go to Extensions view (
Ctrl+Shift+XorCmd+Shift+X) - Click the
...menu at the top of the Extensions view - Select "Install from VSIX..."
- Choose the downloaded
.vsixfile
From Source
# Clone the repository
git clone https://github.com/comander/comander-vscode.git
cd comander-vscode
# Install dependencies
npm install
# Package the extension
npx vsce package
# Install the generated .vsix file
code --install-extension comander-0.1.0.vsix
Development
Setup
npm install
Compile
npm run compile
Watch Mode
npm run watch
Run Tests
npm test
Lint
npm run lint
Packaging for Distribution
To create a .vsix package for distribution:
# Install vsce if not already installed
npm install -g @vscode/vsce
# Package the extension
npx vsce package
This will create a comander-0.1.0.vsix file that can be shared and installed.
Requirements for Packaging
- All TypeScript files must compile without errors
- LICENSE file must be present (MIT license included)
- README.md with features and installation instructions
- Valid repository field in package.json
License
MIT - See LICENSE file for details