# 🐍 ViperX Project Configuration
# =============================================================================
# This file serves as the "Source of Truth" for your project infrastructure.
# Use `viperx init -c viperx.yaml` to apply this configuration.
# The tool is idempotent: running it multiple times will only apply new changes.
# =============================================================================

project:
  # [Required] The root project name (kebab-case recommended)
  name: "my-awesome-project"
  
  # [Optional] Project description
  description: "A robust project built with ViperX"
  
  # [Optional] Author details (defaults to git config if omitted)
  author: "Your Name"
  
  # [Optional] License (MIT, Apache-2.0, GPLv3). Default: MIT
  license: "MIT"
  
  # [Optional] Builder backend (default: uv)
  builder: "uv"

settings:
  # [Optional] Generate isolated .env files in src/<pkg>/? Default: true
  use_env: true
  
  # [Optional] Generate config.py embedded loader? Default: true
  use_config: true
  
  # [Optional] Project Type: classic | ml | dl (Default: classic)
  # Applies to the ROOT package if created.
  type: "classic"
  
  # [Optional] DL Framework: pytorch | tensorflow (Only if type is dl)
  framework: "pytorch"

workspace:
  # Define your packages (monorepo structure) here.
  # If you add a new entry here and re-run init, ViperX will create it.
  packages:
    # --- Example Package 1: Core Library (Classic) ---
    # - name: "core-lib"
    #   type: "classic"
    #   description: "Core utilities shared across project"
    #   use_readme: false
      
    # --- Example Package 2: AI Engine (Deep Learning) ---
    # - name: "vision-engine"
    #   type: "dl"
    #   framework: "pytorch"
    #   description: "YOLOv8 implementation"
    
    # --- Example Package 3: API (Machine Learning) ---
    # - name: "scoring-api"
    #   type: "ml"
    #   description: "Scikit-Learn inference headers"
