Developer Portfolio for Duneamsk
  • HTML 88.2%
  • TypeScript 8.4%
  • CSS 3.1%
  • Dockerfile 0.2%
Find a file
Dunemask 337427aec2
All checks were successful
Deploy Pages / deploy-pages (push) Successful in 25s
[CHORE] Remove Legacy Workflows
2026-10-26 09:14:11 -06:00
.gitea/workflows [CHORE] Remove Legacy Workflows 2026-10-26 09:14:11 -06:00
docs [CHORE] Minor Tweaks to distribution 2026-10-09 20:43:17 -06:00
nginx [FEATURE] Precompress with brotli, and point CI at the action that exists 2026-08-03 18:40:55 -06:00
packages [CHORE] Add Aegis Project 2026-10-25 20:15:50 -06:00
templates Helm, Actions, Dev updates, and much more! (#4) 2023-08-18 17:43:33 +00:00
.dockerignore [CHORE] Split into bun workspaces, fold prerender into vite build 2026-08-02 22:17:05 -06:00
.gardenignore [FIX] Keep the resume builds out of Garden's context, and pin IPv4 first 2026-08-03 21:57:33 -06:00
.gitignore [CHORE] Add Cloudflare Deployment 2026-10-20 13:47:15 -06:00
.helmignore [FIX] Keep the website out of the Helm release secret 2026-08-03 22:11:49 -06:00
biome.jsonc [FEATURE] Port every component off MUI onto Tailwind and Ark UI 2026-08-03 11:50:18 -06:00
bun.lock [FEATURE] Replace react-router with an in-house router 2026-08-03 15:57:44 -06:00
Chart.yaml Helm, Actions, Dev updates, and much more! (#4) 2023-08-18 17:43:33 +00:00
Dockerfile [FEATURE] Precompress with brotli, and point CI at the action that exists 2026-08-03 18:40:55 -06:00
package.json [CHORE] Bump Package Desc 2026-10-21 19:15:20 -06:00
README.md [FIX] Apply review findings: Escape layering, focus theft, dead code, docs 2026-08-03 14:17:59 -06:00
tsconfig.base.json [CHORE] Convert to TypeScript, split pages from sections 2026-08-03 06:36:43 -06:00
values.yaml Helm, Actions, Dev updates, and much more! (#4) 2023-08-18 17:43:33 +00:00
wrangler.jsonc [CHORE] Add Cloudflare Deployment 2026-10-20 13:47:15 -06:00

Nile

Nile is a modern digital portfolio for Dunemask — the site at dunemask.net plus the templated résumé it publishes.

Layout

Bun workspaces (packages/*):

Path What
packages/site @nile/site — the React/Vite site. vite build also prerenders every route
packages/resume @nile/resume — the résumé template, its build and its publish step
nginx/ nginx config for the runtime image
templates/ Helm chart templates (Chart.yaml, values.yaml at root)
docs/ seven agent docs — see below

Docs

Written for agents, not for browsing. rendering.md is the mandatory one: conventions.md and architecture.md both defer to it for anything in the render path.

File Read it before
docs/rendering.md anything in the render path — prerender, hydration, the brand intro, serving, output-identity checks
docs/architecture.md changing the workspace shape, routes, the build, or a reproducibility pin
docs/conventions.md writing any component — Tailwind/Ark rules, the palette, biome, data-not-components
docs/file-map.md looking for where something lives
docs/glossary.md a term in the other docs that reads like a feature flag (delta, preflight, the sheet)
docs/resume.md touching the résumé package from the site side; deep reference is packages/resume/docs/
docs/audit.md proposing a change that alters rendered output — the open decision queue lives there

Commands

Run from the repo root; bun, not node.

bun install
bun run dev            # vite dev server, port 5173
bun run build          # one vite build; the prerender runs as a plugin inside it
bun run preview        # vite preview, port 4173
bun run resume         # build the résumé and publish it into the site's public/
bun run resume:build   # résumé build only
bun run resume:check   # slack / wrapped-bullet / misalignment measurements

Deploy

docker build . → multi-stage: oven/bun:1-alpine builds packages/site/dist, nginx:alpine serves it. .gitea/workflows/pr-build.yml builds every PR; deploy-edge.yml runs garden deploy nile --env usw-edge on master.