1+ # Chrome DevTools MCP - Build Automation
2+
3+ .PHONY : install test lint format clean build package check dev help
4+
5+ # Default target
6+ help :
7+ @echo " Chrome DevTools MCP - Build Commands"
8+ @echo " "
9+ @echo " Development:"
10+ @echo " install Install dependencies with uv"
11+ @echo " dev Install in development mode"
12+ @echo " test Run test suite"
13+ @echo " lint Run linting checks"
14+ @echo " format Format code with ruff"
15+ @echo " check Run all checks (lint + type check + test)"
16+ @echo " "
17+ @echo " Distribution:"
18+ @echo " package Build DXT extension package"
19+ @echo " clean Remove build artifacts"
20+ @echo " "
21+ @echo " CI/CD:"
22+ @echo " ci-test Run full CI test suite"
23+
24+ # Development setup
25+ install :
26+ uv sync
27+
28+ dev : install
29+ uv run mcp install devtools_server.py -n " Chrome DevTools MCP" --with-editable .
30+
31+ # Code quality
32+ lint :
33+ uv run ruff check .
34+
35+ format :
36+ uv run ruff format .
37+
38+ typecheck :
39+ uv run mypy src/
40+
41+ # Testing
42+ test :
43+ uv run python test_devtools_server.py
44+
45+ test-individual :
46+ uv run python run_tests.py start_and_connect
47+
48+ # All checks
49+ check : lint typecheck test
50+
51+ # CI test suite
52+ ci-test : install check
53+
54+ # Packaging
55+ package : clean
56+ @echo " Building DXT extension package..."
57+ npx @anthropic-ai/dxt pack
58+ @echo " ✅ Extension packaged: chrome-devtools-protocol-*.dxt"
59+
60+ # Cleanup
61+ clean :
62+ rm -f chrome-devtools-protocol-* .dxt
63+ rm -rf .ruff_cache/
64+ rm -rf __pycache__/
65+ rm -rf src/__pycache__/
66+ rm -rf src/tools/__pycache__/
67+ rm -rf .pytest_cache/
68+ rm -rf chrome_devtools_mcp.egg-info/
69+
70+ # Installation helpers
71+ install-tools :
72+ npm install -g @anthropic-ai/dxt
73+ pip install uv
74+
75+ # Development server (for testing)
76+ dev-server :
77+ uv run python devtools_server.py
78+
79+ # Version management
80+ version-patch :
81+ @echo " Current version: $$ (jq -r '.version' manifest.json)"
82+ @echo " Bumping patch version..."
83+ @jq ' .version = (.version | split(".") | .[0] + "." + .[1] + "." + (.[2] | tonumber + 1 | tostring))' manifest.json > manifest.tmp && mv manifest.tmp manifest.json
84+ @echo " New version: $$ (jq -r '.version' manifest.json)"
85+
86+ version-minor :
87+ @echo " Current version: $$ (jq -r '.version' manifest.json)"
88+ @echo " Bumping minor version..."
89+ @jq ' .version = (.version | split(".") | .[0] + "." + (.[1] | tonumber + 1 | tostring) + ".0")' manifest.json > manifest.tmp && mv manifest.tmp manifest.json
90+ @echo " New version: $$ (jq -r '.version' manifest.json)"
91+
92+ # Quick development workflow
93+ quick-build : format lint package
94+ @echo " ✅ Quick build complete!"
95+
96+ # Full release workflow
97+ release : clean check package
98+ @echo " ✅ Release build complete!"
99+ @echo " 📦 Extension: chrome-devtools-protocol-*.dxt"
100+ @echo " "
101+ @echo " To release:"
102+ @echo " 1. git tag v$$ (jq -r '.version' manifest.json)"
103+ @echo " 2. git push origin v$$ (jq -r '.version' manifest.json)"
0 commit comments