dhrive is also a workbench for the AI CLIs you already use: plan with one model, build with another, or split one task across all of them.
Reading, planning, editing and second-guessing in one stream, in one context that keeps filling up.
Add rate limiting to the public API
rateLimit() to middleware.ts, keyed by API token.routes.ts, and leave webhooks out.Retry-After when a token runs over.npm test and a burst of 200 requests.18,420 tokens · read-only
Starts when the plan is done.
Reading src/server/routes.ts Planning: wrap every public route Editing middleware.ts Reading 12 more files The plan missed the webhooks route, replanning Editing routes.ts Reverting middleware.ts Reading src/server/auth.ts again Planning: key limits by API token Editing middleware.ts Running npm test 3 failed, rethinking the approach Reading src/server/routes.ts Planning: wrap every public route Editing middleware.ts Reading 12 more files The plan missed the webhooks route, replanning Editing routes.ts
Illustrative run
Pick a planner and a coder from every CLI you have. dhrive lists all of their models, including the ones released after you install it.
What should change in storefront?
Opus plans. Sonnet writes the code.
Write the task once. The maestro splits it into subtasks, each for the CLI and model you pick. You approve, each one runs in a pane and a copy of its own, and the work comes back together on one branch.
> Add light and dark color tokens in src/theme.ts
Write src/theme.ts
✻ Checking the contrast of every token…
> Add a theme toggle to the header
• Edited src/components/Header.tsx
• Ran npm test — 52 passed
Done. The toggle sits next to the account menu.
> Write tests for saving and reading the theme
Searching the project
Editing tests/theme.test.ts
> Remember the choice across visits
Update src/theme/store.ts
Allow Bash(npm test)? Yes · Always · No
Everything around the plan and the code sits in the app, so you stop switching windows.
Approve the plan, edit it first, or let the code start on its own.
⌘K searches every conversation, plan and reply, across all your projects.
Each session shows how full it is. Compact it before it compacts itself.
Hover Claude Code or Codex to see each window and when it resets.
Claude asks before running what it isn’t allowed to: allow once, always here, or deny.
An AGENTS.md of your own that every agent follows, plus rules for a single conversation.
MCP servers, skills and plugins, with what’s connected and what needs a sign-in.
Only that step’s files, on a new branch, and the pull request one click later.
dhrive runs Claude Code, Codex and Antigravity with their own sign-in, and local models through Ollama. Your plans and limits stay as they are.
Each project picks up its planner’s and coder’s sessions where they left off. Projects never mix.
Every file it reads and every command it runs shows up live, and any step can be stopped.
dhrive checks memory and disk before a download, then installs an open-weight model through Ollama in one click.