Kotlin/Compose Desktop application under desktop/ with: - Gradle build: Kotlin 2.1, Compose 1.8, gRPC/Protobuf codegen, detekt - ExoClient: gRPC client for both ArtifactService and KnowledgeGraphService - Obsidian-style layout: collapsible tree sidebar, contextual main panel - Five view modes: artifact detail, note editor, search results, catalog, graph (stub) - Unified search bar with selector prefix support - Command palette (Ctrl+Shift+A) for quick actions - Menu bar with keyboard shortcuts (Ctrl+I/L/F/Q) - Dark Material 3 theme - Detekt lint config with Compose/test naming exceptions - Unit tests for AppState and model types Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
64 lines
1.3 KiB
YAML
64 lines
1.3 KiB
YAML
# Detekt configuration for exo-desktop.
|
|
# Strict: treat issues as errors, not warnings.
|
|
|
|
build:
|
|
maxIssues: 0
|
|
|
|
complexity:
|
|
LongMethod:
|
|
threshold: 60
|
|
LongParameterList:
|
|
functionThreshold: 8
|
|
constructorThreshold: 10
|
|
ComplexCondition:
|
|
threshold: 5
|
|
TooManyFunctions:
|
|
thresholdInFiles: 25
|
|
thresholdInClasses: 20
|
|
thresholdInInterfaces: 15
|
|
|
|
naming:
|
|
FunctionNaming:
|
|
# Compose uses PascalCase for @Composable functions.
|
|
# Tests use backtick names.
|
|
excludes: ['**/ui/**', '**/test/**']
|
|
MatchingDeclarationName:
|
|
active: false
|
|
TopLevelPropertyNaming:
|
|
constantPattern: '[A-Z][A-Za-z0-9_]*'
|
|
|
|
style:
|
|
MagicNumber:
|
|
ignoreNumbers:
|
|
- '-1'
|
|
- '0'
|
|
- '1'
|
|
- '2'
|
|
- '5'
|
|
- '100'
|
|
- '9090'
|
|
ignorePropertyDeclaration: true
|
|
ignoreCompanionObjectPropertyDeclaration: true
|
|
ignoreAnnotation: true
|
|
ignoreEnums: true
|
|
MaxLineLength:
|
|
maxLineLength: 120
|
|
excludeCommentStatements: true
|
|
WildcardImport:
|
|
active: true
|
|
excludeImports:
|
|
- 'kotlinx.coroutines.*'
|
|
ReturnCount:
|
|
max: 4
|
|
UnusedPrivateMember:
|
|
allowedNames: '(_|ignored|expected)'
|
|
|
|
exceptions:
|
|
TooGenericExceptionCaught:
|
|
active: true
|
|
exceptionNames:
|
|
- 'Exception'
|
|
- 'RuntimeException'
|
|
- 'Throwable'
|
|
|