# Zelt Documentation > A fast, type-safe application framework for TypeScript - [Introduction](https://zeltjs.com/docs/index.md): ZeltJS is a portable TypeScript application framework with built-in DI. Swap adapters to run on Node.js, Bun, Cloudflare Workers, or AWS Lambda. ## Table of Contents - [Getting Started](https://zeltjs.com/ja/docs/getting-started.md): Zelt runs on Node.js, Bun, Cloudflare Workers, and more. Switching between environments is as simple as changing `onNode()` to `onBun()`. - [Controllers](https://zeltjs.com/ja/docs/controllers.md): Controllers are responsible for handling incoming **requests** and returning **responses** to the client. - [Middleware](https://zeltjs.com/ja/docs/middleware.md): Middleware functions execute before the route handler and can modify requests, responses, or context. - [Request & Response Primitives](https://zeltjs.com/ja/docs/primitives.md): Zelt provides functional primitives for accessing request data and building responses. These primitives can be used as default parameters in contro... - [Validation](https://zeltjs.com/ja/docs/validation.md): Zelt uses [Valibot](https://valibot.dev/) for request validation, providing a type-safe and lightweight validation solution. - [HTTP Security](https://zeltjs.com/ja/docs/http-security.md): Zelt provides built-in HTTP security through two configuration classes: `SecureHeadersConfig` and `CorsConfig`. Both use the `@Config` decorator pa... - [Rate Limiting](https://zeltjs.com/ja/docs/rate-limiting.md): Zelt provides rate limiting via the `@zeltjs/rate-limit` package, using a KV store backend for distributed rate limiting. - [Overview](https://zeltjs.com/ja/docs/authentication/overview.md): Zelt provides a flexible authentication system that separates **authentication** (who is the user?) from **authorization** (what can they do?). - [User Context](https://zeltjs.com/ja/docs/authentication/user-context.md): Zelt provides request-scoped functions to access and manage the authenticated user. - [JWT Authentication](https://zeltjs.com/ja/docs/authentication/jwt.md): `@zeltjs/auth-jwt` provides stateless JWT-based authentication for SPAs, mobile apps, and APIs. - [Session Authentication](https://zeltjs.com/ja/docs/authentication/sessions.md): `@zeltjs/auth-session` provides cookie-based session management for server-rendered applications. - [Custom Authentication](https://zeltjs.com/ja/docs/authentication/custom.md): Build your own authentication using Zelt's built-in primitives. No package required. - [Roles](https://zeltjs.com/ja/docs/authorization/roles.md): Roles are the foundation of Zelt's authorization system. They define what a user can do. - [Access Control](https://zeltjs.com/ja/docs/authorization/access-control.md): The `@Authorized` decorator enforces authentication and role requirements on routes. - [Dependency Injection](https://zeltjs.com/ja/docs/dependency-injection.md): :::info Coming Soon - [Services](https://zeltjs.com/ja/docs/services.md): Services are classes that handle **business logic** and can be **injected** into controllers or other services. This separation of concerns makes y... - [Configuration](https://zeltjs.com/ja/docs/configuration.md): Zelt provides a type-safe configuration system using the `@Config` decorator and `inject()` helper. - [Error Handling](https://zeltjs.com/ja/docs/error-handling.md): Zelt provides a simple error handling mechanism based on Hono's `HTTPException`. - [Logging](https://zeltjs.com/ja/docs/logging.md): Zelt provides a built-in `Logger` module with structured logging, configurable transports, and context propagation. - [IPC Bridge](https://zeltjs.com/ja/docs/electron/ipc-bridge.md): The Electron adapter replaces HTTP sockets with Electron's IPC mechanism. Standard `Request`/`Response` objects are serialized into IPC-safe payloa... - [Window Management](https://zeltjs.com/ja/docs/electron/window-management.md): The Electron adapter provides injectable services for managing `BrowserWindow` instances through Zelt's DI system. - [Commands](https://zeltjs.com/ja/docs/command.md): Zelt provides CLI command support with dependency injection through `@zeltjs/core`. - [Scheduler](https://zeltjs.com/ja/docs/scheduler.md): Zelt provides declarative scheduling decorators for running tasks at specified intervals or cron expressions. - [Key-Value Store](https://zeltjs.com/ja/docs/kv.md): Zelt provides `@zeltjs/kv` for namespace-based key-value storage with TTL support and atomic operations. - [Redis KV Driver](https://zeltjs.com/ja/docs/kv-redis.md): `@zeltjs/kv` ships a Redis backend through its `@zeltjs/kv/adaptor-redis` entry point. `RedisKVAdaptor` implements `AtomicKVAdaptor` on top of [ior... - [Unit Testing](https://zeltjs.com/ja/docs/testing/unit.md): Zelt provides `@zeltjs/testing` package with utilities for unit testing your services with dependency injection support. - [Integration Testing](https://zeltjs.com/ja/docs/testing/integration.md): For integration tests that require external services like Redis or PostgreSQL, use Testcontainers. Zelt provides pre-configured container configs t... - [E2E Testing](https://zeltjs.com/ja/docs/testing/e2e.md): Test your application's HTTP endpoints end-to-end using Hono's built-in request helper or the type-safe client. - [Hono Client](https://zeltjs.com/ja/docs/hono-client.md): Zelt generates type-safe client types (`AppType`) for Hono's `hc` client — enabling fully type-safe API calls with IDE autocomplete. - [OpenAPI](https://zeltjs.com/ja/docs/openapi.md): Zelt automatically generates OpenAPI 3.1 specifications from your controllers — no decorators or annotations required. - [Using BullMQ](https://zeltjs.com/ja/docs/bullmq.md): [BullMQ](https://docs.bullmq.io/) is a powerful job queue library for Node.js backed by Redis. This guide shows how to integrate BullMQ with Zelt u...