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.

DevOS is a Vite-powered single-page application. The production build compiles every React component, Tailwind utility, and Framer Motion animation into a self-contained dist/ folder of static HTML, CSS, and JavaScript. No Node.js process is needed at runtime — the output can be served by any CDN, object-storage bucket, or static hosting provider.

Build command

Run the standard Vite build script from the project root:
npm run build
Vite performs tree-shaking, code-splitting, and minification automatically. On a fresh checkout the build typically completes in under thirty seconds. The first time you run it, Vite also writes a .vite/ cache directory that speeds up subsequent builds.

Output structure

After a successful build the dist/ folder contains:
dist/
├── index.html
├── assets/
│   ├── main.js          # bundled app entry point
│   ├── main.css         # bundled and purged Tailwind styles
│   ├── jsx-runtime.js
│   ├── index.js         # Framer Motion chunk
│   ├── proxy.js
│   ├── terminal.js
│   ├── createLucideIcon.js
│   └── user.js
└── components/
    ├── apps/            # split chunks for each app component
    └── system/          # split chunks for system components
Vite splits the bundle at the app-component boundary, so the browser only downloads the JavaScript for an app when the user opens it for the first time. The assets/ folder contains the shared runtime and library chunks. The output filenames are stable across builds (e.g. main.js, main.css). If you add a hashing strategy via Vite’s build.rollupOptions.output.entryFileNames config, you can use aggressive, indefinite cache headers on everything inside assets/ — browsers will automatically fetch new files whenever the content changes. Without hashing, rely on your host’s cache-control headers to ensure visitors receive updated files after each deploy.

Previewing the production build

Before deploying, verify the build locally using the Vite preview server. It serves dist/ over HTTP with the same base-path settings that will apply in production:
npm run preview
The preview server starts on http://localhost:4173 by default. Check that the boot sequence, all desktop icons, and every window open and behave as expected before pushing the build to a host.

What the build does not include

  • No server-side renderingdist/index.html is a single static shell. All routing and rendering happen in the browser.
  • No API layer — all portfolio data is compiled directly into the JavaScript bundles. There are no fetch calls at runtime.
  • No environment variables at runtime — if you expose VITE_ variables during the build, they are inlined as string literals in the output. Do not put secrets in them.
The .nojekyll file in the repo root tells GitHub Pages not to process the build output with Jekyll. Without it, GitHub Pages ignores any file or folder whose name starts with an underscore — which would silently drop Vite’s _ prefixed chunks and break the site. Do not delete or move this file.

Build docs developers (and LLMs) love