How fromwau/kern works
kern is a collection of independently consumable Kotlin Multiplatform utility modules, not one end-user application. A typical use starts when an application asks a module for a typed result, platform paths, terminal behavior, or logging; the module supplies that capability to the caller. The graph preserves the four documented module capabilities and their internal responsibilities. Several implementation files are unsampled, so their internal call relationships are omitted rather than inferred.
Main entry points: Logger.kt Logger · Rendering.kt Entry rendering · Result.kt Result API · FileWrites.kt File writes
Components 24
Typed results
- Result API
result/src/commonMain/kotlin/com/fromwau/kern/result/Result.kt - Error contract
result/src/commonMain/kotlin/com/fromwau/kern/result/IError.kt - Result serializer
result/src/commonMain/kotlin/com/fromwau/kern/result/ResultSerializer.kt
App directories and files
- Directory roots
dirs/src/commonMain/kotlin/com/fromwau/kern/dirs/BaseDirs.kt - Platform root factory
dirs/src/commonMain/kotlin/com/fromwau/kern/dirs/BaseDirsFactory.kt - Platform implementations
dirs/src - File reads
dirs/src/commonMain/kotlin/com/fromwau/kern/dirs/FileReads.kt - File writes
dirs/src/commonMain/kotlin/com/fromwau/kern/dirs/FileWrites.kt - File errors
dirs/src/commonMain/kotlin/com/fromwau/kern/dirs/FileError.kt - Path helpers
dirs/src/commonMain/kotlin/com/fromwau/kern/dirs/PathNames.kt - Path probing
dirs/src/commonMain/kotlin/com/fromwau/kern/dirs/PathProbe.kt - Directory walking
dirs/src/commonMain/kotlin/com/fromwau/kern/dirs/Walk.kt
Terminal I/O
- Terminal API
terminal/src/commonMain/kotlin/com/fromwau/kern/terminal/Terminal.kt - Platform I/O
terminal/src/commonMain/kotlin/com/fromwau/kern/terminal/Platform.kt - ANSI styling
terminal/src/commonMain/kotlin/com/fromwau/kern/terminal/Style.kt
Logging
- Logger
logger/src/commonMain/kotlin/com/fromwau/kern/logger/Logger.kt - Runtime state
logger/src/commonMain/kotlin/com/fromwau/kern/logger/LoggerRuntimeState.kt - Log entry
logger/src/commonMain/kotlin/com/fromwau/kern/logger/LogEntry.kt - Severity levels
logger/src/commonMain/kotlin/com/fromwau/kern/logger/LogLevel.kt - Output formats
logger/src/commonMain/kotlin/com/fromwau/kern/logger/LogFormat.kt - Entry rendering
logger/src/commonMain/kotlin/com/fromwau/kern/logger/Rendering.kt - Log sinks
logger/src/commonMain/kotlin/com/fromwau/kern/logger/LogSink.kt - Console writer
logger/src/commonMain/kotlin/com/fromwau/kern/logger/ConsoleWriter.kt
Other components
- Application caller
Connections 25
- Application caller → Result API: uses
README.md - Result API → Error contract: bounds errors
result/src/commonMain/kotlin/com/fromwau/kern/result/Result.kt - Result API → Result serializer: serializes with
result/src/commonMain/kotlin/com/fromwau/kern/result/Result.kt - Application caller → Platform root factory: requests roots
- Platform root factory → Directory roots: creates
dirs/src/commonMain/kotlin/com/fromwau/kern/dirs/BaseDirsFactory.kt - Application caller → File reads: reads paths
README.md - Application caller → File writes: writes paths
README.md - File writes → Result API: returns typed results
dirs/src/commonMain/kotlin/com/fromwau/kern/dirs/FileWrites.kt - Application caller → Path probing: probes paths
README.md - Application caller → Directory walking: walks paths
README.md - Application caller → Terminal API: uses terminal
README.md - Platform I/O → Terminal API: implements platform I/O
terminal/src/commonMain/kotlin/com/fromwau/kern/terminal/Platform.kt - Application caller → Logger: logs events
README.md - Logger → Runtime state: reconfigures live
README.md - Logger → Log sinks: emits entries
- Logger → Console writer: writes output
- Console writer → Terminal API: writes to console
logger/src/commonMain/kotlin/com/fromwau/kern/logger/ConsoleWriter.kt - Entry rendering → Log entry: renders
logger/src/commonMain/kotlin/com/fromwau/kern/logger/Rendering.kt - Entry rendering → Output formats: selects format
logger/src/commonMain/kotlin/com/fromwau/kern/logger/Rendering.kt - Entry rendering → ANSI styling: uses styles
logger/src/commonMain/kotlin/com/fromwau/kern/logger/Rendering.kt - Log entry → Severity levels: carries severity
logger/src/commonMain/kotlin/com/fromwau/kern/logger/LogEntry.kt - Logger → Entry rendering: formats output
- File reads → File errors: reports errors
- File writes → File errors: reports errors
dirs/src/commonMain/kotlin/com/fromwau/kern/dirs/FileWrites.kt - Application caller → Path helpers: uses paths
README.md