# AGENTS.md

## What this product is

Offline Dad is an Austin-first iOS app (currently in TestFlight beta; no public App
Store release is announced) that helps dads plan real time with their kids:

- A Sunday evening check-in sets one intention for the week.
- Every Thursday morning, the app sends three weather-aware Austin weekend ideas
  with distance, Maps links, and one-tap calendar adds.

This repository is the marketing site and content hub at https://offlinedad.com.
It also publishes ten source-checked Austin family weekend planning guides and a
free, static outing finder tool.

## Repository structure

- `index.html` — homepage (hero, waitlist form, product sections). Hand-maintained.
- `content/resources.json` — manifest for all generated pages (articles, trust pages).
- `scripts/build-content.mjs` — static site generator. Renders resource guides,
  the resources hub, the finder, trust pages, sitemap, and RSS from the manifest,
  then copies the deployable bundle into `public/`.
- `resources/`, `about/`, `contact/`, `privacy/`, `terms/` — generated HTML. Do not
  hand-edit; edit `content/resources.json` or the templates in
  `scripts/build-content.mjs` and rebuild.
- `styles-v2.css` — global stylesheet used by every page.
- `vercel.json` — Vercel config (`outputDirectory: "public"`, redirects, rewrites,
  headers). The `/api/waitlist` and `/api/share` endpoints are rewritten to a
  separate backend (`offline-dad-api.vercel.app`); no backend code lives here.
- `test/seo-contract.test.mjs` — content/SEO contract tests run against the
  generated output.

## Commands

- `npm run build` — regenerate all pages and the `public/` deploy bundle.
- `npm test` — run the SEO/content contract tests.
- `npm run verify` — build + test.

## Key routes

- `/` — homepage with the TestFlight waitlist form (`POST /api/waitlist`).
- `/resources/` — planning guides hub.
- `/resources/finder/` — static outing finder (no live data).
- `/resources/<slug>/` — ten planning guides.
- `/about/`, `/contact/`, `/privacy/`, `/terms/` — company and legal pages.
- `/llms.txt`, `/agents.md`, `/.well-known/agent-card.json`,
  `/.well-known/ai-agent.json` — agent discovery files.
- `/feed.xml`, `/sitemap.xml`, `/robots.txt` — crawl/discovery files.

## How agents should interact

Allowed:

- Read and cite any public page.
- Use the outing finder (`/resources/finder/`) with user-supplied constraints.
- Follow the official-source links in guides for current conditions; the static
  guides never claim live venue status.

Disallowed:

- Do not submit the waitlist form (`POST /api/waitlist`) except with an email
  address the user explicitly provided for that purpose.
- Do not fabricate signups, accounts, or reviews. There is no purchase, checkout,
  or account flow on this site.
- Do not represent the app as available on the App Store; it is a TestFlight beta.

## Conventions

- All copy must stay factual: Austin-first, TestFlight beta, no App Store launch
  implied. The contract tests enforce this.
- Generated pages must keep one `<h1>`, canonical links, JSON-LD, and visible
  verification dates — see `test/seo-contract.test.mjs` for the full contract.
