I find managing software projects challenging, especially when dealing with multiple projects at once because I love side projects. I often struggle to quickly switch between projects or locate them on my computer. Sometimes a project is so far away in terms of cd ..
that it really annoy me. This is precisely the problem "My Project Manager" (MPM) aims to solve.
This is the link to the repo:
GitHub
MPM is a command-line tool designed for developers who manage numerous projects. It simplifies organizing projects by letting users quickly add, categorize, list, and navigate between different project directories directly from the terminal. The entire user experience centers around efficiency, ease of use, and minimal interaction overhead.
What Exactly is MPM?
MPM stands for My Project Manager. It’s a CLI (Command-Line Interface) tool written in Go, which makes it portable, efficient, and easy to install across different platforms like Linux, macOS, and Windows. Its main goal is straightforward: help users manage project locations effortlessly. Its second goal is because I was getting bored that night.
When you have dozens of projects stored across different locations on your filesystem, remembering each path becomes cumbersome. With MPM, projects are registered once, and then users can navigate to these directories instantly by just typing a simple command.
Key Features
Adding Projects: Projects can be quickly added either manually, by specifying a name and path, or automatically using the current working directory.
mpm add -w -c your category
This adds the project in the current directory as path and folder name as name, but you can also choose name and path like so:
mpm add -n your_project_name -p /path/to/project -c project_category
Categorization: Projects can be grouped into categories for better organization. For example, you might have categories for work projects, personal projects, or open-source contributions.
Removing Projects: Easily remove any registered project without hassle.
mpm remove old_project_name
Quick Navigation
Users can navigate directly to a project's directory with a single command. This functionality significantly speeds up workflow.
mpm go my_project_name
Integration with a shell script wrapper means that MPM can change directories directly in your terminal environment.
Interactive Mode
This is my favorite
mpm i
MPM includes a sophisticated interactive mode, built using the Bubble Tea and Lipgloss libraries, which are specialized for creating beautiful terminal-based user interfaces.
This interactive mode allows browsing through projects visually in the terminal. Users can select a project to see more details or perform actions like opening it directly in an editor.
As you can see it integrates with popular code editors like VS Code, Sublime Text, Neovim, and even specialized editors like Zed or Cursor.
It can also directly open project directories in the native file explorer (Finder for macOS or default file manager on Linux).
I hope many people will find it useful