A lightweight, composable framework on Bun.
"Complexity doesn't have to be heavy.
Built on Bun, designed for Logic, optimized for Scale."
- Zero Magic: All data flows are transparent (Logic-first).
- Native Speed: Maximizing Bun & Gaman Wire.
- Opt-in Complexity Go enterprise scale only when you need it.
GamanJS currently only supports Bun runtime.
bun create gaman@latest <name>GamanJS embraces the Feature-Based Modularity philosophy. This structure is designed to keep applications clean, easy to test, and scalable as your business expands.
In a production scale or Enterprise project, the GamanJS folder structure will look like this:
src/
├── index.ts # The Orchestrator (Entry Point)
├── console/ # Helper tool for adding custom commands
├── database/ # Database Configuration
│ ├── models/ # Global model and schema databases
│ ├── migrations/ # Database migration files
│ └── seeders/ # Database seeders files
└── modules/ # Powerhouse of your Application
├── app/ # Infrastructure Module (Global/Shared)
│ ├── controllers/ # Handlers for Global Requests (Health, Index)
│ │ └── AppController.ts
│ ├── services/ # Shared Utilities & System Services
│ │ └── AppService.ts
│ └── AppRouter.ts # Global Middleware & Base Routing
│
└── user/ # Feature Module (Example: User Management)
├── controllers/ # Request Handlers (Login, Register, Profile)
│ └── UserController.ts
├── services/ # Business Logic (Auth Logic, User CRUD)
│ └── UserService.ts
├── models/ # Data Access Layer (Powered by @gaman/db)
│ └── UserModel.ts
└── UserRouter.ts # Scoped Routes & Feature Middleware
visit our https://gaman.js.org/
New Contributing welcome! Check out our Contributing Guide for help getting started.
