Add Phase 5 Kotlin desktop app: Compose Multiplatform with gRPC client
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>
This commit is contained in:
63
desktop/detekt.yml
Normal file
63
desktop/detekt.yml
Normal file
@@ -0,0 +1,63 @@
|
||||
# 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'
|
||||
|
||||
Reference in New Issue
Block a user