Initial commit: Clean DSS implementation

Migrated from design-system-swarm with fresh git history.
Old project history preserved in /home/overbits/apps/design-system-swarm

Core components:
- MCP Server (Python FastAPI with mcp 1.23.1)
- Claude Plugin (agents, commands, skills, strategies, hooks, core)
- DSS Backend (dss-mvp1 - token translation, Figma sync)
- Admin UI (Node.js/React)
- Server (Node.js/Express)
- Storybook integration (dss-mvp1/.storybook)

Self-contained configuration:
- All paths relative or use DSS_BASE_PATH=/home/overbits/dss
- PYTHONPATH configured for dss-mvp1 and dss-claude-plugin
- .env file with all configuration
- Claude plugin uses ${CLAUDE_PLUGIN_ROOT} for portability

Migration completed: $(date)
🤖 Clean migration with full functionality preserved
This commit is contained in:
Digital Production Factory
2025-12-09 18:45:48 -03:00
commit 276ed71f31
884 changed files with 373737 additions and 0 deletions

60
.dss/doc-sync/hooks/post-commit Executable file
View File

@@ -0,0 +1,60 @@
#!/bin/bash
#
# Post-commit hook for documentation synchronization
#
# Automatically regenerates documentation after commits
PROJECT_ROOT="$(git rev-parse --show-toplevel)"
DOC_SYNC_DIR="$PROJECT_ROOT/.dss/doc-sync"
RUNNER="$DOC_SYNC_DIR/doc_sync_runner.py"
# Colors
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
echo ""
echo "📚 Post-commit: Regenerating documentation..."
# Check if runner exists
if [ ! -f "$RUNNER" ]; then
echo -e "${YELLOW}⚠️ Doc sync runner not found, skipping${NC}"
exit 0
fi
# Get list of changed files in this commit
CHANGED_FILES=$(git diff-tree --no-commit-id --name-only -r HEAD)
# Check if any code files were changed
CODE_CHANGED=$(echo "$CHANGED_FILES" | grep -E "\.(py|js|ts|jsx|tsx)$")
if [ -z "$CODE_CHANGED" ]; then
echo -e "${YELLOW}No code changes detected, skipping doc regeneration${NC}"
exit 0
fi
# Run documentation generators
cd "$PROJECT_ROOT"
python3 "$RUNNER" run --trigger post-commit 2>&1
if [ $? -eq 0 ]; then
echo -e "${GREEN}✓ Documentation updated successfully${NC}"
# Check if .knowledge/ was updated
KNOWLEDGE_UPDATED=$(git status --porcelain | grep "^.M .knowledge/")
if [ -n "$KNOWLEDGE_UPDATED" ]; then
echo ""
echo -e "${YELLOW}📝 Knowledge base was updated:${NC}"
echo "$KNOWLEDGE_UPDATED" | sed 's/^/ /'
echo ""
echo -e "${YELLOW}Stage and commit these changes:${NC}"
echo " git add .knowledge/"
echo " git commit -m \"docs: update knowledge base (auto-generated)\""
fi
else
echo -e "${YELLOW}⚠️ Documentation generation had warnings/errors${NC}"
echo -e "${YELLOW}Check the output above for details${NC}"
fi
exit 0

56
.dss/doc-sync/hooks/pre-commit Executable file
View File

@@ -0,0 +1,56 @@
#!/bin/bash
#
# Pre-commit hook for documentation synchronization
#
# Validates manifest and warns about documentation changes
PROJECT_ROOT="$(git rev-parse --show-toplevel)"
DOC_SYNC_DIR="$PROJECT_ROOT/.dss/doc-sync"
RUNNER="$DOC_SYNC_DIR/doc_sync_runner.py"
# Colors
RED='\033[0;31m'
YELLOW='\033[1;33m'
GREEN='\033[0;32m'
NC='\033[0m' # No Color
echo "🔍 Pre-commit: Validating documentation manifest..."
# Check if runner exists
if [ ! -f "$RUNNER" ]; then
echo -e "${YELLOW}⚠️ Doc sync runner not found, skipping validation${NC}"
exit 0
fi
# Validate manifest
cd "$PROJECT_ROOT"
python3 "$RUNNER" validate 2>&1
if [ $? -ne 0 ]; then
echo -e "${RED}❌ Manifest validation failed${NC}"
echo -e "${YELLOW}Fix errors in .dss/doc-sync/manifest.json${NC}"
exit 1
fi
echo -e "${GREEN}✓ Manifest is valid${NC}"
# Warn if .knowledge/ files are being committed without corresponding code changes
STAGED_KNOWLEDGE=$(git diff --cached --name-only | grep "^\.knowledge/")
STAGED_CODE=$(git diff --cached --name-only | grep -E "\.(py|js|ts|jsx|tsx)$")
if [ -n "$STAGED_KNOWLEDGE" ] && [ -z "$STAGED_CODE" ]; then
echo -e "${YELLOW}⚠️ Warning: You're committing .knowledge/ changes without code changes${NC}"
echo -e "${YELLOW} This might indicate manual edits to generated files${NC}"
echo ""
echo "Staged knowledge files:"
echo "$STAGED_KNOWLEDGE" | sed 's/^/ - /'
echo ""
echo -e "${YELLOW}Continue? (y/N)${NC}"
read -r response
if [[ ! "$response" =~ ^[Yy]$ ]]; then
echo "Commit aborted"
exit 1
fi
fi
exit 0