A shell tool to quickly switch between and manage your project directories with custom commands.
pm is a command-line tool that helps developers quickly switch between project directories in their shell. It solves the problem of manually navigating complex directory structures by allowing users to register projects and jump to them with a simple command, saving time and reducing friction in daily workflows.
Developers and system administrators who work with multiple projects in ZSH or Bash shells and want to optimize their terminal navigation.
pm offers a straightforward, scriptable way to manage project directories with support for custom post-switch commands and Git integration, making it a lightweight alternative to more complex project management tools.
The easy way to switch between your projects on ZSH
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables instant navigation to registered projects with commands like `pm go awesome-project`, reducing manual cd traversal as demonstrated in the usage examples.
Supports global and per-project commands, such as opening an editor with `pm config add after-all 'sublime .'` or starting build tools, enhancing workflow automation.
Allows display of Git status summaries when entering projects via the `git-info` config parameter, adding context without extra commands.
Integrates seamlessly with oh-my-zsh by adding 'pm' to plugins, providing efficient command completion as outlined in the README.
Requires downloading and executing a shell script via wget, which is less secure and standardized than package manager installations, potentially causing setup issues.
Bash compatibility is only available in prerelease versions, as noted in the README, making it unreliable for users who rely on stable Bash environments.
Offers only a few config parameters like `after-all` and `git-info`, which may not cover advanced needs such as environment variable management or complex scripting.