qctl 0.5.4

Control in-repo YAML work queues
[package]
name = "qctl"
version = "0.5.4"
edition = "2024"
rust-version = "1.99.0"
description = "Control in-repo YAML work queues"
license = "MIT"
repository = "https://github.com/victor-software-house/qctl"
homepage = "https://github.com/victor-software-house/qctl"
readme = "README.md"
keywords = ["tasks", "ledger", "yaml", "cli"]
categories = ["command-line-utilities", "development-tools"]

# Line tables keep backtraces readable at a fraction of full debug info.
[profile.dev]
debug = "line-tables-only"

[profile.release]
codegen-units = 1
lto = "thin"
panic = "abort"
strip = "symbols"

[lints.rust]
unsafe_code = "forbid"
# Local edit: the template denies missing_docs and
# missing_debug_implementations; about 200 public items still lack docs or
# Debug. QCTL-044 turns both on.
unreachable_pub = "deny"
rust_2018_idioms = { level = "deny", priority = -1 }

[lints.rustdoc]
broken_intra_doc_links = "deny"
private_intra_doc_links = "deny"
invalid_html_tags = "deny"
invalid_codeblock_attributes = "deny"

[lints.clippy]
all = { level = "deny", priority = -1 }
pedantic = { level = "deny", priority = -1 }
cargo = { level = "deny", priority = -1 }
dbg_macro = "deny"
todo = "deny"
unimplemented = "deny"
unwrap_used = "deny"
expect_used = "deny"
disallowed_macros = "deny"
wildcard_enum_match_arm = "deny"
match_wildcard_for_single_variants = "deny"
allow_attributes = "deny"
allow_attributes_without_reason = "deny"
# Duplicate versions come from transitive dependencies the crate does not
# control; cargo-deny reports them (`bans.multiple-versions`).
multiple_crate_versions = "allow"

[dependencies]
anyhow = "1.0.100"
clap = { version = "4.6.6", features = ["derive", "env"] }
ctl-core = { version = "=0.6.17", default-features = false, features = ["app", "input", "usage"] }
garde = { version = "0.23.0", features = ["derive", "regex"] }
indoc = "2.0.7"
jsonschema = { version = "0.49.9", default-features = false }
regex = "1.13.1"
schemars = "1.2.2"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.145"
time = { version = "0.3.44", features = ["formatting", "macros", "parsing"] }
yamled = "0.0.5"

[dev-dependencies]
ctl-core = { version = "=0.6.17", default-features = false, features = ["surface"] }
insta = { version = "1.48.0", features = ["filters"] }
minijinja = { version = "=2.24.0", features = ["serde"] }
rstest = "0.26.1"
shlex = "2.0.1"
similar = "3.2.0"
tempfile = "3.23.0"
time = { version = "0.3.44", features = ["macros", "parsing"] }