[package]
name = "babysit"
version = "0.11.1"
edition = "2024"
description = "Wrap a shell command in a PTY and expose it to external AI agents (Claude / Codex) via subcommands"
license = "MIT"
repository = "https://github.com/yusukeshib/babysit"
readme = "README.md"
keywords = ["pty", "ai", "agent", "wrapper", "claude"]
categories = ["command-line-utilities", "development-tools"]

[dependencies]
crossterm = "0.29"
portable-pty = "0.9"
tokio = { version = "1", features = [
  "rt-multi-thread",
  "macros",
  "sync",
  "io-util",
  "net",
  "fs",
  "time",
  "signal",
  "process",
] }
clap = { version = "4", features = ["derive"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
anyhow = "1"
directories = "5"
nix = { version = "0.29", features = ["signal", "process"] }
chrono = { version = "0.4", features = ["serde"] }
strip-ansi-escapes = "0.2"
vt100 = "0.16"
regex = "1"
self_update = { version = "0.42", default-features = false, features = [
  "rustls",
], optional = true }

[features]
# `upgrade` pulls the network stack (self_update -> reqwest/rustls). It is on by
# default for the CLI, but embedders (e.g. looop) depend with
# default-features=false to avoid linking reqwest/hyper/rustls.
default = ["upgrade"]
upgrade = ["dep:self_update"]
