[package]
edition = "2024"
rust-version = "1.88"
name = "jerrycan"
version = "0.2.0"
authors = ["Pavel Hegler"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The AI-native Rust backend platform: framework, CLI, and MCP server. https://jerrycan.cc"
homepage = "https://jerrycan.cc"
readme = "README.md"
keywords = [
"web",
"framework",
"backend",
"ai",
"mcp",
]
categories = [
"web-programming::http-server",
"command-line-utilities",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/backant-io/jerrycan"
[features]
auth = ["dep:jerrycan-auth"]
cli = [
"dep:clap",
"dep:serde",
"dep:serde_json",
"dep:tokio",
"dep:sea-query",
"db",
]
db = ["dep:jerrycan-db"]
default = ["cli"]
jobs = [
"dep:jerrycan-jobs",
"db",
]
jobs-redis = [
"jobs",
"jerrycan-jobs/jobs-redis",
]
mock-idp = [
"oauth",
"jerrycan-auth/mock-idp",
]
oauth = [
"auth",
"jerrycan-auth/oauth",
]
observe = ["dep:jerrycan-observe"]
rate-limit = ["dep:jerrycan-ratelimit"]
rate-limit-redis = [
"rate-limit",
"jerrycan-ratelimit/rate-limit-redis",
]
validate = ["dep:jerrycan-validate"]
[lib]
name = "jerrycan"
path = "src/lib.rs"
[[bin]]
name = "jerrycan"
path = "src/main.rs"
required-features = ["cli"]
[[test]]
name = "authgen"
path = "tests/authgen.rs"
[[test]]
name = "checkpipe"
path = "tests/checkpipe.rs"
[[test]]
name = "cli"
path = "tests/cli.rs"
[[test]]
name = "conformance"
path = "tests/conformance.rs"
[[test]]
name = "contract_compat"
path = "tests/contract_compat.rs"
[[test]]
name = "contracts"
path = "tests/contracts.rs"
[[test]]
name = "dbgen"
path = "tests/dbgen.rs"
[[test]]
name = "deploy"
path = "tests/deploy.rs"
[[test]]
name = "designing_examples"
path = "tests/designing_examples.rs"
[[test]]
name = "determinism"
path = "tests/determinism.rs"
[[test]]
name = "embedded_sync"
path = "tests/embedded_sync.rs"
[[test]]
name = "eval"
path = "tests/eval.rs"
[[test]]
name = "explain"
path = "tests/explain.rs"
[[test]]
name = "facade"
path = "tests/facade.rs"
[[test]]
name = "features"
path = "tests/features.rs"
[[test]]
name = "fuzz_smoke"
path = "tests/fuzz_smoke.rs"
[[test]]
name = "generation"
path = "tests/generation.rs"
[[test]]
name = "genroute_compile"
path = "tests/genroute_compile.rs"
[[test]]
name = "kolli_eval"
path = "tests/kolli_eval.rs"
[[test]]
name = "mcp"
path = "tests/mcp.rs"
[[test]]
name = "package"
path = "tests/package.rs"
[[test]]
name = "testgen"
path = "tests/testgen.rs"
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.jerrycan-auth]
version = "0.2.0"
optional = true
[dependencies.jerrycan-core]
version = "0.2.0"
[dependencies.jerrycan-db]
version = "0.2.0"
optional = true
[dependencies.jerrycan-jobs]
version = "0.2.0"
optional = true
[dependencies.jerrycan-macros]
version = "0.2.0"
[dependencies.jerrycan-observe]
version = "0.2.0"
optional = true
[dependencies.jerrycan-ratelimit]
version = "0.2.0"
optional = true
[dependencies.jerrycan-validate]
version = "0.2.0"
optional = true
[dependencies.sea-query]
version = "0.32"
features = [
"backend-sqlite",
"backend-postgres",
]
optional = true
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"net",
"time",
"sync",
"signal",
]
optional = true
[dev-dependencies.serde]
version = "1"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"net",
"time",
"sync",
"signal",
]