mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-06-17 00:46:53 +08:00
* feat(rules): add vue and nuxt rule sets Add rules/vue/ and rules/nuxt/, each with the standard 5-file layout (coding-style, hooks, patterns, security, testing) that extends common/, following the Adding a New Language convention in rules/README.md. Vue rules reference the frontend-patterns and vite-patterns skills. Nuxt rules reference the nuxt4-patterns and vite-patterns skills. Content is concise (1.5 to 4 KB per file) since rules load as always-on context. * fix(rules): address PR review on vue and nuxt rule sets - nuxt/coding-style: generalize the srcDir-override note (drop project-specific 'this repo' phrasing so it is correct for any Nuxt project). - vue/hooks: add **/*.ts and **/*.tsx to paths so the lint/typecheck guidance loads when editing composables and stores. - nuxt/hooks: add **/*.vue to paths (covers pages/layouts/components) and wrap nuxi typecheck in a timeout, mirroring web/hooks.md. - nuxt/security: tighten the /security-review auto-trigger scope to external fetch, credential handling, and sensitive mutations, with examples. - nuxt/testing: correct 'Vitest-only' to note built-in Playwright E2E, and drop the @nuxt/test-utils version pin. - README: register vue and nuxt in the structure tree and install examples. Skipped: 'X specific' -> 'X-specific' hyphenation (all existing rule sets use the unhyphenated form, changing only vue/nuxt would be inconsistent); repeating the 80%/TDD mandate in nuxt/testing (already inherited from common/testing.md).
2.1 KiB
2.1 KiB
paths
| paths | ||||||
|---|---|---|---|---|---|---|
|
Nuxt Coding Style
This file extends common/coding-style.md with Nuxt specific content.
Directory layout
- Default
srcDirisapp/. Framework files live atapp/pages/,app/layouts/,app/middleware/,app/plugins/,app/app.config.ts.nuxt.config.tsandserver/stay at project root. - Some projects override
srcDirtosrc/for a Feature-Sliced Design layout, remappingdir.pages(for example tosrc/app/routes),dir.layouts, and the@/~aliases. Always checknuxt.config.tsbefore assuming a path.
Auto-imports discipline
- Composables in
app/composables/andserver/utils/auto-import. Do NOT manually import Nuxt composables (useFetch,useState,navigateTo) ordefineStore/storeToRefs. - Do NOT add a standalone
vue-routerdep (Nuxt bundles v5) or hand-mountcreateApp/createPinia/createRouter. The framework wires these.
Compiler macros
definePageMetais a compile-time macro. Static values only, no reactive data and no side-effect calls inside it.- Augment typed
PageMetaviadeclare module '#app'rather than casting.
Config file separation
Three distinct files, do not conflate.
nuxt.config.ts= build-time only (routeRules,modules,nitro,ssrflag). Not reactive.runtimeConfig(inside nuxt.config) = per-env runtime values, env-overridable viaNUXT_*. Root keys are server-only,publickeys are client-visible.app/app.config.ts= public build-fixed reactive settings (theme tokens, feature flags). No env override. NEVER secrets.
Head and meta
app.headinnuxt.config.tstakes static values only.- Reactive meta goes through
useHead/useSeoMetain component setup, never viaapp.head.
Reference
- ECC skills:
nuxt4-patterns,vite-patterns,frontend-patterns. - Nuxt directory structure
- Nuxt configuration