Skip to content

alexis-moins/pm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Version

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
  • tmux (optional)
  • git

🧰 Installation

Clone the repository

git clone [email protected]:alexis-moins/pm.git ~/.pm

Go into the install directory and execute the install script:

./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:

# 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 [email protected]: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