# SSH MCP Server Makefile
# Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
# Based on mcp-ssh-manager by MCP SSH Manager Contributors (MIT License)
# SPDX-License-Identifier: MIT

PROJECT_NAME := ssh-mcp
PROJECT_VERSION := 3.4.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}'

.PHONY: install-deps
install-deps: ## Install dependencies
	@$(NPM) install
	@echo "$(COLOR_GREEN)✓ Dependencies installed$(COLOR_RESET)"

.PHONY: start
start: ## Start the MCP server
	@$(NPM) run start

.PHONY: test
test: ## Run tests
	@$(NPM) test

.PHONY: lint
lint: ## Run linter
	@$(NPM) run lint

.PHONY: server-add
server-add: ## Add a server (interactive)
	@./cli/ssh-manager.js server add

.PHONY: server-list
server-list: ## List configured servers
	@./cli/ssh-manager.js server list

.PHONY: tools-list
tools-list: ## List available tools and status
	@./cli/ssh-manager.js tools list

.DEFAULT_GOAL := help
