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:
109
dss-mvp1/tests/fixtures/api_keys.json
vendored
Normal file
109
dss-mvp1/tests/fixtures/api_keys.json
vendored
Normal file
@@ -0,0 +1,109 @@
|
||||
{
|
||||
"description": "Mock API keys for testing - DO NOT USE IN PRODUCTION",
|
||||
"note": "These are example keys for testing only. Replace with real keys in .env for production use.",
|
||||
|
||||
"anthropic": {
|
||||
"mock_api_key": "sk-ant-api03-test-mock-key-for-testing-only-do-not-use-in-production-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
|
||||
"api_base": "https://api.anthropic.com/v1",
|
||||
"model": "claude-sonnet-4-5-20250929",
|
||||
"max_tokens": 4096
|
||||
},
|
||||
|
||||
"figma": {
|
||||
"mock_token": "figd_test_mock_token_for_testing_only_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
|
||||
"mock_file_key": "aBcDeFgHiJkLmNoPqRsTuV",
|
||||
"api_base": "https://api.figma.com/v1"
|
||||
},
|
||||
|
||||
"openai": {
|
||||
"mock_api_key": "sk-test-mock-openai-key-for-testing-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
|
||||
"api_base": "https://api.openai.com/v1",
|
||||
"model": "gpt-4"
|
||||
},
|
||||
|
||||
"mock_responses": {
|
||||
"claude": {
|
||||
"simple_response": {
|
||||
"id": "msg_01ABC123",
|
||||
"type": "message",
|
||||
"role": "assistant",
|
||||
"content": [
|
||||
{
|
||||
"type": "text",
|
||||
"text": "This is a mock Claude response for testing."
|
||||
}
|
||||
],
|
||||
"model": "claude-sonnet-4-5-20250929",
|
||||
"stop_reason": "end_turn",
|
||||
"usage": {
|
||||
"input_tokens": 10,
|
||||
"output_tokens": 20
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"figma": {
|
||||
"variables_response": {
|
||||
"status": 200,
|
||||
"meta": {
|
||||
"variableCollections": {
|
||||
"VariableCollectionId:1:1": {
|
||||
"id": "VariableCollectionId:1:1",
|
||||
"name": "Colors",
|
||||
"modes": [
|
||||
{
|
||||
"modeId": "1:0",
|
||||
"name": "Light"
|
||||
},
|
||||
{
|
||||
"modeId": "1:1",
|
||||
"name": "Dark"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"variables": {
|
||||
"VariableID:1:2": {
|
||||
"id": "VariableID:1:2",
|
||||
"name": "colors/primary",
|
||||
"key": "colors_primary",
|
||||
"variableCollectionId": "VariableCollectionId:1:1",
|
||||
"resolvedType": "COLOR",
|
||||
"valuesByMode": {
|
||||
"1:0": {
|
||||
"r": 0.0,
|
||||
"g": 0.4,
|
||||
"b": 0.8,
|
||||
"a": 1.0
|
||||
},
|
||||
"1:1": {
|
||||
"r": 0.4,
|
||||
"g": 0.6,
|
||||
"b": 1.0,
|
||||
"a": 1.0
|
||||
}
|
||||
},
|
||||
"description": "Primary brand color",
|
||||
"remote": false,
|
||||
"hiddenFromPublishing": false
|
||||
},
|
||||
"VariableID:1:3": {
|
||||
"id": "VariableID:1:3",
|
||||
"name": "spacing/base",
|
||||
"key": "spacing_base",
|
||||
"variableCollectionId": "VariableCollectionId:1:1",
|
||||
"resolvedType": "FLOAT",
|
||||
"valuesByMode": {
|
||||
"1:0": 16,
|
||||
"1:1": 16
|
||||
},
|
||||
"description": "Base spacing unit",
|
||||
"remote": false,
|
||||
"hiddenFromPublishing": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
83
dss-mvp1/tests/fixtures/valid_project.json
vendored
Normal file
83
dss-mvp1/tests/fixtures/valid_project.json
vendored
Normal file
@@ -0,0 +1,83 @@
|
||||
{
|
||||
"id": "heroui-ds-test",
|
||||
"name": "HeroUI Design System",
|
||||
"version": "1.0.0",
|
||||
"description": "A modern design system based on HeroUI with shadcn components",
|
||||
"theme": {
|
||||
"name": "HeroUI Theme",
|
||||
"version": "1.0.0",
|
||||
"tokens": {
|
||||
"primary": {
|
||||
"name": "primary",
|
||||
"value": "oklch(0.65 0.18 250)",
|
||||
"type": "color",
|
||||
"category": "color",
|
||||
"description": "Primary brand color"
|
||||
},
|
||||
"secondary": {
|
||||
"name": "secondary",
|
||||
"value": "oklch(0.55 0.05 285)",
|
||||
"type": "color",
|
||||
"category": "color",
|
||||
"description": "Secondary brand color"
|
||||
},
|
||||
"space-sm": {
|
||||
"name": "space-sm",
|
||||
"value": "8px",
|
||||
"type": "dimension",
|
||||
"category": "spacing",
|
||||
"description": "Small spacing unit"
|
||||
},
|
||||
"space-md": {
|
||||
"name": "space-md",
|
||||
"value": "16px",
|
||||
"type": "dimension",
|
||||
"category": "spacing",
|
||||
"description": "Medium spacing unit"
|
||||
},
|
||||
"space-lg": {
|
||||
"name": "space-lg",
|
||||
"value": "24px",
|
||||
"type": "dimension",
|
||||
"category": "spacing",
|
||||
"description": "Large spacing unit"
|
||||
},
|
||||
"radius": {
|
||||
"name": "radius",
|
||||
"value": "12px",
|
||||
"type": "dimension",
|
||||
"category": "radius",
|
||||
"description": "Default border radius"
|
||||
}
|
||||
}
|
||||
},
|
||||
"components": [
|
||||
{
|
||||
"name": "Button",
|
||||
"source": "shadcn",
|
||||
"description": "Primary action button with multiple variants",
|
||||
"variants": ["default", "outline", "ghost", "destructive"],
|
||||
"props": {
|
||||
"variant": "string",
|
||||
"size": "string",
|
||||
"disabled": "boolean"
|
||||
},
|
||||
"dependencies": []
|
||||
},
|
||||
{
|
||||
"name": "Card",
|
||||
"source": "shadcn",
|
||||
"description": "Content container card",
|
||||
"variants": [],
|
||||
"props": {
|
||||
"className": "string"
|
||||
},
|
||||
"dependencies": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"author": "Test User",
|
||||
"team": "QA",
|
||||
"tags": ["heroui", "shadcn", "test"]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user