publishkey — VS Code extension
Press one key, ship your web app — without leaving the editor. This is the
VS Code face of the publishkey engine: it detects your
framework (FastAPI / Flask / Streamlit / Django) and deploys to the cloud, all
from a keystroke or the 🚀 Publish button in the status bar.
The extension contains no deploy logic of its own — it drives the same
publishkey CLI the terminal uses. One engine, two faces.
What you get
- ⌘⌥P (macOS) / Ctrl+Alt+P (Windows/Linux) → detect + confirm + deploy.
(Not
⌘⇧P — that's the Command Palette. Rebind it in Keyboard Shortcuts if
you like.)
- A 🚀 Publish status-bar button that does the same thing with a click.
- A safety confirmation dialog before anything ships — because a keystroke
that deploys to production should never fire blind. The dialog shows the exact
start command first.
- Live provider logs streamed into a dedicated publishkey terminal.
Requirements
The engine must be installed and reachable:
pip install publishkey # the Python engine (separate package)
npm i -g @railway/cli && railway login # whichever provider you deploy to
Commands
| Command |
What it does |
| publishkey: Deploy this app |
Detect → confirm → deploy (bound to the keybinding + status bar). |
| publishkey: Detect framework |
Just show what framework this folder is. |
| publishkey: Activate Pro license |
Enter a Polar license key to unlock Pro. |
| publishkey: Deactivate Pro license |
Remove the license key from this machine. |
publishkey Pro
The free tier deploys to FastAPI Cloud and Railway. Pro unlocks the
other providers (Fly.io, and more as they land). Pro is a license key you buy on
Polar; the extension validates it and stores it securely in
VS Code's secret storage.
- Activate: run publishkey: Activate Pro license and paste your key. When
active, the status bar shows 🚀 Publish ⭐.
- Buy: picking Get Pro on the upgrade prompt opens your Polar checkout.
Setup for the publisher lives in LICENSING.md (create the
Polar product, then fill in the two settings below).
| Setting |
Meaning |
publishkey.polar.organizationId |
Your Polar org ID (validates keys). |
publishkey.polar.server |
production or sandbox (for testing). |
publishkey.upgradeUrl |
Polar checkout link opened on "Get Pro". |
Settings
| Setting |
Default |
Meaning |
publishkey.executable |
publishkey |
How to invoke the engine. Use python -m publishkey.cli if it isn't on PATH. |
publishkey.provider |
"" |
Force a provider (e.g. railway). Blank = use the project's .publishkey.json / auto-default. |
publishkey.confirmBeforeDeploy |
true |
Show the confirmation dialog. Leave this on. |
Develop
npm install
npm run compile # or: npm run watch
Then press F5 in VS Code to launch an Extension Development Host and try it
against a sample FastAPI/Flask/Streamlit project.
How it fits the bigger picture
- Free tier — this extension + the open-source engine: detect and deploy to
one provider.
- Premium tier (planned) — multi-provider, deploy history + one-click
rollback, secrets/env UI, unlocked by a Polar license
key the extension validates.
The engine stays free and open (it's the funnel); the paid value lives here in
the editor experience.