用途:在 tanstack/ai 仓库中添加公开教学示例或文档教程时使用。不适用于内部 Nx playground(应使用 new-react-playground),也不适用于包 API 变更。
主要能力与最终形态:示例落在 examples/react/<slug>/,pnpm-workspace.yaml 包含 examples/react/*;教程位于 docs/tutorials/<slug>.md,tab 为 tutorial;docs/config.json 的 Examples 下添加 framework/react/examples/<slug>;Overview、Quick Start 及相关 recipe 指向教程;页面底部提供 GitHub 链接与实时沙箱注释;只提交一个 PR。
使用方式:选 kebab-case slug,从仓库根运行 pnpm nx g @tanstack/workspace-plugin:react-app <slug>,再把生成的应用精简为教程单一场景,仅保留一个适配器,@tanstack/ai* 依赖保留 workspace:*,不要添加 @tanstack/ai-client。模型 id 以字符串字面量内联到适配器工厂,不新增模型常量或额外处理文件,路由文件负责 chat()。按 Basic Chat 组织 Start 路由:src/routes/index.tsx 与 src/routes/api.chat.ts,tsconfig.json 自包含。写教程页前加载 docs、simple-english、i-have-adhd;创建 PR 前加载 pr-description。教程以读者问题开场,逐步讲解客户端与服务端各部件及存在原因,安装用 package-manager 标签。不在教程提及 Nx、生成器或 PR,页面代码须与示例文件一致。
限制:示例下不加测试;不提交 docs/superpowers/、plans、截图或 .agent/;仅示例或文档改动不加 changeset;常规提交、不写 Co-authored-by;如实填写 PR 模板。常见错误包括照搬 Basic Chat、生成到 examples/<slug>、新增模型常量、无关 BYOK 文件、教程只堆命令与代码、遗漏导航或沙箱注释、tsconfig 继承仓库根。