title: "Installation · Nael Framework" description: "Install Nael Framework from the monorepo or by selectively adding @nl-framework packages to your Bun workspace."

Guide

Install Nael Framework

Clone the entire repo for every example or install only the packages you need. Each module lives under the @nl-framework scope and is published as native ES modules for Bun runtimes.

Install the full workspace
Clone + install
git clone git@github.com:Nael-Studio/nael-platform.gitcd nael-platformbun install
  • Installs every workspace (packages + examples) in a single Bun install.
  • Run bun run build to emit distributable artifacts before publishing.
  • Use bun run --cwd examples/basic-http start (swap folder names) to explore each scenario.

Install packages selectively
Core HTTP + GraphQL stack
bun add @nl-framework/core @nl-framework/platform @nl-framework/http   @nl-framework/graphql @nl-framework/config

Layer in @nl-framework/auth, @nl-framework/logger, or @nl-framework/orm as your service footprint grows. Every package exposes familiar forRoot() and forFeature() helpers just like NestJS.

Microservices & schedulers

Add the async modules when you need Dapr-backed pub/sub or Bun Worker cron jobs.

Async modules
bun add @nl-framework/microservices @nl-framework/scheduler
  • Install the Dapr CLI and run dapr init before starting examples/microservices.

  • Use @Cron, @Interval, and @Timeout decorators from the scheduler module.

Link packages from the CLI

Working on the framework and a consuming app simultaneously? Link the local packages and the nl CLI will pick them up automatically.

Link a local package
bun link ../nl-framework-v1/packages/core

Repeat for @nl-framework/http, @nl-framework/graphql, and any other packages you iterate on.

Verify your environment

  • Use Bun 1.1+ for best compatibility with the workspace scripts.
  • Enable corepack enable if you plan to experiment with pnpm-based linking.
  • Set BETTER_AUTH_SECRET and database URLs inside .env or the YAML config files.

Ready to build something new? Jump back to the Getting Started guide or run nl new awesome-service to scaffold a fresh project.