aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile21
1 files changed, 21 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 3508510..44431dc 100644
--- a/Makefile
+++ b/Makefile
@@ -16,6 +16,7 @@ OPTIN_HOOKS := hooks/destructive-bash-confirm.py
DEFAULT_HOOKS := $(filter-out $(OPTIN_HOOKS),$(HOOKS))
CLAUDE_CONFIG := $(wildcard .claude/*.json) $(wildcard .claude/.*.json)
LANGUAGES := $(notdir $(wildcard languages/*))
+TEAMS := $(notdir $(wildcard teams/*))
PDFTOOLS_VENV ?= $(HOME)/.local/venvs/pdftools
# LANG is also the standard POSIX locale env var. Make inherits env vars into
@@ -54,6 +55,17 @@ define pick_lang_shell
test -n "$$L" || { echo "No language selected." >&2; exit 1; }; \
fi
endef
+define pick_team_shell
+ T="$(TEAM)"; \
+ if [ -z "$$T" ]; then \
+ if ! command -v fzf >/dev/null 2>&1; then \
+ echo "ERROR: TEAM=<team> not set and fzf is not installed" >&2; \
+ exit 1; \
+ fi; \
+ T=$$(printf '%s\n' $(TEAMS) | fzf --prompt="Team> " 2>/dev/null); \
+ test -n "$$T" || { echo "No team selected." >&2; exit 1; }; \
+ fi
+endef
# Cross-platform package install helper (brew/apt/pacman)
define install_pkg
@@ -383,6 +395,15 @@ install-elisp: ## Install Elisp bundle ([PROJECT=<path>] [FORCE=1])
install-python: ## Install Python bundle ([PROJECT=<path>] [FORCE=1])
@$(MAKE) install-lang LANG=python PROJECT="$(PROJECT)" FORCE="$(FORCE)"
+list-teams: ## List available team overlays
+ @echo "Available team overlays (teams/):"
+ @for team in $(TEAMS); do echo " - $$team"; done
+
+install-team: ## Install a team publishing overlay into one project ([TEAM=<team>] [PROJECT=<path>])
+ @$(pick_team_shell); \
+ $(pick_project_shell); \
+ bash scripts/install-team.sh "$$T" "$$P"
+
##@ MCP servers (user scope)
install-mcp: ## Decrypt mcp/secrets.env.gpg and register MCP servers at user scope (idempotent)