This is a Nuxt 4 app using:
- Runtime: Node.js (Nuxt itself), Bun (package manager and
bin/
script runtime) - Framework: Nuxt 4.0.3 with Vue 3.5.18
- Modules: ESLint, Fonts, Icon, Image, Scripts, Test Utils
- Linting: Trunk Check with TypeScript type checking
# Development
bun dev # Start dev server at http://localhost:3000
# Build & Production
bun run build # Build for production (requires 'run' prefix)
bun run generate # Generate static site
bun preview # Preview production build locally
# Code Quality
bun run lint # Run both Trunk check and TypeScript checks
bun run lint:trunk # Run Trunk linting only
bun run lint:types # Run TypeScript type checking only
nuxt.config.ts
: Central configuration defining modules, devtools, and compatibilityapp/app.vue
: Root component with SpeedInsights, NuxtRouteAnnouncer, and NuxtWelcomepackage.json
: Dependencies and scripts using Bun-specific commands
- Compatibility Date: Set to "2025-07-15" for latest Nuxt 4 features
- Modules Array: All modules (including what were buildModules in Nuxt 3) are now in single
modules
array - DevTools: Enabled by default for development
modules: [
"@nuxt/eslint", // Project-aware ESLint integration
"@nuxt/fonts", // Web font optimization
"@nuxt/icon", // Icon components
"@nuxt/image", // Image optimization
"@nuxt/scripts", // Third-party script management
"@nuxt/test-utils" // Testing utilities
]
- Always use Bun for package management and script execution
- Build requires prefix: Use
bun run build
notbun build
(conflicts with Bun's internal build) - Linting is two-phase: Trunk check first, then TypeScript type checking
- Nuxt 4.0.3 (latest v4)
- Vue 3.5.18 & Vue Router 4.5.1
- @unhead/vue for head management
- @anthropic-ai/claude-code 1.0.73
- @trunkio/launcher for linting
- npm-run-all2 for parallel script execution
- nuxi for Nuxt CLI operations
Plans are managed in Notion.