[package]
edition = "2021"
rust-version = "1.74"
name = "kardo-core"
version = "0.5.0"
build = false
exclude = [
"tests/fixtures/",
".github/",
"docs/marketing/",
"benches/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core scoring engine for Kardo. Analyzes Git repos for AI-readiness across 5 weighted components. Calibrated on 84 real-world repositories."
homepage = "https://kardo.dev"
documentation = "https://docs.rs/kardo-core"
readme = "README.md"
keywords = [
"ai-readiness",
"code-quality",
"git-analysis",
"scoring",
"llm",
]
categories = [
"development-tools",
"development-tools::testing",
]
license = "MIT"
repository = "https://github.com/akuroglo/kardo"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = [
"watcher",
"llm",
"embeddings",
]
embeddings = [
"dep:reqwest",
"dep:tokio",
]
llm = [
"dep:reqwest",
"dep:tokio",
]
tui = [
"dep:ratatui",
"dep:crossterm",
]
watcher = ["dep:notify"]
[lib]
name = "kardo_core"
path = "src/lib.rs"
[[example]]
name = "basic_score"
path = "examples/basic_score.rs"
[[example]]
name = "custom_rules"
path = "examples/custom_rules.rs"
[[example]]
name = "json_output"
path = "examples/json_output.rs"
[[example]]
name = "path_to_green"
path = "examples/path_to_green.rs"
[[example]]
name = "quick_scan"
path = "examples/quick_scan.rs"
[[test]]
name = "api_integration"
path = "tests/api_integration.rs"
[[test]]
name = "calibration_test"
path = "tests/calibration_test.rs"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.crossterm]
version = "0.28"
optional = true
[dependencies.dirs]
version = "5"
[dependencies.env_logger]
version = "0.11"
[dependencies.git2]
version = "0.19"
[dependencies.glob]
version = "0.3"
[dependencies.hostname]
version = "0.4"
[dependencies.ignore]
version = "0.4"
[dependencies.log]
version = "0.4"
[dependencies.notify]
version = "7.0"
optional = true
[dependencies.pulldown-cmark]
version = "0.12"
[dependencies.ratatui]
version = "0.29"
optional = true
[dependencies.regex]
version = "1"
[dependencies.reqwest]
version = "0.12"
features = ["json"]
optional = true
[dependencies.rusqlite]
version = "0.32"
features = ["bundled"]
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha2]
version = "0.10"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"macros",
"rt",
"rt-multi-thread",
"sync",
"io-util",
"time",
"process",
]
optional = true
[dependencies.toml]
version = "0.8"
[dependencies.url]
version = "2"
[dependencies.walkdir]
version = "2"
[dependencies.whoami]
version = "1"
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.tempfile]
version = "3"
[lints.rust]
unsafe_code = "forbid"