CLI reference

CLI reference

Every command supports --help for inline usage. Global flags (--config, --json, --quiet) work on all commands.

Global flags

FlagDefaultDescription
--config <path>./adduck.jsonPath to config file. Overrides active project.
--jsonfalseOutput as JSON instead of formatted table. Useful for piping to jq or other tools.
--quietfalseSuppress progress spinners and status lines. Only output data.
--no-colorfalseDisable ANSI color output. Also respected via NO_COLOR env var.

Setup

adduck init

Creates a new adduck.json in the current directory and registers the project.

adduck init [--name <name>] [--dir <path>]
FlagDefaultDescription
--name <name>promptedProject name.
--dir <path>cwdDirectory to create the config file in.

adduck projects

Manage the list of known projects.

adduck projects list
adduck projects use <name>
adduck projects remove <name>

adduck auth

Connect and manage platform credentials.

adduck auth login <platform>
adduck auth list
adduck auth remove <platform>

Valid platform values: apple, reddit, meta, applovin, unity, ironsource

Reporting

adduck spend

Pull spend, impressions, taps, installs, and CPI from all connected platforms for a date range.

adduck spend [--days <n>] [--platform <name>] [--sort <field>] [--start <date>] [--end <date>]
FlagDefaultDescription
--days <n>7Number of trailing days. Mutually exclusive with --start/--end.
--platform <name>allLimit to a single platform.
--sort <field>cpiSort column. Options: spend, installs, cpi, taps, impressions.
--start <date>Start date in YYYY-MM-DD format.
--end <date>todayEnd date in YYYY-MM-DD format.
--jsonfalseOutput as JSON array with micros values.

adduck campaigns

List all campaigns across connected platforms with their current status and daily budgets.

adduck campaigns [--platform <name>] [--status <active|paused|all>]
FlagDefaultDescription
--platform <name>allLimit to one platform.
--status <value>allFilter by campaign status.

adduck funnel

Shows a conversion funnel: impressions, taps, installs, and tap-through rate for each campaign.

adduck funnel [--days <n>] [--platform <name>]

adduck inspect

Detailed view of a single campaign including daily spend breakdown and metadata.

adduck inspect <platform> <campaign-id> [--days <n>]

Example:

adduck inspect apple 1234567890 --days 14

Campaign control

adduck pause

Pause one or more campaigns. Checked against guardrails before executing.

adduck pause <platform> <campaign-id> [campaign-id...]
adduck pause <platform> --all
FlagDefaultDescription
--allfalsePause all active campaigns on the platform. Requires confirmation.
--dry-runfalseShow what would happen without making any API calls.

adduck resume

Resume one or more paused campaigns.

adduck resume <platform> <campaign-id> [campaign-id...]

adduck budget

Set the daily budget for a campaign. The new value is checked against maxBudgetChangePct and maxDailyBudgetMicros guardrails.

adduck budget <platform> <campaign-id> <amount>

amount is in whole dollars: adduck budget apple 1234567890 150 sets the daily budget to $150.

FlagDefaultDescription
--dry-runfalseShow the new value and guardrail check without setting it.

adduck create campaign

Interactive wizard to create a new campaign on a connected platform.

adduck create campaign --platform <name>

The wizard asks for campaign name, daily budget, targeting, and creative assets depending on the platform. Some platforms require assets to already exist in their dashboard before a campaign can be created via API.

Interactive dashboard

adduck tui

Opens a full-screen terminal UI. Keyboard shortcuts:

adduck tui [--platform <name>] [--days <n>]
KeyAction
j / kMove up/down through campaigns
EnterExpand campaign detail with spend chart
pPause selected campaign
rResume selected campaign
bSet daily budget for selected campaign
TabSwitch between platforms
1-7Switch date range (1=today, 7=7 days, 14=14 days...)
sChange sort column
q / EscQuit

Safety and audit

adduck guardrails

Show current guardrail settings for the active project.

adduck guardrails

See the Guardrails docs for how to configure them.

adduck audit

Check all campaigns against guardrail limits and print a pass/fail report.

adduck audit [--platform <name>]

Schedules

adduck schedule

Manage scheduled actions. See the Schedules docs for full details.

adduck schedule list
adduck schedule add [flags]
adduck schedule remove <id>
adduck schedule run
adduck schedule rotate <id>

MCP and agents

adduck mcp

Start the MCP server. Use this in your Claude Desktop config or another MCP client.

adduck mcp [--config <path>]

The server runs on stdio (standard input/output) as the MCP protocol requires. Don't run it directly in a terminal -- let your MCP client start it.

adduck agents

adduck agents list
adduck agents install [--client <name>]