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:

Terminal
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.

Terminal
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.

Terminal
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
pnpm create @sigx@latest -- --help             # the options, without scaffolding

--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 — never latest — so the peer graph resolves to a single copy of @sigx/reactivity. The current CLI is v0.14.0.
  • If the target directory is inside a pnpm workspace (a pnpm-workspace.yaml is found by walking up the tree), @sigx/* dependencies in the generated package.json are rewritten to workspace:*.
  • With pnpm, SSG and terminal projects ship their own pnpm-workspace.yaml allowing esbuild to run its install script, and Lynx apps allow esbuild and sharp (allowBuilds for pnpm 11, onlyBuiltDependencies for pnpm 10) — pnpm 11 fails the install otherwise.
  • Every project gets a README.md and 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 run create interactively.

sigx info#

Prints environment and project diagnostics. No flags.

Terminal
sigx info

It reports:

  • platform / architecture and Node.js version,
  • the pnpm or npm version,
  • the project name and version from package.json,
  • detected @sigx/* dependencies (and sigx),
  • 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.

Terminal
sigx dev

sigx build#

Runs a production build. Provided by @sigx/vite (web) and @sigx/lynx-cli (Lynx).

Terminal
sigx build

sigx preview#

Serves a built SSG site. Provided by @sigx/ssg.

Terminal
sigx preview

sigx prebuild#

Generates native iOS/Android project files. Provided by @sigx/lynx-cli.

Terminal
sigx prebuild

Scaffolded Lynx apps run it as the native:prebuild script. Apps created before @sigx/cli 0.13 named it prebuild, which npm also ran before every npm run build; rename it to native:prebuild.

sigx run:android#

Builds and launches the app on an Android device or emulator. Provided by @sigx/lynx-cli.

Terminal
sigx run:android

sigx run:ios#

Builds and launches the app on iOS. Provided by @sigx/lynx-cli.

Terminal
sigx run:ios

sigx run:web#

Builds a Lynx app for the browser and serves it with live reload. Provided by @sigx/lynx-cli.

Terminal
sigx run:web

sigx doctor#

Verifies the Lynx toolchain: Node, the Android SDK, JDK, ADB and emulators, Xcode and CocoaPods, rspeedy, and whether your @sigx package versions match. Every problem gets a fix: line, and it exits non-zero on errors. Provided by @sigx/lynx-cli.

Terminal
sigx doctor

sigx upgrade#

Moves every @sigx/lynx-* package to one release, together with the @sigx/runtime-core, @sigx/reactivity, @sigx/cli and @lynx-js/* ranges that release declares. Provided by @sigx/lynx-cli.

Terminal
sigx upgrade

The Lynx commands' flags are in the @sigx/lynx-cli reference.

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"