SIGN IN SIGN UP

docs: redesign the README as a landing page, with a star/share call to action (#131)

Closes #130

## What

`README.md` rewritten from scratch as a **landing page**. Now that
`docs/` exists
(#128), the README no longer has to be the manual — it has to make the
first
15 seconds count and then get out of the way.

Documentation only. No source changes, no behaviour changes.

## The shape of the new page

| Section | Purpose |
|---|---|
| Hero + badges + nav | A plain-language subtitle (works across one or
many workspaces, AI-agent friendly), badges answering the "is this
maintained?" question above the fold, and a short **star ask** directly
under the nav |
| Demo video | Kept, moved up, with a one-line description of what it
shows |
| Unofficial-tool disclaimer | Now a GitHub `[!IMPORTANT]` alert instead
of a plain quote |
| **Quickstart** | Three `<details open>` steps — install, sign in, do
something useful. Per-platform installs nest one level deeper, so the
page is short but nothing is more than a click away |
| **What do you want to do?** | A 12-row task table: intent → command →
docs page. This is the routing layer into `docs/` |
| **Built to be scripted** | Three real `jq` pipelines; the AI-agent /
automation pitch that the repo description already makes but the README
never did |
| **Authentication** | A Mermaid diagram of the dual-auth dispatch, with
the four sign-in methods and the credential-storage table collapsed
underneath |
| **Command reference** | One `<details>` per command group, all seven
covered |
| **Spread the word** | The fuller ask once the reader has seen what the
tool does, plus a collapsed star-history chart |
| **Documentation** | Two-column table: user guide vs developer docs,
with the dev command block |
| **Contributing** | Leads with the issue-first / `ready-for-pr` policy
as an `[!IMPORTANT]` alert, then `good first issue` / `help wanted`
entry points |

## Interactivity

Everything is GitHub-native rendering — no committed assets, no external
JS:
15 `<details>` blocks (2 levels deep in the install section), alert
blockquotes,
a Mermaid fence, `<picture>` with `prefers-color-scheme` for the
star-history
chart so it works in both themes, and anchor nav in the hero.

## The star / share ask

Previously absent from the page entirely. Now asked twice, at the two
moments
someone is actually willing to act:

1. **In the hero**, right under the nav — a one-line ask in plain text,
with
the heading itself linking to the repo. No buttons; the status badges
are
   directly above it and a second button row read as redundant.
2. **Lower down** as "Spread the word", once the reader has seen what
the tool
does — star / discussions / issues links, a row of share buttons, a
ranked
   list of other ways to help, and a collapsed star-history chart.

Plus a closing line in the footer. Deliberately not sprinkled anywhere
else.

## Revision after first review

Two changes on top of the original push:

- The subtitle led with *"pipe it all into `jq`"*, which reads as
complexity to
anyone who is not already a shell user. It now leads with working across
one
or many workspaces and names the **AI-agent friendly** angle instead of
a
specific tool. `jq` still appears, but down in the scripting section
where
  the audience is self-selected.
- The only star ask sat three quarters of the way down the page. There
is now
one in the hero, and the lower section was retitled and trimmed so the
two
  complement rather than repeat each other.

## Revision after second review

- Dropped the "no company behind it" framing from the star ask. It now
just
  says what a star does.
- Sharing was X-only for no better reason than reflex. The share row now
covers
**X, LinkedIn, Bluesky, Reddit and Hacker News**. All carry a
pre-written line
except LinkedIn, which dropped support for pre-filled share text — its
link
passes the URL only and LinkedIn renders the repository's own Open Graph
  title and description.
- One cosmetic caveat: shields.io no longer serves a LinkedIn icon
(simple-icons
removed it over trademark policy), so that badge is
text-on-LinkedIn-blue
  while the other four have their icons.
- The hero's own star/share buttons were dropped — plain text there
instead.
  The share row in "Spread the word" is unchanged.

## Accuracy pass

Everything on the page was checked against the current source rather
than
copied forward:

- Every command and flag verified against `--help` for each of the seven
groups.
- `conversations unread --json` emits `{ unread_channels: [...] }`, not
  `.channels` — the `jq` example uses the real key.
- `search messages --json` match fields (`username`, `text`) checked
against
  `SearchMatch` in `src/types/index.ts`.
- Corrected a claim I had initially written: only **drafts** are
genuinely
browser-token-only. `saved list` and `conversations unread` work under
both
auth types — browser auth just backs them with Slack's native
`saved.list` /
  `client.counts` instead of `stars.list` / a `conversations.list` scan
  (`src/lib/slack-client.ts:289,372`).
- `update` installs, `update check` checks — both listed correctly.
- "400+ tests" — `bun test` reports 422.

## Verification

- All 22 relative links resolve from the repo root.
- All heading anchors used in the hero nav match their headings.
- HTML tag balance checked (`<details>` 15/15, `<div>` 3/3, table tags
4/4).
- `pre-commit run --files README.md` passes.
- `bun test` — 422 pass / 0 fail (unchanged; nothing in `src/` was
touched).

Worth eyeballing the rendered page on the PR's **Files changed → rich
diff**
before merging — the `<details>`/Mermaid/star-history bits only really
show
there.
V
VibeXP Agent committed
793acb044b19b1642d2018f7613a8fcb8058ba2d
Parent: 100ae11
Committed by GitHub <noreply@github.com> on 8/22/2026, 6:32:12 PM