Skip to main content
Contributing

Overview of Projects

tscircuit is split into many small packages and apps. Use this page to pick the right repository before opening an issue or pull request.

Where to Start

Core Libraries

RepoWhat it ownsGood contributionsOpen issues
tscircuit/coreConverts React components into Circuit JSON, schematics, and PCBsElement behavior, layout logic, bug fixes with testsGitHub issues
tscircuit/circuit-jsonShared data format for circuits, boards, schematic elements, and manufacturing outputsSchema changes, validation, type coverageGitHub issues
tscircuit/propsTypeScript prop definitions for tscircuit React elementsProp documentation, type fixes, new element propsGitHub issues
tscircuit/circuit-to-svgRenders Circuit JSON as schematic and PCB SVGsSnapshot fixes, renderer bugs, visual output improvementsGitHub issues

Developer Tools

RepoWhat it ownsGood contributionsOpen issues
tscircuit/cliThe tsci command line tool for local development, package workflows, and exportsCommand bugs, better errors, build and export workflowsGitHub issues
tscircuit/docsDocumentation, tutorials, guides, and API referencesMissing docs, clearer examples, contribution guidesGitHub issues
tscircuit/autoroutingAutorouting algorithms, datasets, and benchmark problemsRouting algorithms, regression cases, benchmark improvementsGitHub issues
tscircuit/contribution-trackerTracks and summarizes tscircuit contributions and sponsorship signalsScoring logic, contribution summaries, dashboard data fixesGitHub issues

Web Apps and Viewers

RepoWhat it ownsGood contributionsOpen issues
tscircuit/tscircuit.comMain website, online editor, account flows, and package pagesEditor bugs, UI polish, dashboard workflowsGitHub issues
tscircuit/runframeEmbeddable React runtime for previewing and running tscircuit codePreview bugs, iframe/runtime behavior, editor integrationGitHub issues
tscircuit/pcb-viewerReact PCB viewer used in docs, apps, and previewsPCB interaction bugs, rendering issues, viewer performanceGitHub issues
tscircuit/3d-viewer3D board and component previewsModel loading, camera behavior, 3D rendering performanceGitHub issues
tscircuit/autorouting.comWeb interface for autorouting experiments and debuggingRoute visualization, job status UX, integration fixesGitHub issues

Component Libraries and Converters

RepoWhat it ownsGood contributionsOpen issues
tscircuit/schematic-symbolsReusable schematic symbolsAdd missing symbols, fix symbol metadata, improve examplesGitHub issues
tscircuit/footprinterGenerates PCB footprint strings and footprint geometryAdd missing footprints, parser fixes, snapshot coverageGitHub issues
tscircuit/easyeda-converterConverts EasyEDA and JLCPCB data into tscircuit-compatible outputImport bugs, footprint conversion, component mappingGitHub issues
tscircuit/kicad-converterConverts KiCad data for use in tscircuit workflowsKiCad import/export fixes, library conversion coverageGitHub issues
tscircuit/eagle-xml-converterConverts Eagle XML files for tscircuit-compatible workflowsEagle import coverage, converter bugs, fixture testsGitHub issues
tscircuit/dsn-converterConverts Specctra DSN files into Circuit JSONDSN parsing, autorouter import/export compatibilityGitHub issues

Choosing the Right Repo

If you want to work on...Start here
A broken or missing React elementtscircuit/core or tscircuit/props
Schematic or PCB SVG outputtscircuit/circuit-to-svg
The online editor or package pagestscircuit/tscircuit.com
Local commands like tsci dev, tsci build, or tsci exporttscircuit/cli
Embedded previews inside docs or external sitestscircuit/runframe
PCB rendering or interactiontscircuit/pcb-viewer
3D rendering or model loadingtscircuit/3d-viewer
Autorouting experiments and route debuggingtscircuit/autorouting.com
Footprints and symbolstscircuit/footprinter or tscircuit/schematic-symbols
Importing parts from EasyEDA, JLCPCB, or KiCadtscircuit/easyeda-converter or tscircuit/kicad-converter