Introducing Igniter Studio: Our new interactive API Playground.Read the announcement

Build powerful TypeScript applications with end-to-end type safety and developer-first experience

Igniter is a modern, type-safe HTTP framework designed to streamline the development of scalable TypeScript applications.

or run this command in your terminal
npx @igniter-js/cli init my-project

Built with modern technologies

TypeScriptNode.jsExpressPrismaRedis

End-to-End Type Safety

Write your API once, get fully-typed clients for React and server communication. Pure TypeScript magic catches bugs early zero config.

Framework Agnostic

Works with any modern framework like Next.js, Express, Hono, and Bun. Built on standard Web APIs for maximum compatibility and flexibility.

Real-Time & Jobs

Built-in real-time features with Server-Sent Events and job queues. Add live updates and async processing with minimal setup.

Code Agents Ready

Built-in training for seamless integration with Claude Code, Gemini CLI, OpenCode, Grok CLI, Cursor, Windsurft and VS Code Copilot.

Powerful Plugin System

Extend functionality with self-contained, reusable modules. Plugins can add routes, middleware, context, and type-safe actions across projects.

CLI & Developer Tools

Interactive CLI with project scaffolding, live dashboard, and development tools. Get started instantly with 'igniter init'.

Feature-Based

Organize code by business features, not technical layers. High cohesion, low coupling design promotes scalability and maintainability.

Dependency Injection

Clean, type-safe dependency injection through the Context system. Inject services like databases and loggers in a testable way.

/Backend

Code that speaks for itself. Simple, elegant, and expressive syntax that feels like first-class citizen.

Authentication (soon)

Notifications & Mail (soon)

File Storage (soon)

Controllers

Type-safe API endpoints with automatic validation

// features/users/controllers/users.controller.ts
export const userController = igniter.controller({
  path: '/users',
  actions: {
    getUser: igniter.query({
      path: '/:id' as const,
      handler: async ({ request, response, context, query }) => {
        const user = await context.db.user.findUnique({
          where: { id: input.id }
        });

        if (!user) {
          throw new Error('User not found');
        }

        return user;
      },
    }),
    createUser: igniter.muate({
      path: '/' as const,
      body: z.object({
        name: z.string(),
        email: z.string().email()
      })
      handler: async ({ request, response, context, query }) => {
        return await context.db.user.create({
          data: input
        });
      },
    }),
  }
})
Built for Developers

Build faster with a modern tech stack for Developers and
Code Agents

Igniter.js provides everything you need to create production-ready applications. Start building your next project in minutes.