Getting Started as a Contributor
tscircuit is a great project to contribute to if you're familiar with Typescript and React.
tscircuit is composed of over 200 repositories, but every project uses bun, so make sure to install bun before you start contributing.
To contribute to tscircuit, you need to make Pull Requests from a fork of a repository.
Before You Start
- Make sure bun is installed on your system
- Make sure you've signed up at tscircuit.com and have followed a tutorial in the docs to create a circuit board
Recommended Contribution Order
We recommend the following order for contributing to tscircuit. Contributing to repositories in this order will make sure you have a good understanding of the tscircuit ecosystem.
If you're not able to find an issue in the repo, ask on discord! Maintainers often forget to create issues even though there are many problems they need solved!
1. tscircuit/schematic-symbols
Difficulty: ⭐ (easy) · Issues · Repo
This is a large repository of schematic symbols, you can view the symbols here
We also have a video tutorial for contributing to this project!
2. tscircuit/footprinter
Difficulty: ⭐⭐ (medium) · Issues · Repo
This is a project that generates the "footprint" where a chip is placed on a circuit board from a string.
For example, you might turn the string "quad24" into the image below:
Here's the video tutorial for contributing to footprinter
3. tscircuit/cli
Difficulty: ⭐⭐ (medium) · Issues · Repo
This is the main development tool for tscircuit. It provides a local development server and package management. The CLI is what you use when you run tsci dev
or tsci init
.
4. tscircuit.com
Difficulty: ⭐⭐ (medium) · Issues · Repo
This is the main website for tscircuit, it features an editor for circuit boards! You should try it at tscircuit.com!
There are a lot of issues in this repo,
5. circuit-to-svg
Difficulty: ⭐⭐ (medium) · Issues · Repo
This is a library that converts Circuit JSON into SVG files. We use this all over the place, including in almost all of our tests!
6. tscircuit/core
Difficulty: ⭐⭐⭐ (hard) · Issues · Repo
This is the core library that powers tscircuit. It contains all the logic for converting React components into circuit boards, schematics and PCBs.
The core library is written in Typescript and uses React. It's a great project to contribute to if you want to learn about how tscircuit works under the hood.
Here's a video tutorial for contributing to core.