rmnr
DocsTourSlicesBest PracticeAgentsInstall

Command Palette

Search for a command to run...

New
  • Changelog
Release notes

Changelog

What changed in each rr release — page 15 of 17. Full prose history in CHANGELOG.md.

MAY192026
ImprovementAZ-waveMay 19, 2026

Dashboard foundation rename — /admin → /dashboard/admin + workspace stubs

AZ-wave foundation only (mechanical URL prefix shift). Every `/preview/<template>/admin/...` route moves under `/preview/<template>/dashboard/admin/...`, freeing `dashboard/workspace/` as the new productivity surface. Permanent redirect from old URLs preserves every external link. Per-template constants split: DASHBOARD_BASE / ADMIN_PANEL_BASE / WORKSPACE_BASE introduced; ADMIN_BASE kept as alias for backwards compat. _shared/ui/admin-shell.tsx renamed to dashboard-shell.tsx with AdminShell as deprecated alias. Workspace landing pages now render a placeholder pointing to docs/architecture/dashboard-vision.md — BA/BB waves will populate it with notion editor + calendar + command-menu + database views. No URL breaking change; no consumer-side action needed.

Templates touched (admin → dashboard/admin + workspace stub)

  • saas-marketing-os — admin moved to dashboard/admin; workspace stub added
  • personal-brand-os — admin moved to dashboard/admin; workspace stub added
  • agency-studio-os — admin moved to dashboard/admin; workspace stub added
  • konsultan-os — admin moved to dashboard/admin; workspace stub added
  • kreator-studio-os — admin moved to dashboard/admin; workspace stub added
  • riset-kit — admin moved to dashboard/admin; workspace stub added
  • wirausaha-os — admin moved to dashboard/admin; workspace stub added
  • notion-page-clone-os — admin moved to dashboard/admin; workspace stub added

Infra

  • next.config.mjs — permanent redirect /preview/:tpl/admin/:path* → /preview/:tpl/dashboard/admin/:path*
  • _shared/ui/dashboard-shell.tsx — canonical export DashboardShell + deprecated AdminShell alias (drop-in for existing layouts)
  • _shared/ui/workspace-placeholder.tsx NEW — minimal coming-soon card for /dashboard/workspace until BB-wave
  • lib/content/layouts.ts — adminPreviewPath + filePaths updated for all 8 OS templates (81 path replacements)
  • Per-template nav-config.ts — DASHBOARD_BASE / ADMIN_PANEL_BASE / WORKSPACE_BASE constants (8 templates)

Up next (see docs/architecture/dashboard-vision.md)

  • BA-wave — Pages restructure inside Admin Panel + RBAC / CMS-menu / Analytics / CRM / Audit-log siblings
  • BB-wave — Workspace bootstrap (notion editor at MAX, calendar, command-menu, database views)
  • BC-wave — feature harvest from superspace + notion-page-clone via /rr lift
MAY192026
ImprovementAY-waveMay 19, 2026

Session close-out — All Pages first sub-item + Dashboard vision docs

Tiny nav UX fix + comprehensive close-out docs so the next session resumes without retracing today's conversation. Reorder Pages sub-items so All Pages comes first (the listing surface a user opens before drilling into a specific page editor like Landing). Capture the Dashboard architectural direction (Admin Panel + Workspace split, RBAC/CRM/Analytics harvest from superspace) at docs/architecture/dashboard-vision.md, and a wave-by-wave log at docs/sessions/2026-05-19-session.md. Memory entries written so /rr in the next session auto-loads the vision + open items.

Templates touched (Pages children re-ordered)

  • saas-marketing-os — All pages first, Landing second
  • personal-brand-os — All pages first
  • agency-studio-os — All pages first
  • konsultan-os — All pages first
  • kreator-studio-os — All pages first
  • riset-kit — All pages first
  • wirausaha-os — All pages first

Docs

MAY192026
FeatureAX-waveMay 19, 2026

Nested Pages nav across all 7 templates + Open-full-page button

Closes the AV-deferred propagation: every website template now has the Pages parent + collapsible sub-items (Landing / All pages / blog / portfolio / services where applicable). ParentNavItem rewired to the canonical shadcn NavMain idiom (group/collapsible + group-data-[state=open]/collapsible:rotate-90) — same pattern shadcn ships in its docs. FeatureBar gets a new ExternalLink button: when the active docs tab is a preview surface, the button pops the iframed content out into a real browser tab at native size.

Templates touched (Pages parent + nested sub-items)

  • personal-brand-os — Landing, All pages, Blog, Portfolio, Services, Resources
  • agency-studio-os — Landing, All pages, Work, Services
  • konsultan-os — Landing, All pages
  • kreator-studio-os — Landing, All pages
  • riset-kit — Landing, All pages
  • wirausaha-os — Landing, All pages

Site

MAY192026
FeatureAW-waveMay 19, 2026

Notion Page Clone OS — nested Pages nav + landing-renderer composition

Applies the AV nested-nav pattern to notion-page-clone-os and rewires the public homepage to compose existing rr slices instead of a bespoke React tree. Admin sidebar now groups Landing / Snippets / All-pages under a single "Pages" parent (Collapsible + SidebarMenuSub). Public homepage reads admin-editable LandingSection rows from the template store and renders each via the canonical HeroBlock / FeatureGridSection / CtaBand slices, plus a custom snippets gallery section for the notion-blocks demo. Store schema bumped to v2-landing — landing-sections now first-class state managed via LANDING_UPSERT / LANDING_DELETE alongside pages + snippets.

Templates touched

  • notion-page-clone-os — nested Pages nav + LandingRenderer composition

Slices reused (no change)

  • hero-block — landing hero rendered via canonical HeroBlock
  • feature-grid — primitive showcase via FeatureGridSection
MAY192026
FeatureAV-waveMay 19, 2026

Admin sidebar: nested Pages parent + sub-items (POC on saas-marketing-os)

Admin nav was a flat list per template — every content surface (landing, blog, pricing, features, changelog) sat as a sibling top-level menu item. With more entities being added the sidebar started feeling crowded. AV adds optional `children` to AdminNavItem and renders nested entries via shadcn's `Collapsible` + `SidebarMenuSub` + `SidebarMenuSubButton`. POC on saas-marketing-os groups all page-driving CRUDs (landing, all pages, blog, pricing, features, changelog) under a single "Pages" parent. Top-level keeps Dashboard / Pages / Customers / Subscriptions / Leads. Other 6 templates queued for AW. Dynamic per-page section composition (using existing hero / feature-grid / pricing-page / blog-section / changelog-feed / faq-section / portfolio-section / cta / services / testimonials-grid slices) deferred to a separate AW-B sub-wave.

Templates touched

  • saas-marketing-os — Pages parent with 6 sub-items (POC)

Templates queued for AW (same restructure)

MAY192026
FeatureAU-waveMay 19, 2026

Notion Page Clone OS — full website template using notion-blocks

First end-to-end website template built on the notion-blocks bundle. Notion Page Clone OS = block-based notes-app starter with admin CRUD + public landing. Snippets entity (kind: equation/code/text/grid) renders live on the public landing via the four bundled primitives (EquationBlock / CodeBlock / NotifyMePopover / SelectableCell). Pure-localStorage state, zero convex required — drop-in for anyone shipping a writing surface or doc site. Wires the same _shared/{pages,landing,crud,ui} primitives the other 7 templates use so consistency holds across the OS family.

Templates touched

  • notion-page-clone-os — NEW website template (admin + public)

Slices touched

  • notion-blocks — first downstream consumer (template usedBy)

Site

MAY192026
ImprovementAT-waveMay 19, 2026

Docs catalog sidebar now uses shadcn Sidebar primitives

User principle: rr is an extension of shadcn, not a replacement. The website-template ADMIN sidebars already used shadcn Sidebar primitives (Sidebar / SidebarMenuButton / SidebarMenuSub / SidebarMenuBadge wrapped in SidebarProvider) — but the rr docs CATALOG sidebar (the left nav on /slices /layouts /templates /changelog etc.) was still a hand-rolled <nav> with custom buttons + chevrons. AT refactors it to shadcn primitives so collapse tooltips, mobile drawer, and persistent state inherit from the same canon as the admin shells. We extend shadcn — we don't fight it.

Site

  • components/site/docs-sidebar/nav-parts.tsx: SectionGroup → SidebarGroup + Collapsible + SidebarGroupLabel; BranchItem → SidebarMenuItem + SidebarMenuButton + SidebarMenuSub; leaf links → SidebarMenuButton / SidebarMenuSubButton
  • components/site/docs-sidebar.tsx: wrapped in SidebarProvider so SidebarMenuButton has its useSidebar() context — overrides flex / min-h-svh classes so the provider stays flush inside ThreeColumnLayoutAdvanced's left column
  • Visual hierarchy preserved (3-tier: section / branch / leaf) — chevron rotation, active badge, count pill all carry over via shadcn data-state
MAY192026
ImprovementAS-waveMay 19, 2026

Consolidate notion editor primitives into single bundle

Four tiny notion-lifted primitives (equation, code-block, notifications, database-cell-selection) collapsed into one catalog entry: notion-blocks. Each was ~5 files / one component — splitting them four ways cluttered the catalog without giving consumers narrower install ergonomics. notion-blocks is a peer-bundle: re-exports the four slices' public API behind one import path. Per-block narrow imports still work (the peer slices stay registered + lifted). Updated equation + code-block index.ts to also re-export their Props types for ergonomic typing.

Slices touched

  • notion-blocks — NEW peer-bundle. Catalog entry replaces 4 sub-entries
  • equation — added EquationBlockProps to barrel exports
  • code-block — added CodeBlockProps to barrel exports

Site

  • /preview/slices/notion-blocks — single page demos all 4 primitives (KaTeX formulas, TS/Bash code samples, NotifyMe bells, drag-fill table)
MAY192026
ImprovementAR-waveMay 19, 2026

Skeleton fallbacks + cacheComponents-friendly slice file I/O

After AP killed the client-side reset churn, server-side nav still felt heavy because cacheComponents: true treats async server components as dynamic by default — every navigation re-ran readSliceFiles on the filesystem. AR adds Next 16 `use cache` directives to the file readers and per-route loading.tsx skeletons that stream instantly on click. /slices/[slug] now reports as Partial Prerender with 15m revalidate; nav between detail pages feels app-router-fast.

Site

  • lib/slice-files.ts: "use cache" on readSliceFiles + readPathsFiles — cross-nav cache, not just intra-render dedupe
  • components/site/docs-loading-skeleton.tsx NEW — shared title-strip / tabs / preview-iframe skeleton
  • app/(docs)/loading.tsx — catch-all skeleton for plain docs routes
  • app/(docs)/slices/[slug]/loading.tsx — tab + iframe skeleton
  • app/(docs)/layouts/[slug]/loading.tsx — tab + iframe skeleton
  • RecentlyUpdatedBadge → "use client" so Date.now() runs in the browser (cacheComponents blocked the previous server read)
MAY192026
FeatureAQ-waveMay 19, 2026

Notion editor primitives lifted via new rr-sync pipeline

Four pure-UI primitives lifted from notion-page-clone using a new hash-based, idempotent sync pipeline. The pipeline auto-derives import rewrites from both repos' tsconfigs, follows transitive shared-dep graphs, cross-checks npm packages against rr's package.json, and ships a registry (rr-sync.json) so subsequent updates to the same slice in nosion can re-propagate with one command. Each lifted slice has an interactive preview at /preview/slices/<slug>.

Slices touched

  • equation — KaTeX-rendered LaTeX block, click-pencil to edit
  • notifications — per-page subscription toggle (localStorage-backed NotifyMePopover)
  • code-block — highlight.js syntax block with language picker + copy
  • database-cell-selection — drag-fill + SelectableCell primitives for grid UIs

Site

  • rr-sync pipeline in notion-page-clone: pathMap registry + tsconfig alias auto-derivation + transitive-import follower + sibling-barrel resolver + npm-deps cross-check + skipFiles wildcards + per-file hash drift detection
NewerPage 15 / 17Older
  • docs/architecture/dashboard-vision.md NEW — Dashboard > Admin Panel + Workspace split direction; AZ→BC wave roadmap; source map for RBAC/CRM/Analytics from superspace + notion-page-clone
  • docs/sessions/2026-05-19-session.md NEW — wave-by-wave commit log AK→AY; flagged items for next session; process notes (200-LOC cap, pre-push build hook, wave-letter collisions)
  • Memory entries — dashboard-vision + session-2026-05-19 + feedback-wave-letters + feedback-changelog-discipline written to the project memory dir for cross-session auto-load
  • components/templates/_shared/ui/admin-nav-items.tsx — ParentNavItem refactored to canonical shadcn NavMain idiom (group/collapsible class + CSS-driven chevron rotation, no per-item useState)
  • components/site/feature-context.tsx — FeatureManifest.previewUrls?: { public?, admin? } so FeatureBar can resolve the surface URL without a fresh ref
  • components/site/preview/manifest-builder.tsx — buildPreviewManifest emits previewUrls from publicPath/adminPath
  • components/site/feature-bar.tsx — new ExternalLink button (right-side cluster) opens the active preview surface in a new tab; auto-hides on split tab and when manifest has no URL for the current surface
  • cta-band — landing CTA rendered via canonical CtaBand
  • notion-blocks — snippet gallery embeds EquationBlock + CodeBlock + NotifyMePopover
  • Site

    • components/templates/notion-page-clone/shared/nav-config.ts — buildAdminPrimaryNav now emits nested Pages parent with landing/snippets/all-pages children
    • components/templates/notion-page-clone/shared/store.tsx — landingSections added to State; storageKey bumped to v2-landing; LANDING_UPSERT / LANDING_DELETE reducer
    • components/templates/notion-page-clone/slices/home/LandingRenderer.tsx NEW — switch on section.kind → HeroBlock / FeatureGridSection / CtaBand / custom SnippetsGallery
    • components/templates/notion-page-clone/slices/home/HomePage.tsx — reads useLandingSections() filter+sort, renders via LandingRenderer
  • personal-brand-os
  • agency-studio-os
  • konsultan-os
  • kreator-studio-os
  • riset-kit
  • wirausaha-os
  • Site

    • components/templates/_shared/types/common.ts: AdminNavItem.children?: AdminNavItem[]
    • components/templates/_shared/ui/admin-nav-items.tsx NEW — ParentNavItem + LeafNavItem + isPathActive helper
    • components/templates/_shared/ui/admin-sidebar.tsx — NavGroup routes child-having items through ParentNavItem (Collapsible + SidebarMenuSub)
    • Existing flat nav items keep rendering as before (LeafNavItem)
  • /preview/notion-page-clone-os/public — homepage renders snippets via notion-blocks primitives (equations, code, NotifyMe bell)
  • /preview/notion-page-clone-os/admin — dashboard + /snippets CrudListView for managing the public content
  • lib/content/layouts.ts — new SliceEntry for notion-page-clone-os, with pullPaths cascading notion-blocks + 4 peer slices
  • Templates touched (no change — already on shadcn)

    • saas-marketing-os — admin sidebar already shadcn-based (AdminShell)
    • personal-brand-os — admin sidebar already shadcn-based
    • agency-studio-os — admin sidebar already shadcn-based
    • konsultan-os — admin sidebar already shadcn-based
    • kreator-studio-os — admin sidebar already shadcn-based
    • riset-kit — admin sidebar already shadcn-based
    • wirausaha-os — admin sidebar already shadcn-based
  • Removed /preview/slices/{equation,notifications,code-block,database-cell-selection} — bundle is canonical surface
  • Removed 4 individual SliceEntry rows from lib/content/slices.ts
  • Pre-push hook adds `npm run build` to catch Next-only errors (cacheComponents conflicts, Turbopack loader issues) that tsc misses
  • next.config: transpilePackages: ["rahman-shared"] added — required for slices using rewritten @/shared/lib/utils → rahman-shared/lib/utils imports