KiCad Studio

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.

Repository And CI/CD
- GitHub mirror and Marketplace-facing repository:
https://github.com/oaslananka/kicad-studio
- Primary source of truth and CI/CD:
https://dev.azure.com/oaslananka/open-source/_git/kicad-studio
- GitHub Actions are kept as manual fallback workflows only.
- Azure DevOps runs the main CI pipeline and the approval-gated publish flow.
What's New For KiCad 10
- KiCad 10-aware viewer metadata for layer summaries, tuning profiles, and selection context.
- KiCad design variants sidebar with active-variant switching and BOM override diffing.
.kicad_dru language support, schema wiring, and DRC rules sidebar.
- 3D PDF export command through
kicad-cli pcb export 3dpdf.
- Optional MCP bridge for context push, fix queue surfacing, and design intent editing.
- AI prompt updates for KiCad 10 concepts such as variants, graphical DRC rules, hop-over display, and time-domain tuning.
Feature Highlights
- 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.
- 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-pro bootstrap, context bridge, and design intent form panel.
- Local KiCad symbol and footprint indexing plus Octopart/Nexar and LCSC component search.
- Azure-first CI/CD with manual GitHub fallback workflows.
KiCad Support Matrix
| 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 |
AI And MCP
AI Providers
- Claude and OpenAI use SecretStorage-backed API keys.
- GitHub Copilot and Gemini use the VS Code Language Model API when available.
- AI features remain opt-in and are disabled when no provider is configured.
kicad-mcp-pro Integration
- Auto-detects
kicad-mcp-pro from uvx, a global executable, pip, or pipx.
- Offers to create
.vscode/mcp.json in the active workspace.
- Registers
kicad-mcp-pro as an MCP server definition when the host VS Code build supports the API.
- Uses Streamable HTTP-compatible requests for the extension-side MCP client and reuses
MCP-Session-Id values 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_queue as the AI Fix Queue view.
- Lets users edit project design intent from a dedicated webview form.
See docs/INTEGRATION.md for the detailed MCP workflow.
Quick Start
- 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_pcb file.
- Run
KiCad: Detect kicad-cli once 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: Setup MCP Integration if kicad-mcp-pro is installed locally.
- If you want KiCad Studio to appear as a chat-model vendor, run
KiCad: Manage Chat Provider and store a Claude API key.
Installation
VS Code
code --install-extension oaslananka.kicadstudio
KiCad CLI
- Windows: KiCad Studio auto-checks common
Program Files KiCad 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.
Key Commands
KiCad: Detect kicad-cli
KiCad: Run Design Rule Check (DRC)
KiCad: Run Electrical Rule Check (ERC)
KiCad: Export 3D PDF
KiCad: Setup MCP Integration
KiCad: Open Design Intent
KiCad: Open AI Chat
KiCad: Manage Chat Provider
KiCad: New Variant
KiCad: Compare Variant BOMs
Viewer Notes
- 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.
Import And Export Notes
- Board import helpers currently wrap the
kicad-cli pcb import formats 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.
Configuration
Important settings include:
kicadstudio.kicadCliPath
kicadstudio.kicadPath
kicadstudio.ai.provider
kicadstudio.ai.model
kicadstudio.ai.language
kicadstudio.ai.allowTools
kicadstudio.cli.defineVars
kicadstudio.mcp.autoDetect
kicadstudio.mcp.endpoint
kicadstudio.mcp.allowLegacySse
kicadstudio.mcp.pushContext
kicadstudio.viewer.largeFileThresholdBytes
kicadstudio.viewer.syncThemeWithVscode
kicadstudio.viewer.enableLayerPanel
kicadstudio.viewer.enableSnapshotExport
Documentation
Troubleshooting
kicad-cli not found
- Run
KiCad: Detect kicad-cli.
- Set
kicadstudio.kicadCliPath if KiCad lives in a custom location.
- Check docs/installation.md for per-platform setup notes.
MCP not connected
- Confirm
kicad-mcp-pro --version or uvx kicad-mcp-pro --version works locally.
- Verify
.vscode/mcp.json exists in the workspace.
- Check that
kicadstudio.mcp.endpoint matches your HTTP-mode MCP server when using the context bridge.
Viewer looks incomplete on KiCad 10 content
- 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 KiCad as the source of truth and file an issue with a fixture.
Development
Local Commands
npm run lint
npm run test:unit
npm test
npm run build
npm run build:prod
npm run package
CI/CD Layout
azure-pipelines-ci.yml is the primary CI definition.
azure-pipelines-publish.yml is the approval-gated Marketplace publish pipeline.
.github/workflows/ci.yml and .github/workflows/publish.yml are manual fallback workflows only.
Contributing
Contribution guidance lives in docs/CONTRIBUTING.md.
License
MIT
| |