[[bin]]
name = "ulm"
path = "src/main.rs"
[dependencies.anyhow]
version = "1"
[dependencies.arboard]
default-features = false
version = "3"
[dependencies.blake3]
version = "1"
[dependencies.clap]
features = ["derive"]
version = "4"
[dependencies.crossterm]
version = "0.28"
[dependencies.directories]
version = "5"
[dependencies.futures]
version = "0.3"
[dependencies.indicatif]
version = "0.17"
[dependencies.ratatui]
version = "0.29"
[dependencies.reqwest]
default-features = false
features = ["json", "default-tls"]
version = "0.12"
[dependencies.rusqlite]
features = ["bundled", "load_extension"]
version = "0.32"
[dependencies.scopeguard]
version = "1"
[dependencies.serde]
features = ["derive"]
version = "1"
[dependencies.serde_json]
version = "1"
[dependencies.sqlite-vec]
version = "0.1"
[dependencies.sysinfo]
default-features = false
features = ["system"]
version = "0.31"
[dependencies.tokio]
features = ["rt-multi-thread", "net", "time", "fs", "io-util", "macros", "sync"]
version = "1"
[dependencies.tokio-stream]
version = "0.1"
[dependencies.toml]
version = "0.8"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
features = ["env-filter"]
version = "0.3"
[dependencies.zerocopy]
features = ["derive"]
version = "0.7"
[dev-dependencies.assert_cmd]
version = "2"
[dev-dependencies.predicates]
version = "3"
[dev-dependencies.tempfile]
version = "3"
[lib]
name = "ulm"
path = "src/lib.rs"
[lints.clippy]
cargo = "warn"
complexity = "warn"
correctness = "deny"
pedantic = "warn"
perf = "warn"
style = "warn"
[lints.clippy.box_collection]
level = "deny"
priority = 1
[lints.clippy.dbg_macro]
level = "deny"
priority = 1
[lints.clippy.enum_glob_use]
level = "deny"
priority = 1
[lints.clippy.expect_used]
level = "deny"
priority = 1
[lints.clippy.large_stack_arrays]
level = "warn"
priority = 1
[lints.clippy.missing_const_for_fn]
level = "deny"
priority = 1
[lints.clippy.missing_docs_in_private_items]
level = "warn"
priority = 1
[lints.clippy.missing_errors_doc]
level = "warn"
priority = 1
[lints.clippy.missing_panics_doc]
level = "warn"
priority = 1
[lints.clippy.multiple_crate_versions]
level = "allow"
priority = 1
[lints.clippy.panic]
level = "warn"
priority = 1
[lints.clippy.redundant_pub_crate]
level = "warn"
priority = 1
[lints.clippy.todo]
level = "deny"
priority = 1
[lints.clippy.too_many_lines]
level = "warn"
priority = 1
[lints.clippy.unnecessary_wraps]
level = "deny"
priority = 1
[lints.clippy.unwrap_used]
level = "deny"
priority = 1
[lints.clippy.use_self]
level = "warn"
priority = 1
[lints.clippy.wildcard_imports]
level = "deny"
priority = 1
[lints.rust]
dead_code = "warn"
explicit_outlives_requirements = "warn"
macro_use_extern_crate = "warn"
missing_debug_implementations = "warn"
missing_docs = "warn"
unsafe_code = "deny"
unused_crate_dependencies = "allow"
unused_imports = "warn"
[lints.rust.future_incompatible]
level = "deny"
priority = 1
[package]
authors = ["Elmar Röser"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["command-line-utilities"]
description = "AI-powered manpage assistant using local LLM"
edition = "2021"
keywords = ["cli", "manpage", "ai", "ollama", "assistant"]
license = "MIT OR Apache-2.0"
name = "ulm"
readme = "README.md"
repository = "https://github.com/elmar-roeser/ulm"
rust-version = "1.83"
version = "0.3.2"
[[test]]
name = "cli_test"
path = "tests/cli_test.rs"