feat: add task-specific launcher script with MCP Tool Search #433
@@ -8,6 +8,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||
|
||||
### Added
|
||||
|
||||
- **marketplace:** Task-specific launcher script for token optimization
|
||||
- New script: `scripts/claude-launch.sh` loads only needed plugins via `--plugin-dir`
|
||||
- Profiles: sprint (default), review, data, infra, full
|
||||
- Reduces token overhead from ~22K to ~4-6K tokens
|
||||
- Enables `ENABLE_TOOL_SEARCH=true` for MCP lazy loading
|
||||
- **marketplace:** Lean/full profile switching to reduce token overhead
|
||||
- New script: `scripts/switch-profile.sh` to toggle between profiles
|
||||
- Lean profile: 6 plugins (projman, git-flow, pr-review, clarity-assist, code-sentinel, doc-guardian)
|
||||
|
||||
25
README.md
25
README.md
@@ -2,6 +2,31 @@
|
||||
|
||||
A collection of Claude Code plugins for project management, infrastructure automation, and development workflows.
|
||||
|
||||
## Quick Start
|
||||
|
||||
Use the launcher script to load only the plugins you need, reducing token overhead from ~22K to ~4-6K tokens:
|
||||
|
||||
```bash
|
||||
./scripts/claude-launch.sh [profile] [extra-args...]
|
||||
```
|
||||
|
||||
| Profile | Plugins Loaded | Use Case |
|
||||
|---------|----------------|----------|
|
||||
| `sprint` | projman, git-flow, pr-review, code-sentinel, doc-guardian, clarity-assist | Default. Sprint planning and development |
|
||||
| `review` | pr-review, code-sentinel | Lightweight code review |
|
||||
| `data` | data-platform, viz-platform | Data engineering and visualization |
|
||||
| `infra` | cmdb-assistant | Infrastructure/CMDB management |
|
||||
| `full` | All 12 plugins via marketplace.json | When you need everything |
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
./scripts/claude-launch.sh # Default sprint profile
|
||||
./scripts/claude-launch.sh data --model opus # Data profile with Opus
|
||||
./scripts/claude-launch.sh full # Load all plugins
|
||||
```
|
||||
|
||||
The script enables `ENABLE_TOOL_SEARCH=true` for MCP lazy loading.
|
||||
|
||||
## Plugins
|
||||
|
||||
### Development & Project Management
|
||||
|
||||
0
docs/prompts/INDEX.md
Normal file
0
docs/prompts/INDEX.md
Normal file
91
scripts/claude-launch.sh
Executable file
91
scripts/claude-launch.sh
Executable file
@@ -0,0 +1,91 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# claude-launch.sh - Launch Claude Code with task-specific plugin profiles
|
||||
#
|
||||
# Usage: ./scripts/claude-launch.sh [profile] [extra-args...]
|
||||
#
|
||||
# Profiles:
|
||||
# sprint - Project management, git, PR review, security, docs (default)
|
||||
# infra - Infrastructure/CMDB management
|
||||
# data - Data engineering and visualization
|
||||
# review - Code review only (lightweight)
|
||||
# full - All plugins via marketplace.json (~22K tokens)
|
||||
#
|
||||
# Examples:
|
||||
# ./scripts/claude-launch.sh # Default sprint profile
|
||||
# ./scripts/claude-launch.sh sprint # Explicit sprint profile
|
||||
# ./scripts/claude-launch.sh data --model opus # Data profile with Opus
|
||||
# ./scripts/claude-launch.sh full # Load all plugins
|
||||
#
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# Colors for output
|
||||
CYAN='\033[0;36m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Script directory (for relative plugin paths)
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
REPO_ROOT="$(dirname "$SCRIPT_DIR")"
|
||||
PLUGINS_DIR="$REPO_ROOT/plugins"
|
||||
|
||||
# Default profile
|
||||
PROFILE="${1:-sprint}"
|
||||
|
||||
# Shift profile arg if provided (to pass remaining args to claude)
|
||||
if [[ $# -gt 0 ]]; then
|
||||
shift
|
||||
fi
|
||||
|
||||
# Define plugin lists for each profile
|
||||
declare -A PROFILES
|
||||
PROFILES[sprint]="projman git-flow pr-review code-sentinel doc-guardian clarity-assist"
|
||||
PROFILES[infra]="cmdb-assistant"
|
||||
PROFILES[data]="data-platform viz-platform"
|
||||
PROFILES[review]="pr-review code-sentinel"
|
||||
PROFILES[full]="" # Empty = use marketplace.json
|
||||
|
||||
# Validate profile
|
||||
if [[ ! ${PROFILES[$PROFILE]+_} ]]; then
|
||||
echo -e "${YELLOW}Unknown profile: $PROFILE${NC}"
|
||||
echo "Available profiles: sprint, infra, data, review, full"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Build --plugin-dir arguments
|
||||
PLUGIN_ARGS=()
|
||||
PLUGIN_LIST="${PROFILES[$PROFILE]}"
|
||||
|
||||
if [[ -n "$PLUGIN_LIST" ]]; then
|
||||
echo -e "${CYAN}Profile: $PROFILE${NC}"
|
||||
echo -e "${GREEN}Loading plugins:${NC}"
|
||||
|
||||
for plugin in $PLUGIN_LIST; do
|
||||
plugin_path="$PLUGINS_DIR/$plugin"
|
||||
if [[ -d "$plugin_path" ]]; then
|
||||
echo " • $plugin"
|
||||
PLUGIN_ARGS+=("--plugin-dir" "$plugin_path")
|
||||
else
|
||||
echo -e "${YELLOW} ⚠ $plugin (not found at $plugin_path)${NC}"
|
||||
fi
|
||||
done
|
||||
echo ""
|
||||
else
|
||||
echo -e "${CYAN}Profile: full${NC}"
|
||||
echo -e "${GREEN}Loading all plugins via marketplace.json${NC}"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# Enable MCP Tool Search for deferred tool loading
|
||||
export ENABLE_TOOL_SEARCH=true
|
||||
echo -e "${GREEN}MCP Tool Search: enabled${NC}"
|
||||
echo ""
|
||||
|
||||
# Launch claude with plugin args and any extra arguments
|
||||
if [[ ${#PLUGIN_ARGS[@]} -gt 0 ]]; then
|
||||
exec claude "${PLUGIN_ARGS[@]}" "$@"
|
||||
else
|
||||
exec claude "$@"
|
||||
fi
|
||||
Reference in New Issue
Block a user