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=falseRemove 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/showcaseRemove 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