# File naming enforcement configuration for robot projects
ls:
  # Rust files
  .rs: snake_case
  .toml: kebab-case

  # Python files (for scripts/tools)
  .py: snake_case

  # GDScript files (simulation)
  .gd: snake_case
  .tscn: snake_case
  .tres: snake_case

  # Documentation
  .md: kebab-case
  .txt: kebab-case

  # Configuration files
  .json: kebab-case
  .yml: kebab-case
  .yaml: kebab-case

  # Directories - prefer kebab-case
  .dir: kebab-case

ignore:
  # Version control
  - .git
  - .github

  # Build artifacts & caches
  - target
  - .godot
  - build
  - dist
  - '**/.ruff_cache'
  - '**/__pycache__'

  # Dependencies
  - node_modules
  - .venv
  - venv

  # IDE & tooling
  - .idea
  - .vscode
  - .mecha10

  # System files
  - '**/.DS_Store'

  # Logs and temporary files
  - logs
  - '**/*.log'

  # Standard config files (non-kebab naming)
  - '**/Cargo.toml'
  - '**/Cargo.lock'
  - LICENSE
  - '*.toml'
  - package.json
  - 'pnpm-lock.yaml'

  # Allow snake_case for robot component directories (common convention)
  - '**/drivers/**'
  - '**/nodes/**'
  - '**/models/**'
