エンタープライズグレードのNuxt 3 SPAテンプレート。TypeScript、Vuetify、Atomic Designパターンを採用し、厳格なコード品質管理とスケーラブルなコンポーネントアーキテクチャを提供します。
- Nuxt 4 - 最新のVue.jsメタフレームワーク
- TypeScript - 完全な型安全性
- Vuetify 3 - Material Designコンポーネントライブラリ
- Atomic Design - スケーラブルなコンポーネント構造
- 厳格なESLint - インポート制限ルールでアーキテクチャを強制
- pnpm専用 - 高速で効率的なパッケージ管理
| カテゴリ | 技術 |
|---|---|
| フレームワーク | Nuxt 4.2.1, Vue 3.5.24 |
| 言語 | TypeScript 5.9.3 |
| UIライブラリ | Vuetify 3.10.11 |
| パッケージマネージャー | pnpm (必須) |
| Linter | ESLint + @nuxt/eslint |
| 型チェック | vue-tsc |
依存関係をインストール:
pnpm install開発サーバーを http://localhost:3000 で起動:
pnpm devプロダクション用にビルド:
pnpm build静的サイトを生成:
pnpm generateプロダクションビルドをローカルでプレビュー:
pnpm previewコード品質とフォーマットをチェック:
pnpm lintESLintエラーを自動修正:
pnpm lint:fixTypeScriptの型エラーをチェック:
pnpm typecheckコミット前に以下を実行:
pnpm lint:fix && pnpm typecheckこのテンプレートはAtomic Designパターンを採用し、ESLintでインポート制限を強制します。
app/components/
├── shared/ # 共有コンポーネント
│ ├── atoms/ # 基本要素(ボタン、入力欄など)
│ ├── molecules/ # 小さなコンポーネント群
│ ├── organisms/ # 複雑なUIセクション
│ └── templates/ # ページレベルのレイアウト
└── feature-*/ # Feature固有のコンポーネント
├── atoms/
├── molecules/
├── organisms/
└── templates/
Shared Components:
atoms/- 他の階層からインポート不可molecules/-atoms/のみインポート可organisms/-atoms/,molecules/からインポート可templates/-molecules/,organisms/からインポート可
Feature Components:
- Feature間のインポートは完全に禁止
- 各FeatureはShared層と自Feature内のみからインポート可能
これらのルールはeslint.config.mjsで自動的に強制されます。
- pnpmのみ使用 - npm, yarn, bunは禁止
- TypeScript型定義 - すべてのコンポーネント・関数に必須
<script setup>- すべてのVueコンポーネントで使用- ブロック順序 -
<script>→<template>→<style> - JSDoc - パブリックAPIには必須
<script setup lang="ts">
interface Props {
/** ボタンのラベル */
label: string
/** 無効化フラグ */
disabled?: boolean
}
const props = withDefaults(defineProps<Props>(), {
disabled: false,
})
</script>nuxt-spa-template/
├── app/
│ ├── app.vue # ルートコンポーネント
│ ├── components/ # コンポーネントライブラリ
│ ├── layouts/ # レイアウト
│ ├── pages/ # ページ(ファイルベースルーティング)
│ └── plugins/ # Nuxtプラグイン
├── public/ # 静的ファイル
├── CLAUDE.md # 詳細な開発ガイドライン
├── eslint.config.mjs # ESLint設定
├── nuxt.config.ts # Nuxt設定
└── package.json # プロジェクト情報
開発ルール、エラー解決、ベストプラクティスの詳細は CLAUDE.md を参照してください。
デプロイに関する詳細は Nuxt deployment documentation を参照してください。
MIT