Commands
The CLI has two core commands shipped in @sigx/cli (create and info) plus a set of commands contributed by plugins at runtime. Run any command through your package runner:
pnpm dlx sigx <command>Core commands
sigx create
Scaffolds a new SignalX project, composing it from the kind, render mode, deploy target, styling and extras you pick.
sigx create [name] [--kind <spa|ssr|ssg|terminal|lynx>] [--render <hydrate|islands|resume>]
[--target <node|cloudflare|bun|deno|vercel|vercel-edge|netlify>]
[--styling <none|tailwind|daisyui>] [--features <a,b>] [--pm <pnpm|npm|yarn|bun|deno>]
[--install|--no-install] [--git|--no-git] [--preset quick] [--yes|-y] [--list]
With no flags it runs an interactive wizard on @sigx/terminal: name → Quick start or Customize → the shape questions → package manager → install and git → a summary you confirm. It falls back to headless, flag-driven mode when standard input/output is not a TTY, when --yes / -y is passed, or when a kind (--kind, --type or --preset) comes with a positional name. Headless never installs dependencies or touches git unless asked.
sigx create # the wizard
sigx create my-app --preset quick --install --git -y
sigx create my-app --kind ssr --render resume --target cloudflare -y
sigx create --list # everything this build can generate
--type basic|ssr|ssg|terminal|lynx is a deprecated alias of --kind, with basic meaning spa.
Exit codes — 2 for an invalid or contradictory flag, 1 when scaffolding fails (for example the target directory already exists), 130 when a prompt is cancelled.
→ Creating a Project covers the wizard step by step, every flag, what each kind generates, the render modes and deploy targets, and the extras matrix.
Notes
- Generated projects pin the matched
sigx/@sigx/*set the CLI was released against — neverlatest— so the peer graph resolves to a single copy of@sigx/reactivity. The current CLI is v0.11.0. - If the target directory is inside a pnpm workspace (a
pnpm-workspace.yamlis found by walking up the tree),@sigx/*dependencies in the generatedpackage.jsonare rewritten toworkspace:*. - SSG and terminal projects ship their own
pnpm-workspace.yamlallowingesbuildto run its install script (allowBuildsfor pnpm 11,onlyBuiltDependenciesfor pnpm 10) — pnpm 11 fails the install otherwise. - Every project gets a
README.mdand a.gitignore, with commands spelled for the chosen package manager. - The terminal prompt kit (
@sigx/terminal) is lazy-loaded, so it is only pulled in when you actually runcreateinteractively.
sigx info
Prints environment and project diagnostics. No flags.
sigx info
It reports:
- platform / architecture and Node.js version,
- the pnpm or npm version,
- the project
nameandversionfrompackage.json, - detected
@sigx/*dependencies (andsigx), - detected config files:
sigx.lynx.config.ts/js,lynx.config.ts/js,ssg.config.ts,vite.config.ts.
When a Lynx config is detected it additionally probes the Lynx toolchain: rspeedy version, ANDROID_HOME / ANDROID_SDK_ROOT, JDK version, ADB version and connected devices, and on macOS Xcode and CocoaPods.
Plugin-provided commands
The following commands are not part of @sigx/cli — they are discovered at runtime from installed plugin packages whose detect(cwd) returns true for your project. See Installation for which package provides each one, and Authoring Plugins to write your own.
sigx dev
Starts the dev server. Provided by @sigx/vite for web projects and @sigx/lynx-cli for Lynx.
sigx dev
sigx build
Runs a production build. Provided by @sigx/vite (web) and @sigx/lynx-cli (Lynx).
sigx build
sigx preview
Serves a built SSG site. Provided by @sigx/ssg.
sigx preview
sigx prebuild
Generates native iOS/Android project files. Provided by @sigx/lynx-cli.
sigx prebuild
sigx run:android
Builds and launches the app on an Android device or emulator. Provided by @sigx/lynx-cli.
sigx run:android
sigx run:ios
Builds and launches the app on iOS. Provided by @sigx/lynx-cli.
sigx run:ios
sigx doctor
Verifies the Lynx toolchain (rspeedy, ADB, Xcode, JDK). Provided by @sigx/lynx-cli.
sigx doctor
Command resolution & conflicts
The CLI builds its command list by starting with the core info and create commands, then registering each discovered plugin command. On a name collision the last plugin wins, and a warning is logged:
[sigx] WARN Plugin "X" overrides command "Y"
