用途:根据资料,init-tauri-app 用于新建 Tauri v2 项目(触发说法如“Start a new Tauri app”“init a tauri project”“scaffold a tauri desktop app”)。它把版本相关的样板交给官方脚手架命令 npm create tauri-app@latest,然后叠加一套在 cenno、cull 两个生产应用中验证过的约定层,以及用户勾选的可选模块。
前置条件:PATH 中需有 node 与 npm(node --version),cargo 与 rustc(cargo --version);仅在选择 Swift sidecar 模块时才需要 macOS 与 Xcode CLT。
使用方式:先批量收集输入——应用名(kebab-case,校验 ^[a-z][a-z0-9-]*$)、标识符(默认 com.glebkalinin.<name>)、目标目录(默认 ~/ai_projects/<name>,非空则中止)、前端框架(react-ts、svelte-kit、vanilla-ts)、模块多选(CLI+MCP、SQLite、Tray/Updater、Release/Preflight、Swift sidecar),以及可选的 jtbd.json 路径。若宿主机非 macOS 或 xcrun --find swift 失败,选择 Swift sidecar 时会被警告并丢弃。
JTBD 输入可选:按显式路径、./jtbd.json、~/jtbd/<name>/jtbd.json 顺序取第一个命中;需先回显 hook 并获用户确认;文件须能解析且含 name、hook、jtbd,否则警告并跳过,不中止脚手架。有效时可预填应用名与标识符,并渲染 PRODUCT.md、guardrails-check.md、AGENTS.md 产品段落,同时把 jtbd.json 原样复制到项目根目录(不修改源文件)。
基础脚手架:在目标目录父级执行 npm create tauri-app@latest <name> -- --template <framework> --manager npm --yes,随后进入目标目录执行 npm install。资料提到当前 rustc 与 Tauri 2.11.x 下裸脚手架的首次 cargo check 可能在 cookie/time 依赖上报 error[E0119],这不是技能缺陷,可执行一次 cargo update -p time --precise 0.3.47 后重新检查。
核心层:把 assets/core/ 下文件按对照表复制到项目(含 AGENTS.md、.claude/CLAUDE.md、.gitignore 合并追加、src-tauri/rust-toolchain.toml、.node-version、.mcp.json、capabilities/default.json 覆盖、scripts/check-versions.sh 加执行权限、README.md、CONTRIBUTING.md),替换 <name> 与 <identifier> 令牌;建立 docs/internal/.gitkeep 与 docs/.gitkeep;确保 tsconfig.json 开启 strict、noUnusedLocals、noUnusedParameters。核心层后需通过 src-tauri 的 cargo check 与 npm run build。
模块:按 cli-mcp、sqlite、tray-updater、swift-sidecar、release-preflight 顺序,逐个打开 assets/modules/<m>/INSERT.md 并严格照做(复制文件、合并 Cargo 依赖、在 lib.rs 的 generate_handler! 与 main.rs 中插桩);每完成一个模块都要运行 src-tauri 的 cargo check,带前端或脚本部分的模块还需执行其指定检查。
最终验证:cargo check、npm run build、bash scripts/check-versions.sh 均须通过;可提供 git init && git add -A && git commit -m "chore: scaffold via init-tauri-app",并打印框架、已应用/跳过模块及原因、下一步命令(npm run tauri dev)。
限制:仅支持上述三种前端框架与五类模块;需要 node/npm 与 Rust 工具链;Swift sidecar 受平台限制;JTBD 解析失败只跳过不报错;其余功能、收费与效果资料未提供。