ProjectMan🦸




npm npm bundle size

ProjectMan is a CLI which lets you add projects to favorites using command pm add and open them from anywhere you want using command pm open.

Along with this there are also other commands like pm seteditor, pm remove, cd $(pm getpath) mentioned in documentation below.


<img width=800 alt="ProjectMan gif explaining how it works" src="https://res.cloudinary.com/saurabhdaware/image/upload/v1570355298/npm/projectman/terminal.gif">


# Installation

## Using NPM

If you have NodeJS installed in your machine

npm install -g projectman

OR

## Download Binaries

Download button for windows Download button for Linux Download button for MACOS


# Commands

pm is an alias of projectman so you can use pm <command> or projectman <command>

## Open Project

Usage :

pm open [projectName]

[projectName] is an optional parameter.

Alias: pm o, pm

v1.3.0 onwards, after typing pm open you can start typing letters and it will autocomplete the project name.

## Add project

cd /till/the/project
pm add

## Add URL

Added in v1.3.0.

pm add --url

This command can be used to save your repositories/websites/any other important links. These links will show up in normal pm open with (URL) appended to their name.

## Set Editor

pm seteditor

Sets default editor to open projects from.

Flag: --for-project

pm seteditor --for-project

Sets different editor for a specific project. E.g You can use VSCode for other projects and Atom for CoolProject1

If your TextEditor/IDE is not listed, You can select option Other from the list and give your editorCommand. Read editorCommand ref for more information.

## cd to a project without opening.

cd $(pm getpath [projectName])

[projectName] is an optional parameter. Alias : cd $(pm gp) (Note: This does not work in Windows cmd, You can use it in Windows Powershell)

## Remove Project

pm remove

Removes project from favorites.

## Remove editor

pm rmeditor

Shows list of project and removes the project specific editor from the project.

pm rmeditor --all

removes all project specific editors.


Settings.json

If you want to sort projects/change name of project/change path, You can type pm edit to open settings.json

Example settings:

{
    "commandToOpen": "code",
    "projects": [
        {
            "name": "Project1",
            "path": "path/to/project1"
        },
        {
            "name": "Project2",
            "path": "path/to/project2",
            "editor": "atom"
        },
        {
            "name": "Project3",
            "path": "path/to/project3"
        }
    ]
}

This will show three projects in pm open and project2 will be opened in Atom and other projects will be opened in Visual Studio Code

Settings Ref:

> commandToOpen :

Editor ‘commandToOpen’ value
VSCode code
Atom atom
Sublime subl
Vim vim
WebStorm wstorm

> projects. name :

> projects. path :

> projects. editor :


ChangeLogs

v1.3.2 [LATEST RELEASE]


Rust Port

@hskang9 has made a pretty cool rust port for projectman. You can check it out at: https://github.com/hskang9/projectman-rust


Contributing to ProjectMan

contributions welcome to projectman

I would be extremely happy to have people contribute to ProjectMan. You can read Contribution guidelines in CONTRIBUTING.md


Thank you for showing Interest! Do contribute and star ProjectMan🦸 on GitHub