[package]
edition = "2024"
name = "asobi"
version = "0.5.0"
authors = ["haru <azusachino@proton.me>"]
build = false
exclude = [
".asobi/",
".fastembed_cache/",
"memory_export.json",
"tools_list.json",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A persistent, project-local knowledge graph CLI for AI agents."
readme = "README.md"
keywords = [
"knowledge-graph",
"cli",
"ai-agents",
"persistent-memory",
"rust",
]
categories = ["development-tools"]
license = "MIT"
repository = "https://github.com/azusachino/asobi"
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ target }.{ archive-format }"
pkg-fmt = "tgz"
bin-dir = "{ bin }{ binary-ext }"
[features]
default = []
documents = ["dep:fastembed"]
turso-experimental = ["dep:turso"]
[lib]
name = "asobi"
path = "src/lib.rs"
[[bin]]
name = "asobi"
path = "src/main.rs"
[[test]]
name = "backend_api_contract_test"
path = "tests/backend_api_contract_test.rs"
[[test]]
name = "bench_isolation"
path = "tests/bench_isolation.rs"
[[test]]
name = "cli_add_observations_test"
path = "tests/cli_add_observations_test.rs"
[[test]]
name = "cli_agent_features_test"
path = "tests/cli_agent_features_test.rs"
[[test]]
name = "cli_new_with_obs_test"
path = "tests/cli_new_with_obs_test.rs"
[[test]]
name = "cli_search_where_test"
path = "tests/cli_search_where_test.rs"
[[test]]
name = "concurrency_test"
path = "tests/concurrency_test.rs"
[[test]]
name = "expansion_test"
path = "tests/expansion_test.rs"
[[test]]
name = "graph_edge_cases"
path = "tests/graph_edge_cases.rs"
[[test]]
name = "normalization_test"
path = "tests/normalization_test.rs"
[[test]]
name = "turso_foundations_test"
path = "tests/turso_foundations_test.rs"
[[test]]
name = "version_test"
path = "tests/version_test.rs"
[[bench]]
name = "allocations"
path = "benches/allocations.rs"
harness = false
[[bench]]
name = "graph"
path = "benches/graph.rs"
harness = false
[[bench]]
name = "graph_criterion"
path = "benches/graph_criterion.rs"
harness = false
[[bench]]
name = "normalize"
path = "benches/normalize.rs"
harness = false
[[bench]]
name = "skills"
path = "benches/skills.rs"
harness = false
[[bench]]
name = "sql_plans"
path = "benches/sql_plans.rs"
harness = false
[[bench]]
name = "vector"
path = "benches/vector.rs"
harness = false
required-features = ["documents"]
[[bench]]
name = "vector_criterion"
path = "benches/vector_criterion.rs"
harness = false
required-features = ["documents"]
[dependencies.anyhow]
version = "1"
[dependencies.chrono]
version = "0.4"
features = ["clock"]
default-features = false
[dependencies.clap]
version = "4.6"
features = ["derive"]
[dependencies.fastembed]
version = "5"
optional = true
[dependencies.libsql]
version = "0.9"
features = ["core"]
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"time",
"sync",
"signal",
]
[dependencies.toml]
version = "1"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.turso]
version = "0.6.1"
features = ["fts"]
optional = true
[dependencies.uuid]
version = "1"
features = ["v7"]
[dependencies.walkdir]
version = "2"
[dev-dependencies.criterion]
version = "0.7"
features = ["async_tokio"]
[dev-dependencies.dhat]
version = "0.3"
[dev-dependencies.filetime]
version = "0.2"
[dev-dependencies.tempfile]
version = "3"
[profile.release]
opt-level = "s"
lto = true
codegen-units = 1
panic = "abort"
strip = true