能力展示

可删除的能力目录及其完整删除步骤。

能力展示(Showcase)是一个可删除的演示层:一份模板能力目录、一个组件画廊,以及 若干实时交互演示。每个部分都标记为 [template-demo],并受两个标志开关控制,因此 你可以在没有它的情况下预览你的应用,然后一次性干净地删除它。

出厂内容

界面位置是什么
能力目录app/showcase/capability-catalog.ts27 项能力,分为五大类别——shell、system、data、commerce、ops——每项都链接到一个演示以及可阅读的源文件。
组件画廊app/routes/showcase/components/shadcn/ui 构建块的实时画廊(/showcase/components)。
实时演示app/routes/showcase/demos/11 个交互式演示组件,每个都兼作其子系统的手动测试。

这 11 个演示是:窗口、托盘、通知、快捷键、深度链接、安全存储、备份/诊断、文件 编辑器、待办、主题/i18n,以及一个占位演示(用于没有专属交互演示的目录项)。每个 演示都是确认某子系统能工作的最快方式——例如通知演示会展示一次 notify() 调用的 确切 { ok, reason } 结果。

两个成对的标志

能力展示由两个必须保持同步的标志控制——每个进程一个——因为演示层既有渲染进程 界面,也有一个原生菜单:

VITE_SHOWCASE_ENABLED=false        # 渲染进程:路由、侧边栏、首页、命令面板
MAIN_VITE_SHOWCASE_ENABLED=false   # 主进程:原生模板菜单

两者默认开启并被集中读取——VITE_SHOWCASE_ENABLED 经由 shared/config.ts 中的 showcaseConfig,MAIN_VITE_SHOWCASE_ENABLED 经由 lib/main/feature-flags.ts。请让它们保持一致,使渲染进程外壳与原生模板菜单 同进同退。

两个 showcase 标志都未列入 .env.example,但都在代码中被读取且默认开启。当你 想关闭演示层时,把它们加入你的 .env。参见 环境变量

移除它

docs/CUSTOMIZE.md 的这个步骤操作。预览这一步是关键——它能在你删除任何 东西之前证明应用仍可工作。

关闭两个标志

VITE_SHOWCASE_ENABLED=false
MAIN_VITE_SHOWCASE_ENABLED=false

预览

运行应用,确认模板侧边栏区域、演示路由、命令面板的 showcase 分组、原生模板菜单 以及首页的 showcase 版块都已消失。应用的其余部分应照常工作。

删除仅供演示的文件夹

rm -rf app/routes/showcase app/showcase

移除 [template-demo] 触点

从核心文件中剥除这些小的演示挂钩:

  • app/app.tsx 中的 features.showcase 路由块与 showcase 懒加载导入。
  • app/components/layout/sidebar-items.ts 中的 template 侧边栏分组。
  • command-sources.ts 中的 showcaseSource 与目录导入,以及 CommandPalette.tsx 中的 showcaseEnabled 接线。
  • HomePage.tsx 中源自 showcase 的首页版块与目录导入。
  • lib/main/menu.ts 中的模板菜单块。
  • shared/config.tslib/main/feature-flags.tslib/main/main.ts 中的 showcase 标志管道。
  • lib/conveyor/schemas/event-schema.ts 中的 /showcase* 路由项。
  • app/lib/i18n/resources.ts 中的 showcase 语言包导入/注册。
  • app/index.d.ts 中的 VITE_SHOWCASE_ENABLED 环境类型。
  • showcase 专属测试,以及在无人读取后清理 app/locales/*/common.json 中的 showcase 文案。

删除 showcase 语言文件

rm app/locales/en/showcase.json app/locales/zh/showcase.json

审计并验证

rg "template-demo"        # 应当没有任何残留
pnpm lint:check && pnpm typecheck && pnpm test

随后把你自己的页面加入工作区侧边栏分组,并在 app/app.tsx 中注册它们的路由—— 参见界面与页面

相关页面

On this page