Introduction
Wrapd turns CLI commands into authenticated, streaming HTTP API endpoints. You define your commands in a YAML file, run the Wrapd agent on your machine, and call your endpoints from anywhere.
How it works
Section titled “How it works”[Your App] --HTTP--> [Wrapd API] --forward--> [Tunnel] --WebSocket--> [Agent on your server] | Runs your CLI command | Streams output back- Write YAML — Define your CLI commands, arguments, and output format in
wrapd.yaml. - Run the agent — The agent connects to Wrapd via WebSocket and registers your endpoints.
- Call your API — Make HTTP requests to your endpoints. Output streams back in real-time via SSE, or as buffered JSON.
Key features
Section titled “Key features”- No server code — Define endpoints in YAML, not code.
- Streaming output — Results stream back as Server-Sent Events in real-time.
- Output transformers — Parse CLI output as JSON, regex-extracted fields, or line-separated data.
- API key auth — Each caller gets their own API key. Revoke access anytime.
- Execution logs — Every call is logged with duration, exit code, and output.
- Tiered plans — Free tier included. Scale up as needed.
Architecture
Section titled “Architecture”Wrapd has four components:
| Component | Role |
|---|---|
| Agent | Rust binary that runs on your machine, executes commands |
| Tunnel | WebSocket hub that brokers communication between API and agents |
| API | Node.js server handling auth, billing, and request routing |
| Dashboard | SvelteKit web UI for managing endpoints, keys, and logs |
Next steps
Section titled “Next steps”Ready to get started? Follow the Quickstart guide.