Showcase

The removable capability catalog, components gallery, and live demos.

The Showcase is a removable demo layer: a capability catalog, a shadcn/ui Components gallery, and interactive demos. It is marked [template-demo] so you can preview the product without it before deleting the demo code.

What ships

src/showcase/capability-catalog.ts contains 26 entries across five categories: 7 shell, 6 system, 5 data, 5 ops, and 3 commerce. Each entry points to its route and source files. /showcase/components is a live components gallery; /showcase/:demoId is served by DemoRoute.tsx.

The live demos exercise window controls, tray lifecycle, notifications, shortcuts and palette, theme/i18n, deep links, secure storage, backup/diagnostics, file dialogs, onboarding, native menus, updates, and the Todos integration slot. Catalog entries without dedicated interactive behavior show an integration-slot panel. Together, they are useful manual tests—not application pages to retain by default.

One flag controls every surface

VITE_SHOWCASE_ENABLED defaults to true and is listed in .env.example. Set it to false to remove Showcase routes, the sidebar Template zone, Home sections, and the command-palette group. It also removes the native Template menu because Tauri menus and tray are built in TypeScript and read the same features object. There is no Electron-style MAIN_VITE_* counterpart and no frontend-to-Rust config push.

VITE_SHOWCASE_ENABLED=false

Remove it cleanly

The safe preview is the important step: it proves the rest of the app works before folders are deleted.

Turn the flag off, run pnpm dev, and confirm the Template sidebar zone, Showcase routes, palette group, native Template menu, and Home sections are hidden.

Delete the demo-only folders.

rm -rf src/routes/showcase src/showcase

Remove the marked [template-demo] touchpoints: Showcase imports and route block in src/App.tsx; the sidebar group; command-sources.ts; HomePage; app-menu.ts and labels.ts; Showcase config/feature-flag plumbing; /showcase* entries in NAVIGATION_ROUTES; Showcase locale registration; and its tests and labels. Also remove showcase-secret from the Rust SecureKey enum if no product code needs that demonstration key.

Delete src/locales/en/showcase.json and src/locales/zh/showcase.json, then register your own routes and Workspace sidebar entries.

Audit and verify.

rg "template-demo"
pnpm format:check && pnpm lint:check && pnpm typecheck && pnpm test
cargo fmt --check --manifest-path src-tauri/Cargo.toml
cargo clippy --manifest-path src-tauri/Cargo.toml -- -D warnings
cargo test --manifest-path src-tauri/Cargo.toml

On this page