---
id: TASK-64
title: r-prefix module slugs + landing page + clickable rStack header
status: Done
assignee: []
created_date: '2026-02-26 03:04'
updated_date: '2026-02-26 03:05'
labels:
  - refactor
  - routing
  - shell
dependencies: []
references:
  - server/index.ts
  - shared/components/rstack-app-switcher.ts
  - shared/components/rstack-tab-bar.ts
  - shared/url-helpers.ts
  - modules/*/mod.ts
priority: high
---

## Description

<!-- SECTION:DESCRIPTION:BEGIN -->
Rename all 23 module IDs from bare names to r-prefixed slugs (canvas→rspace, notes→rnotes, vote→rvote, etc.) so URLs are consistent with rApp branding. Root rspace.online/ now serves the landing page instead of redirecting to demo. rStack header in app switcher is now a clickable link. rSpace itself appears as a module peer alongside all other rApps.
<!-- SECTION:DESCRIPTION:END -->

## Acceptance Criteria
<!-- AC:BEGIN -->
- [x] #1 All 23 module IDs use r-prefix slugs (rspace, rnotes, rvote, etc.)
- [x] #2 Root rspace.online/ serves landing page (not redirect to demo)
- [x] #3 rStack header in app switcher dropdown is clickable (links to rstack.online)
- [x] #4 Space root redirects to /rspace instead of /canvas
- [x] #5 All internal navigation links updated to r-prefixed paths
- [x] #6 Badge maps in app switcher and tab bar use r-prefixed keys
- [x] #7 TypeScript compiles cleanly
<!-- AC:END -->

## Final Summary

<!-- SECTION:FINAL_SUMMARY:BEGIN -->
Renamed all 23 module IDs to r-prefixed slugs across 33 files. Root domain now serves the landing page. rStack header is clickable. All badge maps, URL helpers, internal links, and redirects updated. Commit 4895af1, merged to main.
<!-- SECTION:FINAL_SUMMARY:END -->
