Next generation HTTP framework
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.
✨ 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
Open http://localhost:3000 - you're ready to go! 🚀
Try It Online
📝 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:
- 🐛 Report bugs - Open an issue with reproduction steps
- 💡 Submit PRs - Check out our contribution guidelines
- 💬 Join the community - Discord server
- 📝 Improve docs - Help make documentation clearer
Every contribution matters. We maintain a welcoming environment for all contributors.
