Appearance
Architecture and Placement
[必須]feature code はapps/nuxt/app/features/<feature>/に置き、Nuxt の役割別 directory に分散させない。[必須]route file はapp/pages/に置いて薄く保ち、feature の状態、validation、API result handling、主要な状態遷移を feature slice に委譲する。[必須]feature directory は原則フラットにし、components/、composables/、models/、tests/を作らない。feature-local locale source のi18n/だけを例外とする。[必須]feature directory と.tsfile は kebab-case、Vue component file は PascalCase、export symbol は用途に応じ camelCase または PascalCase にする。[必須]composable はuse-、test は対象 file 名に対応させる。[推奨]shared へ移すのは2つ以上の feature で必要になったとき、または app-wide contract として意図的に定義するときにする。[必須]新規 shared code はapp/shared/<concept>/の概念 slice に置き、役割別 directory を shared 直下へ増やさない。[条件付き]既存 role directory の小修正では無関係な移動を避け、移動を伴う変更から概念 slice に寄せる。[必須]shared/components/ui/は UI primitive と design-system wrapper の所有場所にし、feature code から Reka UI primitive を直接 import しない。[推奨]feature-specific adapter は利用 feature に置き、複数 feature の安定 contract になった時点で shared concept へ移す。
text
apps/nuxt/app/features/<feature>/
FeatureView.vue
use-feature.ts
use-feature.test.ts
model.ts
i18n/
ja.json
en.json
apps/nuxt/app/shared/<concept>/
model.ts
use-concept.ts
resolve-concept.ts
resolve-concept.test.ts
i18n/
ja.json
en.json