Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/apursley2012/dev-os/llms.txt

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

GitHub Pages can serve the DevOS dist/ folder directly because the build output is entirely static — no server or runtime process is required. You can publish manually using the gh-pages npm package, or automate the process so every push to main deploys the latest version without any manual intervention.

Prerequisites

  • A GitHub repository containing the DevOS source code
  • Node.js 18 or later installed locally
  • The repository has GitHub Pages enabled (Settings → Pages)

Option 1 — Manual deploy with gh-pages

The gh-pages package builds the site and force-pushes the dist/ folder to a dedicated gh-pages branch in a single command. Install it as a dev dependency:
npm install --save-dev gh-pages
Add a deploy script to package.json that chains the build and publish steps:
package.json
{
  "scripts": {
    "deploy": "npm run build && gh-pages -d dist"
  }
}
Run the deploy:
npm run deploy
After the command completes, go to Settings → Pages in your GitHub repository and set the source to the gh-pages branch, root folder. GitHub will provide the live URL (typically https://<username>.github.io/<repo>/) within a few minutes.

Option 2 — Automated deploy with GitHub Actions

A GitHub Actions workflow can build and publish the site automatically every time you push to main. Create the following workflow file in your repository:
.github/workflows/deploy.yml
name: Deploy to GitHub Pages
on:
  push:
    branches: [main]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 18
      - run: npm install
      - run: npm run build
      - uses: peaceiris/actions-gh-pages@v3
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./dist
The GITHUB_TOKEN secret is provided automatically by GitHub Actions — no manual secret configuration is needed. The peaceiris/actions-gh-pages action pushes dist/ to the gh-pages branch on every successful run.

Custom domain

To serve DevOS from your own domain, add a CNAME file to the public/ folder in the project root:
echo 'yourdomain.com' > public/CNAME
Vite copies everything in public/ into dist/ at build time, so the CNAME file will be present in every deployment automatically. Then add a CNAME DNS record at your domain registrar pointing to <username>.github.io.

Setting the base path for a project page

By default, GitHub Pages serves user and organisation sites at the root (/). Project pages — repositories that are not <username>.github.io — are served under a subpath such as /dev-os/. Without setting base in Vite, all asset references will resolve from / and the site will load a blank page.
For a project page, set the base option in vite.config.js to match your repository name:
vite.config.js
export default {
  base: '/dev-os/',
};
This prefixes every asset URL in index.html and in the bundled JavaScript with /dev-os/, ensuring the browser can locate scripts and styles regardless of which subdirectory the page is served from.
The .nojekyll file in the repo root is already included in the DevOS source. It prevents GitHub Pages from running the Jekyll processor on the build output, which would otherwise silently drop Vite’s underscore-prefixed asset chunks and cause the site to fail to load.

Build docs developers (and LLMs) love