--- name: vue-constraints description: Hard stack and toolchain constraints for frontend projects — the default stack is unified as Vue 3 + TypeScript + Vite + Tailwind CSS; bun is the default package manager (mandatory for new projects), while existing projects with another lockfile (e.g. package-lock.json) keep their current manager without forced migration. TRIGGER when creating a frontend project, editing package.json / vite.config.* / tailwind.config.* / tsconfig.json / .vue / .ts / .tsx, running a frontend build or install command, or the user mentions frontend / vue / vite / tailwind / npm install / yarn add / pnpm. | 前端项目技术栈与工具链强制约束——默认技术栈统一为 Vue 3 + TypeScript + Vite + Tailwind CSS;包管理器默认 bun(新项目强制),既有项目若已存在其它 lockfile(如 package-lock.json)则跟随现有工具,不强制迁移。TRIGGER when:新建前端项目、编辑 package.json / vite.config.* / tailwind.config.* / tsconfig.json / .vue / .ts / .tsx 文件、运行前端构建或安装命令、用户提到"前端"/"vue"/"vite"/"tailwind"/"npm install"/"yarn add"/"pnpm" 等场景。 Use when this capability is needed. metadata: author: 0xBB2B --- # 前端技术栈约束 适用于:**所有前端项目**——含新建项目、为既有项目添加功能、升级或迁移工具链。 > 核心理念:**统一技术栈降低跨项目认知负担。** 偏离默认栈必须有明确业务理由并经用户确认,不接受"个人偏好"作为偏离依据。 ## 0. 触发场景 **TRIGGER**(命中任一即应应用本约束): - **新建前端项目**:用户要求"做个前端"/"起个 Vue 项目"/"搭个管理后台"/"建个网站" 等 - **编辑前端关键文件**: - `package.json`、`bun.lock`(旧版 bun 为 `bun.lockb`) - `vite.config.ts` / `vite.config.js` - `tailwind.config.ts` / `tailwind.config.js` - `tsconfig.json` / `tsconfig.*.json` - `*.vue`、`*.ts`、`*.tsx`(前端项目内) - `index.html`(Vite 项目根入口) - **运行前端命令**:安装依赖、启动 dev server、构建、跑测试等 - **用户口语触发**: - "前端" / "frontend" / "UI" - "vue" / "vite" / "tailwind" / "ts" - "npm install X" / "yarn add X" / "pnpm add X"(bun 项目应纠正为 bun,见 3.5) **SKIP**(以下情况本约束不适用): - 纯后端 / CLI / 工具项目 - 用户明确说明"这个项目用 React" / "这个用 Nuxt" / "这个用 Svelte" 等其他栈,并征得理解后 --- ## 1. 默认技术栈(强制) 新建前端项目,统一使用以下技术栈,**不接受个人偏好替代**: | 维度 | 默认选择 | |---|---| | 框架 | **Vue 3** | | 语言 | **TypeScript** | | 构建工具 | **Vite** | | CSS | **Tailwind CSS** | | 包管理器 | **bun**(新项目强制;既有项目见第 3 节判定规则) | ### 1.1 Vue 3 - 使用 Composition API(`