Getting Started

Introduction

What is nuxt-osdd and why use it?

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

Layers

The core building block. OSDD organizes your app as standard Nuxt layers with clearer conventions.

functional/

Business and product domains such as Users, Contracts, Orders, or Billing.

technical/

Shared infrastructure such as Authentication, Permissions, ApiClient, or Database.

Creating Layers

Generate a ready-to-use layer with npx nuxt-osdd osdd:layer ....

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
If you are just getting started, continue with the installation guide. If you already know the package, jump to Creating Layers.