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 gives you two ways to publish your documentation: push directly from the command line using jamdesk deploy, or connect a GitHub repository so every merge triggers an automatic build. Either way, your docs land on a globally distributed CDN with SSL, AI-powered search, analytics, and a *.jamdesk.app subdomain — with no infrastructure to manage.

CLI Deployment

Make sure you are logged in before deploying. Then run jamdesk deploy from the root of your project (the directory containing docs.json):
jamdesk login
jamdesk deploy
The CLI packages your docs, uploads them, and triggers a remote build. Live status updates are printed as each build phase completes. jamdesk push is an alias that behaves identically.

Deploy Flags

FlagDescription
--detachQueue the build and exit immediately — do not wait for progress
--full-rebuildForce a full rebuild, bypassing any cached layers
--project <id>Deploy to a specific project by ID, overriding the saved value
--verbosePrint detailed output during packaging and upload
jamdesk deploy                    # Upload and build (interactive)
jamdesk deploy --detach           # Queue and exit immediately
jamdesk deploy --full-rebuild     # Force full rebuild (no cache)
jamdesk deploy --project <id>     # Deploy to a specific project
jamdesk deploy --verbose          # Print detailed output
jamdesk push                      # Alias for deploy
Project resolution: On the first deploy, the CLI prompts you to select a project from your account. The chosen projectId is saved to docs.json so subsequent deploys skip the prompt. You can always override it with --project <id>.

Build Phases

After upload, the CLI polls for build progress and displays each phase as it completes:
1

Extracting files

The uploaded archive is unpacked on the build server.
2

Validating configuration

docs.json is checked against the Jamdesk schema and your navigation is verified.
3

Preparing content

MDX files are parsed, OpenAPI specs are processed, and assets are staged.
4

Building documentation

The full site is compiled and rendered.
5

Uploading to CDN

Build output is distributed to the global CDN edge network.
6

Refreshing cache

CDN caches are purged so visitors see your latest content immediately.
Pressing Ctrl+C exits the polling loop, but the build continues running in the background. A dashboard link is printed so you can track progress manually.

What Gets Uploaded

The CLI packages all project files, respecting your .gitignore. The following paths are always excluded regardless of .gitignore:
  • .git
  • node_modules
  • .next
  • .env and .env.*
  • *.pem and *.key
  • credentials.json
  • .gcloud
  • .DS_Store
  • Thumbs.db
The CLI warns if it detects files that may contain secrets — such as .env, *.pem, *.key, credentials.json, service_account*.json, or files matching secret*. The upload is not blocked, but you should add these files to .gitignore to prevent them from being included.
The maximum upload size is 100 MB (compressed). If your project exceeds this limit, add large binary files or generated artifacts to .gitignore to bring the size down.

GitHub Auto-Deploy

Connect your docs repository to Jamdesk and every push to GitHub triggers an automatic build and deploy. Your site is published to a *.jamdesk.app subdomain with:
  • SSL — automatic HTTPS, no certificate management
  • AI search — AI-powered search across all your content
  • Analytics — built-in analytics
  • Custom domain support — point your own domain at any time
No servers, no pipelines to configure. Get started with Jamdesk hosting.

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 the project ID in the dashboard
Build in progressAnother build is already runningWait for it to finish, or check the dashboard
Upload too largeProject exceeds 100 MBAdd large files to .gitignore
No files to deployAll files excluded by filtersCheck that .gitignore isn’t too aggressive

Subpath Hosting with Cloudflare

If you want to serve your docs at a subpath on your own domain — for example yoursite.com/docs — you can deploy a Cloudflare Worker proxy without changing any infrastructure. See Cloudflare subpath hosting for step-by-step instructions.

Build docs developers (and LLMs) love