CLI
The dropkit CLI scaffolds uploads into any JS/TS framework, or uploads files one-off from a terminal. It also has a zero-signup demo.
Package: @dropkit/cli.
Zero-signup demo
npx @dropkit/cli@latest upload ./photo.pngNo account, no key, nothing to configure. The file goes to the public demo project. Files expire in 1 hour, 10 MB cap per file. Great for a quick share or a 10-second sanity check before committing.
Scaffold into a project
npx @dropkit/cli@latest initDetects the framework (Next, SvelteKit, Astro, Remix, Nuxt), writes DROPKIT_KEY to .env.local, installs @dropkit/sdk, and scaffolds an upload route.
Flags:
| flag | effect |
|---|---|
--yes | Non-interactive, default everything |
--framework <name> | Override detection |
--name <project> | Label for the saved config |
--key <key> | Use an existing key instead of prompting |
--force | Overwrite an existing scaffold file |
--dry-run | Print the plan without writing anything |
--json | Machine-readable output |
Commands
dropkit init # set up a project in the current directorydropkit upload <path> # upload a local file or folderdropkit upload <url> # ingest a remote https URL (real key only)dropkit login # save a project key for future usedropkit logoutdropkit whoami # current auth statedropkit upload https://example.com/photo.jpg mirrors a remote URL into your project without round-tripping the bytes locally. Useful for grabbing image-gen output, screenshot URLs, or any short-lived link. Requires a real key (saved or via DROPKIT_KEY / --key); the demo fallback only applies to local file paths.
Everything else (file browsing, key management, custom domains, webhooks, billing) lives in the dashboard.
Install globally
npm i -g @dropkit/clidropkit initOnce installed, the dropkit binary is on your PATH. The binary name is always dropkit, regardless of the scoped package name.
Env
| var | effect |
|---|---|
DROPKIT_KEY | Key to use. Overrides saved config. |
DROPKIT_ENDPOINT | API endpoint. Defaults to https://api.dropkit.app. |
Exit codes
| code | meaning |
|---|---|
| 0 | success |
| 10 | auth required, run dropkit login |
| 20 | network error |
| 30 | validation error |
| 40 | user aborted |
| 50 | conflict, re-run with --force |
JSON output
Every command accepts --json. Machine output lands on stdout, diagnostics go to stderr. Example:
dropkit upload ./photo.png --json | jq -r '.uploads[0].url'In scripts
#!/bin/shURL=$(DROPKIT_KEY=$PROD_KEY dropkit upload --json ./dist/build.zip | jq -r '.uploads[0].url')echo "Build: $URL" | slack-notify