X Tutup
Skip to content

tscircuit/cli

Repository files navigation

tscircuit command line interface (CLI)

A CLI for developing, managing and publishing tscircuit code (the "npm for tscircuit")

The.tscircuit.Command.Line.Tool.mp4

Usage

# Start a local dev server in your current directory
tsci dev

Note: The packages CLI uses the same configuration files as the @tscircuit/cli, so you may need to also install npm install -g @tscircuit/cli and run tsci login to authenticate!

Installation

npm install -g tscircuit

CLI USAGE

Usage: 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)
  upgrade                      Upgrade CLI to the latest version
  doctor                       Run diagnostic checks for your tscircuit setup
  check                        Partially build and validate circuit artifacts
  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                      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

Development

This command will open the index.tsx file for editing.

bun run dev

How it Works

When 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/*

Development

Dynamically Loading Runframe

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

About

Create electronics with React with a local development server

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

X Tutup