Update documentation and scripts to reflect the plugin move from root level to claude-plugin/ subdirectory: - Fix command links in docs/DAEMON.md, docs/SYNC.md, examples/ - Update plugin.json path references in RELEASING.md, AGENT_INSTRUCTIONS.md - Update scripts/bump-version.sh and scripts/check-versions.sh - Update skill documentation paths in claude-plugin/skills/beads/ The marketplace.json correctly stays at .claude-plugin/ (root level) while plugin.json moved to claude-plugin/.claude-plugin/. Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
73 lines
2.1 KiB
Bash
Executable File
73 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# Check that all version files are in sync
|
|
# Run this before committing version bumps
|
|
|
|
set -e
|
|
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
NC='\033[0m'
|
|
|
|
# Get the canonical version from version.go
|
|
CANONICAL=$(grep 'Version = ' cmd/bd/version.go | sed 's/.*"\(.*\)".*/\1/')
|
|
|
|
if [ -z "$CANONICAL" ]; then
|
|
echo -e "${RED}❌ Could not read version from cmd/bd/version.go${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Canonical version (from version.go): $CANONICAL"
|
|
echo ""
|
|
|
|
MISMATCH=0
|
|
|
|
check_version() {
|
|
local file=$1
|
|
local version=$2
|
|
local description=$3
|
|
|
|
if [ "$version" != "$CANONICAL" ]; then
|
|
echo -e "${RED}❌ $description: $version (expected $CANONICAL)${NC}"
|
|
MISMATCH=1
|
|
else
|
|
echo -e "${GREEN}✓ $description: $version${NC}"
|
|
fi
|
|
}
|
|
|
|
# Check all version files
|
|
check_version "integrations/beads-mcp/pyproject.toml" \
|
|
"$(grep '^version = ' integrations/beads-mcp/pyproject.toml 2>/dev/null | sed 's/.*"\(.*\)".*/\1/')" \
|
|
"MCP pyproject.toml"
|
|
|
|
check_version "integrations/beads-mcp/src/beads_mcp/__init__.py" \
|
|
"$(grep '__version__ = ' integrations/beads-mcp/src/beads_mcp/__init__.py 2>/dev/null | sed 's/.*"\(.*\)".*/\1/')" \
|
|
"MCP __init__.py"
|
|
|
|
check_version "claude-plugin/.claude-plugin/plugin.json" \
|
|
"$(jq -r '.version' claude-plugin/.claude-plugin/plugin.json 2>/dev/null)" \
|
|
"Claude plugin.json"
|
|
|
|
check_version ".claude-plugin/marketplace.json" \
|
|
"$(jq -r '.plugins[0].version' .claude-plugin/marketplace.json 2>/dev/null)" \
|
|
"Claude marketplace.json"
|
|
|
|
check_version "npm-package/package.json" \
|
|
"$(jq -r '.version' npm-package/package.json 2>/dev/null)" \
|
|
"npm package.json"
|
|
|
|
check_version "cmd/bd/templates/hooks/pre-commit" \
|
|
"$(grep '# bd-hooks-version:' cmd/bd/templates/hooks/pre-commit 2>/dev/null | sed 's/.*: //')" \
|
|
"Hook templates"
|
|
|
|
echo ""
|
|
|
|
if [ $MISMATCH -eq 1 ]; then
|
|
echo -e "${RED}❌ Version mismatch detected!${NC}"
|
|
echo ""
|
|
echo "Run: scripts/bump-version.sh $CANONICAL"
|
|
echo "Or manually update the mismatched files."
|
|
exit 1
|
|
else
|
|
echo -e "${GREEN}✓ All versions match: $CANONICAL${NC}"
|
|
fi
|