Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
# Upstream tooling catalog
Curated, pinned pointers to the KiCad + EasyEDA upstream assets PCB Flow binds to.
This is the "fetch suitable things" list from
[`docs/17_UPSTREAM_TOOLING_VERDICT.md`](../../docs/17_UPSTREAM_TOOLING_VERDICT.md) —
kept as **references**, not vendored copies, so upstream stays the source of truth and
we don't inherit bloat or attribution risk. Verify each license before copying any file.
> Inspected 2026-07-13: [KiCad org](https://github.com/orgs/KiCad/repositories) (100 repos)
> + [EasyEDA/JLCEDA org](https://github.com/orgs/easyeda/repositories) (76 repos).
## EasyEDA — the official AI-automation stack (bind to these)
| Repo | Assets we use | Role in PCB Flow | License |
|---|---|---|---|
| [`easyeda/easyeda-api-skill`](https://github.com/easyeda/easyeda-api-skill) | `references/classes/DMT_*.md` (API surface), `format/{pcb,schematic,project}/*.md` (source specs), `SKILL.md`, Node **Bridge Server** | API-surface source of truth; direct file parsing; primary transport | verify |
| [`easyeda/pro-api-sdk`](https://github.com/easyeda/pro-api-sdk) · npm `@jlceda/pro-api-types` | TypeScript API types + extension scaffold | validate `section_generator`/`api_probe` against real signatures | **Apache-2.0** |
| [`easyeda/eext-run-api-gateway`](https://github.com/easyeda/eext-run-api-gateway) | editor-side gateway extension (handshake `easyeda-bridge`, ports 49620-49629) | pairs with the Bridge — the robust replacement for raw-CDP profile cloning | verify |
| [`easyeda/easyeda-pro-netlist-format`](https://github.com/easyeda/easyeda-pro-netlist-format) | `.enet` v2.0.0 spec + `enet-format-verify.mjs` + examples | **canonical netlist interchange** + phase-5 verify gate | verify |
| [`easyeda/easyeda-pro-file-format`](https://github.com/easyeda/easyeda-pro-file-format) · [`easyeda-std-file-format`](https://github.com/easyeda/easyeda-std-file-format) | project/schematic/PCB source-file specs | offline read-only analysis without live CDP | verify |
| [`easyeda/eext-jlc-order-dfm-checker`](https://github.com/easyeda/eext-jlc-order-dfm-checker) | 18 PCB + 7 SMT DFM checks; rotated-rect pad true-distance; same-net skip | authoritative JLCPCB DFM ruleset → `pcbflow/dfm.py` | verify |
| [`easyeda/eext-netlist-explorer`](https://github.com/easyeda/eext-netlist-explorer) | connection-ref, connector pin-map, topology, BOM, export views | feature spec for `pcbmunch` design intelligence | verify |
| [`easyeda/eext-freerouting-intergration`](https://github.com/easyeda/eext-freerouting-intergration) | freerouting autorouter integration | routing adapter (no custom router) | verify |
| [`easyeda/eext-kirouting-integration`](https://github.com/easyeda/eext-kirouting-integration) → [`drandyhaas/KiCadRoutingTools`](https://github.com/drandyhaas/KiCadRoutingTools) | Rust A* router + Python/FastAPI EasyEDA↔KiCad bridge | routing adapter + format-conversion pattern | verify |
| [`easyeda/extension-dev-mcp-tools`](https://github.com/easyeda/extension-dev-mcp-tools) | `import_plugin` / `dev_plugin` / `get_console_logs`; login cache, console capture | reliability patterns to fold into `tools/` | verify |
## KiCad — verification + libraries (already aligned)
| Asset | Role | Status |
|---|---|---|
| `kicad-cli` (in [`KiCad/kicad-source-mirror`](https://github.com/KiCad/kicad-source-mirror), dev on GitLab) | headless DRC / gerber / netlist export | **DRC ground truth — in use** (`tools/drc.py`, `automation/kicad/drc.sh`) |
| KiCad 9 **IPC API** `kipy` (PyPI `kicad-python`, dev on GitLab) | out-of-process board API, supersedes SWIG `pcbnew` | forward path — add adapter, validate vs installed KiCad |
| [`KiCad/kicad-library-utils`](https://github.com/KiCad/kicad-library-utils) | KLC symbol/footprint compliance checkers | library validation (guards fuzzy-search wrong parts) |
| [`KiCad/kicad-symbols`](https://github.com/KiCad/kicad-symbols) · [`kicad-footprints`](https://github.com/KiCad/kicad-footprints) · [`kicad-packages3D`](https://github.com/KiCad/kicad-packages3D) | official libraries | consume for part generation |
| [`KiCad/kicad-footprint-wizards`](https://github.com/KiCad/kicad-footprint-wizards) | parametric footprint generators | generate footprints on demand |
| [`KiCad/kicad-python`](https://github.com/KiCad/kicad-python) (GitHub) | old SWIG scripting API | **DEPRECATED** → `atait/kicad-python`; do not use |
## Ignore (out of harness scope)
Simulation (`easyeda-simulation-engine`, `eext-simulation-with-*`), MCAD bridges
(SolidWorks/Fusion360/FreeCAD), Blender render, art-PCB/coil/graffiti/QR generators —
leave to the EasyEDA marketplace.
## Notes
- Pin to a commit/release before depending on any spec; upstream `.enet` / API versions move.
- `@jlceda/pro-api-types`, freerouting, and KiCadRoutingTools are **dependencies**, not forks.
- Live-session assets (Bridge transport, DFM, routing) need real EasyEDA/KiCad validation
before we claim they work — per the honesty rule in [`docs/17`](../../docs/17_UPSTREAM_TOOLING_VERDICT.md).
7315b96d0This file is pinned to the selected release. Download the original to open it in your design tool.