Skip to content

Repository files navigation

quikrun

The QuikRun CLI. Scaffold, run, and deploy QuikRun snippets straight from your terminal.

QuikRun runs single-file snippets at the edge, each on its own URL (quik.run/r/<slug>). The CLI is a thin client over the QuikRun REST API.

Install

Run it on demand with npx, or install globally so you can drop the prefix:

npm install -g quikrun      # then just: quikrun <command>
# or, no install:
npx quikrun <command>

Requires Node.js 20 or newer.

Heads up: if you use npx, prefix every command with npx — npx runs the CLI without adding quikrun to your PATH, so a bare quikrun ... will be "command not found". Install globally to type quikrun directly.

Sign in

quikrun login

This opens your browser, you click Authorize, and the CLI receives a token automatically. No copy-paste, no dashboard trip. The token is saved to ~/.quikrun/config.json (directory 0700, file 0600).

Headless or CI? Mint a token in the quik.run dashboard → Tokens and pass it, or set it in the environment:

quikrun login quik_xxxxxxxxxxxx
# or
export QUIKRUN_TOKEN=quik_xxxxxxxxxxxx   # always takes precedence

Quick start

quikrun login              # browser sign-in
quikrun new my-webhook     # scaffold + register a snippet
cd my-webhook
# edit snippet.js
quikrun run                # test it against the sandbox
quikrun deploy             # ship it live at quik.run/r/<slug>

Configuration

Env var Default Purpose
QUIKRUN_API_URL https://api.quik.run API base URL (staging / local).
QUIKRUN_WEB_URL https://quik.run Web app base (browser sign-in).
QUIKRUN_TOKEN Auth token, overrides the file.

Each scaffolded project holds a quikrun.json, read by deploy, pull, and run:

{
  "slug": "my-webhook-a1b2",
  "language": "javascript",
  "runtime": "node:20",
  "visibility": "private",
  "file": "snippet.js"
}

Commands

quikrun login [token]

Sign in. With no argument it opens the browser and captures a token automatically. Pass a quik_… token to sign in headless.

quikrun new [name]

Scaffold a new snippet. Prompts for name, language, and visibility unless provided.

quikrun new
quikrun new my-webhook --language typescript
quikrun new my-webhook --yes      # non-interactive defaults

Creates ./<name>/ with the source file, quikrun.json, and a README.md.

quikrun run [--body <json>] [--method <m>]

Execute the local source with a test payload; prints the status, output, and logs.

quikrun run
quikrun run --method POST --body '{"name":"ada"}'

quikrun deploy

Save the local source to a new version and deploy it live.

quikrun pull

Overwrite the local source file with the currently deployed code.

quikrun list

List every snippet in your team.

quikrun logs

Show recent run and deploy events for your team.

quikrun mcp install [client]

Connect the QuikRun MCP server (https://mcp.quik.run) to your AI client so an agent can create, run, and deploy snippets for you. Uses your logged-in token automatically, so there's nothing to paste.

quikrun mcp install            # interactive picker
quikrun mcp install claude     # or: cursor | vscode | windsurf | zed
quikrun mcp print cursor       # show the config without writing it

Claude Code and VS Code are configured through their own CLIs; Cursor, Windsurf, and Zed by merging their JSON config (existing servers are preserved). Restart the client afterwards.

quikrun upgrade

Update the CLI to the latest published version. It picks the right action for how you installed it — a global install is updated in place; run via npx (or pnpm dlx/bunx) and it just points you at @latest.

quikrun upgrade    # alias: quikrun update

What runs

Snippets are single-file JavaScript or TypeScript that export a default async handler(req, env) and return JSON or an HTTP response. They execute in a sandbox at the edge and can import from a curated set of npm packages (dayjs, zod, cheerio, marked, and more), plus server-render HTML. See quik.run for the current package list and limits.

Development

npm install
npm run dev -- new my-snippet   # run from source via tsx
npm run typecheck               # tsc --noEmit
npm run build                   # emit dist/

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages