Introduction
nuxt-osdd is a Nuxt package that brings Open Source Driven Development (OSDD) to your application architecture. It builds on Nuxt Layers, which are a core concept of Nuxt, and gives teams a clearer convention for organizing business features and technical infrastructure.
The Problem It Solves
A Nuxt project often starts clean, but as it grows, code from unrelated concerns can end up living side by side:
app/
components/UserCard.vue
pages/orders.vue
composables/useAuth.ts
composables/useBilling.ts
server/
api/contracts.ts
utils/permissions.ts
Business features, authentication, permissions, API access, and other infrastructure concerns can easily become mixed together. The app still works, but the boundaries between what the product does and how the app works technically become harder to see.
The OSDD Solution
OSDD introduces two explicit buckets at the project root:
technical/
Authentication/
Permissions/
ApiClient/
functional/
Users/
Contracts/
Posts/
Each directory is a Nuxt layer with its own nuxt.config.ts and local app structure. nuxt-osdd makes this practical with a simple configuration entrypoint and CLI commands to generate layers quickly.
Core Concepts
Why teams use it
nuxt-osdd helps you:
- separate business logic from infrastructure concerns
- keep a clear, shared project convention
- add new domains without reorganizing the whole app
- start each layer with a ready-to-use scaffold