[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