API Reference

Complete reference for every CLI command, flag, option, and subcommand. Includes all supported values and default behaviors.

API Reference

This page documents every command, flag, and option available in @igniter-js/cli. All defaults and behaviors are verified against the actual implementation in packages/cli/src/.


Global Options

These apply to the top-level igniter command:

OptionDescription
--helpShow help for the current command
--versionShow the CLI version (0.0.1)

igniter init

igniter init [project-name] [options]

Arguments

ArgumentTypeRequiredDescription
project-namestringNoName of the project directory. If omitted, prompts interactively.

Options

OptionTypeDefaultDescription
--mode"install" | "new-project"new-projectOperation mode
--pm, --package-manager"npm" | "yarn" | "pnpm" | "bun"auto-detectedPackage manager
--templatestringinteractive promptStarter template
--add-onsstringComma-separated add-ons with inline options
--database"none" | "postgresql" | "mysql" | "sqlite"Database provider (shorthand)
--no-gitflagfalseSkip git init
--no-installflagfalseSkip dependency installation
--no-dockerflagfalseSkip Docker setup

Template Values

ValueFrameworkRuntimeType
nextjsNext.js 15Node.jsFull-stack
tanstack-startTanStack StartNode.jsFull-stack
express-rest-apiExpressNode.jsBackend API
bun-rest-apiBunBunBackend API
bun-react-appBun + ReactBunFull-stack
deno-rest-apiDenoDenoBackend API

Add-on Values

ValueHas OptionsDescription
databaseYesORM + provider selection
authYesBetter Auth + plugins
jobsNoBackground job processing
storeNoRedis key-value store
mcpNoMCP server for AI agents
loggingNoStructured logging
telemetryNoOpenTelemetry
botsNoMulti-platform bots
shadcn-uiNoshadcn/ui init

Inline Add-on Notation

--add-ons "addon-id[:option1[:option2+value2]]"
SeparatorPurpose
,Separate add-ons
:Separate positional options
+Separate multi-select values

igniter generate

igniter generate <subcommand> [options]

Subcommands

generate feature

igniter generate feature [name] [options]
OptionTypeDefaultDescription
[name]stringinteractiveFeature name (kebab-case)
--schemastringSchema provider + model (e.g., prisma:User)
--schema-pathstringauto-detectedCustom schema file path

generate controller

igniter generate controller [name] [options]
OptionTypeDefaultDescription
[name]stringinteractiveController name (kebab-case)
-f, --featurestringinteractiveTarget feature name

generate procedure

igniter generate procedure [name] [options]
OptionTypeDefaultDescription
[name]stringinteractiveProcedure name (kebab-case)
-f, --featurestringinteractiveTarget feature name

generate docs

igniter generate docs [options]
OptionTypeDefaultDescription
--routerstringsrc/igniter.router.tsRouter file path
--outputstring./src/docsOutput directory

generate schema

igniter generate schema [options]
OptionTypeDefaultDescription
--routerstringsrc/igniter.router.tsRouter file path
--outputstringsrc/igniter.schema.tsOutput file path

generate caller

igniter generate caller [options]
OptionTypeDefaultDescription
--namestringinteractiveCaller name prefix
--urlstringRemote OpenAPI URL
--pathstringLocal OpenAPI path
--outputstringsrc/callers/<hostname>Output directory

igniter dev

igniter dev [options]
OptionTypeDefaultDescription
--routerstringsrc/igniter.router.tsRouter file path
--outputstringsrc/igniter.schema.tsSchema output path
--docs-outputstring./src/docsDocs output directory
--cmdstringauto-detectedDev server command

Auto-detected Dev Commands

Package ManagerDefault Command
npmnpm run dev
pnpmpnpm dev
yarnyarn dev
bunbun dev

Package Manager Detection

The CLI detects your package manager from process.env.npm_config_user_agent:

User Agent PrefixPackage ManagerExecutor
yarn/yarnyarn dlx
pnpm/pnpmpnpx
bun/bunbunx
(any other)npmnpx

Framework Detection (Install Mode)

Detection RuleDetected Framework
next.config.js or next.config.ts existsnextjs
@tanstack/react-start in package.json dependenciestanstack-start
Neither matchedgeneric

Exit Codes

CodeMeaning
0Success
1Error (initialization failed, file not found, validation error)

Next Steps