Skip to content

Command mode

Every wizard step is also available as a flag. Pass everything a command needs and the wizard is skipped entirely or leave a value out and the CLI only prompts for that one, which is handy for templates, CI pipelines, or repeated scaffolding.

Commands

bash
paraspell-cli sdk [framework] [flags]
paraspell-cli api [framework] [flags]

framework can also be passed positionally instead of via --framework.

Flags

FlagValuesDescription
--namestringProject name
--frameworkreact | vue | nodeTarget framework (default react)
--clientpapi | pjs | dedotJS client, sdk command only (default papi)
--extensionscomma-separated list of evm, swap, snowbridgeExtensions to include
--package-managernpm | yarn | pnpm | bunPackage manager used to install dependencies (default pnpm)
--outpathOutput directory
--private-keystringEVM wallet key for the Node.js server, when using EVM or Snowbridge origins
--substrate-mnemonicstringSubstrate mnemonic or //Dev URI for the Node.js server

Examples

bash
# React app using the XCM SDK and PAPI
npx paraspell-cli@latest sdk react \
  --name my-xcm-app \
  --client papi \
  --package-manager pnpm

# Vue app using the XCM API with EVM origins and swaps
npx paraspell-cli@latest api vue \
  --name my-xcm-api \
  --extensions evm,swap \
  --package-manager npm

# Headless SDK server with swaps
npx paraspell-cli@latest sdk node \
  --name my-xcm-server \
  --client dedot \
  --extensions swap

INFO

Non-interactive environments use sensible defaults for anything not passed as a flag. Dependency installation stays an explicit step, so it can be run separately in CI.

WARNING

Avoid typing --private-key or --substrate-mnemonic literally in shared shells or CI logs: command-line values can end up in shell history. Pass them via an environment variable instead. Prefferably through the interactive prompt, or edit the generated .env directly.