skills/dangaogit/bun-server-skills/bun-server-quickstart

bun-server-quickstart

SKILL.md

Bun Server Quick Start

Prerequisites

  • Bun ≥ 1.3.3

Critical Configuration

tsconfig.json (Required)

{
  "compilerOptions": {
    "target": "ESNext",
    "module": "ESNext",
    "moduleResolution": "bundler",
    "strict": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true
  }
}

Critical: Both experimentalDecorators and emitDecoratorMetadata must be enabled, otherwise dependency injection will fail.

Minimal Application

import { Application, Controller, GET, Injectable } from "@dangao/bun-server";

@Injectable()
class HealthService {
  ping() {
    return { status: "ok" };
  }
}

@Controller("/api")
class HealthController {
  constructor(private readonly service: HealthService) {}

  @GET("/health")
  check() {
    return this.service.ping();
  }
}

const app = new Application({ port: 3100 });
app.getContainer().register(HealthService);
app.registerController(HealthController);
app.listen();

Modular Application

import {
  Application,
  Module,
  Controller,
  GET,
  Injectable,
  ConfigModule,
} from "@dangao/bun-server";

@Injectable()
class UserService {
  getUsers() {
    return [{ id: 1, name: "Alice" }];
  }
}

@Controller("/users")
class UserController {
  constructor(private readonly userService: UserService) {}

  @GET("/")
  list() {
    return this.userService.getUsers();
  }
}

@Module({
  imports: [ConfigModule.forRoot({ defaultConfig: {} })],
  controllers: [UserController],
  providers: [UserService],
})
class AppModule {}

const app = new Application({ port: 3100 });
app.registerModule(AppModule);
app.listen();

Recommended Project Structure

src/
├── main.ts              # Entry point
├── app.module.ts        # Root module
├── users/
│   ├── user.module.ts
│   ├── user.controller.ts
│   └── user.service.ts
└── common/
    └── middleware/

Common Imports

// Core
import { Application, Controller, Module, Injectable } from "@dangao/bun-server";

// HTTP decorators
import { GET, POST, PUT, DELETE, PATCH } from "@dangao/bun-server";

// Parameter decorators
import { Body, Query, Param, Header, Ctx } from "@dangao/bun-server";

// DI
import { Inject, Scope, SCOPE } from "@dangao/bun-server";

// Modules
import {
  ConfigModule,
  EventModule,
  LoggerModule,
  SecurityModule,
} from "@dangao/bun-server";

Run Commands

# Install dependencies
bun install

# Run application
bun run src/main.ts

# Run tests (in package directory)
bun --cwd=packages/bun-server test

Next Steps

Weekly Installs
2
GitHub Stars
1
First Seen
Feb 4, 2026
Installed on
cursor2
trae1
qoder1
trae-cn1
claude-code1