[package]
name = "kanban-persistence"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = "Persistence traits and shared types for the kanban project management tool"
keywords = ["kanban", "persistence", "storage", "file-watching"]
categories = ["command-line-utilities", "development-tools"]

[features]
test-helpers = ["dep:tempfile"]

[dependencies]
kanban-core = { path = "../kanban-core", version = "^0.6" }
kanban-domain = { path = "../kanban-domain", version = "^0.6" }

# Core async and error handling
tokio.workspace = true
async-trait.workspace = true
thiserror.workspace = true
anyhow.workspace = true

# Serialization
serde.workspace = true
serde_json.workspace = true

# IDs and time
uuid.workspace = true
chrono.workspace = true

# File operations
notify.workspace = true

# Logging
tracing.workspace = true

# Optional: test-helpers feature pulls this in
tempfile = { workspace = true, optional = true }

[dev-dependencies]
mockall.workspace = true
tempfile.workspace = true
tokio = { workspace = true, features = ["full"] }

[[test]]
name = "store_contract_smoke"
path = "tests/store_contract_smoke.rs"
required-features = ["test-helpers"]
