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

@coduckai/cli

v0.2.2

Published

CoDuck command-line interface — hosting, generation, domains, DB, email, Stripe, and everything else, for humans and agents.

Readme

@coduckai/cli

The CoDuck command-line interface — hosting, generation, custom domains, database, email, Stripe, storage, and everything else, for humans and agents.

npm install -g @coduckai/cli
coduck login
coduck --help

Design

  • One binary, two modes. TTY → human (colors, tables, prompts); piped or --json → machine (NDJSON, no prompts, real exit codes). Auto-detected.
  • Total API coverage. Every CoDuck API route has a command — no "use the web app for that" gaps.
  • Agent-friendly. Every prompt has a flag; --no-input fails instead of hanging. stdout = data, stderr = chatter.
  • Exit codes: 0 ok · 1 generic · 2 usage · 3 auth · 4 not found · 5 conflict · 6 network · 7 server.

For coding agents

If you are already a coding agent, you are the default coder. Inspect, edit, and test the project yourself, then use this CLI for CoDuck project setup, sync, private previews, infrastructure, and deployment.

Do not hand ordinary implementation to coduck chat, coduck ask, or coduck generate just because those commands are available. They invoke a separate CoDuck project agent. Reserve them for an explicit user request or a deliberate special case, such as asking for an independent alternative or working with a project you cannot edit directly.

Common commands

coduck create --name my-app --prompt "build a booking site"  # create + queue generation
coduck create-existing --name my-app   # import an existing project
coduck push                            # upload local files (chunked; honors .coduckignore + .gitignore)
coduck deploy                          # publish live (or update your draft — see below)
coduck changes                         # preview what a publish will change (files + DB schema)
coduck draft update                    # build & run your private draft — Plus/Studio
coduck draft promote                   # publish your draft to your live site
coduck logs --follow --since 30m --grep error
coduck env set KEY value
coduck domains add example.com

coduck create prints the new projectId and generation jobId. Use that project ID with follow-up commands, for example coduck deploy --project <projectId>. If generation cannot be queued after the project is created, the error keeps the project ID and gives a retry command.

Run coduck spec --json for the full, machine-readable command list.

Draft → publish (Plus/Studio)

A draft is a private dev environment (its own database) where you try changes before they go live. coduck deploy is environment-aware:

  • Once you coduck draft create, coduck deploy updates your draft by default (your live site is untouched) — preview it, then coduck draft promote to publish.
  • No draft ⇒ coduck deploy publishes live, as always.
  • Override per-run with --live / --draft, or per-project with "defaultEnv": "draft" | "live" in coduck.json.

coduck changes shows the per-file +/− diff and the database schema additions/removals a publish would apply — before you run it.

Deploy config (coduck.json)

coduck.json is the only file CoDuck reads (other *.toml/*.config files in your repo are unrelated to CoDuck). It's written by create-existing and holds your project's deploy config:

{
  "projectId": "…",
  "dir": "./",            // source root to push/deploy
  "runtime": "node20",
  "install": "npm ci",    // optional — defaults to npm install
  "build": "npm run build",
  "preStart": "npm run migrate",  // optional — runs before start (good for DB migrations)
  "start": "npm start",
  "port": 3000,
  "instanceSize": "small", // small | medium | large (paid plans unlock medium/large)
  "defaultEnv": "live"     // optional — 'draft' or 'live' target for `coduck deploy`
}

push uploads from dir; deploy builds and runs the container using these commands.

Environment variables

coduck env import .env     # bulk import; reserved/invalid keys are skipped (not fatal)
coduck env reserved        # list keys CoDuck manages (rejected on write)

CoDuck injects its own keys (DATABASE_URL, PORT, NODE_ENV, CODUCK_*, …) at deploy time — see coduck env reserved. The managed Postgres starts empty: reach it at DATABASE_URL/DIRECT_URL and bootstrap your schema in your build or preStart command (the platform doesn't expose a raw DB connection URL).

Release

Versioned with git tags. Pushing a v* tag publishes to npm via GitHub Actions (requires the NPM_TOKEN repo secret). coduck --version reads package.json at runtime, so bumping package.json is the single source of truth — no constant to keep in sync.

License

MIT © CoDuckAI

App AI

coduck ai ask "question" --project ID calls the published project's AI and prints its separate credit usage. Add --thinking, --image image.png, or --stream; --json --stream produces NDJSON events. Use --input request.json for full messages/tool definitions and --request-id ID for an exact retry. The CLI returns tool calls without executing them.

coduck ai usage, coduck ai requests, coduck ai capabilities, and coduck ai settings --alert-at 80 all accept --project ID. The SDK, Cloud panel, and agent use the same ledger. Monthly allowances are configured per paid plan (Studio defaults to 25,000); coduck ai usage reports the current allowance; first Cloud publication is required. AI failures do not stop the rest of an app.

Automated callers may supply secret CODUCK_TOKEN and explicit CODUCK_API_URL environment variables without overwriting a saved login. AI prompt arguments are omitted from local command history. Version 0.2.0 requires the companion app-AI API release.

App AI is released gradually by billing account. coduck ai usage includes rollout.status (enabled, not_in_rollout, paused, or unavailable). Requests from accounts outside the rollout or during a pause fail before consuming credits, including streaming requests. Publication and a paid plan alone do not grant rollout access. Administrators use CoDuck Admin → Settings → App AI rollout to add/remove billing-owner emails and set a percentage and monthly allowance independently for Pro, Plus and Studio. Manual accounts bypass percentages, but still require an active paid plan with credits. Changes apply to new requests, preserve spent usage, and a pause blocks all cohorts.