The CLI orchestrates mapping, lowering, and emitters. Use flags to select targets, override policies, and inspect output.
1# Standard generation commands:
2irgen examples/app.dsl.ts --targets=backend,frontend --outDir=generated/fullstack
3irgen examples/docs.dsl.ts --targets=static-site --outDir=generated/static-docs
4
5# Specialized v0.3.0+ Developer Commands:
6irgen init my-project --ext=php-shared-hosting
7irgen check examples/*.dsl.ts --ext=php-shared-hosting
8irgen studio examples/app.dsl.tsCore Flags
Use --targets to select outputs, --mode to force domain mapping, and --outDir to control output location.
1irgen examples/app.dsl.ts --targets=backend
2irgen examples/frontend.dsl.ts --mode=frontend --outDir=generated/frontendPolicies and Extensions
Override policies via --policies and load extensions with --ext. The CLI supports .ts extension modules via the tsx loader, and can also resolve installed npm packages by name.
1irgen examples/app.dsl.ts --targets=backend --policies='{"backend":{"core":{"generateId":"uuid_v4"}}}'
2irgen examples/app.dsl.ts --targets=backend --ext=./ext/my-ext.ts
3irgen examples/app.dsl.ts --targets=backend --ext=irgen-ext-php-shared-hostingEmitter Introspection
Use --emitters to list emitters or --emitter to run a specific one.
1irgen --emitters
2irgen examples/app.dsl.ts --emitter=backend-tsmorphDebugging IR
Inspect intermediate structures with --inspect-decl and --inspect-ir.
1irgen examples/app.dsl.ts --targets=backend --inspect-decl
2irgen examples/app.dsl.ts --targets=backend --inspect-irOutput Layout
When multiple targets are requested, output is grouped by target under the chosen outDir. Single target output goes directly to outDir.