Open a project in your preferred editor
Opens a YPM-managed project in your preferred editor with smart filtering and selection.
/plugin marketplace add signalcompose/YPM/plugin install ypm@signalcompose-ypmOpen a YPM-managed project in specified editor.
Prerequisites:
/ypm:setup first if ~/.ypm/config.yml doesn't exist/ypm:update first if ~/.ypm/PROJECT_STATUS.md doesn't exist<project> [editor]: Open project with specified editorall: Select from all projects including ignoredignore-list: Show ignored projects listadd-ignore: Add project to ignore listremove-ignore: Remove from ignore list--editor [name]: View/set default editor/ypm:open # Normal mode (default editor)
/ypm:open myproject # Open myproject with default editor
/ypm:open myproject cursor # Open myproject with Cursor
/ypm:open myproject terminal # Open myproject in Terminal.app
/ypm:open all # Show all mode
/ypm:open --editor # Show current default editor
/ypm:open --editor cursor # Set default to Cursor
/ypm:open ignore-list # Show ignore list
/ypm:open add-ignore # Add to ignore
/ypm:open remove-ignore # Remove from ignore
Supported Editors: code (VS Code), cursor (Cursor), zed (Zed), terminal (Terminal.app)
Check arguments and branch to corresponding mode:
<project> [editor] -> Mode 1: Normal mode (direct project specification)all -> Mode 2: Show all modeignore-list -> Mode 3: Ignore listadd-ignore -> Mode 4: Add ignoreremove-ignore -> Mode 5: Remove ignore--editor [name] -> Mode 6: Editor settings# Read ~/.ypm/config.yml
# Get editor.default value (e.g., code, cursor, zed)
cursor, code, zed, etc.) specified, use that editorFor editors other than Terminal.app:
which <editor-name>
If result is empty:
Editor CLI not found.
Please install the CLI for your editor.
[VS Code (code)]
1. Open VS Code
2. Command Palette (Cmd+Shift+P)
3. Run "Shell Command: Install 'code' command in PATH"
[Cursor (cursor)]
1. Open Cursor
2. Command Palette (Cmd+Shift+P)
3. Run "Shell Command: Install 'cursor' command in PATH"
[Zed (zed)]
1. Open Zed
2. Command Palette (Cmd+Shift+P)
3. Run "zed: Install CLI"
Please run this command again after installation.
-> Abort process
For Terminal.app:
# Read ~/.ypm/PROJECT_STATUS.md with Read tool
# Read ~/.ypm/config.yml with Read tool
If ~/.ypm/PROJECT_STATUS.md doesn't exist:
~/.ypm/PROJECT_STATUS.md not found.
Please run /ypm:update first to scan projects.
-> Abort process
## Active Projects section)## In Development section)## Inactive section)Extraction rules:
### ProjectName lines- **Overview**: ...- **Implementation**: XX%- **Documentation**: [...]Exclude projects matching any of these conditions:
-main-developExclude projects in ~/.ypm/config.yml's monitor.ignore_in_open list.
## Available Projects (12 items)
### Active (updated within 1 week)
1. ProjectA - Description (95%)
2. ProjectB - Description (100%)
...
### In Development (updated within 1 month)
12. ProjectX - Description (0%)
...
* Hidden: 2 items (show all: /ypm:open all)
Enter number or project name:
Input patterns:
3)proj)Important: Launch editor with cleared environment variables.
env -u NODENV_VERSION -u NODENV_DIR -u RBENV_VERSION -u PYENV_VERSION <editor> /path/to/project
osascript -e 'tell application "Terminal" to do script "cd '"$PROJECT_PATH"' && exec $SHELL"'
Opened "ProjectName" in <Editor Name>.
Project path: /path/to/project
Editor: <Editor Display Name> (<editor>)
* Environment variables (NODENV_VERSION, etc.) were cleared.
Project-specific configuration files (.node-version, etc.) will be loaded correctly.
/ypm:open all)Same as Mode 1, but does not exclude ignore_in_open.
See specification document for details:
Git worktrees are automatically excluded in all modes.
all)When adding/removing ignore or changing editor settings, always save ~/.ypm/config.yml using Write tool.
Always display success/failure message after running this command.