pm
pm copied to clipboard
The easy way to switch between your projects on ZSH
pm
The easy way to switch to your projects on Shell. Add your projects to pm and switch between them with a command.
Installation
To install the program, download the installer and execute it.
cd ~
wget https://raw.githubusercontent.com/Angelmmiguel/pm/master/install.sh
chmod 755 ./install.sh
If you want to install last stable version, only run downloaded script:
. ./install.sh
If you want to install latest development version, run the installer with --prerelease option:
./install.sh --prerelease
Type your shell when the installer ask to you:
What is your shell? [ zsh, bash ]:
Update PM
To update PM, run same process than installation and say yes when PM ask you to update.
Shells
Available shells are:
- ZSH
- Bash (Prerelease, you need to run installer with
--prereleaseoption)
Usage
Move to your awesome project and add it to pm:
cd projects/awesome-project
pm add awesome-project
Try to add another. Next, list stored projects:
pm list
# awesome-project
# another-project
To switch into a project, use pm go:
pm go awesome-project
# Current project: awesome-project
If a project is not longer available, remove it:
pm remove another-project
pm list
# awesome-project
Config
Global
PM allow some config values. To add, edit or remove a config parameter:
pm config <add|get|remove> <parameter> (value)
Available config parameters:
after-all: execute this command after switch to a project withpm go.git-info: show a resume of Git whengoto a project.
For example, you can open Sublime Text on a project when go to it:
pm config add after-all "sublime ."
Projects
With PM you can add configuration to projects. To add, edit or remove a config parameter of a project:
pm config-project <project> <add|get|remove> <parameter> (value)
Available config parameters:
after: execute this command after switch to the project withpm go.git-info: show a resume of Git status.
For example, you can start Gulp in a project when go to it:
pm config-project myproject add after "gulp"
Zsh auto-complete
If you use oh-my-zsh, you can use add pm to your plugins
array in your ~/.zshrc:
plugins=(pm)
If you don't use this configuration framework, you can put the _pm file
in a folder in your $fpath array.
The folder /usr/local/share/zsh/site-functions/ is a good place for that.
Example

Contribute
To contribute pm:
- Create an issue with the contribution: bug, enhancement..
- Fork the project and edit it
- Create a pull request when you finish
License
PM is released under the MIT license. Copyright @Laux_es ;)