Manage your Opensource projects!
mo keeps your GitHub repos organized under a single root directory.
vp i -g @liangmi/mo- macOS or Linux
git- GitHub CLI
ghauthenticated (gh auth status)
Run once to initialize config and shell integration:
mo setupTip
If you are an agent user, we provide global-projects skill.
Install it with:
skills add liangimQwQ/mo -gIt is not completely a mo's usage skill, it is mainly about project organization standard, including how to get access the right project or how to place a cloned project correctly.
| Command | Alias | Description |
|---|---|---|
mo setup |
Initialize config and shell integration | |
mo clone <repo> |
mo c |
Clone <owner>/<repo> or a GitHub repo URL |
mo composition <main> <subs> <repo> |
Run clone/fork, then cd/edit/open |
|
mo fork [repo] |
mo f |
Fork <owner>/<repo>, a GitHub URL, or cwd |
mo list |
mo ls |
List all managed repos |
mo cd [query] |
Jump to root, owner, or repo directory | |
mo edit [query] |
mo e |
Open a directory in your editor |
mo open [query] |
mo o |
Open a directory in Finder/Explorer |
mo cd, mo edit, and mo open has the similar behavior and they open an interactive selector when called without arguments.
Tip
If you are using mo with VS Code based editors, you can add this line to your editor config to prevent mo edit popping up a new separated window.
"window.openFoldersInNewWindow": "off"Setting code -r as your editor in mo setup have the same effect as well.
The config file should be generated by running mo setup. Modifying ~/.config/morc.json manually is not recommended.
Please follow the config_schema.json if you are developing mo.
~/.config/morc.json:
{
"$schema": "https://raw.githubusercontent.com/liangmiQwQ/mo/main/config_schema.json",
"root": "~/code",
"shells": ["zsh"],
"editor": "code",
"alias": {
"clone": ["k"],
"cd": ["i"],
"edit": ["e"]
},
"compositionAlias": true
}We are so excited that you are willing to help improving mo! Please see ROADMAP.md for what's planned.
Vite+ provides powerful developing tools for the cli development, including linting, formatting and bundling.
Vue TUI provides an excellent Tui framework based on Vue.js. It helps build the selector part inside mo cd, mo edit and mo open commands.
MIT © Liang Mi