Skip to content

feat(site): announcements page + Introducing Chat mode post - #85

Merged
frenchie4111 merged 2 commits into
mainfrom
site-announcements-page-chat-mode-post
May 25, 2026
Merged

feat(site): announcements page + Introducing Chat mode post#85
frenchie4111 merged 2 commits into
mainfrom
site-announcements-page-chat-mode-post

Conversation

@frenchie4111

Copy link
Copy Markdown
Collaborator

Summary

  • New /announcements.html index that fetches announcements.json and renders one card per post (data-driven — future posts only need a JSON entry + per-post HTML).
  • First post at /announcements/introducing-chat-mode.html covering what Chat mode is, what's different from terminal Claude, and how to turn it on. Uses screenshot.png as a placeholder for now (TODO comment in place for the dedicated shot).
  • announcements.json now ships the first entry with a summary field for the index. The desktop-app feed validator (src/main/announcements-poller.ts:validateEntry) drops unknown fields silently, so existing clients keep parsing the feed without changes.
  • Header nav gets an "Announcements" link between Guide and Install on the React site, on guide.html, releases.html, and the two new pages.
  • CLAUDE.md gets a new workflow rule (item 8): don't put boxes around screenshots on the marketing site. Drops the cumulative friction of having to keep removing them across sessions.

Test plan

  • npm run typecheck:site — clean
  • Local Vite preview of /announcements.html — card renders, date displays in UTC (matches the authored publishedAt)
  • Local preview of /announcements/introducing-chat-mode.html — header, hero, screenshot, body, and CTA render
  • curl /announcements.json — valid JSON with the new entry
  • Homepage shows the new nav link
  • Confirm the desktop-app announcement banner picks up the new entry after deploy (production feed at https://harness.mikelyons.org/announcements.json)
  • Swap /screenshot.png references in the post + OG tags for a chat-mode-specific shot

🤖 Generated with Claude Code

frenchie4111 and others added 2 commits May 25, 2026 13:16
- New `/announcements.html` index that fetches `announcements.json` and
  renders one card per post (data-driven so future posts only need a
  JSON entry + per-post HTML).
- First post at `/announcements/introducing-chat-mode.html` covering
  what Chat mode is, what's different from terminal Claude, and how
  to turn it on. Uses the existing site screenshot as a placeholder
  with a TODO for a chat-mode-specific shot.
- `announcements.json` now carries the post entry with an optional
  `summary` field (validated `validateEntry` in `announcements-poller`
  drops unknown fields silently, so this is safe for the desktop-app
  feed).
- HeaderNav gets a new "Announcements" link between Guide and Install.
- CLAUDE.md: add a convention reminding future sessions not to put
  borders/boxes around screenshots on the marketing site.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replaces the single placeholder screenshot with a drag-to-compare
slider showing the same Harness session rendered in Terminal mode
vs. Chat mode (pixel-aligned, same prompts, same window chrome).

Slider is vanilla JS with pointer events for drag, keyboard arrow
support on the handle (with role=slider + aria-valuenow updates).
Frame is transparent so the page's gradient background flows
through; images are trimmed and re-encoded as webp (~90-120KB each)
so the page is still fast.

Also strips em-dashes and flowery adjective language across the
post body, meta description tags, and the JSON summary. Aligns the
index subtitle, post intro, and JSON summary on a single line:
"A modern chat interface for Claude Code, built into Harness.
Same agent, same auth, same MCP setup."

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@frenchie4111
frenchie4111 merged commit 27414c3 into main May 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant