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
79 lines
1.8 KiB
YAML
79 lines
1.8 KiB
YAML
# Pre-commit hooks for DSS
|
|
# Install: pip install pre-commit
|
|
# Setup: pre-commit install
|
|
# Run manually: pre-commit run --all-files
|
|
|
|
repos:
|
|
# General file checks
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v4.5.0
|
|
hooks:
|
|
- id: trailing-whitespace
|
|
args: [--markdown-linebreak-ext=md]
|
|
- id: end-of-file-fixer
|
|
- id: check-yaml
|
|
- id: check-added-large-files
|
|
args: [--maxkb=1000]
|
|
- id: check-json
|
|
- id: check-toml
|
|
- id: check-merge-conflict
|
|
- id: check-case-conflict
|
|
- id: detect-private-key
|
|
- id: mixed-line-ending
|
|
|
|
# Python code formatting
|
|
- repo: https://github.com/psf/black
|
|
rev: 23.12.1
|
|
hooks:
|
|
- id: black
|
|
language_version: python3.10
|
|
args: [--line-length=100]
|
|
|
|
# Python import sorting
|
|
- repo: https://github.com/pycqa/isort
|
|
rev: 5.13.2
|
|
hooks:
|
|
- id: isort
|
|
args: [--profile=black, --line-length=100]
|
|
|
|
# Python linting
|
|
- repo: https://github.com/pycqa/flake8
|
|
rev: 7.0.0
|
|
hooks:
|
|
- id: flake8
|
|
args: [--max-line-length=100, --extend-ignore=E203]
|
|
additional_dependencies: [flake8-docstrings]
|
|
|
|
# Python type checking (optional, can be slow)
|
|
# - repo: https://github.com/pre-commit/mirrors-mypy
|
|
# rev: v1.8.0
|
|
# hooks:
|
|
# - id: mypy
|
|
# additional_dependencies: [types-all]
|
|
# args: [--ignore-missing-imports, --no-strict-optional]
|
|
|
|
# Security checks
|
|
- repo: https://github.com/PyCQA/bandit
|
|
rev: 1.7.6
|
|
hooks:
|
|
- id: bandit
|
|
args: [-r, tools/, -ll]
|
|
exclude: tests/
|
|
|
|
# Configuration
|
|
default_language_version:
|
|
python: python3.10
|
|
|
|
# Files to exclude
|
|
exclude: |
|
|
(?x)^(
|
|
\.venv/|
|
|
\.git/|
|
|
\.pytest_cache/|
|
|
__pycache__/|
|
|
\.dss/|
|
|
node_modules/|
|
|
cli/node_modules/|
|
|
archive/
|
|
)$
|