$
by thinkingdbx
vibeCodeCLI · an agentic data-engineering & coding CLI by ThinkingDBx
free · bring your own key · macOS & Linux · your terminal

The agentic data‑engineering
and coding CLI.

Point it at your warehouse and your codebase alike. It grounds in your real schema and dbt lineage before writing a line, races N parallel agents on every task, and an outcome-aware gate rejects the dangerous actions · even in full-auto. Your credentials never leave your machine.

01parallel fleet02persistent memory03outcome-aware safetythree foundations · data & code, one agent.

The CLI is free. No subscription, no seat fees, no markup. Bring your own key and pay your model provider directly, at cost · your code never leaves your machine.

vibeCodeCLI · data engineering◉ demo
what breaks if I rename customer_id in raw.customers?
● dbt_impact · reading lineage (nothing runs)…
4 downstream break · stg_customers, dim_customers, fct_orders + 1 test · all reference customer_id
 
build region_revenue from orders ⨝ customers, per region
● run_transform · pushed down to the warehouse (CTAS) · the warehouse does the join, no rows pulled
⟂ predicted: seq scan ~$0.40 · writes 1 table · allow? [y]
✓ region_revenue · EU 250 / US 650 · executed on the runner · creds never left your machine
»Grounded, cost-previewed, credential-local. Simulated for the page · the live CLI renders this in your terminal.
§ 00 · THE BIG PICTURE

Your whole stack in. Shipped work out.

One binary sits between your stack and the work you ship. Every task is grounded in the real schema and repo, raced by parallel agents, gated by an outcome check, and verified before it may call itself done.

$_vibeCodeCLI · one binary in your terminal · bring your own key
your codebase

repo · branches · tests · git is the undo

your warehouses

Postgres · Snowflake · BigQuery · Databricks +11 more

your pipeline tools

dbt · Airflow · Bonacci Studio · any MCP server

your stack
the agent · grounded & governed
01 · GROUNDknows before it writes

real schema · dbt lineage · recalled memory · no hallucinated columns

02 · GENERATEN agents race

code & SQL in isolated git worktrees · any model, your key

03 · GATEoutcome check

predicts consequences · proceed / defer / reject · cost preview on writes

04 · VERIFYclosed loop

build · tests · dbt run · can't declare "done" on broken work

failures feed back in · it loops until it's actually done
reviewable branches

a synthesis pass names the winner · land merges it

pipelines & models

cost-previewed writes, executed credential-local

sharper memory

outcomes remembered · recall improves every run

what ships
free CLI · pay your provider at cost credentials never leave your machine everything lands as a git branch
§ 01 · DATA ENGINEERING

An agent that knows your warehouse.

It introspects the real schema and reads your dbt lineage before touching anything, runs SQL across 15 connectors, and keeps your credentials on your machine.

Grounded
No hallucinated columns.

Exact columns/types + dbt catalog & lineage injected before generating · it answers "what breaks if I rename customer_id?" before touching anything.

Governed
Writes you can trust.

SQL across Postgres, Snowflake, BigQuery, Redshift, Databricks & more · opt-in per connection, cost-previewed by EXPLAIN, gated by the forward check.

Credential-local
Your password never leaves.

A runner embedded in the CLI executes against your warehouse locally; the cloud orchestrates the work but holds zero credentials.

Connects to · 15 warehouses, lakes & stores
PostgreSQLMySQLSQL Server SnowflakeBigQueryDatabricks RedshiftClickHouseDuckDB SQLiteMongoDBRedis Apache Icebergwrite soon S3SFTP
dbt-nativeReads manifest.json for grounding & blast-radius; runs dbt build/run/test to materialize models.
cross-warehouse migrationPort a table Redshift → Snowflake; compare_tables verifies rows & schema · a parity check it can't fake.
orchestrators via MCP/connect airflow brings Apache Airflow in as tools · list / trigger / inspect DAG runs.
the full data-engineering reference → docs
§ 02 · PARALLEL FLEET

Stop gambling on one agent.

Agents are non-deterministic · run the same prompt twice, get two different results. Betting a task on one run is a coin flip. So don't: N agents race the same task in isolated git worktrees, a synthesis pass names the winner, you merge it.

workflow.diffsingle-agent → vibeCodeCLI
@@ how you ship a change @@
-you approve every step · you cannot walk away
-one attempt; a bad path means starting over
-edits hit your working tree directly · manual cleanup
-one vendor's model, usually a monthly subscription
+launch a fleet and walk away; review diffs when it's done
+N parallel attempts compete; a synthesis pass names the winner
+every run is an isolated branch · nothing stomps your tree
+any model, your key · no subscription, no markup
4 deletions, 4 insertions · the entire pitch in eight lines.
vibecodecli run --agents 4◉ demo
$ vibecodecli run --agents 4 "make the json parser 2× faster"
fanning out 4 agents on isolated worktrees…
 
◐ agent-1 · opus ▓▓▓▓▓▓░░ +142 −31
◐ agent-2 · sonnet ▓▓▓▓░░░░ +98 −12
● agent-3 · sonnet ▓▓▓▓▓▓▓▓ +121 −20
◐ agent-4 · haiku ▓▓▓░░░░░ +64 −9
 
★ recommend agent-3 · 2.3× faster, all tests pass, cleanest diff
$ vibecodecli land vibecodecli/agent-3
01FAN-OUT
run --agents 4 "…" launches four agents on one prompt · each in a physically separate git worktree, never colliding. Each agent can run a different model: --mix auto-distributes your providers (a bake-off), --models assigns them explicitly, or the /fleet wizard picks per agent.
02WORK
Each agent plans, edits, and runs your build/tests in a loop. A verification gate runs in code · an agent can't declare "done" on something that doesn't compile or pass. A live dashboard shows every agent · focus a pane, view its diff, cancel or rerun it mid-flight.
03FAN-IN
A synthesis pass reviews every branch, picks the strongest candidate, and names the runner-up's weakness · the ★ recommendation lands as a banner right in the dashboard. The raw branches stay · override the pick any time.
04LAND
Press l in the dashboard (or land vibecodecli/… from the shell) and the winner's commits merge into your branch. Git is your undo.
§ 03 · MEMORY

It stops forgetting.

Every other agent starts each session blank. With the ThinkingMemory backbone, vibeCodeCLI auto-recalls relevant past facts, decisions, and outcomes · a code decision or a data incident alike · into every turn, and auto-remembers what happened. The more it runs, the sharper it gets.

vibeCodeCLI · memory◉ demo
add rate-limiting to the api client
↑ recall · 3 cited facts · ranked, token-budget-packed
▸ "client is built on tokio; prefer tower middleware" · decision · 6d ago
▸ "a naive sleep() loop regressed throughput once" · outcome · 12d ago
edit src/client.rs → uses tower::limit, not a sleep loop
✓ verify · cargo test → 28 passed
↓ remember · turn outcome saved → recall sharpens next session
per-repo & citedRanked, token-budget-packed slices of real history · scoped to the project, every fact cited.
grounds safetyThe outcome check is grounded by what similar actions actually did · not a guess from surface form.
yours to hostCloud by default, or point base_url at localhost to self-host. Unconfigured? A silent no-op.
free tier · get a memory key → memory.thinkingdbx.com
§ 04 · SAFETY

Why you can actually walk away.

An LLM predicts tokens, not consequences. Before any irreversible action, a forward check predicts the outcome and decides · proceed, defer, or reject · even in full-auto.

vibeCodeCLI · outcome check◉ demo
clean up the build artifacts
● agent proposes run rm -rf / (typo · meant ./tmp)
⚠ outcome check [judge · low effort] · simulating…
predicted: recursively deletes the entire filesystem · irreversible · out of repo scope
✗ REJECTED · not run, even in full-auto. Agent told to narrow the path.
run rm -rf ./tmp → scoped, reversible-in-git ✓ allowed
/undoEvery turn snapshots the files it touches · revert the last turn in one keystroke.
autonomy dialcareful · auto · full-auto · risky calls prompt with what they predict, not just the command.
one gate, all of itDROP TABLE, terraform destroy, kubectl delete, mutating MCP tools · same forward check.
§ 05 · YOUR KEYS

Your keys. Your models. No subscription.

Pay your provider directly. No middleman, no per-seat fee, no markup on tokens.
Cost-tier by role. Orchestrate on a frontier model, run the parallel workers on something cheap · a config line, not a router.
Your code stays local. It talks to your provider and your machine. Nothing routes through us.
Secrets stay put. Keys in a 0600 file · cloud-memory writes are redacted first · a cloned repo's config can't run code until you trust it.
23 providers built in · plus keyless local & self-hosted servers:
anthropic · openai · gemini · grok · mistral · deepseek · kimi · glm · qwen · cohere · perplexity · groq · cerebras · together · fireworks · openrouter · ollama · vLLM · llama.cpp · …
# vibecodecli.toml · cost-tier by role [roles.orchestrator] model = "claude-opus-4-8" [roles.worker] model = "gpt-oss-120b" # cheap, fast

Straight talk on local models. Self-hosted Ollama works end-to-end, but small models have a real quality ceiling · pick a proper tool-calling model (qwen3, llama3.3; ~14B is the floor). For serious work, point it at a frontier model via BYOK. Details in the docs →

§ 06 · AND THE REST

A REPL, MCP, hooks · wired into how you work.

Run it bare for a persistent session · pinned input, status bar, inline diffs, 30+ slash-commands. Under the hood: repo map on start, MCP servers, pre/post_tool_use hooks, an explore subagent, a thrash guard, decorrelated review, prompt caching.

/plan · propose, no changes /fleet N · fan out agents /model · live provider list /mode · careful → full-auto /connect · warehouse · dbt · airflow /undo · revert last turn /memory · long-term recall /verify · build gate
all commands & power features → docs
»One stack, three services · vibeCodeCLI drives all of them from your terminal.
§ 07 · SETUP

From zero to a fleet in two minutes.

One line to install, one menu to add a key, one command to ship. No build step, no Rust toolchain · a single static binary for macOS & Linux.

1
Install
Paste the one-liner. It drops a single static binary on your PATH.
$ curl -fsSL vibecodecli.com/install.sh | sh
↓ downloading vibecodecli…
✓ checksum verified
✓ installed → ~/.local/bin
2
Get your keys
First run asks for a provider (BYOK · 23 built in). Add a free ThinkingMemory key and it stops forgetting.
$ vibecodecli
pick a provider · paste your key
✓ saved anthropic / opus-4.8
+ THINKINGMEMORY_API_KEY → recall on
3
Start building
Drive one agent, or fan out a fleet and walk away · review the winning diff when it's done.
$ vibecodecli run --agents 4 "fix the flaky test"
◐ 4 agents racing on isolated worktrees…
★ recommend agent-3 · all tests pass
$ vibecodecli land agent-3

“spun it up over the weekend and the parallel worktrees thing actually held up on a messy refactor, memory carried across sessions which was a nice surprise”

Metehan · on Product Hunt

Try it on a real task.

$curl -fsSL vibecodecli.com/install.sh | shcopy
or with npm
$npm install -g vibecodeclicopy
macOS & Linux · the direct installer needs no Node; npm i -g or npx vibecodecli work too

Built in Rust by ThinkingDBx. Questions or feedback? [email protected]