Decorator-driven commands
Define slash commands, context menus, and autocomplete with clean TypeScript decorators. No boilerplate, no manual registration.
Decorator-driven commands
Define slash commands, context menus, and autocomplete with clean TypeScript decorators. No boilerplate, no manual registration.
Auto-discovery
Commands, events, and components are automatically discovered and loaded from your project structure. Just create a file and it works.
Plugin ecosystem
First-party plugins for databases (Drizzle), caching, jobs, permissions, i18n, and more. Or build your own in minutes.
Dependency injection
Built-in DI container lets you inject services, repositories, and config into any command or event handler.
Built for testing
Test commands and events in isolation with the included test utilities. Mock Discord interactions without a running bot.
Middleware pipeline
Flexible middleware system for cooldowns, permissions, logging, and custom logic that runs before and after every command.