# vcup Documentation > Reference for the vcup CLI and Vercel Blob-backed API: upload files, serve them inline at proxy URLs, delete by URL, and self-host on Vercel. This is a Grok-Wiki source-grounded repository documentation set. Use the complete Markdown link when an agent needs the full repo context. ## Context Links - [Complete Markdown docs](https://grok-wiki.com/public/docs/maxleiter-vcup-05c16ae77ebb/llms-full.txt) - [Complete Markdown alias](https://grok-wiki.com/public/docs/maxleiter-vcup-05c16ae77ebb.md) - [Human interactive docs](https://grok-wiki.com/public/docs/maxleiter-vcup-05c16ae77ebb) - [GitHub repository](https://github.com/MaxLeiter/vcup) ## Repository - Repository: MaxLeiter/vcup - Generated: 2026-06-03T07:41:10.700Z - Updated: 2026-06-03T07:50:37.793Z - Runtime: Grok CLI - Format: Documentation - Pages: 16 ## Pages - [Overview](https://grok-wiki.com/public/docs/maxleiter-vcup-05c16ae77ebb/pages/01-overview.md): What vcup exposes (CLI upload/delete, proxy file serving), runtime assumptions (Bun CLI, Vercel serverless + Blob), and the shortest path from install to a shareable link. - [Installation](https://grok-wiki.com/public/docs/maxleiter-vcup-05c16ae77ebb/pages/02-installation.md): Install the global @maxleiter/vcup CLI with bun or npm, prerequisites, and how the published bin maps to cli.ts. - [Quickstart](https://grok-wiki.com/public/docs/maxleiter-vcup-05c16ae77ebb/pages/03-quickstart.md): Configure ~/.vcuprc or env vars, upload one file, verify the printed proxy URL opens inline, and optional --raw output. - [How vcup works](https://grok-wiki.com/public/docs/maxleiter-vcup-05c16ae77ebb/pages/04-how-vcup-works.md): End-to-end flow: CLI streams to POST /api/upload, Vercel Blob put with random suffix, proxy slug served via /f rewrite to api/f, and optional delete path. - [Proxy and raw URLs](https://grok-wiki.com/public/docs/maxleiter-vcup-05c16ae77ebb/pages/05-proxy-and-raw-urls.md): Upload response fields url vs raw, /f/:slug rewrite behavior, inline Content-Disposition, and when the CLI or delete flow needs the blob store URL. - [Authentication](https://grok-wiki.com/public/docs/maxleiter-vcup-05c16ae77ebb/pages/06-authentication.md): Shared VCUP_TOKEN secret: Bearer checks on upload and delete, client token in ~/.vcuprc or VCUP_TOKEN env, and which routes are public. - [Deploy on Vercel](https://grok-wiki.com/public/docs/maxleiter-vcup-05c16ae77ebb/pages/07-deploy-on-vercel.md): Clone deploy button env wiring, Blob store creation, required server env vars, and post-deploy dashboard steps from README. - [Configure the CLI](https://grok-wiki.com/public/docs/maxleiter-vcup-05c16ae77ebb/pages/08-configure-the-cli.md): ~/.vcuprc JSON schema, VCUP_API_URL and VCUP_TOKEN precedence, and matching client settings to a deployed instance. - [Custom domain](https://grok-wiki.com/public/docs/maxleiter-vcup-05c16ae77ebb/pages/09-custom-domain.md): Point a subdomain at Vercel, set ~/.vcuprc url to the custom host, and how VCUP_BASE_URL affects upload response proxy URLs. - [Upload and delete files](https://grok-wiki.com/public/docs/maxleiter-vcup-05c16ae77ebb/pages/10-upload-and-delete-files.md): File and stdin uploads, progress streaming, --raw flag, vcup rm with proxy or raw URLs, and BLOB_STORE_URL requirement for proxy deletes. - [CLI reference](https://grok-wiki.com/public/docs/maxleiter-vcup-05c16ae77ebb/pages/11-cli-reference.md): vcup subcommands and flags, stdin behavior, default paste.txt filename, exit codes, help text, and Authorization/X-Filename headers sent to the API. - [Configuration reference](https://grok-wiki.com/public/docs/maxleiter-vcup-05c16ae77ebb/pages/12-configuration-reference.md): ~/.vcuprc keys, client env vars, server env vars, VCUP_BASE_URL override, and validation errors returned by handlers. - [API reference](https://grok-wiki.com/public/docs/maxleiter-vcup-05c16ae77ebb/pages/13-api-reference.md): POST /api/upload, DELETE /api/delete, and GET /f/:slug (via rewrite): methods, headers, status codes, JSON response shape, and streaming behavior. - [Environment variables](https://grok-wiki.com/public/docs/maxleiter-vcup-05c16ae77ebb/pages/14-environment-variables.md): Server: BLOB_READ_WRITE_TOKEN, BLOB_STORE_URL, VCUP_TOKEN, VCUP_BASE_URL. Client: VCUP_API_URL, VCUP_TOKEN, optional BLOB_STORE_URL for rm. - [Troubleshooting](https://grok-wiki.com/public/docs/maxleiter-vcup-05c16ae77ebb/pages/15-troubleshooting.md): Source-backed failure modes: missing config, 401/400/405/500/502 responses, directory upload rejection, proxy delete without BLOB_STORE_URL, and upstream fetch errors. - [Local development](https://grok-wiki.com/public/docs/maxleiter-vcup-05c16ae77ebb/pages/16-local-development.md): Run vercel dev via package.json script, local .env from .env.example, and exercising upload, /f proxy, and delete against a dev deployment. ## Source Files - `.env.example` - `api/delete.ts` - `api/f.ts` - `api/upload.ts` - `cli.ts` - `package.json` - `README.md` - `vercel.json`