💡 Summary
CLI tool for AI-assisted EDA project management and initialization with KiCad.
🎯 Target Audience
🤖 AI Roast: “Powerful, but the setup might scare off the impatient.”
Risk: Medium. Review: shell/CLI command execution; outbound network access (SSRF, data egress); dependency pinning and supply-chain risk. Run with least privilege and audit before enabling in production.
claude-eda
CLI tool for AI-assisted EDA (Electronic Design Automation) project initialization and management with KiCad.
Set up KiCad projects optimized for AI-assisted design workflows with Claude Code, including MCP server configuration, project scaffolding, and environment management.
Features
- Interactive project scaffolding with KiCad integration
- Environment health checks and auto-repair
- MCP server management (@jlcpcb/mcp, kicad-pcb, kicad-sch)
- Template system for Claude commands, agents, and skills
- Design constraints configuration
- Cross-platform support (macOS, Windows, Linux)
Installation
npm install -g claude-eda
Or run directly with npx:
npx claude-eda <command>
Commands
| Command | Description |
|---------|-------------|
| claude-eda init [name] | Initialize new EDA project with interactive setup |
| claude-eda doctor | Environment health check (--fix for auto-repair) |
| claude-eda update | Sync templates and MCP configurations |
| claude-eda config | Read/modify design-constraints.json |
| claude-eda kicad-ipc | Enable/disable KiCad IPC API |
| claude-eda kicad-mcp | Install/manage KiCad PCB MCP server |
| claude-eda kicad-sch-mcp | Install/manage KiCad Schematic MCP server |
Quick Start
1. Initialize a new project
claude-eda init my-board
This creates a project with:
.claude/- Commands, agents, and skills for Claude Codedocs/- Design documentation includingdesign-constraints.json.mcp.json- MCP server configurationCLAUDE.md- Project instructions for Claude
2. Check environment
claude-eda doctor
To automatically install missing components:
claude-eda doctor --fix
3. Open in Claude Code
cd my-board claude
Then use the EDA workflow commands:
/eda/new- Define project requirements/eda/source [role]- Source components/eda/schematic- Create schematic/eda/layout- Layout PCB/eda/check- Validate design/eda/export- Export manufacturing files
Command Details
init
Create a new EDA project:
claude-eda init my-project # Interactive setup claude-eda init my-project -y # Non-interactive with defaults claude-eda init my-project --no-git # Skip git initialization
doctor
Check environment and optionally fix issues:
claude-eda doctor # Check only claude-eda doctor --fix # Auto-install missing components claude-eda doctor --fix -v # Verbose output during fixes
Checks:
- KiCad 8.0+ installation
- KiCad IPC API configuration
- KiCad PCB MCP server (kicad-pcb)
- KiCad Schematic MCP server (kicad-sch)
- Node.js 18+
update
Sync project templates with latest versions:
claude-eda update # Update everything claude-eda update --commands # Slash commands only claude-eda update --agents # Agents only claude-eda update --skills # Skills only claude-eda update --mcp # .mcp.json only
config
Manage project design constraints:
claude-eda config --list # Show all config claude-eda config --get project.name # Get specific value claude-eda config --set board.layers=4 # Set value claude-eda config --set "project.description=My board"
kicad-ipc
Manage KiCad IPC API for real-time control:
claude-eda kicad-ipc --status # Show status (default) claude-eda kicad-ipc --enable # Enable IPC API claude-eda kicad-ipc --disable # Disable IPC API
kicad-mcp
Manage KiCad PCB MCP server:
claude-eda kicad-mcp --status # Show status (default) claude-eda kicad-mcp --install # Install from GitHub claude-eda kicad-mcp --configure-global # Configure global Claude MCP
kicad-sch-mcp
Manage KiCad Schematic MCP server:
claude-eda kicad-sch-mcp --status # Show status (default) claude-eda kicad-sch-mcp --install # Install via uv/pip
Project Structure
After running claude-eda init:
my-project/
├── .claude/
│ ├── commands/ # Slash commands (/eda/source, etc.)
│ ├── agents/ # Claude agents for EDA workflow
│ └── skills/ # Skills for component sourcing
├── docs/
│ ├── design-constraints.json
│ └── project-spec.md
├── datasheets/ # Component documentation
├── production/ # Manufacturing outputs
├── .mcp.json # MCP server configuration
├── CLAUDE.md # Project instructions
└── .gitignore
MCP Servers
Three MCP servers are configured for the complete EDA workflow:
| Server | Purpose | Installation |
|--------|---------|--------------|
| jlc | Component sourcing from LCSC/JLCPCB | Via npx (@jlcpcb/mcp) |
| kicad-pcb | PCB manipulation | claude-eda kicad-mcp --install |
| kicad-sch | Schematic manipulation | claude-eda kicad-sch-mcp --install |
Server installations are stored in ~/.claude-eda/:
~/.claude-eda/kicad-mcp/- KiCad PCB MCP server~/.claude-eda/kicad-sch-venv/- Python venv for schematic MCP
Requirements
- Node.js 18+ - Required
- KiCad 8.0+ - For full functionality
- Python 3.10+ - For kicad-sch-mcp
- uv - Python package manager for kicad-sch-mcp (install)
Development
bun install bun run build # Build to ./dist bun run dev # Watch mode bun run typecheck # Type checking
Related Packages
- @jlcpcb/mcp - MCP server for Claude Desktop/Code integration
- @jlcpcb/cli - Interactive terminal UI for component search & library management
- @jlcpcb/core - Core library with API clients, converters, and services
License
MIT
Pros
- Interactive project setup
- Cross-platform support
- Automated environment checks
- Template system for commands
Cons
- Requires multiple dependencies
- May have a learning curve for new users
- Limited documentation on advanced features
Related Skills
pytorch
S“It's the Swiss Army knife of deep learning, but good luck figuring out which of the 47 installation methods is the one that won't break your system.”
agno
S“It promises to be the Kubernetes for agents, but let's see if developers have the patience to learn yet another orchestration layer.”
nuxt-skills
S“It's essentially a well-organized cheat sheet that turns your AI assistant into a Nuxt framework parrot.”
Disclaimer: This content is sourced from GitHub open source projects for display and rating purposes only.
Copyright belongs to the original author l3wi.
