- resources/skills/vue3-vite/SKILL.md: procedure, outputs, and atomic design conventions - resources/scripts/scaffold-vue3-vite.mjs: self-contained scaffold generating package.json, vite.config.js, index.html, router, pages, atomic component dirs, and SCSS foundations - resources/scripts/scaffold-vue3-vite.sh: Node.js-delegating shell wrapper - resources/prompts/scaffold-vue3-vite.prompt.md: chat-invocable prompt following shared pattern
2.0 KiB
2.0 KiB
name, description, argument-hint
| name | description | argument-hint |
|---|---|---|
| vue3-vite | Use when scaffolding a new Vue 3 + Vite project with vue-router, a pages layer, an atomic component structure, and SCSS styling foundations. | project-root=<path> app-name=<name> mode=<dry-run|apply> port=<dev-server-port> |
Vue 3 + Vite Scaffold
Use this skill when starting a new Vue 3 + Vite frontend project that needs routing, a component hierarchy, and a SCSS style foundation from the first commit.
Procedure
- Confirm required inputs:
project-rootandapp-name. - Run
resources/scripts/scaffold-vue3-vite.shin--mode dry-runfirst to review planned files before writing. - After reviewing dry-run output, re-run with
--mode applyto write files. - Run
npm installin the project root to install dependencies. - Run
npm run devto verify the dev server starts cleanly on the configured port.
Outputs
package.json(Vue 3, Vite, vue-router, sass)vite.config.js(dev server port,@alias pointing tosrc/)index.htmlsrc/main.jssrc/App.vuesrc/router/index.jssrc/pages/HomePage.vuesrc/components/atoms/.gitkeepsrc/components/molecules/.gitkeepsrc/components/organisms/.gitkeepsrc/components/layouts/.gitkeepsrc/assets/styles/global-tokens.scsssrc/assets/styles/global-reset.scss.gitignore
Do Not Use
- Do not use this workflow when a project already has a
package.jsonorvite.config.jsunless--forceis passed. - Do not use this workflow when the project requires SSR or a meta-framework such as Nuxt.
Notes
- Component directories follow strict atomic design:
atoms,molecules,organisms,layouts. - Every new component should have a colocated SCSS file and a
*.stories.jsstub; this scaffold creates the directory structure but not the components. - The
@alias is wired in bothvite.config.jsand expected by the router. - SCSS files use
@usefor token and reset imports; avoid@import.