Starters

All 6 Igniter.js starters compared — Next.js, TanStack Start, Express, Bun, Deno. Frameworks, runtimes, env vars, and templates.

Starters

Starters are project templates that bootstrap a working Igniter.js application. Each starter targets a specific framework and runtime, and includes the core Igniter.js wiring (router, client, context) plus a scaffolded example feature.

Starters use create-next-app, create-tanstack-app, or framework equivalents to initialize the project, then layer Igniter.js templates on top. This means you get the framework's standard project structure plus Igniter.js integration.


Comparison

StarterFrameworkRuntimeTypeApp Router
nextjsNext.js 15Node.jsFull-stackYes
tanstack-startTanStack StartNode.jsFull-stackYes
express-rest-apiExpressNode.jsBackend APIN/A
bun-rest-apiBunBunBackend APIN/A
bun-react-appBun + ReactBunFull-stackN/A
deno-rest-apiDenoDenoBackend APIN/A

nextjs

The most full-featured starter. Uses create-next-app with TypeScript, ESLint, Tailwind CSS, App Router, Turbopack, and src/ directory.

Init command: npx create-next-app@latest

Dependencies: @igniter-js/core (latest)

Generated Files

TemplateOutput
starters/nextjs/route-handler.hbssrc/app/api/v1/[[...all]]/route.ts
starters/igniter.router.hbssrc/igniter.router.ts
starters/igniter.client.hbssrc/igniter.client.ts
starters/igniter.context.hbssrc/igniter.context.ts
starters/igniter.hbssrc/igniter.ts
scaffold/example-feature/*.hbssrc/features/example/
starters/nextjs/tsconfig.hbstsconfig.json
starters/open-api.hbssrc/docs/openapi.json

Environment Variables

VariableDefaultDescription
IGNITER_APP_NAMEIgniter AppApplication name
IGNITER_APP_SECRETmy-secret-keyApplication secret
IGNITER_API_URLhttp://localhost:3000/Server-side API URL
IGNITER_API_BASE_PATH/api/v1API base path
NEXT_PUBLIC_IGNITER_API_URLhttp://localhost:3000/Client-side API URL
NEXT_PUBLIC_IGNITER_API_BASE_PATH/api/v1Client-side API base path

Example

igniter init my-app --template nextjs

tanstack-start

Full-stack starter using TanStack Start with a similar structure to the Next.js starter.

Dependencies: @igniter-js/core (latest)

Environment Variables

VariableDefaultDescription
IGNITER_APP_NAMEIgniter AppApplication name
IGNITER_APP_SECRETmy-secret-keyApplication secret
IGNITER_API_URLhttp://localhost:3000/Server-side API URL
IGNITER_API_BASE_PATH/api/v1API base path
REACT_APP_IGNITER_API_URLhttp://localhost:3000/Client-side API URL
REACT_APP_IGNITER_API_BASE_PATH/api/v1Client-side API base path

Example

igniter init my-app --template tanstack-start

express-rest-api

A backend-only starter using Express.js. Includes the core Igniter.js router, client, and context — without any frontend framework.

Dependencies: @igniter-js/core (latest)

Environment Variables

VariableDefaultDescription
IGNITER_APP_NAMEApplication name
IGNITER_APP_SECRETApplication secret
IGNITER_API_URLAPI URL
IGNITER_API_BASE_PATHAPI base path

Example

igniter init my-api --template express-rest-api

bun-rest-api

A backend-only starter targeting the Bun runtime. Uses Bun's native HTTP server with Igniter.js integration.

Dependencies: @igniter-js/core (latest)

Environment Variables

VariableDefaultDescription
IGNITER_APP_NAMEApplication name
IGNITER_APP_SECRETApplication secret
IGNITER_API_URLAPI URL
IGNITER_API_BASE_PATHAPI base path

Example

igniter init my-bun-api --template bun-rest-api

bun-react-app

A full-stack starter using Bun + React. Combines Bun's server with a React frontend.

Dependencies: @igniter-js/core (latest)

Environment Variables

VariableDefaultDescription
IGNITER_APP_NAMEApplication name
IGNITER_APP_SECRETApplication secret
IGNITER_API_URLAPI URL
IGNITER_API_BASE_PATHAPI base path

Example

igniter init my-bun-react --template bun-react-app

deno-rest-api

A backend-only starter targeting the Deno runtime. Uses Deno's native HTTP server with Igniter.js integration.

Dependencies: @igniter-js/core (latest)

Environment Variables

VariableDefaultDescription
IGNITER_APP_NAMEApplication name
IGNITER_APP_SECRETApplication secret
IGNITER_API_URLAPI URL
IGNITER_API_BASE_PATHAPI base path

Example

igniter init my-deno-api --template deno-rest-api

Starter Architecture

All starters extend BaseStarter and implement a common interface:

interface Starter {
  id: string;           // CLI identifier (e.g., 'nextjs')
  name: string;         // Display name
  description: string;  // Short description
  hint: string;         // Category hint for prompts
  repository: string;   // Source repository name
  templates: Template[]; // Handlebars templates to apply
  dependencies: Dep[];  // Package dependencies
  envVars: EnvVar[];    // Environment variables
  install(dir, config): Promise<void>;  // Installation logic
}

New starters can be added by extending BaseStarter, implementing the install method, and registering with the StarterRegistry.


Next Steps