[package]
name = "abcop"
version = "0.18.2"
edition = "2024"
rust-version = "1.88"
authors = ["Peter Adrianov"]
license = "GPL-3.0-or-later"
repository = "https://github.com/adrianov/abcop"
homepage = "https://github.com/adrianov/abcop"
documentation = "https://github.com/adrianov/abcop"
description = "Must-have ABC complexity gate for AI development. Ruby, Rust, Python, Go, JS/TS, C/C++, PHP, Java, C#, Swift, Zig, Dart, Solidity, Haskell, ObjC"
readme = "README.md"
keywords = ["linter", "complexity", "static-analysis", "ai", "mcp"]
categories = ["command-line-utilities", "development-tools"]
include = [
"src/**",
"Cargo.toml",
"Cargo.lock",
"README.md",
"LICENSE",
"man/**",
"server.json",
]
[dependencies]
anyhow = "1"
clap = { version = "4", features = ["derive"] }
libc = "0.2"
ignore = "0.4"
rayon = "1"
rmcp = { version = "3.2", default-features = false, features = ["server", "macros", "transport-io", "schemars"] }
schemars = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tokio = { version = "1", features = ["rt-multi-thread", "io-std", "macros", "sync"] }
tree-sitter = "0.26"
tree-sitter-ruby = { version = "0.23.1", path = "vendor/tree-sitter-ruby" }
tree-sitter-rust = { version = "0.24.2", path = "vendor/tree-sitter-rust" }
tree-sitter-javascript = { version = "0.25.0", path = "vendor/tree-sitter-javascript" }
tree-sitter-typescript = { version = "0.23.2", path = "vendor/tree-sitter-typescript" }
tree-sitter-cpp = { version = "0.23.4", path = "vendor/tree-sitter-cpp" }
tree-sitter-objc = { version = "3.0.2", path = "vendor/tree-sitter-objc" }
sha2 = "0.10"
memmap2 = "0.9"
tree-sitter-c = { version = "0.24.2", path = "vendor/tree-sitter-c" }
tree-sitter-swift = { version = "0.7.3", path = "vendor/tree-sitter-swift" }
tree-sitter-python = { version = "0.25.0", path = "vendor/tree-sitter-python" }
redb = "4.2"
tree-sitter-go = { version = "0.25.0", path = "vendor/tree-sitter-go" }
tree-sitter-php = { version = "0.24.2", path = "vendor/tree-sitter-php" }
tree-sitter-java = { version = "0.23.5", path = "vendor/tree-sitter-java" }
tree-sitter-c-sharp = { version = "0.23.5", path = "vendor/tree-sitter-c-sharp" }
tree-sitter-solidity = { version = "1.2.13", path = "vendor/tree-sitter-solidity" }
tree-sitter-dart = { version = "0.2.0", path = "vendor/tree-sitter-dart" }
tree-sitter-zig = { version = "1.1.2", path = "vendor/tree-sitter-zig" }
tree-sitter-haskell = { version = "0.23.1", path = "vendor/tree-sitter-haskell" }
git2 = { version = "0.20", default-features = false }
[dev-dependencies]
rmcp = { version = "3.2", default-features = false, features = ["client"] }
tokio = { version = "1", features = ["rt-multi-thread", "macros", "io-util"] }
[profile.release]
lto = true
codegen-units = 1
[package.metadata.deb]
section = "utils"
priority = "optional"
maintainer = "Peter M Adrianov <peter.adrianov@gmail.com>"
copyright = "Peter M Adrianov"
license-file = ["LICENSE", "0"]
extended-description = """Must-have ABC complexity gate for AI-written code.
One self-contained binary across Ruby, Rust, Python, Go, PHP, Java, C#,
Dart, JavaScript, TypeScript, C, C++, Objective-C, Swift, Solidity, Zig
and Haskell.
Built for Ubuntu 22.04+ and Debian bookworm+ (amd64)."""
depends = "$auto"
assets = [
["target/release/abcop", "usr/bin/", "755"],
["man/abcop.1", "usr/share/man/man1/", "644"],
]