https://github.com/alexis-moins/pm
Manage your projects the easy way 📦
https://github.com/alexis-moins/pm
bash cli gum projects tmux vscode
Last synced: about 1 year ago
JSON representation
Manage your projects the easy way 📦
- Host: GitHub
- URL: https://github.com/alexis-moins/pm
- Owner: alexis-moins
- License: mit
- Created: 2023-07-12T20:06:53.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-01-22T18:32:23.000Z (over 1 year ago)
- Last Synced: 2025-04-05T10:33:29.963Z (about 1 year ago)
- Topics: bash, cli, gum, projects, tmux, vscode
- Language: Shell
- Homepage:
- Size: 181 KB
- Stars: 8
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

`pm` is a bash script allowing users to rapidly list, create and navigate between your projects. It integrate with different backends (tmux, vscode) for convenience.
## Prerequisites
- bash 4.0 or higher
- [gum](https://github.com/charmbracelet/gum)
- tmux (optional)
- git
## 🧰 Installation
Clone the repository
```bash
git clone git@github.com:alexis-moins/pm.git ~/.pm
```
Go into the install directory and execute the [install](install.sh) script:
```bash
./install.sh
```
The install script copies the `pm` script in the `~/.local/bin` directory (you can also change the destination by passing it as an argument to the install script).
## 🌱 Quick Start
After installing, you can follow these steps to quickly see how it works:
```bash
# Add a new space
pm space add personal
# You can then create new projects in this space
pm new personal/react-app
# pm supports project creation using templates
pm new personal/react-app --template=vite
# But also creating your own one
pm template new python-poetry
# Opening a project is simple
pm open personal/react-app
# But using a different backend is also possible
pm open personal/react-app --backend=vscode
# You can even clone github repositories directly
pm clone git@github.com:alexis-moins/dot.git --space=work --name=dot
```
## 🚦 Usage
```
$ pm
pm - manage your projects the easy way
Usage:
pm COMMAND
pm [COMMAND] --help | -h
pm --version | -v
Project Commands:
new Create a new empty project
clone Clone a remote git repository
open Open a project
filter Filter projects
list List projects
Commands:
space Add, list and filter spaces
template Template related commands
backend Backend related commands
Options:
--help, -h
Show this help
--version, -v
Show version number
Environment Variables:
PM_HOME
Directory where the projects will be managed
Default: ~/dev
PM_BACKEND_SHOW_CMD
Command used to show backends
Default: cat
PM_TEMPLATE_SHOW_CMD
Command used to show templates
Default: cat
```