chore: Add setup scripts and Makefile for project management
Scripts added: - CloneVendorRepos.sh: Clones all 27 vendor MCP/LSP repositories - BuildAll.sh: Builds all services from docker-compose.yml - CleanVendor.sh: Removes all cloned vendor repositories - StatusCheck.sh: Checks build status of all services Makefile added: - Provides convenient targets for common operations - Integrates all shell scripts into make commands - Targets: help, clone-vendors, build-all, clean-vendor, status, test, logs, ps, up, down Note: vendor/ directory remains gitignored (per .gitignore). CloneVendorRepos.sh creates it automatically.
This commit is contained in:
63
Makefile
Normal file
63
Makefile
Normal file
@@ -0,0 +1,63 @@
|
||||
# Makefile for KNEL-AIMiddleware
|
||||
# Common operations for building, managing, and deploying MCP/LSP services
|
||||
|
||||
.PHONY: help build-all clean-vendor clone-vendors status test
|
||||
|
||||
# Default target
|
||||
help: ## Show this help message
|
||||
@echo 'Usage: make [target]'
|
||||
@echo ''
|
||||
@echo 'Available targets:'
|
||||
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf " \033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
|
||||
|
||||
clone-vendors: ## Clone all vendor MCP/LSP repositories
|
||||
@echo "Cloning all vendor repositories..."
|
||||
@./CloneVendorRepos.sh
|
||||
|
||||
build-all: ## Build all MCP/LSP services
|
||||
@echo "Building all services..."
|
||||
@./BuildAll.sh
|
||||
|
||||
clean-vendor: ## Remove all cloned vendor repositories
|
||||
@echo "Cleaning vendor directory..."
|
||||
@./CleanVendor.sh
|
||||
|
||||
status: ## Check build status of all services
|
||||
@echo "Checking service status..."
|
||||
@./StatusCheck.sh
|
||||
|
||||
test: ## Run tests for all services (if available)
|
||||
@echo "Running tests..."
|
||||
@docker compose config --quiet && echo "✓ docker-compose.yml is valid"
|
||||
|
||||
logs: ## Show logs from all running services
|
||||
@docker compose logs -f
|
||||
|
||||
ps: ## Show status of all services
|
||||
@docker compose ps
|
||||
|
||||
up: ## Start all services in dev profile
|
||||
@echo "Starting all services..."
|
||||
@docker compose up -d --profile dev
|
||||
|
||||
down: ## Stop all services
|
||||
@echo "Stopping all services..."
|
||||
@docker compose down
|
||||
|
||||
rebuild: SERVICE? ## Rebuild a specific service (usage: make rebuild SERVICE=service-name)
|
||||
@echo "Rebuilding $(SERVICE)..."
|
||||
@docker compose build --no-cache $(SERVICE)
|
||||
@docker compose up -d $(SERVICE)
|
||||
|
||||
# Service-specific build targets
|
||||
build-context7: ## Build context7-mcp service
|
||||
@docker compose build context7-mcp
|
||||
|
||||
build-bash-language-server: ## Build bash-language-server service
|
||||
@docker compose build bash-language-server
|
||||
|
||||
build-docker-language-server: ## Build docker-language-server service
|
||||
@docker compose build docker-language-server
|
||||
|
||||
build-marksman: ## Build marksman service
|
||||
@docker compose build marksman
|
||||
Reference in New Issue
Block a user