[package]
name = "{{PROJECT_NAME}}"
version = "0.1.0"
edition = "2021"
authors = ["{{AUTHOR}}"]
description = "A Kegani web application"
license = "MIT OR Apache-2.0"
[lib]
name = "{{PROJECT_NAME_SNAKE}}"
path = "src/lib.rs"
[[bin]]
name = "{{PROJECT_NAME}}"
path = "src/main.rs"
[dependencies]
# Kegani framework (published on crates.io)
kegani = "0.1"
# Web framework (required by generated code)
actix-web = "4"
# Async runtime
tokio = { version = "1", features = ["full"] }
# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml = "0.9"
serde_urlencoded = "0.7"
# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
# Database
sqlx = { version = "0.8", features = ["runtime-tokio", "postgres", "chrono", "uuid", "rust_decimal"] }
# Utilities
uuid = { version = "1", features = ["v4", "serde"] }
chrono = { version = "0.4", features = ["serde"] }
once_cell = "1"
regex = "1"
futures-util = "0.3"
# Redis (caching)
redis = { version = "0.27", features = ["tokio-comp", "connection-manager"] }
# OpenTelemetry (tracing)
opentelemetry = "0.26"
# JWT Authentication
jsonwebtoken = "9"
# WebSocket (optional — enable with kegani feature "websocket")
# actix-web-actors = "4"
# OpenAPI docs
utoipa = "4"
utoipa-swagger-ui = "6"
tap = "1"
[dev-dependencies]
actix-rt = "2"
tokio-test = "0.4"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1