kicad-mcp/Makefile
Ryan Malloy 4ae38fed59 Rebuild on FastMCP 3 with src-layout and kicad-sch-api integration
Migrate from FastMCP 2.14.5 to 3.1.0 with complete architectural
overhaul. Adopt src-layout packaging, lazy config functions to
eliminate .env race condition, and decorator-based tool registration.

Consolidate 14 tool modules into 8 focused modules (33 tools total).
Add 9 new schematic tools via kicad-sch-api for creating and
manipulating .kicad_sch files. Drop pandas dependency (BOM uses
stdlib csv). Remove ~17k lines of stubs, over-engineering, and
dead code.

All checks pass: ruff clean, mypy 0 errors, 17/17 tests green.
2026-03-03 18:26:54 -07:00

45 lines
1.1 KiB
Makefile

.PHONY: help install test lint format clean build run
help:
@echo "Available commands:"
@echo " install Install dependencies"
@echo " test Run tests"
@echo " test <file> Run specific test file"
@echo " lint Run linting"
@echo " format Format code"
@echo " clean Clean build artifacts"
@echo " build Build package"
@echo " run Start the mckicad MCP server"
install:
uv sync --group dev
test:
@files="$(filter-out $@,$(MAKECMDGOALS))"; \
if [ -z "$$files" ]; then files="tests/"; fi; \
uv run pytest $$files -v
# Prevent "No rule to make target …" errors for extra args
%::
@:
lint:
uv run ruff check src/mckicad/ tests/
uv run mypy src/mckicad/
format:
uv run ruff format src/mckicad/ tests/
uv run ruff check --fix src/mckicad/ tests/
clean:
rm -rf dist/ build/ *.egg-info/ .pytest_cache/ htmlcov/
rm -f coverage.xml
find . -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true
find . -type f -name "*.pyc" -delete 2>/dev/null || true
build:
uv build
run:
uv run python main.py