[package]
edition = "2021"
name = "things3-cli"
version = "2.1.0"
authors = ["GarthDB <garthdb@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "CLI tool for Things 3 with integrated MCP server"
homepage = "https://github.com/GarthDB/rust-things3"
documentation = "https://docs.rs/things3-cli"
readme = "README.md"
keywords = [
"things3",
"cli",
"mcp",
"productivity-tool",
"task-manager",
]
categories = [
"command-line-utilities",
"development-tools",
]
license = "MIT"
repository = "https://github.com/GarthDB/rust-things3"
[features]
default = [
"mcp-server",
"export-csv",
"export-opml",
"observability",
]
export-csv = ["things3-core/export-csv"]
export-opml = ["things3-core/export-opml"]
full = [
"mcp-server",
"export-csv",
"export-opml",
"observability",
]
mcp-server = [
"export-csv",
"export-opml",
]
observability = [
"things3-core/observability",
"dep:metrics",
"dep:metrics-exporter-prometheus",
"dep:metrics-exporter-tcp",
]
[lib]
name = "things3_cli"
path = "src/lib.rs"
[[bin]]
name = "test-mcp-real-data"
path = "src/bin/test_mcp_real_data.rs"
required-features = ["mcp-server"]
[[bin]]
name = "things3"
path = "src/main.rs"
[[test]]
name = "cli_error_handling"
path = "tests/cli_error_handling.rs"
required-features = ["mcp-server"]
[[test]]
name = "cli_features"
path = "tests/cli_features.rs"
[[test]]
name = "error_message_format_tests"
path = "tests/error_message_format_tests.rs"
required-features = ["mcp-server"]
[[test]]
name = "feature_flags"
path = "tests/feature_flags.rs"
[[test]]
name = "integration_real_time_features"
path = "tests/integration_real_time_features.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
required-features = ["mcp-server"]
[[test]]
name = "mcp_bulk_operations_tests"
path = "tests/mcp_bulk_operations_tests.rs"
required-features = ["mcp-server"]
[[test]]
name = "mcp_date_handling_tests"
path = "tests/mcp_date_handling_tests.rs"
required-features = ["mcp-server"]
[[test]]
name = "mcp_integration_workflows"
path = "tests/mcp_integration_workflows.rs"
required-features = ["mcp-server"]
[[test]]
name = "mcp_io_tests"
path = "tests/mcp_io_tests.rs"
required-features = ["mcp-server"]
[[test]]
name = "mcp_lifecycle_tests"
path = "tests/mcp_lifecycle_tests.rs"
required-features = ["mcp-server"]
[[test]]
name = "mcp_load_tests"
path = "tests/mcp_load_tests.rs"
required-features = ["mcp-server"]
[[test]]
name = "mcp_logbook_tests"
path = "tests/mcp_logbook_tests.rs"
required-features = ["mcp-server"]
[[test]]
name = "mcp_project_area_tests"
path = "tests/mcp_project_area_tests.rs"
required-features = ["mcp-server"]
[[test]]
name = "mcp_protocol_edge_cases"
path = "tests/mcp_protocol_edge_cases.rs"
required-features = ["mcp-server"]
[[test]]
name = "mcp_tag_tests"
path = "tests/mcp_tag_tests.rs"
required-features = ["mcp-server"]
[[test]]
name = "mcp_testing_framework_tests"
path = "tests/mcp_testing_framework_tests.rs"
required-features = ["mcp-server"]
[[test]]
name = "mcp_tests"
path = "tests/mcp_tests/mod.rs"
required-features = ["mcp-server"]
[[test]]
name = "mcp_write_operations_tests"
path = "tests/mcp_write_operations_tests.rs"
required-features = ["mcp-server"]
[[test]]
name = "middleware_integration_tests"
path = "tests/middleware_integration_tests.rs"
required-features = ["mcp-server"]
[[test]]
name = "middleware_tests"
path = "tests/middleware_tests.rs"
required-features = ["mcp-server"]
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.axum]
version = "0.7"
features = [
"macros",
"tracing",
]
[dependencies.base64]
version = "0.21"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4.0"
features = [
"derive",
"env",
]
[dependencies.crossbeam-channel]
version = "0.5"
[dependencies.csv]
version = "1.3"
optional = true
[dependencies.dashmap]
version = "5.5"
[dependencies.env_logger]
version = "0.10"
[dependencies.futures]
version = "0.3"
[dependencies.futures-util]
version = "0.3"
[dependencies.governor]
version = "0.6"
[dependencies.hmac]
version = "0.12"
[dependencies.indicatif]
version = "0.17"
[dependencies.jsonwebtoken]
version = "9.2"
[dependencies.log]
version = "0.4"
[dependencies.metrics]
version = "0.22"
optional = true
[dependencies.metrics-exporter-prometheus]
version = "0.13"
optional = true
[dependencies.metrics-exporter-tcp]
version = "0.6"
optional = true
[dependencies.moka]
version = "0.12"
features = ["future"]
[dependencies.nonzero_ext]
version = "0.3"
[dependencies.once_cell]
version = "1.19"
[dependencies.parking_lot]
version = "0.12"
[dependencies.quick-xml]
version = "0.36"
features = ["serialize"]
optional = true
[dependencies.ring]
version = "0.17"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.sqlx]
version = "0.8"
features = [
"runtime-tokio-rustls",
"sqlite",
"chrono",
"uuid",
"json",
]
default-features = false
[dependencies.sysinfo]
version = "0.30"
[dependencies.tempfile]
version = "3.8"
[dependencies.things3-common]
version = "2.0.0"
[dependencies.things3-core]
version = "2.0.0"
features = ["test-utils"]
default-features = false
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1.0"
features = ["full"]
[dependencies.tokio-tungstenite]
version = "0.21"
[dependencies.tower]
version = "0.4"
[dependencies.tower-http]
version = "0.5"
features = [
"cors",
"trace",
]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-appender]
version = "0.2"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
"chrono",
]
[dependencies.tungstenite]
version = "0.21"
[dependencies.url]
version = "2.4"
[dependencies.uuid]
version = "1.0"
features = [
"v4",
"serde",
]
[dev-dependencies.jsonschema]
version = "0.18"
features = ["draft202012"]
default-features = false
[lints.clippy.all]
level = "warn"
priority = -1
[lints.rust]
unreachable_pub = "warn"
unsafe_code = "deny"