updated README to match current site, opencode.md now keeps README in sync

This commit is contained in:
dvorakmortonxd 2026-09-24 08:58:35 +02:00
commit ba158a6ae5
2 changed files with 155 additions and 20 deletions

View file

@ -5,6 +5,25 @@ a minute. Read this first, then skim the files it points at.
---
## Keep README.md in sync — do this on EVERY prompt
**Before you finish any task, update `README.md` so it still matches the code.**
This is a standing requirement, not a one-off. The README is meant to describe the
project as it is right now, so treat it as part of "done":
- If a change adds/removes/renames a feature, script, route, app, theme, file or
dependency, reflect it in `README.md` (Features, Tech Stack, API Routes, Project
Structure, Scripts, running/deploying sections — whichever apply).
- Re-read `README.md` and the files you touched; fix anything the change made stale.
- Keep the author's voice and existing emoji-section formatting; don't rewrite the
whole thing when a small edit will do.
- If a task genuinely changes nothing user- or contributor-visible, it's fine to
leave the README untouched — use judgement, don't churn it for nothing.
When in doubt, prefer updating it. A stale README is treated as a bug.
---
## What this project is
Personal portfolio site for **dvorakmortonxd.dev**. It's not a normal website —
@ -40,21 +59,32 @@ Do not print it, copy it into new files, or push it anywhere else.
```
src/app/
page.tsx → renders <ThemeRoot/>, imports page.css + skeuo.css
layout.tsx → html shell, ThemeScript
data.ts → friends[], WALLPAPER, MOBILE_WALLPAPER (static content)
layout.tsx → html shell, metadata, ThemeScript
globals.css → base/reset styles + Tailwind import
data.ts → socials, codingProjects, techProjects, friends, wallpapers
page.css → base / terminal theme styles
skeuo.css → Windows/Plasma desktop + mobile home styles
revival-inc/page.tsx → fullscreen iframe embedding /public/revival-inc/index.html
api/
heatmap/route.ts → proxy for git.dvorakmortonxd.dev contribution heatmap
activities/route.ts → proxy for the user's GitDXD activity feed
ping/route.ts → service health check (HTTP + minecraft:// via mcstatus.io)
components/
ThemeRoot.tsx → picks which shell to show (the router of the UI)
TerminalLayout.tsx → "terminal" theme (Gruvbox)
WindowsDesktop.tsx → "skeuo" theme, desktop: icons, windows, taskbar
MobileHome.tsx → "skeuo" theme, phone: app grid + dock
WinWindow.tsx → a single draggable/resizable window
apps.tsx → APPS registry + the content of each app
apps.tsx → APPS registry + the content of each app + in-app terminal
useDesktopIcons.ts → desktop icon grid + drag/drop (THE KEY FILE, see below)
useDragOrder.ts → simple list reordering (mobile home screen only)
useTheme.ts → theme state via useSyncExternalStore
ThemeScript.tsx → inline pre-hydration script: theme + device detection
ServiceButton.tsx → service link + live status dot (pings /api/ping)
ContributionHeatmap.tsx → heatmap + recent-commit widget (uses the two proxies)
Clock.tsx → live clock (useSyncExternalStore + interval)
JokerLogo.tsx → site logo with a click easter egg
SlBackground.tsx → animated ASCII train background (terminal theme)
```
### How UI selection works
@ -180,8 +210,9 @@ list reordering, not free placement. Don't confuse the two.
## After finishing — push to git
When the work is done, run **only** these three commands (no extra flags, no
rebasing, no force-push):
First make sure `README.md` is up to date (see "Keep README.md in sync" at the
top), then run **only** these three commands (no extra flags, no rebasing, no
force-push):
```bash
git add .