sourcesage

by sarathsp06
Verified
.PHONY: init test lint fix format clean run build install venv # Python interpreter to use PYTHON := python3 # Test file TEST_FILE := test_storage.py # Package name PACKAGE := sourcesage # Virtual environment directory VENV_DIR := .venv VENV_BIN := $(VENV_DIR)/bin VENV_PYTHON := $(VENV_BIN)/python VENV_PIP := $(VENV_BIN)/pip # Create a virtual environment venv: @echo "Creating virtual environment..." $(PYTHON) -m venv $(VENV_DIR) @echo "Virtual environment created at $(VENV_DIR)" # Initialize the project init: venv @echo "Installing dependencies..." $(VENV_PIP) install -e . $(VENV_PIP) install ruff build @echo "Dependencies installed successfully." # Run tests test: venv @echo "Running tests..." $(VENV_PYTHON) $(TEST_FILE) @echo "Tests completed." # Run linting lint: venv @echo "Running linters..." $(VENV_BIN)/ruff check $(PACKAGE) @echo "Linting completed." # Fix linting issues fix: venv @echo "Fixing linting issues..." $(VENV_BIN)/ruff check --fix $(PACKAGE) @echo "Linting fixes completed." # Format code format: venv @echo "Formatting code..." $(VENV_BIN)/ruff format $(PACKAGE) @echo "Formatting completed." # Clean up temporary files clean: @echo "Cleaning up..." rm -rf build/ dist/ *.egg-info/ __pycache__/ .pytest_cache/ .ruff_cache/ $(VENV_DIR)/ find . -type d -name __pycache__ -exec rm -rf {} + find . -type d -name "*.egg-info" -exec rm -rf {} + find . -type f -name "*.pyc" -delete find . -type f -name "*.pyo" -delete find . -type f -name "*.pyd" -delete @echo "Cleanup completed." # Run the MCP server run: venv @echo "Starting SourceSage MCP server..." $(VENV_PYTHON) -m sourcesage.mcp_server # Build the package build: venv @echo "Building package..." $(VENV_PYTHON) -m build @echo "Build completed." # Install the package locally install: venv @echo "Installing package locally..." $(VENV_PIP) install -e . @echo "Installation completed." # Show help help: @echo "Available targets:" @echo " venv - Create a virtual environment" @echo " init - Install dependencies" @echo " test - Run tests" @echo " lint - Run linters" @echo " fix - Fix linting issues" @echo " format - Format code" @echo " clean - Clean up temporary files" @echo " run - Run the MCP server" @echo " build - Build the package" @echo " install - Install the package locally" @echo " help - Show this help message"