---
# .ansible-lint - Architecture Enforcement Configuration
# This ensures idempotency, security, and best practices.

# Use the 'safety' profile to enforce strict security and reliability rules
profile: safety

# Stop the build if these rules are violated
strict: true

# Rules to explicitly enforce or ignore
warn_list:
  - experimental           # Notify me of experimental features but don't fail
  - name[casing]           # Warning only for task name capitalization

skip_list:
  - yaml[line-length]      # Homelab scripts often have long strings/URLs

# Exclude these paths from linting
exclude_paths:
  - .cache/
  - .git/
  - archive/               # Legacy reference files
  - roles/external/        # Don't lint roles downloaded from Galaxy

# Enable offline mode for airgapped environments
offline: false

# Enable FQCN enforcement (Fully Qualified Collection Names)
# e.g., ansible.builtin.copy instead of just 'copy'
# This is now enforced by the 'safety' profile by default
