- Add all 21 commands (clawd, ralph, prometheus*, dexto*) - Add all hooks (intelligent-router, clawd-*, prometheus-wrapper, unified-integration-v2) - Add skills (ralph, prometheus master) - Add MCP servers (registry.json, manager.sh) - Add plugins directory with marketplaces - Add health-check.sh and aliases.sh scripts - Complete repository synchronization with local ~/.claude/ Total changes: 100+ new files added All integrations now fully backed up in repository 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
74 lines
2.3 KiB
Bash
Executable File
74 lines
2.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Setup script for OpenCode plugin tests
|
|
# Creates an isolated test environment with proper plugin installation
|
|
set -euo pipefail
|
|
|
|
# Get the repository root (two levels up from tests/opencode/)
|
|
REPO_ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
|
|
|
|
# Create temp home directory for isolation
|
|
export TEST_HOME=$(mktemp -d)
|
|
export HOME="$TEST_HOME"
|
|
export XDG_CONFIG_HOME="$TEST_HOME/.config"
|
|
export OPENCODE_CONFIG_DIR="$TEST_HOME/.config/opencode"
|
|
|
|
# Install plugin to test location
|
|
mkdir -p "$HOME/.config/opencode/superpowers"
|
|
cp -r "$REPO_ROOT/lib" "$HOME/.config/opencode/superpowers/"
|
|
cp -r "$REPO_ROOT/skills" "$HOME/.config/opencode/superpowers/"
|
|
|
|
# Copy plugin directory
|
|
mkdir -p "$HOME/.config/opencode/superpowers/.opencode/plugin"
|
|
cp "$REPO_ROOT/.opencode/plugin/superpowers.js" "$HOME/.config/opencode/superpowers/.opencode/plugin/"
|
|
|
|
# Register plugin via symlink
|
|
mkdir -p "$HOME/.config/opencode/plugin"
|
|
ln -sf "$HOME/.config/opencode/superpowers/.opencode/plugin/superpowers.js" \
|
|
"$HOME/.config/opencode/plugin/superpowers.js"
|
|
|
|
# Create test skills in different locations for testing
|
|
|
|
# Personal test skill
|
|
mkdir -p "$HOME/.config/opencode/skills/personal-test"
|
|
cat > "$HOME/.config/opencode/skills/personal-test/SKILL.md" <<'EOF'
|
|
---
|
|
name: personal-test
|
|
description: Test personal skill for verification
|
|
---
|
|
# Personal Test Skill
|
|
|
|
This is a personal skill used for testing.
|
|
|
|
PERSONAL_SKILL_MARKER_12345
|
|
EOF
|
|
|
|
# Create a project directory for project-level skill tests
|
|
mkdir -p "$TEST_HOME/test-project/.opencode/skills/project-test"
|
|
cat > "$TEST_HOME/test-project/.opencode/skills/project-test/SKILL.md" <<'EOF'
|
|
---
|
|
name: project-test
|
|
description: Test project skill for verification
|
|
---
|
|
# Project Test Skill
|
|
|
|
This is a project skill used for testing.
|
|
|
|
PROJECT_SKILL_MARKER_67890
|
|
EOF
|
|
|
|
echo "Setup complete: $TEST_HOME"
|
|
echo "Plugin installed to: $HOME/.config/opencode/superpowers/.opencode/plugin/superpowers.js"
|
|
echo "Plugin registered at: $HOME/.config/opencode/plugin/superpowers.js"
|
|
echo "Test project at: $TEST_HOME/test-project"
|
|
|
|
# Helper function for cleanup (call from tests or trap)
|
|
cleanup_test_env() {
|
|
if [ -n "${TEST_HOME:-}" ] && [ -d "$TEST_HOME" ]; then
|
|
rm -rf "$TEST_HOME"
|
|
fi
|
|
}
|
|
|
|
# Export for use in tests
|
|
export -f cleanup_test_env
|
|
export REPO_ROOT
|