自动化与脚本
创建 TanStack Start 项目并预置认证、数据库…
需要用 TanStack CLI 交互或命令式创建 TanStack Start 应用,并选择集成、自定义模板或接入 AI 助手 MCP 时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
创建 TanStack Start 项目特定
解决思路
- 用 `npx @tanstack/cli create my-app` 创建新项目(交互式)。
- 用 `npx @tanstack/cli create my-app --integrations tanstack-query,clerk,drizzle` 按指定集成创建项目。
- 全局安装:`npm install -g @tanstack/cli`,然后运行 `tanstack create my-app`。
- 交互模式下按提示输入项目名、选择集成、配置选项。
- 用 `--integrations` 传入多个集成,例如 `npx @tanstack/cli create my-app --integrations tanstack-query,tanstack-form,drizzle,neon,clerk`。
- 指定部署目标,例如 `npx @tanstack/cli create my-app --integrations vercel`。
- 全栈设置示例:`npx @tanstack/cli create my-app --integrations tanstack-query,tanstack-form,tanstack-table,clerk,drizzle,neon,vercel,sentry`。
- 在 `--integrations` 中选择 `tanstack-query`:异步状态管理。
- 在 `--integrations` 中选择 `tanstack-form`:类型安全表单管理。
- 在 `--integrations` 中选择 `tanstack-table`:无头表格/数据网格。
- 在 `--integrations` 中选择 `tanstack-store`:响应式数据存储。
- 在 `--integrations` 中选择 `tanstack-virtual`:列表虚拟化。
- 在 `--integrations` 中选择 `tanstack-ai`:AI SDK 集成。
- 在 `--integrations` 中选择 `tanstack-db`:客户端数据库。
- 在 `--integrations` 中选择 `tanstack-pacer`:防抖/节流工具。
- 在 `--integrations` 中选择 `clerk`:Clerk 认证。
- 在 `--integrations` 中选择 `better-auth`:Better Auth 集成。
- 在 `--integrations` 中选择 `workos`:WorkOS 身份管理。
- 在 `--integrations` 中选择 `drizzle`:Drizzle ORM。
- 在 `--integrations` 中选择 `prisma`:Prisma ORM。
- 在 `--integrations` 中选择 `neon`:Neon 无服务器 Postgres。
- 在 `--integrations` 中选择 `convex`:Convex 后端平台。
- 在 `--integrations` 中选择 `vercel`:Vercel 部署。
- 在 `--integrations` 中选择 `netlify`:Netlify 部署。
- 在 `--integrations` 中选择 `cloudflare`:Cloudflare Workers/Pages。
- 在 `--integrations` 中选择 `nitro`:Nitro 服务端引擎。
- 在 `--integrations` 中选择 `eslint`:ESLint 配置。
- 在 `--integrations` 中选择 `biome`:Biome 检查/格式化。
- 在 `--integrations` 中选择 `shadcn-ui`:shadcn/ui 组件库。
- 在 `--integrations` 中选择 `storybook`:Storybook 组件开发。
- 在 `--integrations` 中选择 `trpc`:tRPC 类型安全 API。
- 在 `--integrations` 中选择 `orpc`:oRPC 集成。
- 在 `--integrations` 中选择 `sentry`:错误监控。
- 在 `--integrations` 中选择 `paraglide`:国际化 i18n。
- 在 `--integrations` 中选择 `strapi`:Strapi CMS。
- 创建自定义模板:先用 `npx @tanstack/cli create my-template --integrations tanstack-query,drizzle,clerk` 创建项目作为模板基础。
- 把自定义模板作为 git 仓库或 npm 包共享。
- 从 git 仓库使用自定义模板:`npx @tanstack/cli create my-app --template https://github.com/myorg/my-template`。
- 从本地路径使用自定义模板:`npx @tanstack/cli create my-app --template ./templates/my-template`。
- 按模板结构组织自定义模板:`template.config.ts`、`src/app/routes/`、`src/app/components/`、`src/lib/`、`package.json`、`tsconfig.json`、`app.config.ts`、`vite.config.ts`。
- 配置 MCP server:在 `.claude/mcp.json` 或等价文件中设置 `mcpServers.tanstack.command` 为 `npx`,`args` 为 `["@tanstack/cli", "mcp"]`。
- 使用 MCP server 的文档搜索能力,让 AI agent 查询 TanStack 文档。
- 使用 MCP server 的项目脚手架能力,通过 AI 助手引导创建项目。
- 使用 MCP server 的集成发现能力,搜索并推荐集成。
- 使用 MCP server 的部署指导能力,获取平台特定部署帮助。
- 让 Claude 等 AI 助手通过 MCP server 搜索 TanStack 文档以获取准确、最新信息。
- 让 Claude 等 AI 助手通过 MCP server 帮助搭建新项目并选择合适的集成。
- 让 Claude 等 AI 助手通过 MCP server 提供上下文感知建议。
- 让 Claude 等 AI 助手通过 MCP server 协助配置和部署。
- 使用 Web Builder 界面进行可视化技术栈选择。
- 在 Web Builder 中导出前预览生成的文件。
- 在 Web Builder 中检查集成兼容性。
- 在 Web Builder 中一键生成项目。
- 使用 CLI 命令 `create <name>` 创建新项目。
- 使用 CLI 命令 `create <name> --integrations <list>` 按指定集成创建项目。
- 使用 CLI 命令 `create <name> --template <path>` 从模板创建项目。
- 使用 CLI 命令 `mcp` 启动 MCP server。
- 从最小集成开始,按需添加更多,不要一开始包含所有集成。
- 在 CI/文档中使用 `--integrations` flag 进行可复现的项目创建。
- 创建团队模板,以便组织内保持一致的项目结构。
- 与 AI 助手一起使用 MCP server 进行引导式设置。
- 生成后检查 `.env.example` 获取必需环境变量。
- 添加业务逻辑前审查生成代码,理解脚手架内容。
- 使用部署集成预配置托管平台设置。
- 组合 auth + db 集成进行全栈认证脚手架,例如 `clerk,drizzle,neon`。
- 项目创建后设置环境变量,参考 `.env.example`,避免漏配。
- 选择兼容的集成组合,避免不兼容组合。
- 生成后运行 `npm install` / `pnpm install`,确保依赖安装。
- 使用 Drizzle/Prisma 集成时初始化数据库。
- 配置部署平台的环境变量,避免部署失败。
- 始终使用 `npx @tanstack/cli` 获取最新 CLI 版本,避免使用过时版本。
- 生成的项目典型结构包含:`src/app/routes/__root.tsx`、`src/app/routes/index.tsx`、`src/app/router.tsx`、`src/app/routeTree.gen.ts`、`src/app/client.tsx`、`src/lib/db.ts`(如果使用 drizzle/prisma)、`src/lib/auth.ts`(如果使用 clerk/better-auth)、`src/lib/query.ts`(如果使用 tanstack-query)、`src/components/`、`app.config.ts`、`vite.config.ts`、`package.json`、`tsconfig.json`、`.env.example`。
适用边界 · 注意事项
- 不需要 TanStack Start 或不想采用其约定/集成时,不使用该 CLI。
- 需要非 JavaScript/TypeScript 技术栈或完全自定义、无脚手架的既有项目时,不适用。
- 运行环境无法使用 npx/npm 或无法访问 npm 包时,不适用。