Commit Graph

37 Commits

Author SHA1 Message Date
mixelpixx
f95de32cdd fix(logging): bound log size + honor LOG_LEVEL + mute kicad-skip (#181)
The server wrote gigabytes to ~/.kicad-mcp/logs and ignored LOG_LEVEL. Three
root causes, all fixed here (the logging carve-out of #182):

- Python (kicad_interface.py): replace the unbounded FileHandler with a
  RotatingFileHandler (10 MB x 3 backups, env-tunable via KICAD_MCP_LOG_MAX_BYTES
  / KICAD_MCP_LOG_BACKUP_COUNT); read the level from KICAD_MCP_LOG_LEVEL or
  LOG_LEVEL (default INFO) instead of hardcoding DEBUG; mute the noisy
  skip / skip.sexp.* loggers to WARNING unless KICAD_MCP_DEBUG_SKIP is set.
- TypeScript (config.ts): honor KICAD_MCP_LOG_LEVEL / LOG_LEVEL for the TS logger.
- TypeScript (logger.ts): size-cap the per-day log files with the same env knobs.
- Docs + a no-network test for the env helpers, skip muting, and that no
  unbounded handler targets kicad_interface.log.

Verified: LOG_LEVEL is now applied, skip is muted, and the file rotates instead
of growing forever. Full suite unchanged from baseline.

The hierarchical-sheet rewrite from #182 is intentionally left out (stays as a
separate PR pending the #169/#170 design discussion).

Co-Authored-By: angelorodem <angelorodem@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 12:07:03 -04:00
romybompart
3f8068f5e4 feat: improve OpenCode KiCad setup and backend selection 2026-05-24 16:15:50 -04:00
romybompart
95705669ca feat: add OpenCode Windows setup script 2026-05-23 02:00:32 -04:00
scorp508
6113e0c27a fix: reconnect IPC backend after KiCad starts (#140)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-22 17:41:47 -04:00
Tom
963a39c463 feat: add no_connect handler, server icon, split READMEs by language, VS Code Copilot guide, tool inventory update 2026-05-03 11:51:53 +02:00
William Viana
4d7843c03a feat: support arbitrary custom properties on schematic components
Promotes BOM / sourcing fields (MPN, Manufacturer, DigiKey_PN, LCSC,
JLCPCB_PN, Voltage, Tolerance, Dielectric, ...) to first-class citizens
on placed schematic symbols.

New MCP tools:
- set_schematic_component_property: add or update one custom property
  on a component (convenience wrapper around edit_schematic_component).
- remove_schematic_component_property: delete one custom property.
  The four built-in fields (Reference, Value, Footprint, Datasheet) are
  protected and rejected.

edit_schematic_component enhancements:
- New `properties` parameter: map of property name to either a string
  value or a full spec object { value, x?, y?, angle?, hide?, fontSize? }.
  Adds the property when missing, otherwise updates the existing field
  (and optionally its label position / visibility). Lets a single tool
  call attach an entire BOM payload to a component.
- New `removeProperties` parameter: list of custom property names to
  delete in the same call.
- Property values are now backslash-escaped so descriptions containing
  a double-quote or a backslash no longer corrupt the .kicad_sch file.
- New properties default to (hide yes) so they appear in BOM exports
  without cluttering the schematic canvas.

get_schematic_component description clarified to highlight that it
already returns every field on the symbol, including custom ones.

New MCP prompt component_sourcing_properties guides agents through the
conventional property names recognised by downstream BOM tooling and
the recommended call sequence.

Implementation (python/kicad_interface.py):
- _PROTECTED_PROPERTY_FIELDS frozenset
- _escape_sexpr_string / _find_matching_paren static helpers
- _set_property_in_block / _set_hide_on_property /
  _remove_property_from_block surgical text-level edits that preserve
  formatting and the property's UUID
- _handle_edit_schematic_component rewritten to orchestrate
  add/update/remove and return a per-property summary
- New handlers _handle_set_schematic_component_property and
  _handle_remove_schematic_component_property registered in the
  command dispatch table

Tests (tests/test_schematic_component_properties.py):
32 tests covering escape helper, paren matcher, add/update/remove
(single + batched), full spec dicts, default position, default
(hide yes), special-character escaping, UUID preservation, protected
built-in field rejection, no-op removal, both new convenience tools,
and input validation. All 590 tests in the project still pass.

Docs: README, SCHEMATIC_TOOLS_REFERENCE, TOOL_INVENTORY, CHANGELOG.
2026-04-20 17:36:38 -07:00
Omair
a50a60cb52 fix: align Python version floor with KiCad's macOS bundle (3.9)
KiCad ships Python 3.9 on macOS (both v9 and v10), and `pcbnew.so` is
compiled against that interpreter. The previous `>=3.10` floor was
unreachable on macOS and docs referenced nonexistent
`python3.11/site-packages` paths. Lower the floor and correct the docs;
no source changes needed — all 49 files in `python/` already compile
clean on 3.9.

Also add `.venv/` to `.gitignore` (dotted form used by `python -m venv`).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 23:55:32 -04:00
nhebling
e28df51eb1 fix: address maintainer review feedback on setup-macos.sh
Fix incorrect default Claude Desktop config path — macOS uses
~/Library/Application Support/Claude/claude_desktop_config.json,
not ~/.config/Claude/claude_desktop_config.json.

Capture stderr in merge_config subshell (2>&1) so Python tracebacks
and interpreter errors are surfaced instead of silently dropped when
the command substitution fails under set -e.

Update README.md and docs/PLATFORM_GUIDE.md to reflect the corrected
macOS config path, and split the combined Linux/macOS config location
reference into separate per-platform entries.

Add trailing newline at the end.
2026-04-11 21:10:14 +02:00
nhebling
0255064648 feat: add macOS automated setup script and update platform documentation
Add setup-macos.sh, a shell script that automates Claude Desktop MCP
configuration on macOS. The script detects KiCad's bundled Python,
resolves PYTHONPATH, generates the correct MCP server config, and
safely merges it into the existing Claude Desktop configuration with
backup support. Supports --verify, --dry-run, and --apply modes.

Update README.md with documentation for the automated setup workflow,
including usage examples, parameter reference, and post-setup steps.

Extend docs/PLATFORM_GUIDE.md with macOS-specific sections covering
installation, path handling, Python environment, troubleshooting,
best practices, cross-platform migration, and support resources.

Update docs/STATUS_SUMMARY.md to reflect the new macOS automation
capabilities and bump the last-updated date.
2026-04-11 17:25:01 +02:00
Eugene Mikhantyev
7d50fa1d4c style: apply Prettier formatting to TS/JS/JSON/MD files
Add Prettier as a dev dependency with .prettierrc.json config and
.prettierignore. Hook added via mirrors-prettier in pre-commit config.
All TypeScript, JSON, Markdown, and YAML files auto-formatted.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-29 13:05:50 +01:00
Eugene Mikhantyev
eee5bfb9ed chore: set up pre-commit framework with general hooks
Add .pre-commit-config.yaml with pre-commit-hooks v5.0.0 (trailing
whitespace, end-of-file fixer, yaml/json checks, large file guard,
merge conflict detection). Add minimal pyproject.toml. Auto-fix
trailing whitespace and missing end-of-file newlines across the
codebase.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-29 12:58:36 +01:00
mixelpixx
c48fa64e0f Update fmt.Println output from 'Hello' to 'Goodbye' 2026-03-24 21:04:17 -04:00
KiCAD MCP Bot
f047a4e4d1 docs: comprehensive documentation overhaul for v2.2.3
Major documentation update bringing all docs current with the 122-tool,
16-category state of the project (previously frozen at v2.1.0-alpha/59 tools).

New documentation (9 files):
- FREEROUTING_GUIDE.md - autorouter setup, Docker/Podman, all 4 tools
- SCHEMATIC_TOOLS_REFERENCE.md - all 27 schematic tools with parameters
- ROUTING_TOOLS_REFERENCE.md - all 13 routing tools with examples
- FOOTPRINT_SYMBOL_CREATOR_GUIDE.md - 8 creator tools with examples
- SVG_IMPORT_GUIDE.md - SVG logo import tool
- DATASHEET_TOOLS_GUIDE.md - datasheet enrichment tools
- PCB_DESIGN_WORKFLOW.md - end-to-end design guide
- ARCHITECTURE.md - system architecture for contributors
- INDEX.md - documentation table of contents

Updated documentation (12 files):
- README.md - tool count 64->122, feature list, contributor credits
- TOOL_INVENTORY.md - complete rebuild with all 122 tools
- STATUS_SUMMARY.md - updated to v2.2.3 feature matrix
- ROADMAP.md - marked completed milestones, added v2.3+ vision
- KNOWN_ISSUES.md - removed resolved issues, added v2.2.x fixes
- CLIENT_CONFIGURATION.md - added KICAD_MCP_DEV, FREEROUTING_JAR env vars
- LIBRARY_INTEGRATION.md - added symbol and project-local library support
- ROUTER_ARCHITECTURE.md, ROUTER_QUICK_START.md - updated tool counts
- IPC_BACKEND_STATUS.md - updated dates
- JLCPCB_USAGE_GUIDE.md - added cross-reference note
- CONTRIBUTING.md - added ARCHITECTURE.md reference, updated tool count

Archived 10 completed planning docs to docs/archive/.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 01:31:44 -04:00
Jeff Laflamme
7f1b072d00 Add Docker/Podman support for Freerouting autorouter
Auto-detects runtime: Java 21+ direct or Docker/Podman fallback.
Discovers docker/podman via PATH instead of hardcoding.
README includes one-time setup with JAR download + Docker pull.
31 tests covering both execution modes.
2026-03-20 12:01:19 +07:00
Jeff Laflamme
53a8b3ff3e Add Freerouting autoroute integration
4 new MCP tools: autoroute (full DSN→Freerouting→SES pipeline),
export_dsn, import_ses, check_freerouting. Requires Java 11+ and
freerouting.jar. Includes 21 test cases and README usage examples.
2026-03-20 11:33:37 +07:00
Tom
e6deaa2408 docs: add v2.2.3 changelog + README — developer mode, snapshot logging, privacy warning 2026-03-11 11:20:05 +01:00
KiCAD MCP Bot
b98c94be42 docs: Update macOS installation, JLCPCB database size, and part counts (#45, #43)
- Add macOS venv setup using KiCAD's bundled Python (fixes #45)
- Update JLCPCB database size from 1-2 GB to 3-5 GB (accurate for 2.5M+ parts)
- Update all "100k+" references to "2.5M+" for consistency
- Update jlcpcb-api.ts tool description (JLCSearch API, no auth required)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-01 07:57:37 -05:00
mixelpixx
00e72f49b1 Update print statement from 'Hello' to 'Goodbye' 2026-03-01 07:43:38 -05:00
mixelpixx
7a7f8524ec Update print statement from 'Hello' to 'Goodbye' 2026-03-01 07:42:53 -05:00
KiCAD MCP Bot
e4fa774eda fix: Phase 2 - DRC API fix and JLCPCB documentation restructure (#33, #34, #43)
Phase 2 medium-priority fixes addressing three issues:

Issue #33 - DRC violations API broken in KiCAD 9.0:
- Reimplemented get_drc_violations() to use run_drc() internally
- run_drc uses kicad-cli which is stable across KiCAD versions
- Maintains backward compatibility while fixing GetDRCMarkers() issue
- Added documentation to KNOWN_ISSUES.md
- Returns violations in original format by parsing kicad-cli JSON output

Issue #34 - JLCPCB API documentation misleading:
- Restructured README and JLCPCB_USAGE_GUIDE.md
- Now leads with JLCSearch public API (no authentication required)
- Moved official JLCPCB API to "Advanced" section with clear requirements
- Clarified that official API requires enterprise account + order history
- Makes it easier for new users to get started

Issue #43 - JLCPCB part count documentation inaccurate:
- Updated all "100k+" references to "2.5M+" (accurate catalog size)
- Updated download time estimates to 40-60 minutes
- Updated expected database size to 1-2 GB
- Clarified 100-part pagination limit in JLCSearch API

Documentation changes:
- README.md: Updated JLCPCB integration section
- docs/JLCPCB_USAGE_GUIDE.md: Complete restructure with 3 approaches
- docs/KNOWN_ISSUES.md: Added DRC fix documentation

All changes improve user experience and documentation accuracy.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-26 10:11:55 -05:00
KiCAD MCP Bot
d2723bc292 fix: Resolve Python executable validation failure on Linux (Issue #29)
This commit fixes the critical bug where the MCP server fails to start on
Linux with "Python executable not found: python3" even when python3 is
correctly installed and available in PATH.

Root Cause:
- findPythonExecutable() returned 'python3' (command name) on Linux
- validatePrerequisites() used existsSync('python3') which checks current
  directory, not PATH
- Validation failed even though spawn() would resolve 'python3' via PATH

Changes Made:

1. Enhanced findPythonExecutable() for Linux (src/server.ts:42-126):
   - Added Linux platform detection
   - Check KiCad bundled Python paths first (/usr/lib/kicad/bin/python3, etc.)
   - Use 'which python3' to resolve system python3 to absolute path
   - Fallback to common system paths (/usr/bin/python3, /bin/python3)
   - Import execSync for 'which' command execution

2. Improved validatePrerequisites() (src/server.ts:214-266):
   - Distinguish between absolute paths and command names
   - Use existsSync for absolute paths
   - Use --version execution test for command names
   - Added Linux-specific error messages and troubleshooting

3. Documentation Updates (README.md:409-444):
   - Added "Linux Python Detection" section
   - Documented detection priority order
   - Added troubleshooting steps for KICAD_PYTHON
   - Clarified that no manual config needed for standard installations

Testing:
- Build completed successfully (npm run build)
- Python detection now resolves /usr/bin/python3 on Ubuntu/Debian
- Maintains backward compatibility with Windows/macOS
- KICAD_PYTHON override still works

Fixes #29

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-10 22:23:54 -05:00
KiCAD MCP Bot
6fffb39bc7 docs: Document Phase 2 power net and wire connectivity completion
Comprehensive documentation of Phase 2 achievements including power symbol support, wire graph analysis for net connectivity, critical bug fixes (template mapping, special character handling), and 100% passing integration tests. Removes emoji per style guidelines.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-10 11:14:18 -05:00
KiCAD MCP Bot
d396ccd61f docs: Update README and CHANGELOG with wiring implementation
Documentation Updates:
- README: Updated Schematic Design section from 6 to 9 tools
- Added "Wiring & Connections" subsection highlighting new capabilities
- Documented automatic pin discovery with rotation support
- Listed smart routing options (direct, orthogonal)
- Added net label management features
- CHANGELOG: Added Phase 1 wiring system entry with complete feature list

New Features Documented:
- add_schematic_connection with auto pin discovery
- add_schematic_net_label with orientation control
- WireManager and PinLocator implementation
- S-expression precision and format compliance

Part of Issue #26 schematic wiring implementation

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-10 10:39:07 -05:00
KiCAD MCP Bot
60d19e5235 docs: Update README with dynamic symbol loading breakthrough
Updated README.md to highlight the major dynamic loading feature:

 Updated 'What's New' section
- Added Phase 2: Dynamic Symbol Loading breakthrough
- Documented access to all ~10,000 KiCad symbols
- Added technical architecture explanation
- Example usage with STM32 microcontroller

 Updated Schematic Design tools section
- Changed from 'template-based' to 'dynamic loading'
- Explained automatic library search and injection
- Noted fallback to 13 static templates

 Updated Project Status
- Added 'DYNAMIC SYMBOL LOADING' as key feature
- Highlighted access to full KiCad symbol libraries
- Noted automatic dynamic injection capability

This brings the README in line with the breakthrough achieved in
commits 1d9e92a and 148f3ef.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-10 10:20:44 -05:00
KiCAD MCP Bot
81a24a9e4f docs: Update README with Phase 1 schematic workflow fix details
Highlights:
- Added prominent section explaining Issue #26 resolution
- Documented template-based symbol cloning approach
- Updated schematic tools section with fix notice
- Enhanced project status to show schematic workflow is fully functional
- Added JLCSearch and JLCParts acknowledgments

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-10 09:18:01 -05:00
mixelpixx
d5402e134a Update print statement from 'Hello' to 'Goodbye' 2026-01-05 08:20:51 -05:00
mixelpixx
ada9689abc Update print statement from 'Hello' to 'Goodbye' 2026-01-04 14:54:52 -05:00
mixelpixx
07b3ef2d6d Update print statement from 'Hello' to 'Goodbye' 2025-12-31 11:23:08 -05:00
KiCAD MCP Bot
55a0279dce docs: Update README with comprehensive JLCPCB integration documentation
- Add JLCPCB Parts Integration section to What's New
- Update tool count from 59 to 64 tools
- Add JLCPCB Integration category (5 tools) to Available Tools
- Add detailed setup instructions for both local libraries and API modes
- Add usage examples for component selection and cost optimization
- Update architecture section with JLCPCB command modules
- Move JLCPCB from Planned to Working Features
- Add acknowledgment for @l3wi's local library search contribution
- Professional formatting without emojis as requested

This documents the dual-mode JLCPCB integration that provides users with
both local symbol library search (from PR #25) and complete API access to
100k+ parts with real-time pricing and cost optimization.

Co-Authored-By: l3wi <l3wi@users.noreply.github.com>
2025-12-31 11:17:08 -05:00
KiCAD MCP Bot
c65600049e feat: Implement intelligent tool router pattern (Phase 1)
Adds tool discovery system to reduce AI context usage by up to 70% while
maintaining full access to all 59 tools. Organizes tools into 7 logical
categories with automatic discovery and execution.

## What's New

### Tool Router System
- 12 direct tools (always visible for high-frequency operations)
- 47 routed tools (organized into 7 discoverable categories)
- 4 router tools for discovery and execution:
  - list_tool_categories - Browse all categories
  - get_category_tools - View tools in a category
  - search_tools - Find tools by keyword
  - execute_tool - Execute any routed tool

### Tool Categories
1. board (9 tools) - Board configuration, layers, zones
2. component (8 tools) - Advanced component operations
3. export (8 tools) - Manufacturing file generation
4. drc (8 tools) - Design rule checking & validation
5. schematic (8 tools) - Schematic editor operations
6. library (4 tools) - Footprint library access
7. routing (2 tools) - Advanced routing (vias, copper pours)

## Implementation Details

### New Files
- src/tools/registry.ts - Tool categorization and lookup system
- src/tools/router.ts - Router tool implementations
- docs/ROUTER_ARCHITECTURE.md - Design specification
- docs/ROUTER_IMPLEMENTATION_STATUS.md - Implementation status
- docs/TOOL_INVENTORY.md - Complete tool catalog
- docs/ROUTER_QUICK_START.md - User guide
- docs/mcp-router-guide.md - Implementation guide
- test-router.js - Registry test suite

### Modified Files
- src/server.ts - Integrated router tool registration
- README.md - Updated with router documentation and user feedback section

## Benefits
- Reduces AI context by organizing tools into discoverable categories
- Maintains backwards compatibility (all tools still functional)
- Seamless user experience (discovery is automatic)
- Extensible architecture for adding new tools
- Comprehensive documentation

## Testing
 Build passes (npm run build)
 Registry tests pass (node test-router.js)
 Server starts successfully with router tools
 All 59 tools remain accessible

## Current State
Phase 1 Complete: Infrastructure implemented and tested
Phase 2 Pending: Optional token optimization (hide routed tools from context)

Token impact:
- Current: ~42K tokens (all tools still registered)
- Potential: ~12K tokens (70% reduction with Phase 2)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 11:07:07 -05:00
KiCAD MCP Bot
119f1dfc16 feat: Extend IPC backend with 21 commands and hybrid footprint placement
- Add IPC handlers for zone operations (add_copper_pour, refill_zones)
- Add IPC handlers for board operations (add_board_outline, add_mounting_hole, get_layer_list)
- Add IPC handlers for component operations (rotate_component, get_component_properties)
- Add IPC handlers for net operations (delete_trace, get_nets_list)
- Implement hybrid footprint placement (SWIG library loading + IPC placement)
- Extend create_schematic to handle filename, title, projectName params
- Update documentation for IPC backend status and known issues

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 08:48:37 -05:00
mixelpixx
050ca8db62 Revise README for version 2.1.0-alpha
Updated README.md to include new features, installation instructions, and usage examples for version 2.1.0-alpha.
2025-11-30 14:39:25 -05:00
KiCAD MCP Bot
de0877b1a7 Update README to v2.1.0 with comprehensive documentation
- Document all 52 tools with JSON Schema validation
- Add Resources capability section (8 resources)
- Include MCP SDK 1.21.0 and protocol compliance details
- Professional tone throughout, no emoji
- Comprehensive installation instructions for all platforms
- Usage examples covering major workflows
- Architecture documentation and troubleshooting guide

Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-05 21:57:02 -05:00
KiCAD MCP Bot
5717a91a59 Add comprehensive Windows support and documentation
Windows Support Package:
- PowerShell automated setup script (setup-windows.ps1)
  - Auto-detects KiCAD installation and version
  - Validates all prerequisites (Node.js, Python, pcbnew)
  - Installs dependencies automatically
  - Generates MCP configuration with platform-specific paths
  - Runs comprehensive diagnostic tests
- Windows troubleshooting guide (docs/WINDOWS_TROUBLESHOOTING.md)
- Platform comparison guide (docs/PLATFORM_GUIDE.md)

Code Enhancements:
- Enhanced Windows error diagnostics in Python interface
- Startup validation in TypeScript server
- Platform-specific error messages with troubleshooting hints
- Component library integration (153 KiCAD footprint libraries)
- Routing operations KiCAD 9.0 API compatibility fixes

Documentation Updates:
- Updated README with Windows automated setup
- Real-time collaboration workflow guide
- Library integration documentation
- JLCPCB integration planning
- Updated status to reflect Windows support
- Changelogs for Nov 1 and Nov 5 updates

Infrastructure:
- Added venv/ to .gitignore to prevent virtual env commits

Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-05 09:10:45 -05:00
KiCAD MCP Bot
0354b70c68 Improve README clarity and remove duplicate test directory
Major improvements:
- Added "What is MCP?" explanation for newcomers
- Created prominent "Prerequisites" section emphasizing KiCAD setup
- Listed all Python requirements inline with descriptions
- Fixed GitHub URL from placeholder to actual repo
- Removed duplicate test/ directory (keeping tests/ for pytest)
- Made KiCAD installation steps more visible and clear
- Added verification command for KiCAD Python module
- Updated all config example paths to match actual repo name

This makes it much clearer for new users how to install and configure
the MCP server, with special emphasis on the critical KiCAD requirement.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-01 19:52:45 -04:00
KiCAD MCP Bot
89247fffe0 Update repository with project files and documentation
- Added comprehensive documentation (BUILD_AND_TEST, CLIENT_CONFIG, KNOWN_ISSUES, ROADMAP, etc.)
- Updated core functionality for board outline, size, and utilities
- Added new tools for project, routing, schematic, and UI management
- Included TypeScript SDK with full MCP implementation
- Updated configuration examples for all platforms
- Added changelog and status tracking
- Improved Python utilities with KiCAD process management
- Enhanced resource helpers and server capabilities

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-01 19:30:39 -04:00
KiCAD MCP Bot
e4c7119c51 feat: Week 1 complete - Linux support + IPC API prep
🎉 Major v2.0 rebuild kickoff - Week 1 accomplished!

## Highlights

### Cross-Platform Support 🌍
-  Linux primary platform (Ubuntu/Debian tested)
-  Windows fully supported
-  macOS experimental support
-  Platform-agnostic path handling (XDG spec)
-  Auto-detection of KiCAD installation

### Infrastructure 🏗️
-  GitHub Actions CI/CD pipeline
-  Pytest framework with 20+ tests
-  Pre-commit hooks (Black, MyPy, ESLint)
-  Automated Linux installation script
-  Enhanced npm scripts

### IPC API Migration Prep 🚀
-  Comprehensive migration plan (30 pages)
-  Backend abstraction layer (800+ lines)
-  Factory pattern with auto-detection
-  SWIG backward compatibility wrapper
-  IPC backend skeleton ready

### Documentation 📚
-  Updated README (Linux installation)
-  CONTRIBUTING.md guide
-  Linux compatibility audit
-  IPC API migration plan
-  Session summaries
-  Platform-specific config templates

## Files Changed

- 27 files created
- ~3,000 lines of code/docs
- 8 comprehensive documentation pages
- 20+ unit tests
- 5 abstraction layer modules

## Next Steps

- Week 2: IPC API migration (project.py → component.py → routing.py)
- Migrate from deprecated SWIG to official IPC API
- JLCPCB/Digikey integration prep

🤖 Generated with Claude Code
https://claude.com/claude-code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-25 20:48:00 -04:00