[package]
edition = "2024"
rust-version = "1.99"
name = "openmoat"
version = "0.14.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "openmoat"
description = "Policy checks for AI coding agents: decides allow, defer, review or deny for every tool call from Claude Code, Codex, Cursor, OpenClaw, GitHub Copilot CLI, pi and Gemini CLI, configures Claude Code's, Codex's and Cursor's own OS sandboxes from the same policy, and keeps a local audit log."
homepage = "https://github.com/crocodile-labs/openmoat"
readme = "README.md"
keywords = [
"ai-agents",
"security",
"policy",
"mcp",
"guardrails",
]
categories = [
"command-line-utilities",
"development-tools",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/crocodile-labs/openmoat"
resolver = "2"
[package.metadata.dist]
auto-includes = false
include = [
"../../README.md",
"../../CHANGELOG.md",
"../../LICENSE",
"../../LICENSE-APACHE",
]
[[bin]]
name = "moat"
path = "src/bin/moat.rs"
[[bin]]
name = "openmoat"
path = "src/main.rs"
[[test]]
name = "e2e"
path = "tests/e2e/main.rs"
[dependencies.anyhow]
version = "1"
[dependencies.clap]
version = "4"
features = ["derive"]
[dependencies.getrandom]
version = "0.4"
[dependencies.openmoat-audit]
version = "0.14.0"
[dependencies.openmoat-core]
version = "0.14.0"
[dependencies.openmoat-hosts]
version = "0.14.0"
[dependencies.openmoat-proxy]
version = "0.14.0"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
features = ["float_roundtrip"]
[dependencies.sha2]
version = "0.11"
[dependencies.signal-hook]
version = "0.4"
default-features = false
[dependencies.similar]
version = "3"
features = ["text"]
default-features = false
[dependencies.toml_edit]
version = "0.25"
features = [
"parse",
"display",
]
default-features = false
[dependencies.zeroize]
version = "1"
[dev-dependencies.globset]
version = "0.4"
[dev-dependencies.openmoat-audit]
version = "0.14.0"
features = ["test-support"]
[dev-dependencies.regex]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[target.'cfg(target_os = "linux")'.dependencies.landlock]
version = "0.4"
[target.'cfg(target_os = "linux")'.dependencies.libc]
version = "0.2"
[target.'cfg(target_os = "linux")'.dependencies.seccompiler]
version = "0.5"
[lints.clippy]
allow_attributes = "warn"
allow_attributes_without_reason = "warn"
cognitive_complexity = "warn"
dbg_macro = "warn"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
todo = "warn"
unimplemented = "warn"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
missing_debug_implementations = "warn"
unsafe_code = "forbid"