stablyai / stablyai/orca

[Feature]: Configurable editor keybinding presets (Vim, Emacs, …) for the built-in Monaco editor

Open
#9,699 5 comments 7 reactions 1 assignee Claimed by @brennanb2025 View on GitHub
enhancement
Dominant language
TypeScript
Stars
72.1k
Forks
4.7k
Avg merge
14h 54m
Merged PRs (30d)
520

Description

**Problem**

When orchestrating a fleet of agents, I still frequently need to make quick manual edits in Orca's built-in editor. Since the editor isn't modal (no Vim mode), it breaks muscle memory and slows down these quick edits.

**Why extensions don't solve this**

Orca embeds the **Monaco editor** (the editor component), not a full VS Code fork, so VS Code extensions like `VSCodeVim` can't be installed. The right approach for Monaco is integrating dedicated keybinding libraries directly.

**Proposal**

Add an **"Editor keybindings" preset** setting (next to the existing font / minimap options), defaulting to **Default (none)**:

- **Vim** — via [`monaco-vim`](https://github.com/brijeshb42/monaco-vim) (mature, includes a status bar for mode display)
- **Emacs** — via [`monaco-emacs`](https://github.com/aioutecism/monaco-emacs)
- Framed as an extensible preset list so other modes (e.g. nano) can be community-contributed later.

**Scope / compatibility**

- Off by default → zero impact on existing users.
- Per-editor-instance lifecycle handled (dispose on unmount, since worktrees spawn multiple editors).
- Ensure interop with autosave (e.g. `:w` shouldn't conflict).

**Offer**

Happy to work on the PR (starting with Vim) if the maintainers are open to this direction. Wanted to align on approach and settings placement first.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.