-
Notifications
You must be signed in to change notification settings - Fork 0
ADR 0003 Nextjs Tauri Shared UI
- Status: Accepted
- Date: 2026-07-30
The current prototype is a Vite React single-page application. The target product needs a web dashboard, documentation and public pages, server-aware routing, and a desktop application with privileged local capabilities.
Migrate the web application to the Next.js App Router and React 19.2. Use Tauri 2 for the desktop shell. Share product components, tokens, schemas, and client logic through workspace packages while keeping platform entry points and privileged capabilities explicit.
Next.js does not replace React; it supplies the application framework around React.
- Web routing and rendering follow Next.js conventions.
- Tauri loads a desktop-compatible frontend boundary and invokes explicit Rust commands.
- Shared UI cannot assume browser-only or desktop-only globals.
- Privileged operations never become ordinary browser APIs.
- Existing prototype components are evaluated and migrated selectively rather than copied wholesale.
- Keep Vite for both web and Tauri.
- Use Electron for the desktop application.
- Maintain unrelated web and desktop interfaces.
Next.js supports the web product direction, while Tauri provides a smaller Rust-native security boundary aligned with the local-agent roadmap.
Next.js prevents required desktop reuse or measured deployment constraints outweigh its web capabilities.
StackCendra is currently in Phase 0. The complete Phase 0–13 plan is versioned in the main repository under docs/wiki; later-phase pages describe intended behavior, not current implementation.
- Phase 0 foundation
- Phase 0 backlog
- Release 0.1 discovery
- Phase delivery framework
- Roadmap
- Wiki review guide
- Risks and decisions