agentgear 0.1.4

Install and self-heal the plugin your Rust binary ships into Claude Code and 24 other coding agents, via a derive macro.
Documentation
[package]
name = "agentgear"
description = "Install and self-heal the plugin your Rust binary ships into Claude Code and 24 other coding agents, via a derive macro."
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
readme = "../../README.md"
documentation = "https://docs.rs/agentgear"
keywords = ["claude-code", "plugin", "derive-macro", "coding-agent", "self-heal"]
categories = ["development-tools", "config"]

# `--cfg docsrs` is inert until the crate root opts in. The form that builds on
# the nightly docs.rs uses:
#     #![cfg_attr(docsrs, feature(doc_cfg))]
#     #![cfg_attr(docsrs, doc(auto_cfg))]
# `feature(doc_auto_cfg)` was removed in 1.92 (E0557); bare `doc(auto_cfg)` needs
# the feature gate (E0658). It badges only `derive`, the crate's one feature-gated
# public item, so the per-backend features need listing in the crate docs by hand.
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[lints]
workspace = true

[features]
default = ["derive", "claude", "embed"]
derive = ["dep:agentgear-derive"]
claude = []
# codex writes toml config, so it pulls the comment-preserving toml editor.
codex = ["dep:toml_edit"]
opencode = []
gemini = []
cursor = []
cline = []
devin = []
qwen-code = []
copilot-cli = []
vscode-copilot = []
jetbrains-copilot = []
# kimi's hook config lives in `~/.kimi-code/config.toml`, so it pulls the toml editor.
kimi = ["dep:toml_edit"]
kiro = []
zed = []
# omp reads its own `config.yml` (`disabledProviders`) to gate the agent-retire on its
# `claude-plugins` provider being enabled, so it pulls the serde yaml codec.
omp = ["dep:serde_norway"]
openclaw = []
kilo = []
antigravity = []
antigravity-cli = []
pi = []
# goose's config is YAML, so it pulls the serde yaml codec.
goose = ["dep:serde_norway"]
amp = []
crush = []
droid = []
augment = []
# Every non-CC backend at once (the fixture host + the docker legs enable this).
all-agents = [
    "claude", "codex", "opencode", "gemini", "cursor", "cline", "devin",
    "qwen-code", "copilot-cli", "vscode-copilot", "jetbrains-copilot",
    "kimi", "kiro", "zed", "omp", "openclaw", "kilo",
    "antigravity", "antigravity-cli", "pi",
    "goose", "amp", "crush", "droid", "augment",
]
# Bakes the plugin tree into the binary as a compressed `.tar.br` blob (build.rs
# tars + brotli-compresses it; materialize decompresses). Off = zero embed bytes
# for a github/path-only host; pair with `embed = false` on the derive.
embed = ["dep:tar", "dep:brotli"]

[dependencies]
brotli = { version = "9.0.0", optional = true }
dirs = "7.0.0"
agentgear-derive = { workspace = true, optional = true }
fastrand = "2.5.0"
fs4 = { version = "1.1.0", features = ["sync"] }
serde = { version = "1.0.229", features = ["derive"] }
# preserve_order: a config read-modify-write keeps the user's existing key order
# instead of re-sorting their whole file on our first write.
serde_json = { version = "1.0.151", features = ["preserve_order"] }
serde_norway = { version = "0.9.42", optional = true }
sha2 = "0.11.0"
tar = { version = "0.4.46", optional = true, default-features = false }
thiserror = "2.0.20"
which = "8.0.6"
toml_edit = { version = "0.25.15", optional = true }

[target."cfg(windows)".dependencies]
junction = "2.0.0"