docs: add AGENTS handoff notes and comprehensive README
This commit is contained in:
69
AGENTS.md
Normal file
69
AGENTS.md
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
# AGENTS.md
|
||||||
|
|
||||||
|
Critical developer notes for future sessions working in this repo.
|
||||||
|
|
||||||
|
## Project identity
|
||||||
|
- Name: VeryExtraOS-ARG
|
||||||
|
- Repo: https://github.com/diontimmer/VeryExtraOS-ARG
|
||||||
|
- Local path: /home/diont/veryextra-arg-site
|
||||||
|
- Stack: static HTML/CSS/vanilla JS served by nginx via Docker Compose
|
||||||
|
|
||||||
|
## Runtime / deploy
|
||||||
|
- Compose file: /home/diont/veryextra-arg-site/ops/docker-compose.yml
|
||||||
|
- Service name: veryextra-arg
|
||||||
|
- Container name: veryextra-arg
|
||||||
|
- Host port: 8008 -> container 80
|
||||||
|
- Static site root mounted read-only: ../site -> /usr/share/nginx/html
|
||||||
|
|
||||||
|
Common commands:
|
||||||
|
- Start/redeploy: docker compose -f /home/diont/veryextra-arg-site/ops/docker-compose.yml up -d
|
||||||
|
- Stop: docker compose -f /home/diont/veryextra-arg-site/ops/docker-compose.yml down
|
||||||
|
- JS syntax check: node --check /home/diont/veryextra-arg-site/site/script.js
|
||||||
|
|
||||||
|
## Current UX implementation highlights
|
||||||
|
- Desktop with draggable icons and saved layout in localStorage key:
|
||||||
|
- veryextraOS.iconLayout.v1
|
||||||
|
- Window manager with taskbar buttons, minimize/close, z-index focus, show desktop.
|
||||||
|
- Start menu wired actions:
|
||||||
|
- Open apps (IE, Notepad, Paint, My Computer)
|
||||||
|
- Open paths (My Documents, My Pictures, Music)
|
||||||
|
- System actions (Control Panel mock, Run mock, Help mock, Log Off mock, Shutdown mock)
|
||||||
|
- File Explorer:
|
||||||
|
- Back/Forward/Up icon-style nav buttons
|
||||||
|
- Root is conceptualized as "My Computer" (not Desktop)
|
||||||
|
- Quick Access sidebar with drives and key folders
|
||||||
|
- Virtual filesystem + openable txt/image/audio files
|
||||||
|
- Custom right-click context menus:
|
||||||
|
- Desktop icons: Open, Open All Selected, Reset Icon Layout, Properties
|
||||||
|
- Explorer items: Open, Open in New Window (folder), Open Parent Folder (file), Properties
|
||||||
|
|
||||||
|
## Important source files
|
||||||
|
- UI shell markup: /home/diont/veryextra-arg-site/site/index.html
|
||||||
|
- App logic: /home/diont/veryextra-arg-site/site/script.js
|
||||||
|
- Styling: /home/diont/veryextra-arg-site/site/styles.css
|
||||||
|
- Fake web pages index: /home/diont/veryextra-arg-site/site/fakeweb/index.json
|
||||||
|
|
||||||
|
## Editing conventions / gotchas
|
||||||
|
- Keep it dependency-free unless user asks otherwise (vanilla JS + static assets).
|
||||||
|
- Prefer incremental patching in script.js; many features are interlinked through rerender() flows.
|
||||||
|
- Explorer UI is re-rendered often; event listeners for explorer items/nav are rebound inside rerender().
|
||||||
|
- If adding new Start items:
|
||||||
|
- data-open-app for ICON_APPS keys
|
||||||
|
- data-open-path for direct explorer paths
|
||||||
|
- data-system-action for action dispatcher
|
||||||
|
- If touching context menu behavior, ensure hideContextMenu() is still triggered on:
|
||||||
|
- outside click
|
||||||
|
- escape key
|
||||||
|
- window resize
|
||||||
|
- global contextmenu fallback
|
||||||
|
|
||||||
|
## Git / collaboration state
|
||||||
|
- Default branch: main
|
||||||
|
- Remote: origin https://github.com/diontimmer/VeryExtraOS-ARG.git
|
||||||
|
- Repo is private.
|
||||||
|
|
||||||
|
## High-value next steps (if requested)
|
||||||
|
- Replace emoji icons with cohesive tiny bitmap icon set (16x16 + optional 24x24).
|
||||||
|
- Add desktop-background context menu (View/Arrange/Refresh style).
|
||||||
|
- Add mock Rename/Delete/New file-folder interactions in Explorer context menu.
|
||||||
|
- Add command parsing to Run dialog.
|
||||||
114
README.md
114
README.md
@@ -1 +1,113 @@
|
|||||||
# veryextra ARG site
|
# VeryExtraOS-ARG
|
||||||
|
|
||||||
|
A retro pink XP-inspired ARG desktop experience built as a static web app.
|
||||||
|
|
||||||
|
It includes a fake desktop, draggable icons, window management, a virtual file explorer, Start menu actions, mock apps (Notepad/Paint/IE), and custom right-click context menus.
|
||||||
|
|
||||||
|
## Repository
|
||||||
|
|
||||||
|
- GitHub: https://github.com/diontimmer/VeryExtraOS-ARG
|
||||||
|
- Local path: `/home/diont/veryextra-arg-site`
|
||||||
|
|
||||||
|
## Tech stack
|
||||||
|
|
||||||
|
- HTML/CSS/Vanilla JavaScript
|
||||||
|
- Static assets served by `nginx:alpine`
|
||||||
|
- Docker Compose for local runtime
|
||||||
|
|
||||||
|
## Project structure
|
||||||
|
|
||||||
|
- `site/index.html` — desktop shell, taskbar, start menu, window template
|
||||||
|
- `site/script.js` — all app logic (window manager, explorer, start actions, context menus)
|
||||||
|
- `site/styles.css` — global styles and retro UI styling
|
||||||
|
- `site/fakeweb/` — in-world fake web pages and route index
|
||||||
|
- `site/assets/audio/violin.mp3` — sample media asset
|
||||||
|
- `ops/docker-compose.yml` — nginx runtime config
|
||||||
|
- `AGENTS.md` — critical handoff notes for future sessions
|
||||||
|
|
||||||
|
## Run locally
|
||||||
|
|
||||||
|
From the repo root:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose -f ops/docker-compose.yml up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
App will be available at:
|
||||||
|
|
||||||
|
- http://localhost:8008
|
||||||
|
|
||||||
|
Stop:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose -f ops/docker-compose.yml down
|
||||||
|
```
|
||||||
|
|
||||||
|
## Development workflow
|
||||||
|
|
||||||
|
No build step is required (static files).
|
||||||
|
|
||||||
|
Typical loop:
|
||||||
|
|
||||||
|
1. Edit files under `site/`
|
||||||
|
2. Refresh browser
|
||||||
|
3. Optional JS syntax check:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
node --check /home/diont/veryextra-arg-site/site/script.js
|
||||||
|
```
|
||||||
|
|
||||||
|
If needed, redeploy container:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose -f /home/diont/veryextra-arg-site/ops/docker-compose.yml up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
## Feature overview
|
||||||
|
|
||||||
|
### Desktop and windows
|
||||||
|
- Draggable desktop icons with persisted layout
|
||||||
|
- Multi-window taskbar integration
|
||||||
|
- Show desktop toggle
|
||||||
|
- Minimize/close controls
|
||||||
|
|
||||||
|
### Start menu
|
||||||
|
- Launches core apps (IE, Notepad, Paint, My Computer)
|
||||||
|
- Direct folder shortcuts (My Documents, My Pictures, Music)
|
||||||
|
- Mock system actions (Control Panel, Run, Help, Log Off, Turn Off)
|
||||||
|
|
||||||
|
### Explorer and virtual filesystem
|
||||||
|
- My Computer-centered navigation model
|
||||||
|
- Back/Forward/Up icon nav buttons
|
||||||
|
- Quick Access sidebar for drives and key folders
|
||||||
|
- Openable text/image/audio virtual files
|
||||||
|
- Details panel for selected items
|
||||||
|
|
||||||
|
### Right-click context menus
|
||||||
|
- Desktop icon context menu:
|
||||||
|
- Open
|
||||||
|
- Open All Selected
|
||||||
|
- Reset Icon Layout
|
||||||
|
- Properties
|
||||||
|
- Explorer item context menu:
|
||||||
|
- Open
|
||||||
|
- Open in New Window (folders)
|
||||||
|
- Open Parent Folder (files)
|
||||||
|
- Properties
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- This is intentionally stylized and partially mock/simulated.
|
||||||
|
- Several system entries are stubs by design and can be expanded incrementally.
|
||||||
|
- Keep UX changes cohesive with the retro pink XP aesthetic.
|
||||||
|
|
||||||
|
## Contributing guidelines
|
||||||
|
|
||||||
|
- Keep dependencies minimal unless explicitly requested.
|
||||||
|
- Prefer small, targeted changes to `script.js` and `styles.css`.
|
||||||
|
- Validate with `node --check` after JS edits.
|
||||||
|
- For handoff-critical updates, mirror them in `AGENTS.md`.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
No license has been declared yet. Add one before making the repo public.
|
||||||
|
|||||||
Reference in New Issue
Block a user