A CLI for developing, managing and publishing tscircuit code (the "npm for tscircuit")
The.tscircuit.Command.Line.Tool.mp4
# Start a local dev server in your current directory
tsci devNote: The packages CLI uses the same configuration files as the @tscircuit/cli, so you may need to also install
npm install -g @tscircuit/cliand runtsci loginto authenticate!
npm install -g tscircuitUsage: tsci [options] [command]
CLI for developing tscircuit packages
Options:
-h, --help display help for command
Commands:
init [options] [directory] Initialize a new TSCircuit project in the
specified directory (or current directory if none
is provided)
dev [options] [file] Start development server for a package
clone [options] [package] Clone a package from the registry
push [options] [file] Save package code to Registry API
auth Login/logout
login Login to tscircuit registry
logout Logout from tscircuit registry
config Manage tscircuit CLI configuration
export [options] <file> Export tscircuit code to various formats
build [options] [file] Run tscircuit eval and output circuit json
transpile [file] Transpile TypeScript/TSX to JavaScript (ESM,
CommonJS, and type declarations)
add <packageSpec> Add a tscircuit component package to your project
remove <component> Remove a tscircuit component package from your
project
snapshot [options] [path] Generate schematic and PCB snapshots (add --3d
for 3d preview)
setup Setup utilities like GitHub Actions
install [packageSpec] Install project dependencies, or install a
specific package (e.g., tsci install
https://github.com/espressif/kicad-libraries)
update [packageSpec] Update tscircuit component packages to their
latest version
upgrade Upgrade CLI to the latest version
doctor Run diagnostic checks for your tscircuit setup
check Partially build and validate circuit artifacts
registry Manage tscircuit registry resources
search [options] <query...> Search for footprints, CAD models or packages in
the tscircuit ecosystem
import [options] <query...> Search JLCPCB or the tscircuit registry and
import a component
convert [options] <file> Convert a .kicad_mod footprint to a tscircuit
component
simulate Run a simulation
version [options] Print CLI version
help [command] display help for command
The build command also accepts the following options:
--ignore-errors- continue build even if circuit JSON contains errors--ignore-warnings- suppress warning output--ignore-netlist-drc- suppress netlist DRC diagnostics--ignore-pin-specification-drc- suppress pin-specification DRC diagnostics--ignore-placement-drc- suppress placement DRC diagnostics--ignore-routing-drc- suppress routing DRC diagnostics
This command will open the index.tsx file for editing.
bun run devWhen you run tsci dev, we start a local
server that uses the @tscircuit/file-server and @tscircuit/runframe (on the browser)
We use commanderjs to define the CLI commands inside
of cli/main.ts
Utility functions are defined in lib/*
Use the RUNFRAME_STANDALONE_FILE_PATH environment variable to point to the runframe standalone file. You will still need to run bun run build inside
runframe each time you'd like to load a new version of runframe.
export RUNFRAME_STANDALONE_FILE_PATH=../runframe/dist/standalone.min.js
cd ../runframe && bun run build
cd ../cli && bun run dev