PCBA Studio for VS Code
Optional VS Code and Cursor UI for PCBA Studio, packaged as
newmatik.pcba-studio for the VS Marketplace and Open VSX. The viewer and tracker work on their own;
the whole-project consistency review also needs the Python pcba command on the extension host's
PATH.
Features
Hardware/firmware review
Run PCBA Studio: Run Hardware/Firmware Review from the Command Palette or the action on an open
.SchDoc. The extension executes the deterministic engine locally and publishes its findings to
the Problems panel. The status bar shows the active finding count; the completion message also
reports suppressed findings and skipped checks.
Settings:
pcbastudio.engine.executable: engine command, default pcba.
pcbastudio.engine.target: optional target from pcba-studio.toml.
pcbastudio.engine.baseline: optional baseline path relative to the workspace.
Altium schematic viewer
Open binary .SchDoc and .SchDot files without Altium. The custom editor provides component, pin,
and net tables; a geometric heuristic netlist; an SVG preview; and grouped BOM CSV, Protel netlist,
and versioned JSON exports. The viewer is useful for inspection, not an ERC or sign-off tool. Engine
review findings always use the Python extractor, not this heuristic netlist.
Markdown project tracker
PCBA Studio: Initialize project tracking creates project/tracker/. Central registers hold open
and closed actions, questions, and decisions; meeting notes are immutable narratives that reference
their IDs. Six sidebar views, live lint diagnostics, quick fixes, and guided commands cover the
normal workflow.
Every mutation holds a cross-process project lock and replaces files atomically. IDs are allocated
as max+1 per prefix across the corpus, touched front matter gets a revision bump, and historical
meeting notes are never rewritten. The agent contract is skills/pcba-tracker/SKILL.md at the
repository root.
MCP server
dist/mcp-server.js is a zero-SDK stdio server for single-sheet and tracker operations. Use
PCBA Studio: Set up MCP server for AI chat to register it and PCBA Studio: Test MCP server to
check the handshake.
It is separate from the engine's pcba mcp server, which reviews whole projects.
- Eleven
schdoc_* tools read summaries, title blocks, components, pins, nets, BOMs, searches,
netlists, and the JSON model. Parsed sheets are cached by path and modification time.
- Thirteen
tracker_* tools inspect, search, lint, format, initialize, and mutate tracker data. All
mutation tools enforce the same locking and format invariants as the UI.
Development
Requirements: Node 20, 22, or 24.
npm ci
npm run build # dist/extension.js, dist/webview.js, dist/mcp-server.js
npm test # typecheck, bundle, Vitest
npm run package # pcba-studio-<version>.vsix
Open this directory in VS Code and press F5 to launch the Extension Development Host. Schematic
tests use the generated board under ../fixtures/synthetic/; real sheets belong only in the
gitignored test/fixtures/local/ directory.
The Python and TypeScript record decoders share
../fixtures/conformance/schdoc-record-streams.json. Update the corpus and both implementations in
the same change when record-stream behavior changes.
Releases
From the repository root, python tools/release.py runs both test suites, builds the Python wheel
and sdist plus the VSIX, and verifies both MCP handshakes. The manual GitHub release workflow uploads
those artifacts. scripts/publish.sh publishes the VSIX with publisher tokens; authenticated
publisher web sessions can upload that same checked VSIX directly.
Proprietary software, © 2026 Newmatik GmbH. See the license.