Echo/Docs

Bounded reads and one shared setup action

echo-cli provides bounded operational queries plus existing-profile adoption through Echo Web. It never implements a second product writer.

Human command surface#

echo-cli exposes twenty-two public commands. Each command has its own reference page in the CLI tree. The echo-mcp method names are a separate machine surface and are not CLI commands. --text, anywhere on the line, prints any command's answer as indented key: value lines instead of JSON, from the same data.

Every operational query is an explicit SELECT over a named column list. seed-profile is different by design: it sends the Weles account UUID and product fields to Echo Web's authenticated setup operation. Sensitive account, contact, campaign-message, prompt, and event-identity fields are never returned.

Shell
echo-cli capabilities [--parity]
echo-cli seed-profile --account <uuid> --name <product> [--description <text>] [--niche <text>] [--platforms <comma-list>]
echo-cli analytics <days>
echo-cli chat-latency <days>
echo-cli experiments
echo-cli onboarding [--reset] [seed flags]
echo-cli onboarding-report
echo-cli blogs
echo-cli generations
echo-cli assets
echo-cli products
echo-cli product <id>
echo-cli personas [product_id]
echo-cli characters
echo-cli social-accounts
echo-cli outreach
echo-cli paid-ads
echo-cli market
echo-cli geo prompts|runs|llms|facts|referrals|corrections|sources|competitors|share|experiments|crawlers|extraction <verb> …
echo-cli tracking schemas|quality|metrics|reports|content|identity|cohorts|events|utm <verb> …
echo-cli reliability <days>
echo-cli operations <days>

Configuration#

Read commands use the Supabase bindings below. seed-profile, and every geo and tracking verb, use ECHO_WEB_BASE_URL and ECHO_INTERNAL_BEARER instead; the bearer value is the target Echo Web deployment's CRON_SECRET and stays in the Authorization header. Onboarding needs the Echo Web bindings only when seed flags are supplied.

The Echo Web deployment itself declares, with no defaults, the settings these operations read; an operation whose setting is missing or malformed refuses naming it. ECHO_GEO_ASSISTANT_ROUTES lists the canonical provider/model routes a GEO run asks (comma separated); ECHO_GEO_JUDGE_ROUTE is the route that judges accuracy, tone and whether a post answers a prompt; ECHO_GEO_REPLY_ROUTE drafts replies to cited threads; ECHO_REPORT_ROUTE writes report commentary; ECHO_CASE_STUDY_ROUTE drafts a customer's case study from their usage; ECHO_AI_REFERRER_HOSTS_JSON maps referrer hosts to AI assistant names; ECHO_RESEARCH_VIEWPORT is the <width>x<height> window Weles renders researched pages in, read by competitor research and geo sources check and threads; ECHO_COMPETITOR_ANALYSIS_LIMITS_JSON states how much one competitor analysis reads and keeps, a JSON object of positive whole numbers — maxQueries, maxSearchTextBytes, maxPages, maxTextBytesPerSurface, maxScreenshotsPerCatalog, maxImageBytes and maxFindingsPerArea. Competitor analysis readiness (GET /api/competitors/analyze) lists every one of its settings that is missing or malformed — the viewport and each bound among them — and answers 503 naming the cause when the bounds are not JSON; an analysis is refused naming them until every one is declared.

dotenv
NEXT_PUBLIC_SUPABASE_URL=
SUPABASE_SERVICE_ROLE_KEY=
ECHO_WEB_BASE_URL=https://echo.example.com
ECHO_INTERNAL_BEARER=

Output and state#

Successful reads and accepted adoption results serialize as indented JSON on stdout and exit 0; with --text the same document is printed as indented key: value lines. A refused adoption reports conflicting or rejected fields and exits 1. A usage error — an unknown command, seed-profile without its flags, a missing id, a missing days, or a days value that is not a positive whole number — prints what was wrong and exits 2. The commands that write — seed-profile, onboarding with seed flags, product edit and remove, geo prompts add, edit, retire and restore, geo runs start, check and tone, geo facts publish, geo competitors add and remove, geo sources check and threads, geo experiments add, geo crawlers allow, disallow and remove, geo extraction check and apply, tracking schemas declare and remove, tracking metrics define and remove, tracking reports write, tracking events report, and tracking utm add and remove — each call Echo Web's authenticated operation and never write the database themselves. They never message, advertise or synchronize a platform profile; geo sources threads only queues reply suggestions that post after a reviewer approves them, and geo extraction apply changes a blog post only by appending the block a check proposed, as a new revision. geo runs start, check and tone, geo sources threads, geo extraction check and tracking reports write ask AI models through Brama, which bills each answer to the deployment; geo sources check and threads read public pages through Weles; no other command calls a paid provider.