-
Notifications
You must be signed in to change notification settings - Fork 38
Expand file tree
/
Copy path.cursed-lint.toml
More file actions
117 lines (99 loc) · 2.86 KB
/
.cursed-lint.toml
File metadata and controls
117 lines (99 loc) · 2.86 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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# CURSED Linter Configuration
# Complete production-ready linter configuration file
[general]
max_line_length = 100
max_function_length = 50
max_function_params = 5
max_cognitive_complexity = 10
max_nesting_depth = 4
max_cyclomatic_complexity = 10
[quality]
check_unused_variables = true
check_unused_functions = true
check_unused_imports = true
check_naming_conventions = true
check_function_complexity = true
check_duplicate_code = true
check_dead_code = true
[security]
check_security_vulnerabilities = true
check_hardcoded_secrets = true
check_sql_injection = true
check_command_injection = true
check_weak_cryptography = true
check_unsafe_operations = true
check_input_validation = true
[performance]
check_performance_issues = true
check_memory_leaks = true
check_inefficient_algorithms = true
check_string_concatenation = true
check_loop_optimizations = true
check_memory_allocations = true
[cursed_style]
enforce_gen_z_syntax = true
prefer_vibez_output = true
check_proper_yeet_usage = true
check_slay_conventions = true
enforce_squad_usage = true
check_error_handling = true
prefer_immutable_vars = true
[style]
enforce_indentation = true
check_trailing_whitespace = true
check_empty_lines = true
enforce_brace_style = true
check_spacing = true
[output]
output_format = "human" # Options: human, json, sarif
show_suggestions = true
show_documentation = true
color_output = true
verbose_output = false
[rules]
# Individual rule configuration
# Format: rule_name = "severity_level"
# Levels: "critical", "error", "warning", "info", "hint", "disabled"
hardcoded-secret = "critical"
sql-injection-risk = "critical"
command-injection-risk = "critical"
buffer-overflow-risk = "critical"
unused-variable = "warning"
unused-function = "warning"
unused-import = "info"
line-too-long = "warning"
trailing-whitespace = "info"
excessive-nesting = "warning"
function-too-long = "warning"
too-many-parameters = "warning"
string-concat-in-loop = "info"
inefficient-array-length = "hint"
nested-loops = "info"
allocation-in-loop = "warning"
use-slay = "hint"
use-squad = "hint"
prefer-vibez = "hint"
proper-yeet-usage = "hint"
magic-numbers = "info"
weak-cryptography = "warning"
weak-random = "warning"
[presets]
# Predefined configuration presets
# Options: "strict", "recommended", "relaxed", "minimal"
# Use: preset = "recommended" to override individual settings
# strict - Production ready, strict rules
# recommended - Balanced rules for most projects
# relaxed - Lenient rules for development
# minimal - Only critical security and safety rules
[ignore]
# Files and directories to ignore
files = [
"*.generated.💀",
"vendor/**/*.💀",
"third_party/**/*.💀"
]
# Specific rules to ignore for specific files
[ignore.rules]
"test_*.💀" = ["unused-function", "magic-numbers"]
"demo_*.💀" = ["hardcoded-secret", "line-too-long"]
"legacy_*.💀" = ["use-slay", "use-squad", "prefer-vibez"]