[tool.ruff]
target-version = "py310"
line-length = 120
src = ["src"]

extend-exclude = [
    "build",
    "install",
    "log",
    "venv",
    "libs/lerobot",
    "src/pymoveit2",
    "src/rosclaw",
]

[tool.ruff.lint]
select = [
    "E",
    "W",
    "F",
    "I",
    "UP",
    "B",
    "SIM",
]
ignore = [
    "E501",
    "B008",
    "SIM108",
]

[tool.ruff.lint.isort]
known-first-party = [
    "robot_config",
    "action_dispatch",
    "inference_service",
    "dataset_tools",
    "robot_teleop",
    "robot_moveit",
    "voice_asr_service",
    "so101_hardware",
    "sim_models",
    "tensormsg",
    "model_utils",
    "ibrobot_msgs",
]

[tool.ruff.format]
quote-style = "double"