Skip to content

Roadmap

This page outlines the current state of Asena Framework and our plans for future development. Our goal is to build a production-ready, high-performance IoC framework for Bun with enterprise-grade features.

Living Document

This roadmap is updated regularly as we complete features and adjust priorities based on community feedback.


✅ Current Release (v0.6.x)

These features are stable and production-ready in the current release:

Core Framework

  • Dependency Injection Container - Full IoC container with constructor, property, and method injection
  • Decorator-Based API - TypeScript decorators for controllers, services, middleware, and more
  • Controller System - REST API controllers with route decorators (@Get, @Post, @Put, @Delete, @Patch)
  • Service Layer - Service components with lifecycle management
  • Middleware System - Global and route-level middleware with execution control
  • Context API - Unified request context abstraction across adapters
  • WebSocket Support - Decorator-based WebSocket services with namespace support
  • Configuration Management - @Config decorator for server configuration
  • EventService Support - Asena have built-in native EventService support with @EventService and @On

Adapters

  • Ergenecore Adapter - Native Bun adapter with SIMD-accelerated routing
  • Hono Adapter - Hono-based adapter with middleware compatibility

Official Packages

  • @asenajs/logger - Structured logging with multiple transports (console, file, Loki)
  • @asenajs/drizzle - Drizzle ORM integration with repository pattern

CLI Tools

  • Project Scaffolding - asena new command for project generation
  • Code Generation - Generate controllers, services, middleware, WebSocket services
  • Project Bundling - asena build command bundles your project based on asena-config.ts, significantly improving performance by reducing cold start time and package size

🚧 In Active Development (v0.7.0)

These features are currently being developed and will be available soon:


Official Packages

@asenajs/redis

Redis integration package with connection pooling and caching utilities.

  • Bun native Redis client wrapper with IoC integration

Status: In development


Framework Features

Enhanced Error Handling System

Asena currently does not provide a robust error handling API. Version 0.7.0 introduces a sophisticated exception handling system inspired by NestJS and Spring Framework, featuring:

  • @ExceptionHandler decorator for centralized error handling
  • Built-in exception classes.
  • Custom exception filters

FrontendController: Monolithic Application Support

Bun runtime natively supports serving frontend applications alongside your backend. We're bringing this capability to Asena with the new @FrontendController decorator, enabling true monolithic architecture.

Why This Matters:

  • Deploy your entire application as a single unit
  • No need for separate frontend hosting
  • Simplified development workflow
  • Reduced infrastructure complexity

Proposed Syntax:

typescript
@FrontendController()
export class MyFrontendService {
  // Serve static HTML pages
  @Route('/')
  public homepage = './public/index.html';

  @Route('/dashboard')
  public dashboard = './public/dashboard.html';

  // Serve SPA routes
  @Route('/app/*')
  public reactApp = './dist/index.html';
}

With this syntax, you can serve your React, Vue, Svelte applications or plain HTML projects directly through Asena. The framework will handle:

  • Static file resolution
  • SPA routing (catch-all routes for client-side routing)
  • Content-type detection
  • Efficient file caching
  • Development mode hot-reload integration

Use Cases:

  • Full-stack TypeScript applications
  • Admin dashboards with REST API
  • Server-rendered + client-rendered hybrid apps
  • Internal tools with minimal infrastructure

📋 Planned for v1.0

These features are planned for the v1.0 release and will make Asena enterprise-ready:

Plugin System

A powerful plugin architecture allowing third-party extensions.

Features:

  • Plugin lifecycle hooks (onLoad, onStart, onStop)
  • Plugin dependency resolution
  • Plugin configuration management
  • Official plugin registry

Use Cases:

  • Authentication plugins (OAuth, JWT, SAML)
  • Database adapters (PostgreSQL, MySQL, MongoDB)
  • Monitoring and APM integrations

OpenTelemetry Support

Built-in observability and distributed tracing.

Features:

  • Automatic request tracing
  • Custom span creation
  • Metrics collection (HTTP, WebSocket, database)
  • Integration with Jaeger, Zipkin, and other backends
  • Performance profiling

Benefits:

  • Production debugging
  • Performance monitoring
  • Distributed system observability
  • SLA compliance tracking

OpenAPI Support

Automatic OpenAPI/Swagger documentation generation.

Features:

  • Auto-generate OpenAPI specs from decorators
  • Swagger UI integration
  • Type-safe API client generation
  • Schema validation sync with Zod
  • API versioning support

Benefits:

  • Automatic API documentation
  • Client SDK generation
  • API contract testing
  • Developer experience improvements

💡 Future Ideas (CLI)

These features are under consideration for future CLI releases:

Dev Console (Quarkus-inspired)

Interactive development console for debugging and inspection.

Planned Features:

  • Web-based dashboard running during development
  • Live route inspection and testing
  • Request/response logging
  • Performance metrics in real-time

Inspiration: Similar to Quarkus Dev UI

Container Visualizer

Visual representation of IoC container dependencies.

Planned Features:

  • Dependency graph visualization
  • Service lifecycle tracking
  • Circular dependency detection

Benefits:

  • Understanding service dependencies

No Timeline Yet

These CLI features are ideas under discussion and do not have a fixed release timeline.


🎯 Release Philosophy

Version Strategy

  • v0.x.x - Pre-1.0 releases with breaking changes possible
  • v1.0.0 - First stable release with API stability guarantees
  • v1.x.x - Patch and minor releases with backward compatibility
  • v2.0.0 - Major release with new features and potential breaking changes

Stability Guarantees

VersionStatusBreaking ChangesProduction Use
v0.4.xCurrentPossibleYes (with caution)
v0.5.xNextPossibleYes (with caution)
v0.6.xNextPossibleYes (with caution)
v1.0.0+StableSemantic versioningRecommended

Development Priorities

  1. Stability First - Bug fixes and reliability improvements take priority
  2. Performance - Maintain Bun's performance advantages
  3. Developer Experience - Clear APIs, great documentation, helpful errors
  4. Community Feedback - Feature requests and issues guide our roadmap

🤝 Community Involvement

How to Contribute

We welcome contributions in many forms:

  • Code Contributions - Submit PRs for features or bug fixes
  • Documentation - Improve guides, add examples, fix typos
  • Feature Requests - Open GitHub issues with your ideas
  • Bug Reports - Report issues with reproducible examples
  • Testing - Test pre-release versions and provide feedback

Feature Request Process

  1. Open a GitHub issue with the feature-request label
  2. Describe the use case and expected behavior
  3. Community discussion and feedback
  4. Core team review and prioritization
  5. Implementation and release

📅 Release Schedule

Current Cycle

  • v0.5.0 - Q4 2025 (Redis, NATS, AsenaEventRoute)
  • v1.0.0 - Q2-Q3 2026 (Plugin system, OpenTelemetry, OpenAPI)

Follow Progress

Track development progress on our GitHub repository and join discussions in GitHub Issues.


🔮 Long-Term Vision

Our vision for Asena is to become the go-to framework for Bun-based web applications, combining:

  • Enterprise-Grade Features - Plugin system, observability, API documentation
  • Developer Experience - Intuitive APIs, excellent tooling, comprehensive docs
  • Performance - Native Bun speed with minimal overhead
  • Ecosystem - Rich collection of official and community packages

Released under the MIT License.