Skip to content

tscircuit/contribution-tracker

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

contribution-tracker

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:

Current Week

Contribution Overview 2025-12-10

The current week is shown below. There are 4 major sections:

PRs by Repository

pie
    "tscircuit/tscircuit" : 6
    "tscircuit/tscircuit.com" : 5
    "tscircuit/eval" : 2
    "tscircuit/runframe" : 7
    "tscircuit/cli" : 3
    "tscircuit/3d-viewer" : 1
    "tscircuit/core" : 2
    "tscircuit/circuit-json-to-gerber" : 1
    "tscircuit/circuit-json-to-gltf" : 1
    "tscircuit/tscircuit-autorouter" : 1
    "tscircuit/dsn-to-circuit-json" : 2
    "tscircuit/dsnts" : 1
Loading

Contributor Overview

Contributor 🐳 Major πŸ™ Minor 🐌 Tiny ⭐ Score Discussion Contributions
tscircuitbot 0 0 20 ⭐⭐ 12.5 0πŸ”Ή 0πŸ”Ά 0πŸ’Ž
imrishabh18 1 1 1 ⭐ 8 0πŸ”Ή 0πŸ”Ά 0πŸ’Ž
Abse2001 0 3 0 ⭐ 6 0πŸ”Ή 0πŸ”Ά 0πŸ’Ž
MustafaMulla29 0 1 2 ⭐ 4 0πŸ”Ή 0πŸ”Ά 0πŸ’Ž
0hmX 1 0 0 ⭐ 4 0πŸ”Ή 0πŸ”Ά 0πŸ’Ž
ShiboSoftwareDev 0 1 0 3 0πŸ”Ή 0πŸ”Ά 0πŸ’Ž
Devesh36 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.

Discussion Contribution Legend

  • πŸ”Ή Normal Comments: Basic participation with minimal effort
  • πŸ”Ά Great Informative Comments: Thoughtful participation that adds value
  • πŸ’Ž Incredible Comments: Exceptional participation with high-quality content

Review Table

Contributor Reviews Received Approvals Received Rejections Received Approvals Rejections PRs Opened PRs Merged Score Issues Created Bountied Issues Bountied Issue $
Quanta-Naut 3 1 1 0 0 1 0 0 0 0 0
imrishabh18 0 0 0 2 1 3 3 8 0 0 0
tscircuitbot 0 0 0 0 0 28 20 12.5 0 0 0
ShiboSoftwareDev 4 2 0 0 0 2 1 3 0 0 0
seveibar 0 0 0 7 1 1 0 0 0 0 0
Abse2001 3 3 0 0 0 3 3 6 0 0 0
Asymtode712 0 0 0 0 0 1 0 0 0 0 0
Ayushjhawar8 2 0 0 0 0 2 0 0 0 0 0
pxlpal 0 0 0 0 0 1 0 0 0 0 0
Devesh36 1 1 0 0 0 1 1 1 0 0 0
MustafaMulla29 4 1 1 0 0 4 3 4 0 0 0
0hmX 2 1 0 0 0 5 1 4 0 0 0

Top 7 Repositories by Contribution Points

pie
    "tscircuit/runframe" : 7
    "tscircuit/tscircuit" : 6
    "tscircuit/tscircuit.com" : 5
    "tscircuit/dsn-to-circuit-json" : 5
    "tscircuit/core" : 4
    "tscircuit/tscircuit-autorouter" : 4
    "tscircuit/cli" : 3
Loading

Scoring & Sponsorship System

Overview

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.

Weekly Score β†’ Star String

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.

Monthly Sponsorship Calculation

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 $700
medianStars >= 3 $550
medianStars >= 2.5 $400
medianStars >= 2 $250
medianStars >= 1.5 $120
medianStars >= 1 $75
maxStarCount >= 2 $45
maxStarCount >= 1 $30
highScore >= 3 (and all stars = 0) $10
Maintainer Level Monthly Bonus
Level 1 $200
Level 2 $350
Level 3 $500
Level 4 $850
Level 5 $1300
Level 6 $2000

Final Amount = Base Amount + Maintainer Bonus

Changes by Repository

🐌 Tiny Contributions (6)
PR # Impact Contributor Description
#1610 🐌 Tiny tscircuitbot Automated package update
#1609 🐌 Tiny tscircuitbot Updates the version of several dependencies in the package.json file, including tscircuitcli, tscircuitcore, tscircuiteval, tscircuitprops, and tscircuitrunframe.
#1608 🐌 Tiny tscircuitbot Automated package update
#1607 🐌 Tiny tscircuitbot Updates the tscircuitcli package to version 0.1.618 in package.json
#1606 🐌 Tiny tscircuitbot Automated package update
#1605 🐌 Tiny tscircuitbot Updates the tscircuitcli package from version 0.1.616 to 0.1.617 and updates the tscircuitrunframe package from version 0.0.1370 to 0.0.1371, while downgrading the calculate-packing package from version 0.0.68 to 0.0.66.
🐌 Tiny Contributions (5)
PR # Impact Contributor Description
#2179 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package to version 0.0.1373
#2178 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package from version 0.0.1371 to 0.0.1372
#2177 🐌 Tiny tscircuitbot Automated package update
#2176 🐌 Tiny tscircuitbot Automated package update
#2175 🐌 Tiny Devesh36 Fixes horizontal overflow in the Usercode Logs section by allowing long log messages to wrap naturally instead of breaking the layout.
🐌 Tiny Contributions (2)
PR # Impact Contributor Description
#1685 🐌 Tiny tscircuitbot Automated package update
#1684 🐌 Tiny tscircuitbot Automated package update
🐌 Tiny Contributions (7)
PR # Impact Contributor Description
#2057 🐌 Tiny tscircuitbot Automated package update
#2056 🐌 Tiny tscircuitbot Updates the circuit-json-to-gerber package from version 0.0.44 to 0.0.46 in package.json
#2055 🐌 Tiny tscircuitbot Automated package update
#2054 🐌 Tiny tscircuitbot Updates the tscircuiteval package to version 0.0.532 in the package.json file.
#2053 🐌 Tiny tscircuitbot Updates the tscircuit3d-viewer package from version 0.0.469 to 0.0.470
#2052 🐌 Tiny tscircuitbot Automated package update
#2051 🐌 Tiny MustafaMulla29 Updates the version of circuit-json-to-gltf from 0.0.53 to 0.0.56 in package.json
🐌 Tiny Contributions (3)
PR # Impact Contributor Description
#1310 🐌 Tiny tscircuitbot Automated package update
#1304 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package from version 0.0.1370 to 0.0.1371
#1306 🐌 Tiny MustafaMulla29 Updates the version of the circuit-json-to-gltf dependency from 0.0.51 to 0.0.56 in package.json
PR # Impact Rating Contributor Description
#617 πŸ™ Minor ⭐⭐ Abse2001 Add support for rendering pcb_copper_text elements in the 3D PCB viewer, implement knockout text feature, fix text mirroring logic, and improve text clarity by increasing texture resolution.
PR # Impact Rating Contributor Description
#1734 πŸ™ Minor ⭐⭐ Abse2001 Adds lifecycle events for packing operations, including error reporting and metadata emission for better debugging and UI integration.
#1736 πŸ™ Minor ⭐⭐ ShiboSoftwareDev Refactors the panel packing feature to support dynamic grid layouts and custom board outlines, enhancing the handling of boards of varying sizes.
PR # Impact Rating Contributor Description
#74 πŸ™ Minor ⭐⭐ Abse2001 Adds full Gerber support for pcb_copper_text, including aperture config, vector text rendering, rotation, mirroring, and anchor alignment, with knockout mode support for proper copper cutout text.
PR # Impact Rating Contributor Description
#102 πŸ™ Minor ⭐⭐ MustafaMulla29 Fixes GLB export failure in browser due to undefined initWasm when resvgresvg-wasm is externalized in RunFrame.
PR # Impact Rating Contributor Description
#393 🐳 Major ⭐⭐⭐ 0hmX Fixes false obstacle rejection in autorouting by linking Minimum Spanning Tree sub-routes to their parent net identifiers, ensuring valid paths are recognized as connections.
PR # Impact Rating Contributor Description
#12 🐳 Major ⭐⭐⭐ imrishabh18 This pull request adds an example for the interconnect board and removes the previously used circuit JSON. The changes include modifications to the SesToCircuitJsonConverter class, where the originalCircuitJson option is removed from the constructor and related functions. Additionally, the PcbTraceCombineStage class has been deleted, which was responsible for combining PCB traces. This simplifies the conversion process and focuses on the new example provided.
🐌 Tiny Contributions (1)
PR # Impact Contributor Description
#13 🐌 Tiny imrishabh18 This pull request addresses issues with the parsing of SMT pads in the DSN files by the DSNTS library, correcting the vertical pad definitions. Additionally, it enhances the documentation by adding a comprehensive README file that outlines the usage, installation, and architecture of the project.
PR # Impact Rating Contributor Description
#11 πŸ™ Minor ⭐⭐ imrishabh18 Fixes the parsing of pin coordinates in the DSN format, ensuring that the pin number is correctly interpreted as the x coordinate.

Changes by Contributor

🐌 Tiny Contributions (20)
PR # Impact Description
#1610 🐌 Tiny Automated package update
#1609 🐌 Tiny Updates the version of several dependencies in the package.json file, including tscircuitcli, tscircuitcore, tscircuiteval, tscircuitprops, and tscircuitrunframe.
#1608 🐌 Tiny Automated package update
#1607 🐌 Tiny Updates the tscircuitcli package to version 0.1.618 in package.json
#1606 🐌 Tiny Automated package update
#1605 🐌 Tiny Updates the tscircuitcli package from version 0.1.616 to 0.1.617 and updates the tscircuitrunframe package from version 0.0.1370 to 0.0.1371, while downgrading the calculate-packing package from version 0.0.68 to 0.0.66.
#2179 🐌 Tiny Updates the tscircuitrunframe package to version 0.0.1373
#2178 🐌 Tiny Updates the tscircuitrunframe package from version 0.0.1371 to 0.0.1372
#2177 🐌 Tiny Automated package update
#2176 🐌 Tiny Automated package update
#1685 🐌 Tiny Automated package update
#1684 🐌 Tiny Automated package update
#2057 🐌 Tiny Automated package update
#2056 🐌 Tiny Updates the circuit-json-to-gerber package from version 0.0.44 to 0.0.46 in package.json
#2055 🐌 Tiny Automated package update
#2054 🐌 Tiny Updates the tscircuiteval package to version 0.0.532 in the package.json file.
#2053 🐌 Tiny Updates the tscircuit3d-viewer package from version 0.0.469 to 0.0.470
#2052 🐌 Tiny Automated package update
#1310 🐌 Tiny Automated package update
#1304 🐌 Tiny Updates the tscircuitrunframe package from version 0.0.1370 to 0.0.1371
PRs # Impact Rating Description
#617 πŸ™ Minor ⭐⭐ Add support for rendering pcb_copper_text elements in the 3D PCB viewer, implement knockout text feature, fix text mirroring logic, and improve text clarity by increasing texture resolution.
#1734 πŸ™ Minor ⭐⭐ Adds lifecycle events for packing operations, including error reporting and metadata emission for better debugging and UI integration.
#74 πŸ™ Minor ⭐⭐ Adds full Gerber support for pcb_copper_text, including aperture config, vector text rendering, rotation, mirroring, and anchor alignment, with knockout mode support for proper copper cutout text.
PRs # Impact Rating Description
#1736 πŸ™ Minor ⭐⭐ Refactors the panel packing feature to support dynamic grid layouts and custom board outlines, enhancing the handling of boards of varying sizes.
🐌 Tiny Contributions (1)
PR # Impact Description
#2175 🐌 Tiny Fixes horizontal overflow in the Usercode Logs section by allowing long log messages to wrap naturally instead of breaking the layout.
PRs # Impact Rating Description
#102 πŸ™ Minor ⭐⭐ Fixes GLB export failure in browser due to undefined initWasm when resvgresvg-wasm is externalized in RunFrame.
🐌 Tiny Contributions (2)
PR # Impact Description
#2051 🐌 Tiny Updates the version of circuit-json-to-gltf from 0.0.53 to 0.0.56 in package.json
#1306 🐌 Tiny Updates the version of the circuit-json-to-gltf dependency from 0.0.51 to 0.0.56 in package.json
PRs # Impact Rating Description
#393 🐳 Major ⭐⭐⭐ Fixes false obstacle rejection in autorouting by linking Minimum Spanning Tree sub-routes to their parent net identifiers, ensuring valid paths are recognized as connections.
PRs # Impact Rating Description
#12 🐳 Major ⭐⭐⭐ This pull request adds an example for the interconnect board and removes the previously used circuit JSON. The changes include modifications to the SesToCircuitJsonConverter class, where the originalCircuitJson option is removed from the constructor and related functions. Additionally, the PcbTraceCombineStage class has been deleted, which was responsible for combining PCB traces. This simplifies the conversion process and focuses on the new example provided.
#11 πŸ™ Minor ⭐⭐ Fixes the parsing of pin coordinates in the DSN format, ensuring that the pin number is correctly interpreted as the x coordinate.
🐌 Tiny Contributions (1)
PR # Impact Description
#13 🐌 Tiny This pull request addresses issues with the parsing of SMT pads in the DSN files by the DSNTS library, correcting the vertical pad definitions. Additionally, it enhances the documentation by adding a comprehensive README file that outlines the usage, installation, and architecture of the project.

Repository Owners

Repository Codeowners
builder seveibar
pcb-viewer seveibar, ShiboSoftwareDev
footprints-old seveibar
footprinter seveibar, techmannih
3d-viewer ShiboSoftwareDev
winterspec seveibar, ShiboSoftwareDev
jscad-electronics seveibar, techmannih, ShiboSoftwareDev, anas-sarkez
circuit-to-svg imrishabh18
schematic-symbols seveibar, imrishabh18, techmannih
circuit-json-to-gerber seveibar, ShiboSoftwareDev
tscircuit.com seveibar, imrishabh18
issue-roulette Anshgrover23
sparkfun-boards ShiboSoftwareDev, Abse2001, MustafaMulla29, Anshgrover23, techmannih
schematic-corpus Abse2001
copper-pour-solver seveibar, ShiboSoftwareDev
common seveibar, Abse2001

Repositories by Owner

User Repo
seveibar builder
pcb-viewer
footprints-old
footprinter
winterspec
jscad-electronics
schematic-symbols
circuit-json-to-gerber
tscircuit.com
copper-pour-solver
common
ShiboSoftwareDev pcb-viewer
3d-viewer
winterspec
jscad-electronics
circuit-json-to-gerber
sparkfun-boards
copper-pour-solver
techmannih footprinter
jscad-electronics
schematic-symbols
sparkfun-boards
anas-sarkez jscad-electronics
imrishabh18 circuit-to-svg
schematic-symbols
tscircuit.com
Anshgrover23 issue-roulette
sparkfun-boards
Abse2001 sparkfun-boards
schematic-corpus
common
MustafaMulla29 sparkfun-boards

Development

Prerequisites

  • Bun runtime
  • .env file 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)
    

Available Scripts

Core Generation Scripts

  • bun run generate:weekly - Generate current week's contribution overview
  • bun run generate:monthly - Generate current month's contribution overview
  • bun run generate:changelog - Generate monthly changelog from PRs

Analysis & Testing

  • bun run analyze-pr - Analyze a single PR (interactive prompt)
  • bun run test:github - Test GitHub API integration

Notifications & Sync

  • bun run notifications:issues - Send notifications for new issues
  • bun run notifications:pr - Send notifications for new PRs
  • bun run sync:discord - Sync contributor roles with Discord

Data Export

  • bun run export:sponsorship - Generate sponsorship data CSV

Development

  • bun run dev - Start development server for web UI
  • bun run build - Build for production
  • bun run format - Format code with Biome

Usage Examples

# 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

About

Generate a contribution summary for your projects

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors 18