summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/detekt/detekt.yml20
1 files changed, 20 insertions, 0 deletions
diff --git a/config/detekt/detekt.yml b/config/detekt/detekt.yml
new file mode 100644
index 0000000..a5b1129
--- /dev/null
+++ b/config/detekt/detekt.yml
@@ -0,0 +1,20 @@
+# Builds on detekt's default ruleset (see app/build.gradle.kts: buildUponDefaultConfig = true).
+# Only overrides/additions relative to the defaults belong here -- keep this file small so
+# upgrading detekt pulls in sane new defaults automatically instead of us silently diverging.
+
+style:
+ ReturnCount:
+ max: 5 # the feed parser is guard-clause heavy on purpose -- an enclosure with no URL, no
+ # type, or a non-playable type each bail out early. Forcing those into nested conditionals
+ # to satisfy a limit of 2 would make the code harder to read, not easier.
+ MaxLineLength:
+ maxLineLength: 140 # several files carry long, deliberate rationale comments (see
+ # ReaderExtractor.kt) -- 120 (detekt's default) wrapped mid-explanation too aggressively.
+ ForbiddenComment:
+ active: false # this codebase deliberately doesn't use TODO/FIXME markers (see CLAUDE.md
+ # "why these checks") -- nothing to forbid.
+
+naming:
+ FunctionNaming:
+ ignoreAnnotated: ["Composable"] # Jetpack Compose's own naming convention is PascalCase for
+ # composable functions -- that's the correct style here, not a violation.