switchdev
Instantly switch between development projects.
π Overview
switchdev is a small CLI for jumping into development projects and starting them quickly. It solves the repeated friction of remembering project paths, changing directories manually, and typing the same startup command every time.
The core idea is simple: take the usual cd + run workflow and automate it. Save a project once, then switch into it with a single command.
β‘ Features
- Add projects
- List projects
- Switch instantly
- Smart command detection
- Custom commands
- Dry run
- Verbose mode
π¦ Installation
From crates.io (recommended)
From source
π§ͺ Usage
Add project
List
Switch
βοΈ Custom Commands
You can also provide multiple --cmd flags when a project needs more than one startup step.
π Dry Run
This previews the final command without executing it.
π§ How It Works
When no custom command is configured, switchdev tries to detect the right startup command automatically.
- Node.js: reads
package.jsonIfscripts.devexists, it runsnpm run devOtherwise, it falls back tonpm start - Rust: if
Cargo.tomlexists, it runscargo run - Python: if
main.pyexists, it runspython main.pyIfapp.pyexists, it runspython app.py
If custom commands are saved for a project, those take priority over auto-detection.
π Config
Config is stored at:
~/.switchdev/config.json
Example:
π― Philosophy
The best tool is the one you donβt have to think about.
π£ Future Ideas
- TUI selector
- grouping
- recent projects