Soundorv0.13.0

CLI

The soundor command: create, generate, develop, build and check a plugin project.

Source: packages/cli/.

soundor runs a project through its lifecycle: it reads soundor.config.ts, generates the plugin's contract, bundles the UI, and drives each runtime.

pnpm add -D soundor

A new project has it already, with package scripts for each command (create-soundor-app). Run it through your package manager: pnpm exec soundor dev web, or with the scripts, pnpm dev (the project's first runtime).

Commands

CommandWhat it does
soundor init [runtime]Writes the runtimes' host projects, once: yours to edit.
soundor genRegenerates the types and the runtimes' frameworks from the config.
soundor dev <runtime>Develops with one runtime: builds, watches, reloads the UI.
soundor build [runtime]Builds the plugin for release, with every runtime or one.
soundor doctorChecks the machine, the config and each runtime's prerequisites.
soundor driverInspects a running plugin's native UI (Soundor Driver).

Every project command takes --config <path>. Without it, the CLI looks for soundor.config.ts in the current directory, then in its parents, so it runs from anywhere in the project.

flowchart LR
    config["soundor.config.ts"] --> gen["gen: types and frameworks"]
    src["src/main.tsx"] --> bundle["the UI bundle"]
    gen --> dev["dev: a runtime, live"]
    gen --> build["build: release output"]
    bundle --> dev
    bundle --> build
    init["init: runtimes/&lt;id&gt;/, once"] -.-> dev
    init -.-> build

dev and build run gen and bundle the UI themselves, so day to day you run only them. Project lifecycle explains which files each command writes, and which are yours.

On this page