Coming from Cursor
The editor's working grammar is suggest, review, accept: completions land as ghost text, rewrites land with a verdict, and nothing the AI proposes applies without someone on the team saying so. If you write code in Cursor or Claude Code, your hands already know all of it. The difference is the training: every suggestion runs through your engine, so it sounds like your brand, not like a model.
The map, concept by concept:
| In an AI-native code editor | In Reactor |
|---|---|
| Tab completions | Voice Tab: ghost text in your brand voice |
| ⌘K inline edit | ⌘K selection edits, plus ⌥↵ to ask about a selection |
| The agent pane (⌘L) | The assistant, page-aware on every screen |
| @-mentions | @ in chat attaches pieces, docs, competitors, and campaigns by meaning |
| Linter squiggles | Guard squiggles: live slop lint with one-click repair |
| Rules | The engine: voice, positioning, audiences, writing rules, with weights |
| "Remember this" | remember: in chat mints a standing rule |
| Plan mode | The campaign canvas: one prompt becomes a board of briefed pieces the team works over |
| Codebase indexing | The semantic library index behind search, the Related rail, and anti-repetition |
| Checkpoints | Versions, with restores you can undo |
| Headless CLI | The MCP server inside your repo |
Tab, in your voice
Pause typing and the editor offers a ghost-text continuation drawn from your verbal identity, lexicon, channel tone, and similar passages from your own library. Tab accepts, Esc dismisses. Every suggestion passes the Guard's deterministic lint before it renders: a completion that would introduce a banned phrase or construction is dropped, not repaired. You get on-voice text or nothing. See Voice Tab.
⌘K on a selection, squiggles while you type
Select prose and press ⌘K to rewrite exactly that selection, or ⌥↵ to ask a question about it without touching the document. Meanwhile the Guard's lint runs live: amber underlines on slop as you type, each with the rule that fired and a one-click fix. Your engine outranks the Guard: a word your voice loves is never flagged. See the editor and the Anti-Slop Guard.
Review everything, restore anything
The assistant never writes into your draft directly. Revisions arrive as inline diffs you accept or discard, engine changes as proposals, calendar slots as cards: the same review-before-apply contract everywhere. Behind it, every piece keeps version history with restores, and restores are themselves recorded, so nothing is ever one keystroke from lost. See versions.
A library that remembers
Everything you make is semantically indexed as it's created. That one index powers search by meaning (in chat, @ finds pieces after three characters), the editor's Related rail (similar past pieces with their performance), and true anti-repetition: the Guard can tell you "you basically wrote this in March", which keyword matching never could.
Rules, memory, and plan mode
Rules files are Reactor's engine: voice, positioning, audiences, and writing rules, weighted by importance and versioned. Teaching it is one message: say remember: never call it a platform in chat, review the rule proposal, and it becomes a standing Guard rule. And when the work is bigger than one piece, the campaign canvas is plan mode for content: pick a direction or type a prompt, and a board of briefed, dated pieces assembles for the team to work over.
Headless, in your repo
The whole engine is reachable without the UI. Connect the MCP server from Claude Code or Cursor itself and run the copy in your codebase through the same voice, rules, and Guard: review it, revise it, and write the engine's output back into your files.