fiskil publish
One command uploads your source; the platform builds and hosts it.
fiskil publish
FISKIL_DOCS_TOKEN=fdp_... FISKIL_DOCS_PLATFORM_URL=https://... npx fiskil publish✔ docs.json is valid
▲ publishing acme (production) — 42 files, 240 KB
pending… (0s)
building… (4s)
ready… (96s)
✔ live at https://acme.docs.fiskil.appYour machine never builds for deployment — publish validates locally,
snapshots your source (a few hundred kilobytes, not a build output),
uploads it, and streams the platform build's status until your site is live.
Tokens
Publishing authenticates with a Fiskil-issued token (fdp_...), minted in
the console's API keys screen.
- Site tokens are scoped to one site and carry its identity — with one
in
FISKIL_DOCS_TOKEN(and the platform URL inFISKIL_DOCS_PLATFORM_URL),fiskil publishneeds zero flags. Use these in CI. - Org tokens manage every site in your workspace — pass
--siteto say which one you mean.
What gets uploaded
Exactly what belongs to a docs site: docs.json, package.json and
lockfile, the framework config files, and your content/, public/, and
src/ trees. Local junk is skipped, and secret-shaped files — .env*,
.npmrc — are never uploaded; the platform independently rejects snapshots
containing them, so credentials can't leak by accident.
Previews
npx fiskil publish --target previewPreview deployments build the same way but publish to an isolated, unlisted URL instead of your production domain — for sharing a draft before it ships. (With GitHub sync, pull requests get these automatically.)
When something fails
Errors are one line and actionable — a rejected token says to check
FISKIL_DOCS_TOKEN; a failed build says to run fiskil build locally to
reproduce (it's the same build); a deploy already in flight for the site
asks you to let it finish. Exit codes are non-zero on failure, so CI
pipelines fail loudly.