jarvy 0.0.5

Jarvy is a fast, cross-platform CLI that installs and manages developer tools across macOS and Linux.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.85"
name = "jarvy"
version = "0.0.5"
build = false
include = [
    "src/**/*",
    "Cargo.toml",
    "LICENSE*",
    "Readme.md",
    "CHANGELOG.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Jarvy is a fast, cross-platform CLI that installs and manages developer tools across macOS and Linux."
homepage = "https://jarvy.dev"
documentation = "https://docs.rs/jarvy"
readme = "Readme.md"
keywords = [
    "devtools",
    "provisioning",
    "cli",
    "developer-experience",
    "setup",
]
categories = [
    "command-line-utilities",
    "development-tools",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/bearbinary/jarvy"

[package.metadata.docs.rs]
targets = [
    "x86_64-unknown-linux-gnu",
    "aarch64-apple-darwin",
    "x86_64-pc-windows-msvc",
]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[package.metadata.packager]
product-name = "jarvy"
identifier = "io.github.bearbinary.jarvy"
category = "Utility"
homepage = "https://github.com/bearbinary/jarvy"
licenseFile = "LICENSE"
formats = ["all"]
icons = [
    "assets/icns/CLI_Logo.icns",
    "assets/CLI_Logo.png",
]

[package.metadata.packager.appimage.files]
"Readme.md" = "usr/share/doc/jarvy/README.md"
LICENSE = "usr/share/doc/jarvy/LICENSE"

[package.metadata.packager.deb.files]
"Readme.md" = "usr/share/doc/jarvy/README.md"
LICENSE = "usr/share/doc/jarvy/LICENSE"

[package.metadata.packager.pacman.files]
"Readme.md" = "usr/share/doc/jarvy/README.md"
LICENSE = "usr/share/doc/jarvy/LICENSE"

[[package.metadata.generate-rpm.assets]]
source = "target/release/jarvy"
dest = "/usr/bin/jarvy"
mode = "0755"

[[package.metadata.generate-rpm.assets]]
source = "LICENSE"
dest = "/usr/share/doc/jarvy/LICENSE"
doc = true
mode = "0644"

[[package.metadata.generate-rpm.assets]]
source = "Readme.md"
dest = "/usr/share/doc/jarvy/README.md"
doc = true
mode = "0644"

[badges.maintenance]
status = "actively-developed"

[lib]
name = "jarvy"
path = "src/lib.rs"

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

[dependencies.chrono]
version = "0.4"
features = ["serde"]

[dependencies.clap]
version = "4.6"
features = ["derive"]

[dependencies.clap_complete]
version = "4.6"

[dependencies.dirs]
version = "6.0"

[dependencies.hex]
version = "0.4"

[dependencies.hostname]
version = "0.4"

[dependencies.inquire]
version = "0.9"

[dependencies.inventory]
version = "0.3"

[dependencies.machineid-rs]
version = "1.2"

[dependencies.num_cpus]
version = "1.16"

[dependencies.once_cell]
version = "1.21"

[dependencies.opentelemetry]
version = "0.31"
features = ["metrics"]

[dependencies.opentelemetry-appender-tracing]
version = "0.31"

[dependencies.opentelemetry-otlp]
version = "0.31"
features = [
    "logs",
    "http-proto",
    "metrics",
]

[dependencies.opentelemetry_sdk]
version = "0.31"
features = ["metrics"]

[dependencies.predicates]
version = "3.1"

[dependencies.rayon]
version = "1.10"

[dependencies.regex]
version = "1.12"

[dependencies.rpassword]
version = "7.3"

[dependencies.self_update]
version = "0.44"
features = [
    "ureq",
    "rustls",
    "archive-tar",
    "compression-flate2",
]
default-features = false

[dependencies.semver]
version = "1.0"

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.serde_json]
version = "1.0"

[dependencies.serde_yaml]
version = "0.9"

[dependencies.sha2]
version = "0.11"

[dependencies.shellexpand]
version = "3.1"

[dependencies.strsim]
version = "0.11"

[dependencies.sys-info]
version = "0.9"

[dependencies.tempfile]
version = "3.27"

[dependencies.thiserror]
version = "2.0"

[dependencies.toml]
version = "1.1"

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-appender]
version = "0.2"

[dependencies.tracing-subscriber]
version = "0.3"
features = [
    "env-filter",
    "json",
]

[dependencies.ureq]
version = "3.3"
features = ["json"]

[dependencies.uuid]
version = "1.23"
features = ["v7"]

[dependencies.wait-timeout]
version = "0.2"

[dependencies.which]
version = "8.0"

[dependencies.zip]
version = "8.5"

[dev-dependencies.assert_cmd]
version = "2.2"

[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]

[dev-dependencies.proptest]
version = "1.11"

[dev-dependencies.tempfile]
version = "3.27"

[build-dependencies.serde]
version = "1.0.204"
features = ["derive"]

[build-dependencies.serde_json]
version = "1.0"

[lints.clippy.complexity]
level = "warn"
priority = -1

[lints.clippy.correctness]
level = "deny"
priority = -1

[lints.clippy.perf]
level = "warn"
priority = -1

[lints.clippy.style]
level = "warn"
priority = -1

[lints.clippy.suspicious]
level = "warn"
priority = -1

[lints.rust]
unsafe_code = "warn"

[profile.dev]
opt-level = 1

[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
panic = "abort"
strip = true