[package]
edition = "2024"
name = "ratchets"
version = "0.2.6"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Progressive lint enforcement tool with budgeted violations that can only decrease over time"
homepage = "https://github.com/imbue-ai/ratchets"
readme = "README.md"
keywords = [
"lint",
"ratchets",
"static-analysis",
"code-quality",
"tree-sitter",
]
categories = [
"development-tools",
"command-line-utilities",
]
license-file = "LICENSE"
repository = "https://github.com/imbue-ai/ratchets"
[features]
default = [
"lang-rust",
"lang-typescript",
"lang-javascript",
"lang-python",
"lang-go",
]
lang-go = ["dep:tree-sitter-go"]
lang-javascript = ["dep:tree-sitter-javascript"]
lang-python = ["dep:tree-sitter-python"]
lang-rust = ["dep:tree-sitter-rust"]
lang-typescript = ["dep:tree-sitter-typescript"]
[lib]
name = "ratchets"
path = "src/lib.rs"
[[bin]]
name = "ratchets"
path = "src/main.rs"
[[test]]
name = "ast_integration_tests"
path = "tests/ast_integration_tests.rs"
[[test]]
name = "check_command_tests"
path = "tests/check_command_tests.rs"
[[test]]
name = "cli_integration_tests"
path = "tests/cli_integration_tests.rs"
[[test]]
name = "common"
path = "tests/common.rs"
[[test]]
name = "config_tests"
path = "tests/config_tests.rs"
[[test]]
name = "e2e_integration_tests"
path = "tests/e2e_integration_tests.rs"
[[test]]
name = "engine_integration_tests"
path = "tests/engine_integration_tests.rs"
[[test]]
name = "file_walker_tests"
path = "tests/file_walker_tests.rs"
[[test]]
name = "foundation_tests"
path = "tests/foundation_tests.rs"
[[test]]
name = "regex_rules_tests"
path = "tests/regex_rules_tests.rs"
[[test]]
name = "scalability_tests"
path = "tests/scalability_tests.rs"
[[bench]]
name = "performance"
path = "benches/performance.rs"
harness = false
[dependencies.clap]
version = "4"
features = ["derive"]
[dependencies.globset]
version = "0.4"
[dependencies.ignore]
version = "0.4"
[dependencies.rayon]
version = "1.10"
[dependencies.regex]
version = "1.10"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.termcolor]
version = "1.4"
[dependencies.thiserror]
version = "2.0"
[dependencies.toml]
version = "0.8"
[dependencies.tree-sitter]
version = "0.22"
[dependencies.tree-sitter-go]
version = "0.21"
optional = true
[dependencies.tree-sitter-javascript]
version = "0.21"
optional = true
[dependencies.tree-sitter-python]
version = "0.21"
optional = true
[dependencies.tree-sitter-rust]
version = "0.21"
optional = true
[dependencies.tree-sitter-typescript]
version = "0.21"
optional = true
[dev-dependencies.assert_cmd]
version = "2.0"
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.predicates]
version = "3.0"
[dev-dependencies.serde_json]
version = "1.0"
[dev-dependencies.serial_test]
version = "3.0"
[dev-dependencies.tempfile]
version = "3.8"