npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

darce-cli

v0.19.0

Published

The coding agent you can undo: 250+ models in your terminal, parallel swarms, model racing, and /undo for everything, even shell commands.

Readme

Quick start

npx darce-cli

That's it. No account, no API key, no card: the first run gives you a free trial straight away. Run darce signup when you want a free account with a daily allowance and your history kept. Needs Node.js 22+ on macOS, Linux or Windows.

To install it for good: npm install -g darce-cli, then run darce in any project.

Why people switch to Darce

🔁 Let it run, because everything comes back. Most agents can undo their own file edits. Darce snapshots your project before every step, so /undo also reverses what its shell commands did: a folder rm deleted, a file mv moved, a lockfile an install rewrote. /rewind (or Esc twice) scrubs back to any earlier point. Undo only reverses what Darce did: edits you made in between stay, a commit Darce made is taken back off your branch, and removed files go to .git/darce-trash rather than disappearing.

✋ It only stops you when it matters. Every command is scored before it runs. If /undo can reverse it, it just runs. Deploys, migrations, git push and anything outside your project wait for a yes, with the reason shown. Scripts with harmless names get read first.

🧠 Any top model, one account, no API keys. Claude, GPT, Gemini, Qwen, DeepSeek, Kimi, GLM, Grok and 240 more, filtered to models that can actually drive an agent. Switch mid-task with Shift+↑/↓. You stop at your limit and are never billed extra.

🏁 Race models, split work across agents. /derby runs one task on three models in separate git worktrees so you can keep the best answer. /swarm splits a big task into parallel agents and merges them back in one step, and /undo still works after both.

💡 It explains the bug. When a fix depends on something the code doesn't show (an async ordering trap, a React rule, SQL injection), Darce adds one short WHY note so you catch it next time. Routine edits stay quiet.

See everything it touches

/brain opens a live map of your project in the browser. The file Darce is editing sits in the middle, with what it imports on the left and what depends on it on the right. Every edit lights up its reach, the exact diff shows below, and the activity column lists each step. It runs on your machine only.

Catch the generated look before you ship

/taste renders your app in Chrome and opens a window that pins what reads as templated: purple gradients, gradient headlines, emoji standing in for icons, filler copy like "seamlessly leverage", made-up proof, and the framework's stock palette used as-is. It also reads the page's style system (palette, type scale, radii) and how the code is built (the same class list pasted in eight files, components holding a whole screen of state). Pick Fix or Keep for each item, and Darce does the fixing while the window shows its progress, asks for approvals right there, and ends on a before/after you can drag across. When Darce writes UI itself, it runs the same checks on every edit and cleans up after itself.

/swarm splits a task into threads that run at the same time, each in its own worktree, then merges them:

How it compares

| | Darce | Claude Code | Codex CLI | OpenCode | Aider | |---|---|---|---|---|---| | Open source | ✅ MIT | ❌ | ✅ Apache 2.0 | ✅ MIT | ✅ Apache 2.0 | | Models | 250+, one account | Claude only | OpenAI by default | Many, your own keys | Many, your own keys | | Bring your own API keys | Not needed | Not needed (Claude plan) | Not needed (ChatGPT plan) | Your keys or a subscription | Yes | | Undo includes shell command changes | ✅ | ❌ (docs) | ❌ no /undo | ✅ | ❌ | | Asks only when it can't undo | ✅ | Permission rules | Approval modes and sandbox | Permission rules | Confirms shell commands | | Race models on one task | ✅ /derby | ❌ | ❌ | ❌ | ❌ | | Parallel agents in worktrees | ✅ /swarm | Subagents | /worktree | Multiple sessions | ❌ | | Try it free, no account or key | ✅ | ❌ | ❌ | Free tool, needs a provider | Free tool, needs a provider |

Checked October 2026. The full, sourced comparison of 12 agents is at darce.dev/best-cli-coding-agents. Spotted something out of date? Open an issue.

More it can do

  • Threads. Hands research to sub-agents with their own context, several at once. /threads shows what each did.
  • Voice. /voice on and Darce speaks up during long tasks: "Before I push this, can I run the migration? It can't be undone." Quick tasks stay quiet.
  • Images. Generates icons, illustrations and hero images into your project, with transparent backgrounds on request.
  • Second opinion. /critic on has a model from another vendor review every edit. /security reviews the project or your uncommitted changes.
  • Skills and memory. Drop a SKILL.md in .darce/skills/ to teach it your team's way of working. It reads your existing Claude Code skills too, and remembers your preferences.
  • Screenshots. Paste one with Ctrl+V and Darce can see it.
  • Resume anywhere. /resume picks up any past conversation.
  • Scripts and CI. darce -p "task" prints the result and exits.

Pricing

| | Free | Builder | Power | |---|---|---|---| | Price | $0 | $15/month | $65/month | | Usage | Daily allowance, resets every 24 hours | About 7× Free, resets weekly | About 4× Builder, resets weekly | | Models | Fast, low-cost models (Haiku, Qwen, DeepSeek, Gemini Flash…) | Adds Claude Sonnet and Opus, GPT, Gemini Pro | Every model |

Usage is measured by what the work actually costs, so fast models go much further. Every plan gets every feature, there are no surprise bills, and you can cancel any time. Upgrade with /upgrade or at darce.dev/pricing.

Use your own OpenRouter key

Darce also runs on your own OpenRouter key, with no Darce account. Requests go straight to OpenRouter and are billed to your OpenRouter account. Add this to ~/.darcerc:

{
  "apiKey": "sk-or-v1-…",
  "apiBase": "https://openrouter.ai/api"
}

Or set DARCE_API_KEY and DARCE_API_BASE=https://openrouter.ai/api for one run. Everything in the terminal works the same, including /undo, /derby, /swarm, /taste and /brain. Image generation, voice and the second look at scripts run on Darce's server, so they need a Darce account.

Coming soon: Darce for Mac

The same agent and the same undo, in a Mac app with your files and an editor beside it, plus three gears for how much Darce teaches you as it works: Ship, Understand and Learn. Get one email when it ships.

Reference

| Command | What it does | |---------|-------------| | /undo | Undo the last change, including what shell commands did (/u) | | /rewind | Scrub through every change and rewind files and conversation (also Esc twice) | | /diff | Every file Darce changed this session | | /swarm <task> | Split a task into parallel agents, each in its own worktree, then merge | | /derby [--models a,b,c] <task> | Race models on a task and apply the best result | | /threads [n] | This session's threads, or one thread's steps and report | | /model [search] | Pick or search models (Ctrl+P) | | /mode auto\|ask\|plan\|full | Approval mode (Shift+Tab cycles) | | /resume | Continue a past conversation | | /why on\|off | WHY notes (on by default) | | /brain | Live map of your codebase while Darce works (opens in your browser) | | /taste [url] | See what makes your UI look generated and choose what Darce fixes (opens a window). /taste list prints it, /taste off stops checks on edits | | /voice on\|off | Darce talks you through long tasks (voices: erik, joe, zara, callum, charlotte) | | /critic on\|off [model] | Second-opinion review of every edit | | /security [changes] | Security review of the project or your uncommitted changes | | /memory [forget <text>] | What Darce remembers about you and this project | | /skills | Available skills | | /suggest on\|off | Predict your next prompt (Tab accepts) | | /compact, /clear, /cost | Shrink context, start over, session costs | | /debug | Timing of requests, tools and waits in this session | | /login, /account, /logout | Sign in, plan and usage, switch accounts | | /community | Join the Discord |

Keys: Esc stops Darce without quitting, Shift+Enter adds a line, Up/Down walks history, Ctrl+R searches it, Ctrl+O shows a step's full output.

| Mode | Read-only steps | Edits and builds in the project | Network, installs, unknown commands | Destructive (rm -rf, sudo, force-push…) | |---|---|---|---|---| | auto (default) | run | run | ask | ask | | ask | run | ask | ask | ask | | plan | run | blocked | blocked | blocked | | full | run | run | run | run |

  • Commands Darce runs don't see environment variables that look like credentials (*_KEY, *_TOKEN, *_SECRET, DATABASE_URL…). Allow one with "passEnv": ["GH_TOKEN"] in ~/.darcerc.
  • Known secret formats are redacted from tool output before anything reaches a model.
  • Scripts the rules would run unasked (npm run x, node scripts/x.js, make y) get a second look first: Darce reads the real package.json script, and asks a fast classifier (TypeSafe Jev, via api.darce.dev) whether running it changes anything outside your machine, given the command, the script line and the start of the file it runs. It can only make Darce more careful. Turn it off with "riskCheck": false.
  • A repository's own .darcerc, instruction files and skills can't change your approval mode, endpoints or keys, and your own skills take precedence over a repository's.
  • Your key, history and sessions are stored readable only by you.

The picker (/model) opens with your recent models, then OpenRouter's live most-popular ranking. It lists models that can drive a coding agent: tool calling, a 64k+ context, current generation. Any other model still works by name:

/model sonnet-5.5        # switch by name
/model kimi              # search; switches if there's one match
darce --model openai/gpt-5.6-sol

Everything is optional; darce sets up ~/.darcerc on first run.

{
  "mode": "auto",
  "router": { "default": "anthropic/claude-haiku-5.5" },
  "gears": ["qwen/qwen3-coder-next", "qwen/qwen3-coder", "deepseek/deepseek-v4-pro", "anthropic/claude-sonnet-5.5"],
  "derbyModels": ["anthropic/claude-sonnet-5.5", "openai/gpt-5.6-sol", "google/gemini-3.1-pro-preview"],
  "critic": false,
  "why": true,
  "passEnv": ["GH_TOKEN"]
}

A skill is a folder with a SKILL.md:

---
name: deploy
description: How this team deploys the API. Use when asked to ship or release.
---
1. Run `make test`.
2. ...

Darce looks in ~/.darce/skills/ and ~/.claude/skills/ first, then the project's .darce/skills/ and .claude/skills/, and installed Claude Code plugins.

Community

Darce is built in public by one developer, Amer Sarhan, and it's in early beta. Questions, ideas, bugs, or something you built with it: join the Discord or type /community inside Darce. CHANGELOG.md has what's new.

If Darce saved you from a bad rm -rf, a ⭐ helps other people find it.

Contributing

git clone https://github.com/AmerSarhan/darce-cli.git
cd darce-cli
npm install
npm run dev     # run from source
npm test        # the test suite
npm run build

Issues and pull requests are welcome. Good first issues are labelled good first issue.

Star History Chart

Star History Chart