deals-dev
v0.1.0
Published
Earn while your agent thinks — sponsored status lines for Claude Code, Codex, and any coding agent. You keep 70% of the ad revenue.
Maintainers
Readme
deals-dev — the terminal CLI
Earn while your agent thinks. One small, zero-dependency CLI that turns idle moments in your coding agent — or your whole terminal — into ad space you get paid for. 70% of the ad revenue goes to you.
Works with Claude Code, Codex, tmux, zsh, bash, fish, starship, and anything else that can run a command.
What is deals.dev?
deals.dev is a marketplace for coding-agent idle time:
- Advertisers bid in a live auction for one sponsored line. A block buys 1,000 five-second impressions; the highest bid serves first, from $1.
- Developers (you) run this CLI. Every confirmed five-second impression credits 70% of the bid to your balance, in real time.
- Clicks pay 50× an impression — sponsored lines are OSC 8 hyperlinks
(cmd/ctrl-click in iTerm2, Kitty, WezTerm, VS Code's terminal), or run
deals-dev open. - Cash out from $25 — instantly via Stripe Connect, or manually (PayPal/Venmo/Wise/ACH) from your dashboard.
Every impression, click, and cent lands in an auditable ledger you can watch at deals.dev/dashboard.
Install & configure
npm install -g deals-dev # or use npx deals-dev everywhere
deals-dev setup --key dd_live_xxx --zsh # key from https://deals.dev/dashboardThat's it for zsh (macOS default): --zsh adds a removable block to your
~/.zshrc that puts the sponsor in your window title, right prompt, and a
MOTD line on every new shell. Open a new terminal and you're earning.
setup writes ~/.deals-dev/config.json. Alternatively use environment
variables: DEALS_DEV_API_KEY (and optionally DEALS_DEV_API_URL for
self-hosted instances). Using bash/fish/starship or an agent instead? See
below.
Commands
| Command | What it does |
| --- | --- |
| setup --key dd_live_xxx [--zsh] | save your API key; --zsh wires up your terminal automatically |
| statusline | Claude Code statusLine command — reads stdin, prints the sponsor |
| notify | Codex notify hook — confirms impressions on turn events |
| line [--plain] | print one sponsored line (ANSI-colored or plain) |
| title | set the terminal window/tab title to the sponsor (precmd hook) |
| motd | sponsored message-of-the-day banner for shell startup |
| prompt [--plain] | compact dimmed prompt segment (RPROMPT / PS1 / starship) |
| open | open the current sponsor in your browser — registers the 50× click |
All placements share one impression pipeline: the ad is cached for ~10 seconds (one five-second display block plus rotation), then confirmed and the next sponsor rotates in. No double-billing, no matter how many placements you run.
Claude Code
Add to ~/.claude/settings.json:
{
"statusLine": {
"type": "command",
"command": "npx deals-dev statusline"
}
}Sponsored lines appear in the status line while Claude works. Every ~6 seconds of activity is one confirmed impression credited to your balance.
Codex
Add to ~/.codex/config.toml:
notify = ["npx", "deals-dev", "notify"]Each turn event confirms the outstanding impression and queues the next ad.
Terminal — window title, MOTD, prompt segment
Your whole terminal can earn, not just your agent:
zsh (~/.zshrc)
One command — adds a clearly-marked, removable block to ~/.zshrc:
deals-dev setup --key dd_live_xxx --zshOr add it yourself:
if command -v deals-dev >/dev/null 2>&1; then
autoload -Uz add-zsh-hook
_deals_dev_title() { deals-dev title }
add-zsh-hook precmd _deals_dev_title # sponsor in the window title
setopt PROMPT_SUBST
RPROMPT='%F{8}$(deals-dev prompt --plain)%f' # right-prompt segment
deals-dev motd # sponsored line on every new shell
fibash (~/.bashrc)
PROMPT_COMMAND='deals-dev title'
PS1="$PS1\$(deals-dev prompt) "
deals-dev motdfish (~/.config/fish/config.fish)
function fish_right_prompt
deals-dev prompt
end
function fish_title
deals-dev prompt --plain
end
if status is-interactive
deals-dev motd
endstarship (~/.config/starship.toml)
[custom.deals]
command = "deals-dev prompt --plain"
when = true
style = "dimmed white"tmux, scripts, anything else
deals-dev line # ANSI-colored sponsored line
deals-dev line --plain # plain textHow it works under the hood
GET https://deals.dev/api/v1/adreturns the current top-bidding ad and opens a pending impression. The CLI caches it in~/.deals-dev/for ~6s.- After the display block, the impression is confirmed via
POST /api/v1/events— confirmation is what pays; all amounts are computed server-side. - Offline or no campaigns live? Lines stay quiet, confirmations queue and retry, nothing breaks.
The full HTTP API is documented at deals.dev/docs if you want to build your own integration.
Privacy
The CLI sends exactly three things to deals.dev: your API key (to credit the right account), your OS platform (used only for advertiser OS targeting), and impression confirmations. No code, no prompts, no commands, no file paths — ever. It's one short file with zero dependencies; read it yourself.
Fair-play rules
- Impressions are rate-limited server-side to human-plausible speeds.
- An impression only pays after a full five-second display block is confirmed.
- One click per impression, within 10 minutes of a confirmed view.
- Scripted farming earns nothing and gets the API key revoked.
Uninstall
Remove the snippets from your shell/agent config, then:
npm uninstall -g deals-dev
rm -rf ~/.deals-devLicense
MIT
