Expand description
FlashKraft Core
This crate contains all shared, framework-free logic that is reused by
both the Iced desktop GUI (flashkraft-gui) and the Ratatui TUI
(flashkraft-tui).
§Contents
| Module | What lives here |
|---|---|
domain | Domain models — DriveInfo, ImageInfo, drive constraints |
flash_helper | Privileged flash pipeline executed via pkexec |
flash_writer | Wire-protocol parser for helper ↔ supervisor communication |
commands | Async helpers — drive detection |
utils | Debug-logging macros (debug_log!, flash_debug!, …) |
§Dependency policy
This crate intentionally has no GUI or TUI dependencies (no iced,
no ratatui, no crossterm). It may only depend on:
- OS / system crates (
sysinfo,nix,sha2, …) - Async utilities (
tokio,futures,futures-timer) - Persistence (
sled,dirs)
Re-exports§
Modules§
- commands
- Commands Module — Core Async Side Effects
- domain
- Domain Module
- flash_
helper - Pure-Rust Privileged Flash Helper
- flash_
writer - Flash Writer - Protocol types and parsing for the pure-Rust flash pipeline
- utils
- Utility modules for FlashKraft Core
Macros§
- debug_
if - Conditional debug logging - only logs if condition is true
- debug_
log - Debug logging macro for general application messages
- flash_
debug - Debug logging macro for flash subscription messages
- status_
log - Debug logging macro for status messages