Skip to main content
Contributing

Overview of Projects

tscircuit is split into focused repositories. Use this page to route an issue or pull request to the repo that 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, or layout behaviortscircuit/core
TypeScript props accepted by tscircuit elementstscircuit/props
The shared circuit data format emitted by tscircuittscircuit/circuit-json
Schematic or PCB SVG renderingtscircuit/circuit-to-svg
Footprint strings and footprint parsingtscircuit/footprinter
Schematic symbolstscircuit/schematic-symbols
The online editor, package pages, accounts, or dashboard UItscircuit/tscircuit.com
Local commands such as tsci dev, tsci build, or 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
Autorouting algorithms or routing benchmark casestscircuit/autorouting
The autorouting web interfacetscircuit/autorouting.com
EasyEDA, JLCPCB, KiCad, Eagle, or DSN import/exportThe converter repos listed below
Documentation, tutorials, and contribution guidestscircuit/docs

Core Libraries

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 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/circuit-to-svgConverts Circuit JSON into schematic and PCB SVGs.Snapshot fixes, renderer bugs, visual output improvements.GitHub issues

Authoring Tools

RepoWhat it ownsGood contributionsOpen issues
tscircuit/cliThe tsci command line workflow for local development, package commands, exports, and builds.Command bugs, clearer errors, package workflow fixes, export options.GitHub issues
tscircuit/docsDocumentation, tutorials, guides, API references, and examples.Missing docs, clearer examples, docs navigation, contribution guides.GitHub issues
tscircuit/runframeEmbeddable React runtime for previewing and running tscircuit code.Preview runtime bugs, iframe behavior, editor integration, loading states.GitHub issues

Viewers and Web Apps

RepoWhat it ownsGood contributionsOpen 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/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/autorouting.comWeb interface for autorouting experiments and debugging.Route visualization, job status UX, debug views, integration fixes.GitHub issues

Symbols, Footprints, and Converters

RepoWhat it ownsGood contributionsOpen issues
tscircuit/schematic-symbolsReusable schematic symbols.Missing symbols, symbol metadata, test fixtures, examples.GitHub issues
tscircuit/footprinterGenerates PCB footprints from footprint strings.New footprints, parser fixes, footprint snapshots.GitHub issues
tscircuit/easyeda-converterConverts EasyEDA and JLCPCB data into tscircuit-compatible output.Import bugs, part mapping, footprint conversion.GitHub issues
tscircuit/kicad-converterConverts KiCad data for tscircuit workflows.KiCad import/export fixes, library conversion coverage.GitHub issues
tscircuit/eagle-xml-converterConverts Eagle XML files into tscircuit-compatible data.Eagle import coverage, converter bugs, fixture tests.GitHub issues
tscircuit/dsn-converterConverts Specctra DSN files into Circuit JSON.DSN parsing, autorouter import/export compatibility, fixtures.GitHub issues

Autorouting and Community Infrastructure

RepoWhat it ownsGood contributionsOpen issues
tscircuit/autoroutingAutorouting algorithms, datasets, benchmarks, and route problem definitions.Algorithm improvements, reduced route failures, benchmark cases.GitHub issues
tscircuit/contribution-trackerContribution summaries and sponsorship signals.Scoring logic, contribution ingestion, dashboard data fixes.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, fixture, or screenshot when changing visual output.
  • Put type or schema changes in props or circuit-json before wiring them into core.
  • 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.