rippy-cli 0.1.1

A shell command safety hook for AI coding tools (Claude Code, Cursor, Gemini CLI) — Rust rewrite of Dippy
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.93"
name = "rippy-cli"
version = "0.1.1"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A shell command safety hook for AI coding tools (Claude Code, Cursor, Gemini CLI) — Rust rewrite of Dippy"
homepage = "https://github.com/mpecan/rippy"
readme = "README.md"
keywords = [
    "ai-safety",
    "claude-code",
    "shell-hook",
    "cursor",
    "gemini-cli",
]
categories = [
    "command-line-utilities",
    "development-tools",
]
license = "MIT"
repository = "https://github.com/mpecan/rippy"

[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/rippy-cli-v{ version }/rippy-v{ version }-{ target }.tar.gz"
pkg-fmt = "tgz"
bin-dir = "{ bin }{ binary-ext }"

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

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

[[test]]
name = "catalog_runner"
path = "tests/catalog_runner.rs"

[[test]]
name = "commands"
path = "tests/commands.rs"

[[test]]
name = "config_rules"
path = "tests/config_rules.rs"

[[test]]
name = "corner_cases"
path = "tests/corner_cases.rs"

[[test]]
name = "features"
path = "tests/features.rs"

[[test]]
name = "file_access"
path = "tests/file_access.rs"

[[test]]
name = "file_reading"
path = "tests/file_reading.rs"

[[test]]
name = "handlers"
path = "tests/handlers.rs"

[[test]]
name = "infrastructure"
path = "tests/infrastructure.rs"

[[test]]
name = "modes"
path = "tests/modes.rs"

[[test]]
name = "proptest_robustness"
path = "tests/proptest_robustness.rs"

[[test]]
name = "proptest_security"
path = "tests/proptest_security.rs"

[[test]]
name = "safety"
path = "tests/safety.rs"

[[test]]
name = "toml_config"
path = "tests/toml_config.rs"

[[test]]
name = "trust"
path = "tests/trust.rs"

[dependencies.clap]
version = "4"
features = [
    "derive",
    "env",
]

[dependencies.dirs]
version = "6"

[dependencies.rable]
version = "0.1.13"

[dependencies.rkyv]
version = "0.8.15"

[dependencies.rusqlite]
version = "0.32"
features = ["bundled"]

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

[dependencies.serde_json]
version = "1"

[dependencies.sha2]
version = "0.10"

[dependencies.thiserror]
version = "2"

[dependencies.tokf-hook-types]
version = "0.2.39"

[dependencies.toml]
version = "0.8"

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

[dev-dependencies.serial_test]
version = "3.4.0"

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

[dev-dependencies.toml]
version = "0.8"

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

[build-dependencies.toml]
version = "0.8"

[lints.clippy]
expect_used = "deny"
module_name_repetitions = "allow"
must_use_candidate = "allow"
panic = "deny"
todo = "deny"
unwrap_used = "deny"

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

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