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:
2026-01-21 19:39:10 -05:00
parent 30cbbeb90c
commit 3c2ee58ca1
5 changed files with 307 additions and 0 deletions

86
CloneVendorRepos.sh Executable file
View File

@@ -0,0 +1,86 @@
#!/bin/bash
# CloneVendorRepos.sh
# Script to clone all vendor MCP/LSP repositories for KNEL-AIMiddleware
set -e # Exit on error
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Vendor directory
VENDOR_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/vendor"
echo -e "${GREEN}=== KNEL-AIMiddleware Vendor Repository Clone Script ===${NC}"
echo ""
echo "Vendor directory: $VENDOR_DIR"
echo ""
# Check if vendor directory exists
if [ ! -d "$VENDOR_DIR" ]; then
echo -e "${YELLOW}Creating vendor directory...${NC}"
mkdir -p "$VENDOR_DIR"
fi
# Clone repositories (using subshell to avoid associative array issues)
clone_repo() {
local dir_name="$1"
local repo_url="$2"
local target_dir="$VENDOR_DIR/$dir_name"
if [ -d "$target_dir" ]; then
echo -e "${YELLOW}[SKIP]${NC} $dir_name (already exists)"
else
echo -e "${GREEN}[CLONE]${NC} $dir_name from $repo_url"
git clone --depth 1 "$repo_url" "$target_dir"
if [ $? -eq 0 ]; then
echo -e "${GREEN}${NC} Successfully cloned $dir_name"
else
echo -e "${RED}${NC} Failed to clone $dir_name"
return 1
fi
fi
echo ""
}
# Clone all repositories
clone_repo "KiCAD-MCP-Server" "https://github.com/mixelpixx/KiCAD-MCP-Server.git"
clone_repo "blender-mcp" "https://github.com/ahujasid/blender-mcp.git"
clone_repo "freecad-mcp" "https://github.com/ahujasid/freecad-mcp.git"
clone_repo "context7" "https://github.com/upstash/context7.git"
clone_repo "gimp-mcp" "https://github.com/ahujasid/gimp-mcp.git"
clone_repo "bash-language-server" "https://github.com/bash-lsp/bash-language-server.git"
clone_repo "docker-language-server" "https://github.com/rcjsuen/docker-language-server.git"
clone_repo "marksman" "https://github.com/artempyanykh/marksman.git"
clone_repo "drawio-mcp-server" "https://github.com/ahujasid/drawio-mcp-server.git"
clone_repo "matomo-mcp-client" "https://github.com/ahujasid/matomo-mcp-client.git"
clone_repo "imap-mcp" "https://github.com/ahujasid/imap-mcp.git"
clone_repo "mcp-redmine" "https://github.com/ahujasid/mcp-redmine.git"
clone_repo "ghost-mcp" "https://github.com/ahujasid/ghost-mcp.git"
clone_repo "discourse-mcp" "https://github.com/ahujasid/discourse-mcp.git"
clone_repo "mcp-cloudron" "https://github.com/ahujasid/mcp-cloudron.git"
clone_repo "postizz-MCP" "https://github.com/ahujasid/postizz-MCP.git"
clone_repo "snipeit-mcp" "https://github.com/ahujasid/snipeit-mcp.git"
clone_repo "nextcloud-mcp-server" "https://github.com/ahujasid/nextcloud-mcp-server.git"
clone_repo "docspace-mcp" "https://github.com/ahujasid/docspace-mcp.git"
clone_repo "docker-mcp" "https://github.com/ahujasid/docker-mcp.git"
clone_repo "kubernetes-mcp-server" "https://github.com/ahujasid/kubernetes-mcp-server.git"
clone_repo "ProxmoxMCP" "https://github.com/ahujasid/ProxmoxMCP.git"
clone_repo "terraform-mcp-server" "https://github.com/ahujasid/terraform-mcp-server.git"
clone_repo "mcp-ansible" "https://github.com/ahujasid/mcp-ansible.git"
clone_repo "mcp-server" "https://github.com/Bitwarden/clients.git"
clone_repo "mcp-adapter" "https://github.com/ahujasid/mcp-adapter.git"
clone_repo "audiobook-mcp-server" "https://github.com/ahujasid/audiobook-mcp-server.git"
clone_repo "mcp-server-elasticsearch" "https://github.com/ahujasid/mcp-server-elasticsearch.git"
clone_repo "penpot-mcp" "https://github.com/ahujasid/penpot-mcp.git"
echo -e "${GREEN}=== All repositories cloned successfully! ===${NC}"
echo ""
echo "Next steps:"
echo " 1. Review and configure environment variables in .env"
echo " 2. Build and test services: docker compose build <service-name>"
echo " 3. Start services: docker compose up -d --profile dev"