[package]
name = "keydr"
version = "0.1.0"
edition = "2024"
description = "Terminal typing tutor with adaptive learning"
license = "AGPL-3.0-only"

[dependencies]
ratatui = { version = "0.30", features = ["crossterm_0_28"] }
crossterm = "0.28"
clap = { version = "4.5", features = ["derive"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"
rand = { version = "0.8", features = ["small_rng"] }
dirs = "6.0"
rust-embed = "8.5"
chrono = { version = "0.4", features = ["serde"] }
anyhow = "1.0"
thiserror = "2.0"
reqwest = { version = "0.12", features = ["blocking"], optional = true }
icu_normalizer = { version = "2.1", default-features = false, features = ["compiled_data"] }
rust-i18n = "4"

[dev-dependencies]
tempfile = "3"
serde_yaml = "0.9"
regex = "1"
criterion = { version = "0.5", features = ["html_reports"] }

[[bench]]
name = "ngram_benchmarks"
harness = false

[[bin]]
name = "generate_test_profiles"
path = "src/bin/generate_test_profiles.rs"

[features]
default = ["network"]
network = ["reqwest"]
