SoftForge Electronic Workbench
Schematic and PCB design inside VS Code. The Workbench opens and saves KiCad project files (.kicad_sch,
.kicad_pcb, .kicad_sym, .kicad_mod, .kicad_pro) and adds live ERC and DRC, an interactive router, a 3D
view, simulation, a native Gerber engine and viewer, and the ewb command line with an MCP server so an agent can
design alongside you. Files stay in their native format: a board edited here opens in KiCad unchanged except for
the objects you touched, and git diffs stay small.

Quick start
- Install SoftForge Electronic Workbench from the Marketplace.
- Install KiCad 8, 9 or 10 if you want its symbol, footprint and 3D libraries and
kicad-cli (see
Requirements). Viewing, editing, live checks and Gerber output work without it.
- Open a folder that holds a KiCad project and click a
.kicad_sch or .kicad_pcb file. The schematic or board
opens in the Workbench editor; Open as Text shows the file itself.
- Press Ctrl+A in the schematic to add a component, draw wires with W, then run Update PCB from
Schematic and route the board with X. Live checks mark problems as you draw.
- Plot Gerbers and drill files from the Plot dialog or with
ewb gerber export, and open the result in the
Gerber viewer to compare it against the board.
The user guide walks through
each editor, the tools and hotkeys, routing, checks, libraries, 3D, fabrication, simulation and the agent workflow.
Features
Schematic editor

- Symbols, wires, buses, labels, junctions, no-connects, power symbols; hierarchical sheets with sheet pins and a
hierarchy navigator; lines, shapes, text, text boxes and images.
- Add component (Ctrl+A): a palette-style search over the symbol libraries with the footprint step and automatic
references.
- Hierarchy-wide annotation, symbol properties with field text effects, a footprint chooser and Change symbol.
- BOM and Symbol Fields Table with grouping, presets, CSV / TSV / HTML output and bulk edits across sheets.
- Circuit simulation with ngspice: operating point, transient, AC, DC and noise, with labels on the schematic, a
waveform chart with cursors, sweeps, Monte Carlo and measurements.
- Live ERC with markers, quick fixes and a Checks panel.
PCB editor

- Select, move, drag, rotate, flip, align, distribute, arrays, groups and locking; place footprints from the
libraries; Update PCB from Schematic and Update Schematic from PCB.
- Interactive router: 45° / 90° / free, walkaround and push-and-shove, vias, differential pairs, multi-routing of
buses, length and skew tuning with meanders, fan-out, via stitching, teardrops and an impedance calculator.
- Zones and rule areas with a built-in zone filler (thermal reliefs, priorities, islands).
- Board Setup: layers, physical stack-up, net classes, constraints, custom rules (
.kicad_dru) and a Constraint
Manager.
- Live DRC in a worker thread with markers as you draw, Problems diagnostics and quick fixes.
- Autorouting through pluggable router providers (built-in batch router, Freerouting, add-ons) with a per-net
review.
- Requirements as constraint zones and volumes on the board, evaluated live, and a solve loop that changes the
board until they are met.
- Assembly variants, rooms and reuse blocks, multi-board systems with harnesses, rigid-flex regions with a folded 3D
view, HDI via spans, panels, fabricator DFM profiles and test points.
- Signal and power integrity: impedance, delay, crosstalk and reflections per net, and a DC IR-drop solve of the
power nets.
3D and MCAD

- 3D view built from the stack-up with component models, section cuts and presets.
- Enclosures and reference solids, board outlines from DXF, height envelopes, 3D clearance checks and an IDX 3.0
round trip with MCAD. STEP import and export come with the optional SoftForge OCCT add-on.
- Simulation overlays: fields from JSON, CSV, HDF5 or VTK drawn on the board and in 3D, played back on a timeline and
exported to video.
Library editors
.kicad_sym and .kicad_mod open in their own editors: pins, units and De Morgan styles, a pin table, pads with
padstacks, pad arrays, footprint wizards (SOIC, QFP, QFN, BGA, DIP, chips, headers) and 3D model binding.
- Library importers for Altium, Eagle, EasyEDA and vendor packages, and managed library repositories with review
states.
Fabrication and Gerber viewer

- Native Gerber engine: RS-274X X2 Gerbers, Excellon drill files, drill maps and the
.gbrjob job file without
kicad-cli.
- Position files, BOM, STEP / VRML / GLB, ODB++ and IPC-2581 export; output jobs and gated releases with a version
stamp, notes and a zip.
- Gerber viewer for any fab set (
.gbr, Protel extensions, .drl, .xln, .gbrjob): layers named from X2,
2D / 3D, an aperture inspector and measurement.
- Fabrication compare (XOR against the board or another set) and Gerber-level DFM checks before the files go out.
- Documentation sheets: assembly, fabrication and section views, tables, balloons and dimensions, exported as one
bookmarked PDF.
Collaboration and review
- Comment threads on items, points and regions, Live Share sessions with cursors, a static web viewer for CI pages,
and design reviews per git branch with a visual diff against any revision.
Agents and the ewb command line

Every designer command is available from a shell as ewb (ewb pcb add-track …, ewb project checks,
ewb gerber export, ewb render png), with --json, --dry-run, --batch transactions and a replayable session
log. ewb mcp serves the same commands as MCP tools, ewb serve is a JSON-RPC 2.0 server and ewb run runs
TypeScript scripts on the typed @softforge/ewb-api.
claude mcp add ewb -- ewb mcp --attach # edits land in the open editor (turn on softforge.ewb.agent.enabled)
claude mcp add ewb -- ewb mcp # or headless, on the files
The Copy MCP Config for Claude Code command copies the first line. With the agent attachment on, an agent's
edits go through VS Code undo, live checks and a review mode with accept / revert. References:
commands,
agent protocols,
tools.
Requirements
- VS Code 1.90 or newer.
- KiCad 8, 9 or 10 (optional but recommended) for the symbol, footprint and 3D model libraries and for
kicad-cli (full ERC / DRC runs, netlists, plots and 3D model export). Set softforge.ewb.cliPath if
kicad-cli is not on PATH.
- ngspice for circuit simulation (
softforge.ewb.ngspicePath).
- Java 25 or newer for the Freerouting autorouter (
softforge.ewb.routers.javaPath).
- SoftForge OCCT add-on (optional) for STEP import and export.
- Live Share (optional) for shared editing sessions.
Settings
All settings live under softforge.ewb.*; open them with Open Settings from the Command Palette or search
for "softforge" in the Settings editor. Up to 1.7 the ids were softforge.kicad.*; since 1.9.0 the old command ids,
setting keys and editor ids no longer work, and the first start still copies old settings to the new keys once. The
user guide lists each one.
Documentation
Development
Build, test and packaging steps are in
CONTRIBUTING.md. Planning lives on
the project board (planning.pb in the repository); the changelog lists what each release brought.
Licence
MIT. Third-party material (three.js, clipper-lib, the SoftForge Stroke font, codicons) is listed in the repository's
licensing notes.
KiCad is a trademark of the KiCad project; this extension is not affiliated with or endorsed by the KiCad project.
SoftForge Electronic Workbench reads and writes KiCad's file formats.
| |