# NABI NOTE > Zero-dependency, wing-based WYSIWYG editor for modern browsers. Package name: `nabi-note`. Use this file as a router. Read only the document that owns your question. ## Start here - Package architecture, entry points, and hard boundaries: `llms/overview.md` - npm setup and complete browser assembly: `llms/quickstart-npm.md` - CDN setup with the browser bundle: `llms/quickstart-cdn.md` - Public export and type index: `llms/api-reference.md` ## Contracts by topic - NABI TREE, positions, normalization, loading, change events: `llms/document-model.md` - Paste, files, Markdown, URLs, HTML trust boundary, uploads: `llms/io-security.md` - Built-in wing catalog and picker behavior: `llms/wings.md` - Custom wing contract and registry validation: `llms/custom-wing.md` - Server rendering, toolbar pre-rendering, hydration: `llms/ssr.md` - Published-page viewer and document diff: `llms/viewer-diff.md` - CSS delivery, theme tokens, host markup, drop caps: `llms/styling.md` ## Fast decisions - Use `nabi-note` for editor assembly and browser UI. - Use `nabi-note/ssr` in a DOM-free server process. - Use `nabi-note/viewer` for optional behavior on published HTML. - Use `nabi-note/diff` for comparing two stored documents. - Load `nabi-note/nabi.css` on editor and published pages unless all required sheets are injected. - Store `nabi.getJson()` or `nabi.getHtml()`. Never store `getEditorHtml()`. - Treat HTML, JSON, paste data, command args, and custom filter output as untrusted input. - Use `NabiOptions.onError` for isolated command and callback failure reporting. - Configure bounded undo with `undoLimit`; set `typingMergeMs` to 0 to disable typing coalescing. - In a wing `attach()`, call `host.onDispose()` immediately after each direct side effect that must roll back if later setup throws. ## Package facts - Release contract documented here: 1.0.0. - Runtime dependencies: zero. - Node.js for package tooling and SSR: 20 or newer. - Declared browser baseline: Chrome and Edge 120, Firefox 120, Safari 17. - Public subpaths: `.`, `./ssr`, `./viewer`, `./diff`, `./nabi.css`, `./package.json`.