
tscircuit
github.com/tscircuit/tscircuit- Category
- Developer Tools
- Rank
- No. 515Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- @heynavtoor
- GitHub
- 2.6k stars
- Date
About
Design electronic circuits and PCBs using React components and TypeScript. Create schematics, generate manufacturing files, and order real circuit boards with a modern web development workflow.
What it does
tscircuit turns circuit descriptions into a live development project built from familiar typed components. Its wider suite includes a registry, package manager, browser previews, reusable packages, routing, fabrication exports, and manufacturer-ready output. React Fiber connects the component model to schematic and board rendering.
Why it's ranked here
The strongest case is workflow breadth. One globally installed package exposes both a library and command-line environment, while the project can preview designs and produce Gerbers, pick-and-place data, and bills of materials. The appeal is narrower for teams expecting mature automatic placement: the documentation still asks designers to position board components themselves.
What's good
Circuit elements compose like ordinary React elements, so developers can use standard TypeScript and React tooling instead of learning an entirely separate programming environment. The command line boots a browser preview for rapid editing. Registry packages support reuse and publishing. Manufacturing exports cover Gerbers, pick-and-place data, and bills of materials, while third-party footprints and components can be imported.
Tradeoffs
Board placement still needs explicit coordinates, although groups can reduce repetition. PCB autolayout is described as work in progress, and autorouting is still being developed. Several included guides openly call themselves placeholders. The package also aggregates a large dependency set, so adopters are buying into a broad ecosystem rather than a small circuit-description library.
How to use it well
It fits TypeScript and React developers who want circuit design beside normal source code, with live browser feedback and fabrication exports at the end. Start through the command-line development environment, then publish reusable subpackages through the registry. Use dedicated viewers when embedding results in an existing React application. Do not treat it as a finished automatic board-placement solution.
Technical notes+
package.json defines an ESM npm package, requires TypeScript 5 as a peer, exposes a library root and browser subpath, and maps both tsci and tscircuit binaries to cli.mjs. cli.mjs runs under Bun, records the package version globally, locates the bundled browser runtime when available, and then imports @tscircuit/cli. index.ts re-exports @tscircuit/core and @tscircuit/eval, plus selected circuit JSON and component prop types. tsup.config.ts builds ESM with declarations and inline source maps. globals.d.ts and types/static-assets.d.ts declare imports for circuit, mesh, and 3D asset formats. ava.config.js targets TypeScript tests under a tests tree, while scripts/smoke-init-test.ts performs a global-install command-line smoke check.
Observed
- License
- MIT
- Primary language
- TypeScript
- Packaging
- ESM npm package with TypeScript 5 peer dependency
- Install surface
- Global npm installation is documented
- Interfaces
- Library, browser subpath, registry, package manager, and command-line interface
- CLI commands
- Both tsci and tscircuit command names are provided
- Browser support
- Browser previews, an online playground, and React viewer embedding are documented
- Build and test tooling
- tsup builds ESM declarations; Bun runs the package test script
Read from README.md, package.json, cli.mjs, index.ts, docs/introduction.md, docs/how-to-publish.md, docs/CONTRIBUTOR_PROGRAM.md, docs/manual-installation.md, globals.d.ts, ava.config.js, tsup.config.ts, types/static-assets.d.ts, scripts/smoke-init-test.ts, types/core-package-json.d.ts, scripts/copy-core-versions.ts.
What it can do
Design electronic circuits using React components
React/TypeScript component definitions → Circuit design representation
Generate PCB schematics
Circuit design specifications → Electronic schematic diagrams
Export manufacturing files for PCBs
Circuit board designs → Manufacturing-ready files (Gerber, drill files, etc.)
Convert TypeScript circuit code to physical board layouts
TypeScript circuit component code → PCB layout files
Order real circuit boards for manufacturing
Finalized PCB designs → Manufacturing order placement
Tags
Tech Stack
Media

Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.