Skip to main content

Documentation Index

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

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

This guide walks you through getting developer.exe running locally, building it for production, and deploying it as a static site. By the end you will have a live dev server showing the arcade portfolio at localhost:5173, a production-ready dist/ bundle, and a clear picture of how to make the site your own.
Prerequisites — You need the following tools installed before you begin:
  • Node.js 18+ — the Vite build system and all dependencies require Node 18 or later.
  • npm 9+ (or an equivalent package manager such as pnpm or yarn) — used to install dependencies and run the project scripts.
1
Clone the repository
2
Clone the developer.exe repository from GitHub and navigate into the project directory:
3
git clone https://github.com/apursley2012/developer-exe.git
cd developer-exe
4
Install dependencies
5
Install all project dependencies with npm. This pulls in React, Vite, Tailwind CSS, Framer Motion, React Router, and every other package declared in package.json:
6
npm install
7
Start the development server
8
Launch the Vite dev server. It starts on port 5173 by default and supports hot module replacement, so changes to components, styles, and pages reflect in the browser instantly without a full reload:
9
npm run dev
10
Open http://localhost:5173 in your browser. You should see the arcade attract screen with the synthwave grid scrolling, the HUD displaying LEVEL: ATTRACT MODE, and the CRT scanline overlay active.
11
Build for production
12
Generate the optimized static bundle into the dist/ directory:
13
npm run build
14
Vite bundles and fingerprints all JS and CSS assets into dist/assets/, copies the pre-rendered HTML stubs from pages/ into the output, and writes the root index.html. The entire dist/ folder is self-contained and ready to serve from any static host.
15
Deploy
16
The dist/ output is compatible with any static hosting provider. Because developer.exe uses hash-based routing (#/), no server-side redirect rules are required — every visitor receives the same HTML file and React Router handles the rest in the browser.
17
GitHub Pages — push the dist/ contents to a gh-pages branch (or configure Pages to serve from dist/ in your repo settings). The .nojekyll file in the repository root disables Jekyll processing, which would otherwise ignore files and folders prefixed with an underscore and corrupt the Vite asset paths.
18
Netlify / Vercel — connect your repository and set the build command to npm run build with the publish directory set to dist. Both platforms serve static files natively with no additional configuration needed for hash routing.

Customization

The three core neon values are declared as CSS custom properties on :root near the bottom of assets/main.css, just before the body rule:
:root {
  --neon-green:    #39ff14;
  --hot-magenta:   #ff2bd6;
  --electric-cyan: #22d3ee;
}
Edit these hex values to retheme the entire site at once. --neon-green controls the primary HUD text color and the cursor crosshair stroke; --hot-magenta drives the glitch pseudo-element offsets, the scrollbar thumb, and text selection highlights; --electric-cyan appears in the secondary HUD line, GlitchText counter-shadow, and focus ring borders.Note that the Tailwind extended palette tokens (text-neon-green, bg-neon-magenta, etc.) are compiled to literal hex values in assets/main.css. If you want those utility classes to also reflect a color change, you would need to update the Tailwind configuration in the original source and rebuild the project with Vite.
Adding a route involves three coordinated steps:1. Create the page component. Add a new file in your source components directory, for example pages/Gallery.jsx. Export a default React component that renders the page content.2. Register the route in the router. In your app’s root component (the file that renders the <HashRouter>), import the new component and add a <Route> inside <Routes>:
import Gallery from "./pages/Gallery";

// Inside <Routes>:
<Route path="/gallery" element={<Gallery />} />
3. Create the static HTML stub. Copy an existing file from the pages/ directory (for example, pages/About.html) and save it as pages/Gallery.html. Update the two occurrences of the route path in the inline script:
<script>
  window.__STATIC_PAGE_ROUTE__ = "/gallery";

  (function () {
    if (!window.location.hash || window.location.hash === "#") {
      window.location.replace(
        window.location.pathname +
        window.location.search +
        "#/gallery"
      );
    }
  })();
</script>
Also update the <title> tag to match the new page name. After running npm run build, Vite will include the new stub in the output alongside the existing pages.
The source code for developer.exe has been compiled and minified by Vite. The raw .jsx source files are not present in the repository — only the compiled bundles in assets/main.js and assets/proxy.js exist. Content such as the home hero headline, the projects array, the skills data, and writing post metadata is embedded directly in assets/main.js as inlined JavaScript strings and object literals.To locate a specific piece of content, search the minified bundle for a distinctive text fragment. For example, to find the hero headline:
grep -o '"[^"]*READY[^"]*"' assets/main.js
If you want to make the content genuinely editable, the recommended approach is to extract the original source from the compiled output and restructure the data into separate JSON or JS module files that are imported by the page components, then rebuild with Vite. This gives you clean separation between data and presentation going forward.
The .nojekyll file at the root of the repository is required for GitHub Pages deployments. GitHub Pages runs Jekyll by default, and Jekyll silently drops any file or directory whose name starts with an underscore — which includes Vite’s _ prefixed asset chunks. The empty .nojekyll file signals GitHub Pages to skip Jekyll entirely and serve the repository as plain static files. Do not delete it if you plan to deploy to GitHub Pages.

Build docs developers (and LLMs) love