{"_id":"@codebolt/agent-image","name":"@codebolt/agent-image","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@codebolt/agent-image","version":"0.1.0","description":"A single-binary image processing CLI for AI agents.","license":"MIT","type":"commonjs","bin":{"agent-image":"bin/agent-image.js","imagecli":"bin/agent-image.js"},"workspaces":["npm/*"],"scripts":{"build:rust":"cargo build --release --locked","prepare:platform":"node scripts/prepare-npm-platform.mjs","pack:check":"npm pack --dry-run --json"},"optionalDependencies":{"@codebolt/agent-image-darwin-arm64":"0.1.0","@codebolt/agent-image-darwin-x64":"0.1.0","@codebolt/agent-image-linux-x64":"0.1.0","@codebolt/agent-image-win32-x64":"0.1.0"},"engines":{"node":">=18"},"gitHead":"edc403535786830e6e338f06511e07e8e62bf60f","_id":"@codebolt/agent-image@0.1.0","_nodeVersion":"20.18.3","_npmVersion":"11.11.0","dist":{"integrity":"sha512-d9TzvIwa52jXyICsy4dZCs8Jnp/pSCRc1ZJIPCBrTeOGTVgRGlmmWC9JtoaFzJvKTnfZxU60fJ1WSsa/Xxf0LQ==","shasum":"aca4f20b6a0cf6073430406e3a87bf4c1ec6b827","tarball":"https://registry.npmjs.org/@codebolt/agent-image/-/agent-image-0.1.0.tgz","fileCount":3,"unpackedSize":7282,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCYcRSDniiZC+pjndyrCOsEFtCE0aBI7M8IRbJamur6lAIgUSr0TjWDHDwbpkfblRENLnl/qcM2Pz3WP/BDXGhbAs4="}]},"_npmUser":{"name":"utkarshx","email":"utk.shukla@gmail.com"},"directories":{},"maintainers":[{"name":"ravirawatsingh","email":"ravi@arrowai.com"},{"name":"utkarshx","email":"utk.shukla@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agent-image_0.1.0_1782200049919_0.18619950163763033"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-23T07:34:09.718Z","0.1.0":"2026-06-23T07:34:10.051Z","modified":"2026-06-23T07:34:10.245Z"},"maintainers":[{"name":"ravirawatsingh","email":"ravi@arrowai.com"},{"name":"utkarshx","email":"utk.shukla@gmail.com"}],"description":"A single-binary image processing CLI for AI agents.","license":"MIT","readme":"# Agent Image\n\nA single-binary image processing CLI for AI agents, published as `@codebolt/agent-image`. Operations are composable via pipes, making it easy for agents to chain transformations in a single shell command.\n\r\n## Why\r\n\r\nAI agents can process images, but they need simple, predictable CLI tools to do it. Agent Image gives them:\n\n- **No Rust required for users** — run it with `npx` or install it from npm\n- **Composable via pipes** — chain operations with `|`, no temp files needed\n- **Deterministic args** — every parameter is a named flag with sensible defaults\n- **stdin/stdout by default** — pipes use PNG format, so agents don't need to manage intermediate files\n\n## Install\n\nRun directly:\n\n```bash\nnpx @codebolt/agent-image --help\n```\n\nInstall globally:\n\n```bash\nnpm install -g @codebolt/agent-image\nagent-image --help\n```\n\nThe npm package installs a small Node launcher plus the matching prebuilt Rust binary for your platform. The old `imagecli` command is kept as a compatibility alias when installed from npm.\n\n### Build from source\n\n```bash\ncargo build --release --bin agent-image\n# binary: ./target/release/agent-image\n```\n\r\n## Usage\r\n\r\n```bash\r\n# Single operation\r\nagent-image -i input.png -o output.png blur --sigma 3\n\r\n# Piped chain: grayscale then sharpen\r\nagent-image -i input.png grayscale | agent-image unsharpen --sigma 3 --threshold 5 -o output.png\n\r\n# Cinematic teal/orange color grade\r\nagent-image -i input.png -o output.png color-grade --shadows-hue=200 --shadows-sat=50 --highlights-hue=30 --highlights-sat=40\n\r\n# Vintage 70s look: faded curve + warm color + color grading + vignette\r\nagent-image -i input.png curve --darks=35 --highlights=-20 \\\n  | agent-image color --temperature=30 --saturation=-15 \\\n  | agent-image color-grade --shadows-hue=30 --shadows-sat=30 --highlights-hue=45 --highlights-sat=20 \\\n  | agent-image vignette --amount -70 -o output.png\n```\r\n\r\n## Commands\r\n\r\n| Command | Description |\r\n|---------|-------------|\r\n| `blur` | Gaussian blur |\r\n| `unsharpen` | Unsharp mask (sharpen) |\r\n| `grayscale` | Convert to black and white |\r\n| `resize` | Resize longest side to target |\r\n| `channel` | Extract a single RGB channel |\r\n| `curve` | Tone curve via 5-point cubic spline |\r\n| `color` | Temperature, tint, vibrance, saturation |\r\n| `color-grade` | Split-tone shadows/midtones/highlights |\r\n| `vignette` | Lightroom-style vignette |\r\n| `show-curve` | Debug: render a tone curve plot |\r\n\r\nRun `agent-image <command> --help` for detailed argument info.\n\r\n## Using with AI agents\r\n\r\nAgent Image is built to be called by AI agents that need image processing capabilities. The CLI surface is intentionally simple: named flags, numeric values, and predictable behavior.\n\r\n### Claude Code Skills\r\n\r\nThis project includes ready-made [Claude Code Skills](https://docs.anthropic.com/en/docs/claude-code/skills) in `.claude/skills/`:\r\n\r\n- **`process-image`** — Claude automatically translates natural language requests (\"make it warmer\", \"add a cinematic look\") into `agent-image` commands, runs them, and verifies the result\n\r\nTo use them, open this project in Claude Code and ask it to process an image. The skills are picked up automatically.\r\n\r\n### Other agents\r\n\r\nAny agent with shell access can use Agent Image. The key patterns:\n\r\n```bash\r\n# Input from file, output to file\r\nagent-image -i input.jpg -o output.jpg <command> [args]\n\r\n# Input from stdin, output to stdout (PNG format)\r\ncat input.png | agent-image blur --sigma 2 | agent-image grayscale > output.png\n\r\n# Chain operations with pipes\r\nagent-image -i photo.jpg resize -s 1024 | agent-image color --temperature=20 -o result.jpg\n```\r\n\r\n### Film Emulation\r\n\r\nYou can tap into Claude builting knownledge of film caracteristic and convert this easily into a processing pipeline.\r\n\r\nhttps://github.com/user-attachments/assets/bc833bbb-569b-4736-91f6-ce398e29bb47\r\n\r\n\r\n## FAQ\r\n\r\n**Why use pipes instead of combining all ops in one command?**\r\n\r\nPipes keep each step independent and composable. Agents (and humans) can mix and match freely without learning a monolithic DSL.\r\n\r\n**What format does stdin/stdout use?**  \r\n\r\nPNG. Use `-i` and `-o` for other formats (JPEG, etc.).\r\n\r\n**How do I see all options for a command?**  \r\n\r\nRun `agent-image <command> --help` (e.g. `agent-image curve --help`).\r\n\r\n**Why your code sucks?**\r\n\r\nIt's a pet project vibe-coded using Claude. I'm not a Rust programmer, so I wouldn't call the style \"elegant\". The performance is also not optimized at all (yet).\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md","_rev":"1-b904ad856180c8f9a7d8fde746943e30"}