| title | End-to-End Tutorial |
|---|---|
| description | From an empty repo to a live docs site -- create a project, preview locally, deploy, and optionally configure a custom domain. |
Go from an empty repo to a live docs site. Add a custom domain when you're ready, and skip any step you've done already.
- A GitHub account
- A repository with docs content (or use the Starter Template)
- Node.js 20+ if you want to install the CLI with npm
- Follow [Creating Projects](/setup/creating-projects) to set the project name, slug, and docs path
- If prompted, install the GitHub App and grant repository access ([Connecting GitHub](/setup/connecting-github))
<Tabs>
<Tab title="npm">
```bash
npm install -g jamdesk
cd your-docs
jamdesk dev
```
</Tab>
<Tab title="npx">
```bash
cd your-docs
npx jamdesk dev
```
</Tab>
</Tabs>
Your local preview runs at **http://localhost:3000**. Learn more in [Local Preview](/development/local-preview).
Open an `.mdx` page in your editor, save a change, and refresh the local preview. When it looks right, publish it with the Git workflow in the next step.
```bash
git add .
git commit -m "Add docs content"
git push origin main
```
Replace `main` with the branch configured in your project if you use a different branch.
When the build finishes, your docs are live at `your-project.jamdesk.app`. See [Deployment](/development/deployment) for details.
1. Go to **Settings** → **Domains** 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](/deploy/custom-domains).
- Your Jamdesk subdomain loads and shows the latest build
- Local preview reflects the same content and navigation
- If configured, the custom domain is verified and serving HTTPS
- Build history shows the latest commit and author attribution
If you want docs on a subpath like example.com/docs, review Deployment Overview and Subpath Hosting.