Implements the full lore-tui crate scaffold with 6 Phase 0 modules: - message.rs: Msg (~40 variants), Screen (12), EntityKey, AppError, InputMode - clock.rs: Clock trait with SystemClock + FakeClock for deterministic testing - safety.rs: Terminal sanitizer (ANSI filter), URL policy, PII/secret redaction - db.rs: DbManager with 3 reader pool (round-robin) + dedicated writer (WAL mode) - theme.rs: Flexoki adaptive theme (19 slots), state/event colors, label styling - app.rs: Minimal LoreApp Model trait impl proving FrankenTUI integration 68 tests, clippy clean, fmt clean. Closes bd-3ddw, bd-c9gk, bd-2lg6, bd-3ir1, bd-2kop, bd-5ofk, bd-2emv, bd-1cj0.
40 lines
818 B
TOML
40 lines
818 B
TOML
[package]
|
|
name = "lore-tui"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
description = "Terminal UI for Gitlore — local GitLab data explorer"
|
|
authors = ["Taylor Eernisse"]
|
|
license = "MIT"
|
|
|
|
[[bin]]
|
|
name = "lore-tui"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
# FrankenTUI (Elm-architecture TUI framework)
|
|
ftui = "0.1.1"
|
|
|
|
# Lore library (config, db, ingestion, search, etc.)
|
|
lore = { path = "../.." }
|
|
|
|
# CLI
|
|
clap = { version = "4", features = ["derive", "env"] }
|
|
|
|
# Error handling
|
|
anyhow = "1"
|
|
|
|
# Time
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
|
|
# Paths
|
|
dirs = "6"
|
|
|
|
# Database (read-only queries from TUI)
|
|
rusqlite = { version = "0.38", features = ["bundled"] }
|
|
|
|
# Terminal (crossterm for raw mode + event reading, used by ftui runtime)
|
|
crossterm = "0.28"
|
|
|
|
# Regex (used by safety module for PII/secret redaction)
|
|
regex = "1"
|