Skip to main content
Contributing

Overview of Projects

tscircuit is split across focused repositories. Use this guide to decide where to open an issue, where to send a pull request, and which repo owns the behavior you want to change.

Quick Chooser​

If you want to work on...Start here
React elements such as <board />, <chip />, traces, nets, and layout behaviortscircuit/core
TypeScript props accepted by tscircuit elementstscircuit/props
The shared circuit data format emitted by tscircuittscircuit/circuit-json
Evaluating user TSX/TypeScript circuit files in the browser or workertscircuit/eval
Schematic or PCB SVG renderingtscircuit/circuit-to-svg
Footprint strings and footprint parsingtscircuit/footprinter
Schematic symbolstscircuit/schematic-symbols
Parametric 3D electronic component modelstscircuit/jscad-electronics
The online editor, package pages, accounts, or dashboard UItscircuit/tscircuit.com
Local commands such as tsci dev, tsci build, and tsci exporttscircuit/cli
Embedded previews used in docs and external sitestscircuit/runframe
PCB viewer interaction or renderingtscircuit/pcb-viewer
3D board previews and model loadingtscircuit/3d-viewer
PCB autorouting, schematic trace routing, or component packing solverstscircuit/tscircuit-autorouter, tscircuit/schematic-trace-solver, tscircuit/matchpack
Documentation, tutorials, contribution guides, or examplestscircuit/docs

Core & Language​

RepoWhat it ownsGood contributionsOpen issues
tscircuit/coreConverts React components into Circuit JSON, schematics, and PCB outputs.Element behavior, layout logic, routing inputs, regression tests.GitHub issues
tscircuit/propsTypeScript and Zod prop definitions for tscircuit elements.Prop additions, prop docs, stricter element typing.GitHub issues
tscircuit/circuit-jsonThe shared data format for circuits, boards, schematic elements, and manufacturing outputs.Schema changes, validators, fixtures, compatibility notes.GitHub issues
tscircuit/evalBundles and evaluates tscircuit TypeScript/TSX modules into Circuit JSON.Import resolution, web-worker execution, error reporting.GitHub issues

Footprints, Symbols, And 3D Models​

RepoWhat it ownsGood contributionsOpen issues
tscircuit/footprinterGenerates PCB footprints from footprint strings (such as 0402, soic8, qfn32).New footprints, parser fixes, IPC dimension accuracy, footprint snapshots.GitHub issues
tscircuit/schematic-symbolsLibrary of reusable schematic symbols used across tscircuit.Missing symbols, symbol metadata, test fixtures, examples.GitHub issues
tscircuit/jscad-electronicsParametric 3D CAD models for electronic packages built with JSCAD.New package 3D models, pin geometry accuracy, footprint-to-3D matching.GitHub issues

Viewers, Renderers, And Web Apps​

RepoWhat it ownsGood contributionsOpen issues
tscircuit/runframeEmbeddable runtime combining code execution, schematic, PCB, and 3D viewers.Preview runtime bugs, solver web workers, toolbar controls, error overlays.GitHub issues
tscircuit/pcb-viewerReact PCB viewer used by docs, previews, and apps.Layer controls, interaction bugs, board rendering, viewer performance.GitHub issues
tscircuit/3d-viewer3D board and component previews.Model loading, camera behavior, 3D rendering, lighting, performance.GitHub issues
tscircuit/circuit-to-svgConverts Circuit JSON into schematic, PCB, assembly, and pinout SVGs.Snapshot fixes, renderer bugs, visual output improvements.GitHub issues
tscircuit/tscircuit.comMain website, online editor, account flows, package pages, and app UI.Editor bugs, UI polish, dashboard flows, package discovery.GitHub issues
tscircuit/docsDocumentation, tutorials, guides, API references, and examples.Missing docs, clearer examples, docs navigation, contribution guides.GitHub issues

Routing And Layout Solvers​

RepoWhat it ownsGood contributionsOpen issues
tscircuit/tscircuit-autorouterMulti-layer PCB trace autorouter, BGA/bus fanout solver, and capacity routing stages.Routing completion rate, DRC clearance fixes, via minimization, benchmarks.GitHub issues
tscircuit/schematic-trace-solverAutomatic schematic wire routing and net label placement solver.Overlap avoidance, cleaner orthogonal schematic wires, net label placement.GitHub issues
tscircuit/matchpackAutomatic PCB and schematic component packing and placement solver.Component spacing, orientation optimization, group boundary packing.GitHub issues
tscircuit/autoroutingAutorouting datasets, benchmarks, and route problem definitions.Benchmark cases, dataset curation, solver comparisons.GitHub issues

CLI And Converters​

RepoWhat it ownsGood contributionsOpen issues
tscircuit/cliThe tsci command line workflow for local development, packages, exports, and builds.Command bugs, clearer errors, package workflow fixes, export options.GitHub issues
tscircuit/circuit-json-to-kicadConverts Circuit JSON into KiCad schematics (.kicad_sch), layouts (.kicad_pcb), and projects (.kicad_pro).KiCad symbol/footprint mapping, design rule export, 3D model path handling.GitHub issues
tscircuit/easyeda-converterConverts EasyEDA and JLCPCB/LCSC parts into tscircuit footprints, symbols, and TSX components.Import bugs, part mapping, footprint and 3D model conversion.GitHub issues
tscircuit/dsn-converterConverts between Specctra DSN/SES files and Circuit JSON.DSN parsing, autorouter import/export compatibility, fixtures.GitHub issues
tscircuit/kicad-converterConverts KiCad footprints and modules for tscircuit workflows.KiCad import and export fixes, library conversion coverage.GitHub issues

Before Opening A PR​

  • Search the target repo's open issues first, then link the issue in your PR.
  • Include a small reproduction, unit test, SVG snapshot, or preview link when changing output.
  • Put prop changes in props before wiring them into core.
  • Put schema changes in circuit-json before relying on them in renderers or viewers.
  • Keep docs examples aligned with current element names and props.
  • If a bug crosses repos, open the PR in the repo that owns the failing behavior and mention any follow-up repos in the description.