[package]
name = "okc"
version = "0.1.0"
edition = "2021"
rust-version = "1.95"
description = "A local-first tool for AI agents to browse, parse, search, and reason over Open Knowledge Format (OKF) repositories"
repository = "https://github.com/guifelix/Open-Knowledge-Catalog"
homepage = "https://github.com/guifelix/Open-Knowledge-Catalog"
license = "MIT"
keywords = ["knowledge-management", "okf", "ai-agents", "markdown", "knowledge-base"]
categories = ["command-line-utilities", "development-tools::cargo-plugins"]
[[bin]]
name = "okc"
path = "src/main.rs"
[dependencies]
ignore = "0.4"
notify = { version = "6", features = ["macos_fsevent"] }
memchr = "2"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
saphyr = "0.0.11"
toml = "1"
pulldown-cmark = { version = "0.13", default-features = false }
percent-encoding = "2.3"
rusqlite = { version = "0.40", features = ["bundled"] }
r2d2 = "0.8"
r2d2_sqlite = "0.35"
blake3 = "1"
rmcp = { version = "=3.1.1", features = ["server", "client", "transport-child-process", "transport-io", "macros", "transport-streamable-http-server", "transport-streamable-http-server-session", "transport-streamable-http-client", "transport-streamable-http-client-reqwest", "transport-worker"] }
tokio = { version = "1", features = ["macros", "rt-multi-thread", "signal", "process", "net"] }
tokio-util = "0.7"
clap = { version = "4", features = ["derive"] }
axum = "0.8"
thiserror = "2"
anyhow = "1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
schemars = { version = "1", features = ["preserve_order"] }
camino = "1"
dirs = "6"
[[bench]]
name = "benchmarks"
harness = false
[dev-dependencies]
tempfile = "3"
proptest = "1"
libfuzzer-sys = "0.4"
criterion = { version = "0.5", features = ["html_reports"] }
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
tokio-util = "0.7"
[lints.rust]
dead_code = "allow"
unused_imports = "allow"
missing_docs = "allow"
unused_variables = "warn"
unused_mut = "warn"
unused_assignments = "warn"
[lints.clippy]
type_complexity = "allow"
large_enum_variant = "allow"
module_name_repetitions = "allow"
unwrap_used = "warn"
expect_used = "warn"
panic = "warn"
todo = "warn"
unused_async = "warn"
redundant_closure = "warn"
needless_borrow = "warn"
needless_pass_by_value = "warn"
manual_map = "warn"
manual_flatten = "warn"
filter_map_next = "warn"
map_unwrap_or = "warn"