-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathruff.toml
More file actions
79 lines (76 loc) · 2.79 KB
/
ruff.toml
File metadata and controls
79 lines (76 loc) · 2.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# Exclude these paths from linting entirely
extend-exclude = [
"src/flywheel/skills/**",
"src/skills/**",
"src/src/**",
"domains/**",
"scripts/**",
"docs/**",
"**/test_*.py",
]
[lint]
# Enable rule groups
select = ["E", "F", "W", "I", "N", "UP", "B", "C4", "SIM", "TID", "ARG", "PLE", "PLR", "PLW"]
ignore = [
"E501", # Line too long (handled by formatter)
"B008", # Do not perform function calls in argument defaults
"ARG001", # Unused argument
"ARG002", # Unused method argument
"ARG003", # Unused class method argument
"ARG005", # Unused lambda argument
"PLR0913", # Too many arguments
"W291", # Trailing whitespace (handled by formatter)
"B904", # Within except clause, raise exceptions with 'from' - stylistic choice
"E722", # Do not use bare 'except'
"PLR2004", # Magic value used in comparison
"PLR0915", # Too many statements
"PLR0912", # Too many branches
"PLR0911", # Too many return statements
"UP006", # Use dict/list instead of Dict/List
"UP007", # Use X | Y instead of Optional[X]
"UP035", # Deprecated typing imports (backwards compat)
"UP045", # Use X | None instead of Optional[X] (backwards compat)
"W293", # Blank line contains whitespace
"N806", # Variable in function should be lowercase (style)
"N803", # Argument should be lowercase (style)
"B028", # No explicit stacklevel (style)
"SIM105", # Use contextlib.suppress (style)
"SIM102", # Nested if statements (style)
"SIM116", # Dictionary instead of ifs (style)
"F841", # Local variable assigned but never used
"C401", # Unnecessary generator
"B007", # Loop control variable not used
"E402", # Module level import not at top
"I001", # Import block unsorted
"PLW0603", # Using global statement
"PLW0602", # Using global but no assignment
"PLW2901", # Loop variable overwritten
"PLR1704", # Redefining argument
"PLW1510", # subprocess.run without check
"PLW1508", # Env var type
"N999", # Invalid module name
"E741", # Ambiguous variable name
"F401", # Unused imports (in skills)
]
[lint.per-file-ignores]
"__init__.py" = ["F401"]
"tests/*" = ["F401", "B011", "E712", "SIM117", "PLR1722", "PLR1716", "F821"]
# Auto-generated skill files - skip all linting
"src/flywheel/skills/**" = ["ALL"]
# Legacy src/skills directory
"src/skills/**" = ["ALL"]
# Nested src/src (duplicate directory)
"src/src/**" = ["ALL"]
# Domains contain SKILL.md files with embedded code examples
"domains/**" = ["ALL"]
# Specific file with embedded JSX
"domains/FRONTEND/frontend_skill.py" = ["ALL"]
# Scripts may have issues
"scripts/**" = ["ALL"]
# Docs contain code
"docs/**" = ["ALL"]
[format]
# Use ruff's formatter
quote-style = "double"
indent-style = "space"
line-ending = "auto"