Slice · AI prompt
Pure Notion-clone primitives in 3 variants — page editor · 11-view database · tree sidebar — with React/Next default plus native SvelteKit.
# Install `notion-ui` — Notion UI — page editor · database · sidebar primitives
> Pure Notion-clone primitives in 3 variants — page editor · 11-view database · tree sidebar — with React/Next default plus native SvelteKit.
📚 Knowledge base : https://resource.rahmanef.com/llms.txt
📦 Slice detail : https://resource.rahmanef.com/slices/notion-ui
🧠 JSON catalog : https://resource.rahmanef.com/api/knowledge?slice=notion-ui
🔗 Source : https://github.com/rahmanef63/resource-site/tree/main/frontend/slices/notion-ui
## 1. Install
```bash
npx rahman-resources add notion-ui
# alias: npx rr add notion-ui
```
The CLI copies `frontend/slices/notion-ui/` into your project + augments `.env.example` + installs npm deps automatically. Run it from your project root.
## 2. What it ships
- npm: `@dnd-kit/core`, `@dnd-kit/sortable`, `@dnd-kit/utilities`, `katex`, `highlight.js`, `recharts`, `lucide-react`
- shadcn primitives: `button`, `checkbox`, `dialog`, `dropdown-menu`, `input`, `popover`, `select`, `separator`, `sheet`, `switch`, `toggle-group`, `tooltip`
## 3. Wire it up
React/default: `npx rr add notion-ui <page|database|sidebar>`; append `--framework sveltekit` for native Svelte 5. Omit the variant to install all three. Both frameworks share the same Block/Page/Property/Database domain model and pure database/tree engines; data stays host-owned through callbacks. Svelte database renders table, board, list, gallery, calendar, feed, chart, dashboard, form, map and timeline without React/dnd-kit/Recharts/Lucide/shadcn runtime.
## Rules of engagement
- shadcn-only UI primitives. No raw `<button>` / `<dialog>` / native date or file inputs.
- 200-line hard cap per source file (extract neighbours when over).
- All Convex queries hit an index (`.withIndex(...)`); never bare `.collect()`.
- Public mutations/queries declare `args:` validators + authz.
- Full ruleset: https://resource.rahmanef.com/best-practice
The agent will fetch /llms.txt for the full ruleset and use /api/knowledge for the JSON catalog.