contributions.tscircuit.com γ» tscircuit.com γ» Contribution Overviews γ» Changelogs
Generates weekly contribution overviews for tscircuit contributors. Check out all the contribution overviews here You can find AI-generated monthly changelogs in the changelogs directory.
- All PRs in the tscircuit org are scanned/summarized via an LLM
- The LLM classifies each Diff/PR as into a set of attributes for scoring
- All the PRs, summaries, and classifications are organized into charts and tables for the website
Want to run locally? See the Development Section
The current week is shown below. There are 4 major sections:
The current week is shown below. There are 4 major sections:
pie
"tscircuit/tscircuit" : 6
"tscircuit/tscircuit.com" : 2
"tscircuit/eval" : 2
"tscircuit/runframe" : 6
"tscircuit/cli" : 6
"tscircuit/core" : 1
"tscircuit/contribution-tracker" : 2
"tscircuit/copper-pour-solver" : 1
"tscircuit/circuit-json-to-gerber" : 1
"tscircuit/kicadts" : 4
"tscircuit/kicad-to-circuit-json" : 2
| Contributor | π³ Major | π Minor | π Tiny | β | Score | Discussion Contributions |
|---|---|---|---|---|---|---|
| imrishabh18 | 4 | 2 | 0 | ββ | 21 | 0πΉ 0πΆ 0π |
| tscircuitbot | 0 | 0 | 19 | ββ | 12 | 0πΉ 0πΆ 0π |
| ShiboSoftwareDev | 1 | 1 | 0 | β | 8 | 0πΉ 0πΆ 0π |
| Ayushjhawar8 | 1 | 0 | 1 | β | 5 | 0πΉ 0πΆ 0π |
| Asymtode712 | 0 | 1 | 0 | 2 | 0πΉ 0πΆ 0π | |
| RaghavArora14 | 0 | 0 | 1 | 1 | 0πΉ 0πΆ 0π | |
| rushabhcodes | 0 | 0 | 1 | 1 | 0πΉ 0πΆ 0π | |
| ArnavK-09 | 0 | 0 | 1 | 1 | 0πΉ 0πΆ 0π |
Note: AI evaluates PRs and assigns 1-3 star ratings automatically. 4 and 5 star ratings require manual staff review.
- πΉ Normal Comments: Basic participation with minimal effort
- πΆ Great Informative Comments: Thoughtful participation that adds value
- π Incredible Comments: Exceptional participation with high-quality content
| Contributor | Reviews Received | Approvals Received | Rejections Received | Approvals | Rejections | PRs Opened | PRs Merged | Score | Issues Created | Bountied Issues | Bountied Issue $ |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Quanta-Naut | 2 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| imrishabh18 | 3 | 1 | 0 | 0 | 1 | 6 | 6 | 21 | 0 | 0 | 0 |
| tscircuitbot | 0 | 0 | 0 | 0 | 0 | 23 | 19 | 12 | 0 | 0 | 0 |
| Asymtode712 | 5 | 1 | 0 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 |
| seveibar | 0 | 0 | 0 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| techmannih | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| RaghavArora14 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
| ShiboSoftwareDev | 2 | 2 | 0 | 2 | 0 | 2 | 2 | 8 | 0 | 0 | 0 |
| rushabhcodes | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
| ArnavK-09 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
| Ayushjhawar8 | 4 | 1 | 0 | 0 | 0 | 2 | 2 | 5 | 0 | 0 | 0 |
| nailoo | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
pie
"tscircuit/kicadts" : 12
"tscircuit/runframe" : 9
"tscircuit/kicad-to-circuit-json" : 8
"tscircuit/tscircuit" : 6
"tscircuit/cli" : 6
"tscircuit/copper-pour-solver" : 4
"tscircuit/tscircuit.com" : 2
PRs are analyzed by AI and assigned a star rating (1-3 stars). 4 and 5 star ratings can only be manually assigned by staff. Weekly scores use 2^(starRating - 1) per PR (capped at 12 PRs per rating), plus review/discussion points.
| Score Range | Star String | Count Value |
|---|---|---|
| 0-3 | (empty) | 0 stars |
| 4-10 | β | 1 star |
| 11-30 | ββ | 2 stars |
| 31-50 | βββ | 3 stars |
| 51-75 | π | 1 crown |
| 76-100 | ππ | 2 crowns |
| 101+ | πππ | 3 crowns |
Crowns count as 3 stars for sponsorship.
The sponsorship system calculates monthly payments based on your weekly star counts over the complete weeks in that month (typically 4-5 weeks, Wednesday-Tuesday format).
Step 1: Collect Weekly Stars
- All complete weeks in the month are analyzed
- Each week's star string is converted to a numeric count (β = 1 star, βββ = 3 stars)
- Example:
[2, 2, 2, 1, 0]means 2 stars in week 1, 2 stars in week 2, etc.
Step 2: Calculate Metrics
- Median stars: The median value of all weekly star counts
- Min stars: The minimum weekly star count
- Max stars: The maximum weekly star count
- High score: The maximum raw weekly score (0-100+ range from the scoring table) from any week in the month
Step 3: Determine Base Amount The sponsorship amount is calculated based on these metrics (checked in order):
| Condition | Base Amount |
|---|---|
minStarCount >= 3 |
$500 |
medianStars >= 3 |
$450 |
medianStars >= 2.5 |
$300 |
medianStars >= 2 |
$200 |
medianStars >= 1.5 |
$100 |
medianStars >= 1 |
$75 |
maxStarCount >= 2 |
$25 |
maxStarCount >= 1 |
$15 |
highScore >= 3 (and all stars = 0) |
$5 |
| Maintainer Level | Monthly Bonus |
|---|---|
| Level 1 | $200 |
| Level 2 | $350 |
| Level 3 | $500 |
Final Amount = Base Amount + Maintainer Bonus
π Tiny Contributions (6)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #1269 | π Tiny | tscircuitbot | Automated package update |
| #1268 | π Tiny | tscircuitbot | Automated package update |
| #1267 | π Tiny | tscircuitbot | Automated package update |
| #1266 | π Tiny | tscircuitbot | Automated package update |
| #1265 | π Tiny | tscircuitbot | Automated package update |
| #1264 | π Tiny | tscircuitbot | Updates the tscircuitcli package from version 0.1.443 to 0.1.444 and the tscircuitrunframe package from version 0.0.1206 to 0.0.1207 in package.json |
π Tiny Contributions (2)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #1951 | π Tiny | tscircuitbot | Updates the tscircuiteval package version from 0.0.451 to 0.0.452 |
| #1952 | π Tiny | ArnavK-09 | Fixes the proxy URL used in the import dialog to ensure correct API calls are made. |
π Tiny Contributions (2)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #1460 | π Tiny | tscircuitbot | Automated package update |
| #1459 | π Tiny | tscircuitbot | Automated package update |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #1673 | π³ Major | βββ | Ayushjhawar8 | Fixes the natural sorting of filenames in the file selector component to ensure proper order when displaying files. |
π Tiny Contributions (5)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #1683 | π Tiny | tscircuitbot | Updates the package version from 0.0.1208 to 0.0.1209 in package.json |
| #1682 | π Tiny | tscircuitbot | Updates the tscircuiteval package to version 0.0.452 in the package.json file. |
| #1681 | π Tiny | tscircuitbot | Automated package update |
| #1680 | π Tiny | tscircuitbot | Updates the package version from 0.0.1206 to 0.0.1207 in package.json |
| #1672 | π Tiny | Ayushjhawar8 | img width1021 height277 altimage srchttps:github.comuser-attachmentsassets4430e588-fc3e-4519-be92-f22a44b67fa2 |
π Tiny Contributions (6)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #840 | π Tiny | tscircuitbot | Automated package update |
| #839 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package from version 0.0.1208 to 0.0.1209 |
| #838 | π Tiny | tscircuitbot | Automated package update |
| #837 | π Tiny | tscircuitbot | Automated package update |
| #836 | π Tiny | tscircuitbot | Automated package update |
| #835 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package from version 0.0.1206 to 0.0.1207 |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #1617 | π Minor | ββ | Asymtode712 | Implements pcbStyle inheritance for kicad: footprints by passing the resolved pcbStyle to footprintLibraryMap functions, enabling override of silkscreen font size and other style properties. |
π Tiny Contributions (2)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #259 | π Tiny | RaghavArora14 | Adds GitHub username and Discord ID for user RaghavArora14 in users.json |
| #258 | π Tiny | rushabhcodes | Adds the Discord ID and GitHub username of the user rushabhcodes to the users.json file. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #2 | π³ Major | βββ | ShiboSoftwareDev | This pull request implements the core logic for the copper pour solver. It introduces a complete pipeline that takes a circuit-json input and generates B-Rep shapes for the copper pour regions. Key changes include: Copper Pour Solver Implementation: The CopperPourPipelineSolver is built out to process obstacles, perform boolean geometry operations using flatten-js, and generate final B-Rep shapes. Circuit JSON Conversion: A new function convertCircuitJsonToInputProblem is added to translate standard circuit-json elements (pads, traces, holes) into the solvers internal InputProblem format. Comprehensive Testing: A suite of snapshot tests has been added, rendering the output of the solver to SVG for multiple circuit configurations to visually validate the results. Type Definitions: Updated libtypes.ts to support various pad shapes (rect, circle, trace) and define the solvers input and output structures. Dependency Updates: Added flatten-jscore for geometric calculations and circuit-to-svg for test rendering. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #62 | π Minor | ββ | ShiboSoftwareDev | Adds a boolean property, covered_with_solder_mask, to copper pour elements, allowing for solder mask-free regions when set to false. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #18 | π³ Major | βββ | imrishabh18 | Add new classes for graphical elements: GrCircle, GrRect, and Group, including properties for locked state and UUID. |
| #19 | π³ Major | βββ | imrishabh18 | Adds GrPoly class for polygon representation and enhances GrText class to support render_cache functionality. |
| #20 | π Minor | ββ | imrishabh18 | Adds support for the fill token in PadPrimitiveGrPoly, allowing it to accept a string value for fill properties. |
| #21 | π Minor | ββ | imrishabh18 | Adds graphicPolys and graphicRects to the KicadPcb type for enhanced graphical representation. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #20 | π³ Major | βββ | imrishabh18 | This pull request introduces the ViaGridBoard feature, which processes filled rectangles on copper layers and creates corresponding SMT pads in the PCB design. It enhances the PCB graphics processing capabilities by adding support for gr_rect elements, ensuring that filled rectangles are correctly interpreted and represented in the output JSON format. Additionally, it updates the kicadts dependency to a newer version and includes new test snapshots and assets for the ViaGridBoard functionality. |
| #21 | π³ Major | βββ | imrishabh18 | Adds support for parsing filled polygons from KiCad and converting them into pcb_smtpad shapes in the Circuit JSON format. |
π Tiny Contributions (19)
| PR # | Impact | Description |
|---|---|---|
| #1269 | π Tiny | Automated package update |
| #1268 | π Tiny | Automated package update |
| #1267 | π Tiny | Automated package update |
| #1266 | π Tiny | Automated package update |
| #1265 | π Tiny | Automated package update |
| #1264 | π Tiny | Updates the tscircuitcli package from version 0.1.443 to 0.1.444 and the tscircuitrunframe package from version 0.0.1206 to 0.0.1207 in package.json |
| #1951 | π Tiny | Updates the tscircuiteval package version from 0.0.451 to 0.0.452 |
| #1460 | π Tiny | Automated package update |
| #1459 | π Tiny | Automated package update |
| #1683 | π Tiny | Updates the package version from 0.0.1208 to 0.0.1209 in package.json |
| #1682 | π Tiny | Updates the tscircuiteval package to version 0.0.452 in the package.json file. |
| #1681 | π Tiny | Automated package update |
| #1680 | π Tiny | Updates the package version from 0.0.1206 to 0.0.1207 in package.json |
| #840 | π Tiny | Automated package update |
| #839 | π Tiny | Updates the tscircuitrunframe package from version 0.0.1208 to 0.0.1209 |
| #838 | π Tiny | Automated package update |
| #837 | π Tiny | Automated package update |
| #836 | π Tiny | Automated package update |
| #835 | π Tiny | Updates the tscircuitrunframe package from version 0.0.1206 to 0.0.1207 |
| PRs # | Impact | Rating | Description |
|---|---|---|---|
| #1617 | π Minor | ββ | Implements pcbStyle inheritance for kicad: footprints by passing the resolved pcbStyle to footprintLibraryMap functions, enabling override of silkscreen font size and other style properties. |
π Tiny Contributions (1)
| PR # | Impact | Description |
|---|---|---|
| #259 | π Tiny | Adds GitHub username and Discord ID for user RaghavArora14 in users.json |
π Tiny Contributions (1)
| PR # | Impact | Description |
|---|---|---|
| #258 | π Tiny | Adds the Discord ID and GitHub username of the user rushabhcodes to the users.json file. |
| PRs # | Impact | Rating | Description |
|---|---|---|---|
| #2 | π³ Major | βββ | This pull request implements the core logic for the copper pour solver. It introduces a complete pipeline that takes a circuit-json input and generates B-Rep shapes for the copper pour regions. Key changes include: Copper Pour Solver Implementation: The CopperPourPipelineSolver is built out to process obstacles, perform boolean geometry operations using flatten-js, and generate final B-Rep shapes. Circuit JSON Conversion: A new function convertCircuitJsonToInputProblem is added to translate standard circuit-json elements (pads, traces, holes) into the solvers internal InputProblem format. Comprehensive Testing: A suite of snapshot tests has been added, rendering the output of the solver to SVG for multiple circuit configurations to visually validate the results. Type Definitions: Updated libtypes.ts to support various pad shapes (rect, circle, trace) and define the solvers input and output structures. Dependency Updates: Added flatten-jscore for geometric calculations and circuit-to-svg for test rendering. |
| #62 | π Minor | ββ | Adds a boolean property, covered_with_solder_mask, to copper pour elements, allowing for solder mask-free regions when set to false. |
π Tiny Contributions (1)
| PR # | Impact | Description |
|---|---|---|
| #1952 | π Tiny | Fixes the proxy URL used in the import dialog to ensure correct API calls are made. |
| PRs # | Impact | Rating | Description |
|---|---|---|---|
| #1673 | π³ Major | βββ | Fixes the natural sorting of filenames in the file selector component to ensure proper order when displaying files. |
π Tiny Contributions (1)
| PR # | Impact | Description |
|---|---|---|
| #1672 | π Tiny | img width1021 height277 altimage srchttps:github.comuser-attachmentsassets4430e588-fc3e-4519-be92-f22a44b67fa2 |
| PRs # | Impact | Rating | Description |
|---|---|---|---|
| #18 | π³ Major | βββ | Add new classes for graphical elements: GrCircle, GrRect, and Group, including properties for locked state and UUID. |
| #19 | π³ Major | βββ | Adds GrPoly class for polygon representation and enhances GrText class to support render_cache functionality. |
| #20 | π³ Major | βββ | This pull request introduces the ViaGridBoard feature, which processes filled rectangles on copper layers and creates corresponding SMT pads in the PCB design. It enhances the PCB graphics processing capabilities by adding support for gr_rect elements, ensuring that filled rectangles are correctly interpreted and represented in the output JSON format. Additionally, it updates the kicadts dependency to a newer version and includes new test snapshots and assets for the ViaGridBoard functionality. |
| #21 | π³ Major | βββ | Adds support for parsing filled polygons from KiCad and converting them into pcb_smtpad shapes in the Circuit JSON format. |
| #20 | π Minor | ββ | Adds support for the fill token in PadPrimitiveGrPoly, allowing it to accept a string value for fill properties. |
| #21 | π Minor | ββ | Adds graphicPolys and graphicRects to the KicadPcb type for enhanced graphical representation. |
- Bun runtime
.envfile with required API keys:GITHUB_TOKEN=your_github_token OPENAI_API_KEY=your_openai_api_key DISCORD_TOKEN=your_discord_token (optional, for Discord integration) SLACK_BOT_TOKEN=your_slack_token (optional, for Slack integration)
bun run generate:weekly- Generate current week's contribution overviewbun run generate:monthly- Generate current month's contribution overviewbun run generate:changelog- Generate monthly changelog from PRs
bun run analyze-pr- Analyze a single PR (interactive prompt)bun run test:github- Test GitHub API integration
bun run notifications:issues- Send notifications for new issuesbun run notifications:pr- Send notifications for new PRsbun run sync:discord- Sync contributor roles with Discord
bun run export:sponsorship- Generate sponsorship data CSV
bun run dev- Start development server for web UIbun run build- Build for productionbun run format- Format code with Biome
# Generate this week's contribution overview
bun run generate:weekly
# Generate current month's overview
bun run generate:monthly
# Analyze a specific PR
bun run analyze-pr
# Test your GitHub token setup
bun run test:github