# MCP Server Makefile # Copyright (C) 2026 Moko Consulting # SPDX-License-Identifier: GPL-3.0-or-later PROJECT_NAME := {{PROJECT_NAME}} PROJECT_VERSION := 1.0.0 NPM := npm COLOR_RESET := \033[0m COLOR_GREEN := \033[32m COLOR_BLUE := \033[34m .PHONY: help help: ## Show this help message @echo "$(COLOR_BLUE)$(PROJECT_NAME) v$(PROJECT_VERSION)$(COLOR_RESET)" @echo "" @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " $(COLOR_BLUE)%-20s$(COLOR_RESET) %s\n", $$1, $$2}' @echo "" .PHONY: install-deps install-deps: ## Install dependencies @$(NPM) install @echo "$(COLOR_GREEN)✓ Dependencies installed$(COLOR_RESET)" MOKO_PLATFORM ?= $(or $(wildcard ../moko-platform),$(wildcard $(HOME)/moko-platform),$(wildcard /opt/moko-platform)) MINIFY_SCRIPT := $(MOKO_PLATFORM)/build/minify.js .PHONY: minify minify: ## Minify CSS/JS assets @echo "Minifying assets..." @if [ -f "$(MINIFY_SCRIPT)" ]; then \ node "$(MINIFY_SCRIPT)" $(SRC_DIR); \ elif [ -f "scripts/minify.js" ]; then \ node scripts/minify.js; \ else \ echo "No minify script found"; \ fi .PHONY: build build: minify ## Build TypeScript @$(NPM) run build @echo "$(COLOR_GREEN)✓ Build complete$(COLOR_RESET)" .PHONY: dev dev: ## Watch and rebuild on changes @$(NPM) run dev .PHONY: clean clean: ## Clean build artifacts @rm -rf dist @echo "$(COLOR_GREEN)✓ Cleaned$(COLOR_RESET)" .PHONY: setup setup: ## Run interactive setup wizard @$(NPM) run setup .PHONY: start start: ## Start the MCP server @$(NPM) run start .PHONY: lint lint: ## Run linter @$(NPM) run lint .PHONY: ci ci: install-deps build ## Run CI pipeline @echo "$(COLOR_GREEN)✓ CI pipeline complete$(COLOR_RESET)" .DEFAULT_GOAL := help