en un clic
ask-vue-architect
Vue 3 scaffolding for Laravel Inertia, Nuxt, or Vite. Composition API + TypeScript.
Menu
Vue 3 scaffolding for Laravel Inertia, Nuxt, or Vite. Composition API + TypeScript.
Laravel scaffolding for SQL or Mongo (Official/Jenssegers), SoftDeletes, API standards.
Laravel maintenance with Zero Data Loss policy, Mongo/SQL debugging.
Vue 3 + Inertia maintenance. Fixes navigation reloads, prop mismatches, reactivity loss.
Guidelines for impact analysis, breaking change detection, and strategic database design.
Code review, staging, and Conventional Commit message generation. MUST NOT COMMIT.
Brief description of what the skill does
| name | ask-vue-architect |
| description | Vue 3 scaffolding for Laravel Inertia, Nuxt, or Vite. Composition API + TypeScript. |
| triggers | ["create vue component","scaffold vue page","vue best practices","composition api"] |
<critical_constraints>
❌ NO <a href=""> → causes full reload, use <Link>
❌ NO axios.post for forms → use useForm from Inertia
❌ NO hardcoded URLs → use route() helper (Ziggy)
✅ MUST use <script setup lang="ts">
✅ MUST detect stack flavor before scaffolding
</critical_constraints>
<inertia_rules> Props: from Laravel Controller, not fetched in onMounted
defineProps<{ user: App.Models.User; errors: Record<string, string> }>();
Links: <Link href="/dashboard"> (not <a>)
Forms:
const form = useForm({ email: '', password: '' });
form.post(route('login'), { onFinish: () => form.reset('password') });
Errors: :error="form.errors.email"
Global state: usePage().props.auth.user
</inertia_rules>
<persistent_layouts>
import AppLayout from '@/Layouts/AppLayout.vue';
defineOptions({ layout: AppLayout });
</persistent_layouts>
<state_management>
ref() for UI stateusePage() for auth, flash messages