Copy-paste Claude Code prompts for Vue 3 — script setup, composables, Pinia, Vitest with @vue/test-utils. Avoids Options API drift and props/emit gotchas.
Vue 3 with script setup is one of the cleanest targets for Claude Code — typed props, typed emits, and tiny components. The failure mode is drifting back into Options API; the CLAUDE.md block below prevents that.
Build a ProjectForm.vue component at src/components/ProjectForm.vue that:
- Props: initialValues?: ProjectFormValues, submitLabel?: string ('Save')
- Emits: submit(values: ProjectFormValues), cancel()
- Uses VeeValidate + yup for validation — schema in src/schemas/project.ts
- Has fields: name (required, 1-100), description (optional, max 500),
visibility (enum private | public)
- Disables the submit button while submitting (parent passes a 'loading' prop)
Constraints:
-