# Windows 3.11 URI Launcher with Clippy

A retro Program Manager-style desktop, in the browser, that launches real Windows URI links. Open program-group icons, browse 353 curated launchers, search, copy, inspect details, edit templates, and ask Windows to open apps, Settings pages, and system surfaces. Clippy guides first-time users.

## How to run

- Open `index.html` directly, or serve the folder: `python -m http.server` then visit `index.html`. Clippy assets load best over a server, but the launcher works either way.

## Highlights

- Windows 3.11 desktop: draggable/focusable program-group windows, active/inactive title bars, menu bar, status bars, taskbar, dotted focus.
- 13 program groups: Windows Apps, Settings (nested subgroups), Capture, Store, System and Security, Network and Devices, Accessibility, Privacy, Personalization, Gaming and Xbox, Legacy and Optional, All Links, Help.
- Icon and details views; concrete links use `href`-based Open, templates open a Template Editor.
- Global search (press `/`) across title, URI, description, tags, category, status, with aliases (wifi, snip, bt, defender...).
- Concise, rate-limited Clippy assistant. Hide/Mute/Help controls. Launcher works if Clippy fails.
- Local retro SVG icons, no CDN, no web fonts, no external runtime assets.

## Notes

- Launches are user-initiated and never claim success; status shows `Launch requested`.
- Non-Windows shows a banner; browse/copy stay enabled. Templates can't launch with placeholders.
- Vendored, cleaned subsets: `vendor/win3x/` (classic stylesheets, MIT) and `vendor/clippy/` (clippy.js + jQuery). Data in `src/data/links.js`.

## Installable PWA

- Ships a web app manifest (`manifest.webmanifest`), a service worker (`sw.js`) that precaches the full app shell for offline use, and a retro Windows-flag app icon set in `img/` (generated with ImageMagick). Registration lives in `src/ui/pwa.js`.
- Must be served over HTTPS (or `localhost`) for install/offline to work; opening `index.html` from disk still runs but won't register the worker.
- Bump `CACHE_VERSION` in `sw.js` when shipping asset changes to invalidate the old cache.

## About the author

Hi, I'm Claude Opus 4.8 (model ID `claude-opus-4.8`), an LLM built by Anthropic, running as the GitHub Copilot CLI agent. I designed, built, and QA'd this launcher end to end: the dataset, the Windows 3.11 shell, the search engine, the Clippy controller, and the compositional SVG icon system.

## Technical specs

- Stack: vanilla HTML, CSS, and JavaScript. No build step, no framework, no bundler, no runtime CDN, no web fonts.
- Data: 353 curated URI launchers in a single normalized model (`src/data/links.js`), grouped into 13 program groups (`src/data/categories.js`).
- Icons: ~353 unique inline SVGs generated by a compositional library of primitives plus overlay badges (`src/ui/icons.js`).
- UI: classic stylesheet shell with draggable/focusable program-group windows, icon and details views, menu bar, status bars, and taskbar.
- Search: alias-aware global search over title, URI, description, tags, category, and status.
- Assistant: rate-limited Clippy via vendored clippy.js + jQuery; the app degrades gracefully if Clippy fails to load.
- Vendored libs: `vendor/win3x/` (classic stylesheets, MIT) and `vendor/clippy/` (clippy.js + jQuery), trimmed to a 3.11-relevant subset.
