Editors
WorkFlow opens a workspace in an editor or IDE inline — it discovers the editors installed on this machine and launches one for you. There's no editor command to configure up front: wf edit probes for what you have, shows a picker, and remembers your choice per repo.
wf edit # open the current directory in an editor (picker)
wf edit feature-x # open the feature-x workspace insteadGUI apps (VS Code, the JetBrains IDEs, Zed, …) launch detached so your shell returns immediately; terminal editors (Vim, Neovim, Helix, …) run attached so they take over the terminal.
The picker
With no default set, wf edit opens a picker listing every editor detected on this machine — move with the arrow keys, launch with Enter:
| Key | Action |
|---|---|
| ↑ / k, ↓ / j | Move the cursor |
| Enter | Launch the highlighted editor |
| d | Pin it as the default for this repo |
| a | Pin it as the default and enable autolaunch |
| Esc / q | Cancel |
The current default is moved to the top of the list, pre-selected, and marked with a ★, so a quick Enter always launches it.
The per-project default
Press d in the picker to pin the highlighted editor as the default for the current repo. WorkFlow records it as default_ide in that repo's .workFlow.yaml:
# .workFlow.yaml
default_ide: golandFrom then on the default is listed first and pre-selected, so opening it is one keystroke. Each repo can prefer its own IDE. You can also set it by hand — use wf edit --list to find the id.
When the directory you're opening doesn't belong to a registered project, WorkFlow falls back to a global default instead (default_ide in the global config); pressing d there pins the global default.
Autolaunch
Pin a default and skip the picker with autolaunch. Press a in the picker (or set it by hand), and wf edit opens that editor straight away:
# .workFlow.yaml
default_ide: goland
autolaunch: trueNeed the picker anyway — say, to open a one-off in a different editor? Force it with --pick:
wf edit --pick # always show the picker, even with autolaunch onPressing a on an editor that's already the autolaunching default toggles autolaunch back off.
Custom editors
WorkFlow ships a catalog of well-known editors (VS Code, VSCodium, Cursor, Zed, Sublime Text, the JetBrains IDEs, Neovim, Vim, Emacs, Helix, Nano, and more). To launch one it doesn't know about, add it under ides: in the global config:
# ~/.config/workFlow/config.yaml
ides:
- id: lapce
name: Lapce
cmd: lapce # the target directory is appended to this command
gui: true # windowed app → launch detached (omit for a terminal editor)A custom entry whose id matches a built-in one overrides it. Custom editors appear in the picker and wf edit --list alongside the detected ones.
Listing detected editors
To see what WorkFlow found on this machine — and the ids you'd use for default_ide or a config — pass --list:
wf edit --listID NAME KIND
code VS Code gui
goland GoLand gui
nvim Neovim terminalIn the dashboard
The dashboard wires the same model to two keys:
- e — edit: autolaunch the project default when one is set, otherwise open the picker.
- o — configure: always open the picker, so you can set the default or toggle autolaunch.
Both act on the selected workspace, or on the base checkout (at the project root) when the cursor is on a project's base row.
Relationship to wf open
wf open is about reaching a workspace: inside tmux it jumps to the workspace's window, and only outside tmux does it fall back to launching the resolved default editor (repo default → global default → first detected). Reach for wf edit whenever you specifically want an editor — or want to choose one.