[package]
edition = "2024"
rust-version = "1.95"
name = "episteme"
version = "0.3.9"
build = false
exclude = [
"docs/assets/demo.gif",
"docs/assets/demo.cast",
"docs/assets/features.png",
"dist/",
"benchmarks/",
"monitoring/",
"*.bak",
"papers/",
"registry/",
"AGENTS.md",
"DEVELOPMENT.md",
"QUICKSTART.md",
"SECURITY.md",
"CODE_OF_CONDUCT.md",
"CONTRIBUTING.md",
"CHANGELOG.md",
"Dockerfile",
"docker-compose.yml",
".dockerignore",
".github/",
".editorconfig",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Knowledge graph for software engineering — design patterns, refactorings, and laws for AI agents"
readme = "README.md"
keywords = [
"knowledge-graph",
"design-patterns",
"refactoring",
"software-engineering",
"mcp",
]
categories = [
"command-line-utilities",
"data-structures",
"development-tools",
]
license = "Apache-2.0"
repository = "https://github.com/epicsagas/Episteme"
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ target }.tar.xz"
pkg-fmt = "txz"
bin-dir = "{ name }-{ target }/{ bin }"
[package.metadata.binstall.overrides.x86_64-pc-windows-msvc]
pkg-fmt = "zip"
bin-dir = "{ bin }.exe"
[features]
default = []
openai-embeddings = []
redis-cache = [
"dep:redis",
"dep:deadpool-redis",
]
redis-pool = ["dep:deadpool-redis"]
[lib]
name = "episteme"
path = "src/lib.rs"
[[bin]]
name = "epis"
path = "src/main.rs"
[[bin]]
name = "episteme"
path = "src/main.rs"
[[test]]
name = "data_integrity"
path = "tests/data_integrity.rs"
[dependencies.anyhow]
version = "1"
[dependencies.axum]
version = "0.8"
[dependencies.clap]
version = "4"
features = ["derive"]
[dependencies.crossterm]
version = "0.29.0"
[dependencies.deadpool-redis]
version = "0.23"
optional = true
[dependencies.flate2]
version = "1"
[dependencies.indicatif]
version = "0.18"
[dependencies.libc]
version = "0.2"
[dependencies.llm-kernel]
version = "0.2.3"
features = [
"embedding",
"embedding-fastembed",
"embedding-openai",
"store",
"search",
]
[dependencies.md-5]
version = "0.11"
[dependencies.metrics]
version = "0.24"
[dependencies.metrics-exporter-prometheus]
version = "0.18"
[dependencies.noyalib]
version = "0.0"
[dependencies.rand]
version = "0.10"
[dependencies.redis]
version = "1.2.1"
features = ["tokio-comp"]
optional = true
[dependencies.regex]
version = "1"
[dependencies.reqwest]
version = "0.13"
features = [
"json",
"blocking",
"rustls",
]
default-features = false
[dependencies.rusqlite]
version = "0.40"
features = ["bundled"]
[dependencies.rust-embed]
version = "8"
features = ["mime-guess"]
[dependencies.rustpython-parser]
version = "0.4"
[dependencies.rustyline]
version = "18"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sysinfo]
version = "0.39.1"
[dependencies.tar]
version = "0.4"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tower]
version = "0.5"
[dependencies.tower-http]
version = "0.6.10"
features = [
"cors",
"trace",
"catch-panic",
"fs",
]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
]
[dependencies.uuid]
version = "1"
features = ["v4"]
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[profile.dist]
lto = "thin"
inherits = "release"
[profile.release]
opt-level = "z"
lto = true
codegen-units = 1
panic = "abort"
strip = true