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

Contributing guide5pt0

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.

README12pt90

README is present.

Install and run instructions9pt90

README documents how to install the project.

License6pt100

Licensed under MIT.

Engineering

49

Linting and formatting5pt0

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.

Issue and PR templates6pt0

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/CD14pt40

CI is configured (.github/workflows/release.yml).

Reproducibility6pt70

Lockfile present (requirements.txt). Installs are reproducible.

Tests18pt80

Test files detected (tests).

Project health

100

Dependency manifest6pt100

Dependency manifest found (requirements.txt).

Repository metadata5pt100

Repository has a description.

Activity5pt100

Actively maintained (pushed within the last month).

Housekeeping3pt100

.gitignore present.

Repository health signals

Activity, community, and responsiveness at scan time

Activity

  • Commits (30d / 90d)
  • 24
    Forks
  • 12
    Releaseslatest 6d ago

Community

  • Community health
  • authors own >50% of commits
  • 207
    Watchers

Responsiveness

  • 9h
    Median issue response
  • <1h
    Median PR merge time
  • 14
    Open issues
Repository files95 root entries
  • .claude
  • .github
    Good: CI is configured (.github/workflows/release.yml).
  • bga_fanout
  • docs
  • kicad_files
  • kicad_routing_plugin
  • placement
  • pygame_visualizer
  • qfn_fanout
  • rust_router
  • tests
    Good: Test files detected (tests).
  • __init__.py
  • .gitignore
    Good: .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
  • LICENSE
    Good: 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.md
    Good: 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.txt
    Good: 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