# Ruff configuration for Python formatting
# Docs: https://docs.astral.sh/ruff/configuration/

target-version = "py38"

[lint]
# Enable Pyflakes (`F`) and pycodestyle (`E`) rules by default
select = ["E", "F", "W", "I", "N", "UP"]
ignore = []

# Allow fix for all enabled rules (when `--fix`) is provided
fixable = ["ALL"]
unfixable = []

# Exclude a variety of commonly ignored directories
exclude = [
    ".git",
    ".venv",
    "venv",
    "__pycache__",
    "node_modules",
    ".opencode",
    "vendor",
]

[format]
# Use single quotes for strings
quote-style = "single"

# Use 4 spaces for indentation
indent-style = "space"
line-ending = "lf"

# Set maximum line length
line-length = 100

# Skip magic trailing comma
skip-magic-trailing-comma = false

[lint.isort]
# Organize imports
known-first-party = []
