End-to-End Tutorial

From an empty repo to a live docs site with a custom domain -- create a project, preview locally, deploy, and configure DNS.

Go from an empty repo to a live docs site with a custom domain. Skip any step you've done already.

Prerequisites

  • A GitHub account
  • A repository with docs content (or use the Starter Template)
  • Node.js 20+ if you want local preview
1
Create a project and connect GitHub

Create your first project in the Jamdesk dashboard and connect a repository.

2
Preview locally with the CLI

Use the Jamdesk CLI to preview changes before you push them to GitHub.

npm install -g jamdesk
cd your-docs
jamdesk dev

Your local preview runs at http://localhost:3000. Learn more in Local Preview.

3
Deploy by pushing to GitHub

Every push to your configured branch triggers a build and publishes to your Jamdesk subdomain.

git add .
git commit -m "Add docs content"
git push origin <your-branch>

Replace <your-branch> with the branch configured in your project (often main).

When the build finishes, your docs are live at your-project.jamdesk.app. See Deployment for details.

4
Add a custom domain

Make your docs production-ready with your own domain.

  1. Go to SettingsDomains in the Jamdesk dashboard
  2. Add your domain (for example, docs.example.com)
  3. Create the DNS records shown in the dashboard
  4. Wait for verification and SSL to complete

For troubleshooting, see Custom Domains.

Validate the End-to-End Flow

  • Your Jamdesk subdomain loads and shows the latest build
  • Local preview reflects the same content and navigation
  • The custom domain is verified and serving HTTPS
  • Build history shows the latest commit and author attribution

Optional: Host at /docs

If you want docs on a subpath like example.com/docs, review Deployment Overview and Subpath Hosting.

What's Next?

Create a Project

Manage project settings and templates

Local Preview

Work faster with hot reload

Deployment Overview

Compare hosting options

Custom Domains

Verify DNS and troubleshoot setup