[package]
name = "notidium"
version = "0.1.1"
edition = "2021"
description = "Developer-focused, local-first note-taking with semantic search and MCP integration"
license = "MIT"
repository = "https://github.com/pjankiewicz/notidium"
homepage = "https://github.com/pjankiewicz/notidium"
readme = "README.md"
keywords = ["notes", "semantic-search", "mcp", "knowledge-base", "markdown"]
categories = ["command-line-utilities", "text-processing"]

[dependencies]
# Web framework
axum = { version = "0.8", features = ["macros"] }
tower = "0.5"
tower-http = { version = "0.6", features = ["cors", "fs", "trace"] }
tokio = { version = "1", features = ["full"] }
tokio-util = "0.7"

# Database & Storage
rusqlite = { version = "0.32", features = ["bundled"] }
lancedb = "0.15"
arrow-array = "54"

# Search
tantivy = "0.22"

# Embeddings
fastembed = "4"

# MCP Protocol
rmcp = { version = "0.12", features = ["server", "transport-io", "transport-streamable-http-server", "axum"] }
schemars = "1"

# OpenAPI documentation
utoipa = { version = "5", features = ["axum_extras", "chrono", "uuid"] }
utoipa-axum = "0.2"
utoipa-swagger-ui = { version = "9", features = ["axum"] }

# Static file embedding
rust-embed = "8"
mime_guess = "2"

# Markdown
pulldown-cmark = "0.12"

# File watching
notify = "8"
notify-debouncer-mini = "0.5"

# CLI
clap = { version = "4", features = ["derive"] }

# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "0.8"
serde_yaml = "0.9"

# Utils
uuid = { version = "1", features = ["v4", "serde"] }
chrono = { version = "0.4", features = ["serde"] }
sha2 = "0.10"
hex = "0.4"
base64 = "0.22"
slug = "0.1"

# Error handling
thiserror = "2"
anyhow = "1"

# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

# Async utilities
futures = "0.3"
async-trait = "0.1"

# Environment
dotenvy = "0.15"
dirs = "5"

[dev-dependencies]
tempfile = "3"
tokio-test = "0.4"

[[bin]]
name = "notidium"
path = "src/main.rs"
