# DSS Configuration Template
# Copy this file to config.yaml and fill in your values

# ==========================================
# Project Information
# ==========================================
project:
  name: "Your Project Name"
  version: "1.0.0"
  description: "Your design system project"
  url: "https://your-domain.com"

# ==========================================
# API Configuration
# ==========================================
api:
  # Anthropic Claude API
  anthropic:
    api_key: ""  # Get from: https://console.anthropic.com/settings/keys
    model: "claude-sonnet-4-5-20250929"
    max_tokens: 4096

  # Figma API
  figma:
    token: ""  # Get from: https://www.figma.com/developers/api#access-tokens
    file_key: ""  # From Figma file URL: figma.com/file/{FILE_KEY}/...
    use_cache: true
    cache_ttl_seconds: 300  # 5 minutes

  # OpenAI (Optional)
  openai:
    api_key: ""
    model: "gpt-4"

# ==========================================
# Server Configuration
# ==========================================
server:
  host: "127.0.0.1"
  port: 3456
  mcp_port: 3457
  reload: true  # Auto-reload on code changes (development only)
  cors_origins:
    - "http://localhost:3000"
    - "http://localhost:8080"

# ==========================================
# Database Configuration
# ==========================================
database:
  path: "~/.dss/dss.db"
  backup_path: "~/.dss/backups/"
  auto_backup: true

# ==========================================
# Theme Configuration
# ==========================================
themes:
  default_light: "DSS Light"
  default_dark: "DSS Dark"
  custom_themes_dir: "themes/"

# ==========================================
# Style Dictionary Configuration
# ==========================================
style_dictionary:
  output_formats:
    - "css"
    - "scss"
    - "json"
  build_path: "dist/tokens/"
  platforms:
    - name: "css"
      transformGroup: "css"
      files:
        - destination: "variables.css"
          format: "css/variables"
    - name: "scss"
      transformGroup: "scss"
      files:
        - destination: "variables.scss"
          format: "scss/variables"

# ==========================================
# Component Configuration
# ==========================================
components:
  # shadcn/ui
  shadcn:
    enabled: true
    components_dir: "components/"
    registry_url: "https://ui.shadcn.com/registry"

  # HeroUI
  heroui:
    enabled: true
    theme_mapping: "heroui_to_shadcn"

# ==========================================
# Testing Configuration
# ==========================================
testing:
  use_mock_apis: true
  test_db_path: "~/.dss/test.db"
  coverage_threshold: 80  # Minimum % coverage required
  markers:
    - "unit"
    - "integration"
    - "e2e"
    - "slow"

# ==========================================
# Logging Configuration
# ==========================================
logging:
  level: "INFO"  # DEBUG, INFO, WARNING, ERROR, CRITICAL
  format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
  file: "~/.dss/logs/dss.log"
  max_bytes: 10485760  # 10MB
  backup_count: 5

# ==========================================
# Cache Configuration
# ==========================================
cache:
  enabled: true
  dir: "~/.dss/cache/"
  ttl_seconds: 3600  # 1 hour default
  max_size_mb: 100

# ==========================================
# Security Configuration
# ==========================================
security:
  jwt_secret: ""  # Generate with: openssl rand -hex 32
  jwt_algorithm: "HS256"
  access_token_expire_minutes: 30
  allowed_origins:
    - "http://localhost:3000"

# ==========================================
# Feature Flags
# ==========================================
features:
  figma_sync: true
  ai_chat: true
  component_library: true
  theme_switching: true
  analytics: false
