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" : 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
| 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.
- πΉ 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 | 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 |
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
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 |
$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
π 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. |
π 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. |
- 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