Overview of tscircuit projects
tscircuit is split across focused repositories. Use this page to find the right place to report an issue, open a pull request, or start a bounty attempt.
Start here
| Repo | What belongs there |
|---|---|
| tscircuit/tscircuit | Main user-facing package for writing electronics with TypeScript and React. Start here for examples and high-level user experience issues. |
| tscircuit/core | Core compiler that turns React components into Circuit JSON. Use this for component behavior, prop handling, and render-to-data bugs. |
| tscircuit/cli | Local development server and command-line workflow, including project creation, preview, build, import, export, and auth commands. |
| tscircuit/docs | Documentation, tutorials, reference pages, and contributor guides. |
| tscircuit/tscircuit.com | Main website, playground, registry UI, and online development environment. |
Circuit JSON and validation
| Repo | What belongs there |
|---|---|
| tscircuit/circuit-json | Schema and types for the low-level circuit representation used across the ecosystem. |
| tscircuit/props | Shared prop definitions for supported tscircuit components. |
| tscircuit/checks | Design-rule and validity checks for Circuit JSON. |
| tscircuit/eval | Evaluates tscircuit code to Circuit JSON in browsers, Node.js, or web workers. |
| tscircuit/runframe | Runs tscircuit code in a web worker and powers preview experiences. |
Viewers and renderers
| Repo | What belongs there |
|---|---|
| tscircuit/circuit-to-svg | Renders Circuit JSON to schematic, PCB, and assembly SVGs. |
| tscircuit/circuit-to-canvas | Draws Circuit JSON to Canvas-compatible targets. |
| tscircuit/pcb-viewer | React PCB viewer. |
| tscircuit/schematic-viewer | React schematic viewer. |
| tscircuit/3d-viewer | 3D viewer for boards created with tscircuit. |
| tscircuit/svg.tscircuit.com | Service for rendering encoded tscircuit snippets into SVGs for docs and embeds. |
Importers, exporters, and manufacturing formats
| Repo | What belongs there |
|---|---|
| tscircuit/circuit-json-to-gerber | Exports Circuit JSON to Gerber. |
| tscircuit/circuit-json-to-kicad | Exports Circuit JSON to KiCad. |
| tscircuit/circuit-json-to-step | Exports Circuit JSON to STEP. |
| tscircuit/circuit-json-to-gltf | Exports Circuit JSON to GLTF/GLB. |
| tscircuit/circuit-json-to-tscircuit | Converts Circuit JSON back into tscircuit code. |
| tscircuit/kicad-to-circuit-json | Imports KiCad projects into Circuit JSON. |
| tscircuit/easyeda-converter | Converts EasyEDA/JLCPCB footprint data into tscircuit-compatible formats. |
| tscircuit/footprinter | Footprint DSL and micro-builder designed to be friendly to AI-generated footprints. |
| tscircuit/jscad-electronics | JSCAD functions for electronics geometry. |
Routing and layout
| Repo | What belongs there |
|---|---|
| tscircuit/tscircuit-autorouter | Main MIT-licensed PCB autorouter. |
| tscircuit/schematic-trace-solver | Schematic trace routing and net-label placement. |
| tscircuit/calculate-packing | The pack layout algorithm. |
| tscircuit/copper-pour-solver | Copper pour polygon solver. |
| tscircuit/hypergraph, tscircuit/tiny-hypergraph, and tscircuit/pcb-poly-hyper-graph | Graph utilities used by routing and layout tools. |
Parts, packages, and examples
| Repo | What belongs there |
|---|---|
| tscircuit/common | Community-contributed components. |
| tscircuit/jlcsearch | Finds JLCPCB parts matching design constraints. |
| tscircuit/parts-engine | Platform parts engine. |
| tscircuit/sparkfun-boards | SparkFun boards recreated in tscircuit. |
| tscircuit/example-custom-autorouter | Example repo for using a custom autorouter. |
How to choose a repository
- If your change affects the code users write, start with
tscircuit,core, orprops. - If your change affects generated data, start with
circuit-json,checks, oreval. - If your change affects visual output, start with a viewer or renderer repo.
- If your change affects manufacturing/export files, start with a converter repo.
- If your change affects routing or layout quality, start with the autorouter, solver, or hypergraph repos.
- If you are unsure, open a small issue in the closest repo and include a minimal reproduction.
Pull request checklist
- Link the issue or bounty in the PR body.
- Keep the change scoped to one repo and one behavior when possible.
- Add or update tests for code changes.
- Update docs or examples when user-facing behavior changes.
- Include the exact local commands you ran to verify the change.