The Manuscript by node

Rich text in the browser is harder than it looks. contenteditable behaves differently in every browser. Paste smuggles in tags you never asked for. A collaborator's edit arriving mid-keystroke yanks the cursor out from under whoever is typing, and the application sitting on top can't see enough to fix it.

ProseMirror is the framework that does the unglamorous work properly. Your code owns the document, not the browser. A schema decides what's legal. Transactions are first-class, which is why undo and real-time collaboration are tractable instead of impossible. The view writes to the DOM and you never write back.

The book is for the developer who has built a CRUD app and now needs a real editor inside it. Each chapter takes one piece of the framework, walks through it in working TypeScript that builds under esbuild and runs in any modern browser, and names the operational gotcha nobody warns you about until 3am. The worked examples are close enough to production that you could lift them.