Popular for its size, but the engineering basics lag behind the interest.
A set of Python/Rust tools to aid routing in KiCad
Documentation
78
No CONTRIBUTING.md found (−47 pts base + up to −53 pts more for content).
→ Add a CONTRIBUTING.md telling newcomers how to get involved. Include setup, code style, test, and PR instructions.
README is present.
README documents how to install the project.
Licensed under MIT.
Engineering
49
No linter or formatter config found.
→ Add a linter config such as .eslintrc.json, .prettierrc, ruff.toml, or .golangci.yml to enforce consistent code style.
No issue or PR templates found (−100 pts).
→ Add .github/ISSUE_TEMPLATE/ with bug_report.md and feature_request.md to guide contributors. It dramatically improves issue quality.
CI is configured (.github/workflows/release.yml).
Lockfile present (requirements.txt). Installs are reproducible.
Test files detected (tests).
Project health
100
Dependency manifest found (requirements.txt).
Repository has a description.
Actively maintained (pushed within the last month).
.gitignore present.
Repository health signals
Activity, community, and responsiveness at scan time
Activity
- —Commits (30d / 90d)
- 24Forks
- 12Releaseslatest 6d ago
Community
- —Community health
- —authors own >50% of commits
- 207Watchers
Responsiveness
- 9hMedian issue response
- <1hMedian PR merge time
- 14Open issues
Repository files95 root entries
- .claude
- .githubGood: CI is configured (.github/workflows/release.yml).
- bga_fanout
- docs
- kicad_files
- kicad_routing_plugin
- placement
- pygame_visualizer
- qfn_fanout
- rust_router
- testsGood: Test files detected (tests).
- __init__.py
- .gitignoreGood: .gitignore present.
- add_gnd_vias.py
- analyze_power_paths.py
- bga_fanout.py
- blocking_analysis.py
- bresenham_utils.py
- build_router.py
- bus_detection.py
- check_connected.py
- check_cycles.py
- check_drc.py
- check_orphan_stubs.py
- check_orthonormal.py
- check_pads.py
- chip_boundary.py
- CLAUDE.md
- clean_ignored.py
- connectivity.py
- diff_pair_loop.py
- diff_pair_multipoint.py
- diff_pair_routing.py
- extract_pcb_geometry.py
- fix_kicad_drc_settings.py
- geometry_utils.py
- impedance.py
- install_plugin.py
- kicad_parser.py
- kicad_writer.py
- layer_swap_fallback.py
- layer_swap_optimization.py
- length_matching.py
- LICENSEGood: Licensed under MIT.
- list_nets.py
- memory_debug.py
- metadata.json
- mps_layer_swap.py
- net_ordering.py
- net_queries.py
- obstacle_cache.py
- obstacle_costs.py
- obstacle_map.py
- output_writer.py
- package_pcm.py
- pcb_modification.py
- phase3_routing.py
- place_optimize.py
- place_route_loop.py
- plane_blocker_detection.py
- plane_io.py
- plane_obstacle_builder.py
- plane_pad_tap.py
- plane_region_connector.py
- plane_resistance.py
- plane_zone_geometry.py
- polarity_swap.py
- qfn_fanout.py
- README.mdGood: README is present.Good: README is well structured with multiple sections.Good: README includes screenshots or visuals. Great for first impressions.Good: README has code examples.Good: README links to a live demo or deployed app.Issue: No status badges in the README (−10 pts).Fix: Add CI/build status badges from shields.io or your CI provider to signal project health.Good: README documents how to install the project.Good: README documents how to run the project.
- redo_record.py
- requirements.txtGood: Lockfile present (requirements.txt). Installs are reproducible.Good: Dependency manifest found (requirements.txt).
- reroute_loop.py
- rip_up_reroute.py
- route_diff.py
- route_disconnected_planes.py
- route_planes.py
- route.py
- routing_common.py
- routing_config.py
- routing_constants.py
- routing_context.py
- routing_defaults.py
- routing_diagnostics.py
- routing_exceptions.py
- routing_state.py
- routing_utils.py
- schematic_updater.py
- single_ended_loop.py
- single_ended_routing.py
- startup_checks.py
- stub_layer_switching.py
- target_swap.py
- terminal_colors.py
- update_metadata.py
- VERSION