# Gitforest Configuration Example
# Copy this file to ~/.config/gitforest/config.yaml

# Directories to scan for projects
directories:
  - path: ~/projects
    maxDepth: 2
    label: Projects

  - path: ~/.dotfiles
    maxDepth: 3
    label: Dotfiles

  # Add more directories as needed
  # - path: ~/work
  #   maxDepth: 2
  #   label: Work

# Scan settings
scan:
  # Directories/files to ignore during scanning
  ignore:
    - node_modules
    - .git
    - vendor
    - __pycache__
    - target
    - dist
    - build
    - .cache
    - .venv
    - venv

  # Include hidden directories (starting with .)
  includeHidden: false

  # Number of concurrent operations
  concurrency: 5

# GitHub settings
github:
  # Default visibility for new repos: private | public
  defaultVisibility: private

# Display settings
display:
  # Show git submodules
  showSubmodules: true

  # Show non-git projects (folders with package.json, Cargo.toml, etc. but no .git)
  showNonGitProjects: true

  # Default sort field: name | status | lastActivity
  sortBy: status

  # Sort direction: asc | desc
  sortDirection: desc

# Cache settings
cache:
  # Cache TTL in seconds (default 5 minutes)
  ttlSeconds: 300

# Custom commands (execute in project directory)
# These commands can be triggered from the command palette (press 'x')
# or from the detail modal (Enter on a project)
commands:
  - name: "Open in VS Code"
    key: "e"
    command: "code ."
    confirm: true
  
  - name: "Run Tests"
    key: "t"
    command: "bun test"
    confirm: true
  
  - name: "Install Dependencies"
    key: "I"
    command: "bun install"
    confirm: true
  
  - name: "Open Terminal"
    key: "T"
    command: "open -a Terminal ."
    confirm: true
  
  - name: "Git Log"
    key: "l"
    command: "git log --oneline -20"
    confirm: true
    
  # Reserved keys that CANNOT be used:
  # Navigation: j, k, g, G
  # Selection: space, a  
  # View/Filter: /, s, S, F, 0-9
  # Git: p, P, f, i
  # GitHub: c, C, A, D
  # General: r, ?, q, o, d, x
