SkillAgentSearch skills...

Vercube

An ultra-efficient JavaScript server framework that runs anywhere - Node.js, Bun, or Deno - with unmatched flexibility and complete configurability for developers who refuse to sacrifice speed or control.

Install / Use

/learn @vercube/Vercube

README

<div align="center"> <img src="https://raw.githubusercontent.com/vercube/vercube/refs/heads/main/.github/assets/cover.png" width="100%" alt="Vercube - Unleash your server development." /> <br> <br>

Vercube

Next generation HTTP framework

Ask DeepWiki NPM Version GitHub License Codecov

An ultra-efficient JavaScript server framework that runs anywhere - Node.js, Bun, or Deno - with unmatched flexibility and complete configurability for developers who refuse to sacrifice speed or control.

WebsiteDocumentation

</div>

✨ Features

  • Declarative Routing - TypeScript decorators for clean, readable API endpoints
  • Dependency Injection - Built-in IoC container for testable, maintainable code
  • Runtime Agnostic - Runs on Node.js, Bun, and Deno with zero configuration
  • Type-Safe Validation - Standard Schema support (Zod, Valibot, ArkType)
  • High Performance - Native Request/Response handling, no middleware overhead
  • Zero Config - Sensible defaults, start coding immediately
  • Modular Architecture - Auth, Logger, Storage, WebSockets, Serverless, and more

🚀 Quick Start

Create a New Project

# pnpm
pnpm create vercube@latest

# npm
npx create-vercube@latest

# bun
bun create vercube

Start Development Server

pnpm dev

Open http://localhost:3000 - you're ready to go! 🚀

Try It Online

Open in StackBlitz Open in CodeSandbox

📝 Example

import { Controller, Get, Post, Body, Param } from '@vercube/core';
import { Inject } from '@vercube/di';
import { z } from 'zod';

const CreateUserSchema = z.object({
  name: z.string().min(2),
  email: z.string().email(),
});

type CreateUserDto = z.infer<typeof CreateUserSchema>;

@Controller('/users')
export class UserController {
  @Inject(UserService)
  private userService!: UserService;

  @Get('/')
  async getUsers() {
    return this.userService.findAll();
  }

  @Get('/:id')
  async getUser(@Param('id') id: string) {
    return this.userService.findById(id);
  }

  @Post('/')
  async createUser(@Body({ validationSchema: CreateUserSchema }) data: CreateUserDto) {
    return this.userService.create(data);
  }
}

More examples available in the examples directory.

📦 Packages

| Package | Description | | ------------------------------------------------------------------------ | ------------------------------------------ | | @vercube/core | Core framework with routing and middleware | | @vercube/di | Lightweight dependency injection container | | @vercube/auth | Authentication decorators and middleware | | @vercube/logger | Flexible logging with multiple drivers | | @vercube/storage | File storage abstraction layer | | @vercube/ws | WebSocket support | | @vercube/serverless | AWS Lambda & Azure Functions adapters |

📖 Documentation

Comprehensive documentation is available at vercube.dev

❤️ Contribute

We welcome contributions! Here's how you can help:

Every contribution matters. We maintain a welcoming environment for all contributors.

View on GitHub
GitHub Stars89
CategoryDevelopment
Updated1h ago
Forks3

Languages

TypeScript

Security Score

100/100

Audited on Apr 3, 2026

No findings