# Pathfinder MCP Server - Justfile
# Command runner for common development tasks
set quiet
set dotenv-load
# Default recipe - show help
default:
@just --list
# ===== Development =====
# Install dependencies with all extras
install:
uv sync --all-extras
# Install pre-commit hooks
setup-hooks:
uv run pre-commit install
# Run all tests
test:
uv run pytest -v
# Run tests with coverage report
test-coverage:
uv run pytest --cov=pathfinder_mcp
# Watch tests and rerun on changes
watch-tests:
uv run pytest-watch
# ===== Linting & Formatting =====
# Check code with ruff
lint:
uv run ruff check src/ tests/
# Fix linting issues automatically
lint-fix:
uv run ruff check --fix src/ tests/
# Format code with ruff
format:
uv run ruff format src/ tests/
# Run all checks (lint + format)
check: lint format
@echo "✓ All checks passed"
# Run pre-commit on all files
pre-commit-all:
uv run pre-commit run --all-files
# ===== Building =====
# Build the package
build:
uv build
# Clean build artifacts
clean:
rm -rf build/ dist/ *.egg-info .pytest_cache .coverage
# ===== Running =====
# Run the server locally
run:
uv run pathfinder-mcp
# ===== Documentation =====
# Show test coverage in browser
coverage-report:
open htmlcov/index.html
# List all available recipes
help:
@just --list --unsorted
# ===== Utility =====
# Update dependencies
deps-update:
uv sync --upgrade
# Show project structure
tree:
@find . -not -path '*/\.*' -not -path '*/node_modules/*' -not -path '*/.venv/*' -type f | head -30