diff --git a/README.md b/README.md index 63b4181..190b25d 100644 --- a/README.md +++ b/README.md @@ -12,13 +12,20 @@ static React SPA with per-app prerendered pages, built with Vite and served from Read **[SPEC.md](SPEC.md)** (§7 has the checklist), add `apps//`, and open a PR. CI enforces the schema, exact asset dimensions, and the store's quality gates automatically. +## Browsing the store + +- `/` — the featured shelf + filterable/searchable grid. +- `/apps` — the **Apps** tab: every listing as a phone-home-screen icon grid (tap an icon to open + the dApp). This is the mobile-first browse/launch surface, and what the dig-chrome-extension's + "Explore DIG Network" action surfaces. + ## Machine consumption - `https://explore.dig.net/catalog.json` — every listing's full metadata + asset URLs; consume this instead of scraping HTML. - `https://explore.dig.net/llms.txt` — the agent-facing map of the store. - Per-app pages at `/app/` ship `SoftwareApplication` JSON-LD; the home page ships - `WebSite` + `ItemList`. + `WebSite` + `ItemList`; `/apps` ships its own title/canonical/OG card. ## Development diff --git a/SPEC.md b/SPEC.md index 0258257..927263a 100644 --- a/SPEC.md +++ b/SPEC.md @@ -186,7 +186,11 @@ Every build regenerates, and every deploy serves: - `/app/` — a prerendered HTML page per listing carrying its own title, meta description, canonical URL, OG/Twitter tags (including the app's OWN `og:image` — sharing a detail page unfurls that app's card, never the generic store card), and `SoftwareApplication` JSON-LD. -- `/sitemap.xml`, `/robots.txt`, `/llms.txt` — kept in sync with the catalog on every build. +- `/apps` — a prerendered HTML page for the Apps home-screen tab (§6), carrying its own title, + meta description, canonical URL, and OG/Twitter tags (the store's own `og.png`, since the tab has + no per-listing art of its own). +- `/sitemap.xml`, `/robots.txt`, `/llms.txt` — kept in sync with the catalog on every build; the + sitemap and `llms.txt` both list `/apps` alongside home and every `/app/` page. - The store's own icon set: `/favicon.svg`, `/apple-touch-icon.png` (180×180), `/icon-192.png`, `/icon-512.png`, `/site.webmanifest`, and the store's social card `/og.png` (1200×630). - **Build gate** (`scripts/check-dist.mjs`): a build fails unless every file above exists, the @@ -225,8 +229,16 @@ be renamed or repurposed. ``, and at `window.__APP_VERSION__`. - **Bug reporting:** the shared `@dignetwork/components` `` is mounted at the shell; its API host `api.bugreport.dig.net` is allowed in the CSP. -- **Routing:** `/` (home), `/app/` (detail), anything else renders the not-found state. The - filter state mirrors to the URL as `?category=&q=`. +- **Routing:** `/` (home), `/apps` (the Apps home-screen tab), `/app/` (detail), anything else + renders the not-found state. The filter state mirrors to the URL as `?category=&q=` + (home only — the Apps tab below has no filter/search). +- **Apps home-screen tab (`/apps`):** every listed dApp renders as a phone-home-screen icon — the + listing's `assets.icon` plus its `name` label beneath, in a responsive grid (rows of rounded icons + on mobile; the same grid scales up on desktop). Tapping a tile's icon+label opens the dApp's `url` + directly in a new tab (the same action as the Store tab's "Open dApp" CTA); a small, separate "i" + affordance on each tile links to that listing's `/app/` detail page. A `