KiCad Studio turns VS Code into a practical KiCad workspace: view schematics and PCBs, run DRC/ERC, inspect BOMs and netlists, export manufacturing outputs, compare changes, search components and libraries, and optionally connect AI tooling through kicad-mcp-pro.
- Canonical Repository:
https://github.com/oaslananka/kicad-studioAll development and user interaction happens here. Zero GitHub Actions are consumed on this account. - CI/CD Mirror:
https://github.com/oaslananka-lab/kicad-studioAutomated CI, security scans, and releases run here. The mirror periodically pulls from canonical. - Operations: See docs/repository-operations.md for detailed guidance on the dual-owner model.
- Fallbacks: Azure DevOps and GitLab pipelines are maintained for manual redundancy.
- VS Code engine raised to
^1.99.0with matching manifest typings. - Node.js/npm development toolchain aligned on Node.js 24.x and npm 11+.
- CI and merge queue workflows now use
npm ciand fail closed on PR/push security checks. - Local security scripts run high-severity npm audit, gitleaks, and bundle-size enforcement.
- Taskfile, pre-commit, Renovate, CODEOWNERS, and report hygiene were tightened for release maintenance.
- Interactive schematic and PCB viewing through a bundled KiCanvas build.
- DRC/ERC diagnostics mapped into the VS Code Problems panel.
- Fabrication and documentation exports including Gerber, drill, IPC-2581, ODB++, DXF, GenCAD, IPC-D-356, BOM, netlist, 3D GLB/BREP/PLY, and 3D PDF.
- Variants, DRC rules, and AI fix queue sidebars for KiCad 10-era workflows.
- MCP Quality Gates sidebar for release-readiness review when
kicad-mcp-prois connected. - Optional AI providers: Claude, OpenAI, GitHub Copilot, and Gemini.
- Agent-mode Language Model Tools for DRC/ERC, Gerber export, file opening, component search, library search, active-context reads, and variant switching.
- Optional Claude-backed Language Model Chat Provider registration for compatible VS Code builds.
kicad-mcp-probootstrap, context bridge, and design intent form panel.- Local KiCad symbol and footprint indexing plus Octopart/Nexar and LCSC component search.
- GitHub-organization-first CI/CD with Azure DevOps and GitLab manual fallback workflows.
| Capability | KiCad 9 | KiCad 10 |
|---|---|---|
| Schematic / PCB viewer | Supported | Supported with improving upstream KiCanvas coverage |
DRC / ERC via kicad-cli |
Supported | Supported |
| Design variants sidebar | Limited project fallback | Supported |
.kicad_dru rule discovery |
Basic text mode | Supported |
| 3D PDF export | Not available | Supported |
| Time-domain tuning metadata | Not available | Supported |
| MCP-assisted fix workflows | Supported when project context exists | Supported |
The following open-source KiCad projects have been used for development testing and are cited here with attribution.
| Project | Description | License |
|---|---|---|
| CH224A-breakout by UW Reality Labs | KiCad 10 breakout board for the CH224A USB-C PD sink controller. Used as a real-world benchmark for schematic viewer, DRC analysis, MCP integration, and AI chat features. | See repository |
These projects are not bundled with this extension; attribution is provided for transparency.
- Claude and OpenAI use SecretStorage-backed API keys.
- GitHub Copilot, GitHub Codex, and Gemini use the VS Code Language Model API when available.
- AI features remain opt-in and are disabled when no provider is configured.
- Auto-detects
kicad-mcp-profromuvx, a global executable,pip, orpipx. - Installs
kicad-mcp-profrom VS Code Tasks whenuvx,pipx, orpipis available. - Offers to create
.vscode/mcp.jsonin the active workspace. - Validates
.vscode/mcp.jsonwith KiCad-aware schema completions. - Registers
kicad-mcp-proas an MCP server definition when the host VS Code build supports the API. - Negotiates the server version and reports connected, older-than-recommended, incompatible, disconnected, or not-installed states in a single MCP status entry.
- Uses Streamable HTTP-compatible requests for the extension-side MCP client and reuses
MCP-Session-Idvalues when provided by the server. - Pushes active file, DRC summary, selection context, cursor position, visible layer set, and active variant to MCP.
- Surfaces
kicad://project/fix_queueas theAI Fix Queueview. - Surfaces
project_quality_gate_report, placement, transfer, and manufacturing gate results in theQuality Gatesview. - Shows redacted recent MCP request/response traffic through
KiCad: Open MCP Log. - Lets users edit project design intent from a dedicated webview form.
KiCad Studio 2.7.0 supports kicad-mcp-pro >=3.0.0 <4.0.0 and recommends >=3.0.2 <4.0.0. The extension was tested against kicad-mcp-pro 3.0.2. If a connected server reports a version outside the required range, MCP-dependent commands are disabled and KiCad-only viewers, exports, checks, BOM/netlist, language services, and library features continue to work.
See docs/INTEGRATION.md for the detailed MCP workflow.
- Install KiCad 10 if you want full variant, tuning, and 3D PDF support.
- Install the extension from the VS Code Marketplace.
- Open a folder containing a
.kicad_pro,.kicad_sch, or.kicad_pcbfile. - Run
KiCad: Detect kicad-clionce to validate your local KiCad installation. - Open a schematic or PCB file to use the viewer, project tree, BOM, netlist, and export commands.
- Optionally run
KiCad: Install kicad-mcp-pro, thenKiCad: Setup MCP Integration. - Pick a focused MCP profile with
KiCad: Pick MCP Profileif the defaultfullprofile is broader than the current workflow. - If you want KiCad Studio to appear as a chat-model vendor, run
KiCad: Manage Chat Providerand store a Claude API key.
code --install-extension oaslananka.kicadstudio- Windows: KiCad Studio auto-checks common
Program FilesKiCad locations, including KiCad 10. - macOS: it checks the KiCad app bundle and common Homebrew paths.
- Linux: it checks standard binary locations such as
/usr/bin,/usr/local/bin, and~/.local/bin.
If detection fails, set kicadstudio.kicadCliPath manually. More detail lives in docs/installation.md.
KiCad: Detect kicad-cliKiCad: Run Design Rule Check (DRC)KiCad: Run Electrical Rule Check (ERC)KiCad: Export 3D PDFKiCad: Setup MCP IntegrationKiCad: Install kicad-mcp-proKiCad: Pick MCP ProfileKiCad: Run All Quality GatesKiCad: Manufacturing Release WizardKiCad: Open MCP LogKiCad: Open Design IntentKiCad: Open AI ChatKiCad: Manage Chat ProviderKiCad: New VariantKiCad: Compare Variant BOMs
- Large board files stay interactive up to 10 MB; above that, the viewer falls back to metadata-first behavior.
- The viewer syncs with the active VS Code theme when enabled.
- PCB viewer panels expose layer visibility presets and tuning profile summaries when metadata is available.
- PNG export is generated from the embedded viewer canvas; SVG export uses the extension export command path.
- Board import helpers currently wrap the
kicad-cli pcb importformats exposed by the installed KiCad version. - Current guided import commands target formats such as PADS, Altium, Eagle, CADSTAR, Fabmaster, P-CAD, and SolidWorks PCB.
- If KiCad adds more CLI import formats later, the wrapper layer can extend without changing the rest of the extension architecture.
Important settings include:
kicadstudio.kicadCliPathkicadstudio.kicadPathkicadstudio.ai.providerkicadstudio.ai.modelkicadstudio.ai.languagekicadstudio.ai.allowToolskicadstudio.cli.defineVarskicadstudio.mcp.autoDetectkicadstudio.mcp.endpointkicadstudio.mcp.allowLegacySsekicadstudio.mcp.pushContextkicadstudio.mcp.profilekicadstudio.mcp.logSizekicadstudio.viewer.largeFileThresholdByteskicadstudio.viewer.syncThemeWithVscodekicadstudio.viewer.enableLayerPanelkicadstudio.viewer.enableSnapshotExport
- docs/ARCHITECTURE.md
- docs/INTEGRATION.md
- docs/KICAD10_MIGRATION.md
- docs/AI_PROVIDERS.md
- docs/installation.md
- docs/CONTRIBUTING.md
- Run
KiCad: Detect kicad-cli. - Set
kicadstudio.kicadCliPathif KiCad lives in a custom location. - Check docs/installation.md for per-platform setup notes.
- Confirm
kicad-mcp-pro --versionoruvx kicad-mcp-pro --versionworks locally. - Verify
.vscode/mcp.jsonexists in the workspace. - Check that
kicadstudio.mcp.endpointmatches your HTTP-mode MCP server when using the context bridge.
- Save the file and refresh the viewer.
- Confirm the bundled KiCanvas build refreshed successfully.
- If a new KiCad 10 entity is not yet rendered upstream, use
Open in KiCadas the source of truth and file an issue with a fixture.
npm cinpm run checknpm run check:cinpm run format:checknpm run lintnpm run typechecknpm run test:unitnpm testnpm run buildnpm run build:prodnpm run package
.github/workflows/ci.ymland.github/workflows/publish.ymlare the primary GitHub Actions workflows for theoaslananka-laborganization mirror.azure-pipelines-ci.ymlandazure-pipelines-publish.ymlare manual fallback Azure pipelines..gitlab-ci.ymlis a manual fallback GitLab pipeline.
Contribution guidance lives in docs/CONTRIBUTING.md.
MIT
See docs/repository-operations.md for CI/CD and release guidance.

