diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -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) |
