Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/jamdesk/jamdesk-cli/llms.txt

Use this file to discover all available pages before exploring further.

jamdesk deploy packages your documentation project, uploads it to Jamdesk, and triggers a remote build. Live status updates are printed to the terminal as each build phase completes, so you can follow along without opening the dashboard. The command is also available as jamdesk push.

Usage

jamdesk deploy [options]
You must be authenticated before deploying. Run jamdesk login if you have not already done so.

Flags

--detach
flag
Queue the build and exit immediately without waiting for it to complete. No polling output is shown. A dashboard link is printed so you can monitor progress there.
--full-rebuild
flag
Force a full rebuild, bypassing the remote build cache. Use this if a previous cached build produced unexpected results.
--project
string
Deploy to a specific project by ID, overriding the projectId stored in docs.json. Useful in CI pipelines or when managing multiple projects from a single local checkout.
--verbose
flag
Print detailed output during packaging and upload.

Examples

# Upload and build interactively
jamdesk deploy

# Queue build and exit immediately
jamdesk deploy --detach

# Force full rebuild, ignoring cache
jamdesk deploy --full-rebuild

# Deploy to a specific project
jamdesk deploy --project abc123

# Alias — identical to jamdesk deploy
jamdesk push

First deploy: project selection

On the first deploy, the CLI prompts you to select which Jamdesk project to deploy to. The selected projectId is saved to docs.json automatically, so all subsequent deploys skip the prompt. You can override the saved ID at any time with --project <id>.

What gets uploaded

All project files are uploaded, with .gitignore rules respected. The following are always excluded, regardless of .gitignore: .git · node_modules · .next · .env · .env.* · *.pem · *.key · credentials.json · .gcloud · .DS_Store · Thumbs.db
The CLI will warn you if it detects files that may contain secrets (such as .env, *.pem, *.key, credentials.json, service_account*.json, or secret*), but it will not block the upload. Add those files to .gitignore to exclude them.
The maximum upload size is 100 MB (compressed).

Build phases

While the build runs, the CLI polls for status and prints each phase as it completes:
  1. Extracting files
  2. Validating configuration
  3. Preparing content
  4. Building documentation
  5. Uploading to CDN
  6. Refreshing cache
Pressing Ctrl+C exits the polling loop, but the build continues running in the background. A dashboard link is printed so you can track it there.

Common errors

ErrorCauseFix
Not logged inNo stored credentialsRun jamdesk login
Session expiredToken refresh failedRun jamdesk login again
Access deniedNot a member of the projectCheck project membership, or run jamdesk whoami
Project not foundInvalid --project ID or removed projectCheck project ID in dashboard
Build in progressAnother build already runningWait or check dashboard
Upload too largeProject exceeds 100 MBAdd large files to .gitignore
No files to deployAll files excludedCheck .gitignore isn’t too aggressive

Build docs developers (and LLMs) love