Commit c3cda24
feat(landing): rebuild the home page around the promise, not the definition (#36)
## Why
The home page was written for someone who had already decided to use
Commit Check. Its first three screens were "One config, enforced
everywhere", "Start with two commands", "Why it exists" (four paragraphs
of prose), "What it checks", "What it is not" — a definition and its
boundaries. Someone who has never heard of the project needs to know
what it takes off their hands, and they decide that in about thirty
seconds.
**Please look at the deploy preview rather than the diff** — this is a
visual change.
## What the page says now
| | |
|---|---|
| **Hero** | `One config file. Every place your team commits.` beside a
real transcript of the tool handing back the corrected line. Chosen over
"Bad commits never reach main" (untrue: the hook is bypassable) and over
the aggressive framings, because the landing page's first job is
separating this from commitlint and GitHub Rulesets, and one config
across hook + CI + App + MCP is the thing no competitor does. |
| **Proof** | The eighteen organisations already on the page, moved up
to directly under the hero where proof belongs. |
| **Problem** | The four costs from "Why it exists", compressed from
prose into cards you can scan: hand-written release notes, `git bisect`
landing on a merge commit, a commit authored by `ec2-user`, a missing
sign-off found six months late. The paragraph that ties them together is
kept verbatim — it was already the best sentence on the page. |
| **What the 22 rules cover** | Six cards linking into the rule groups.
|
| **What your team sees** | The job summary table and tree, the
merge-box screenshot, and the terminal recording. |
| **Start / Pick where it runs / Pricing / FAQ** | Two commands; five
surfaces with one line each on when to pick it; Free vs Team with **no
dollar figure** (none exists in any repository — the number lives on the
Marketplace and would go stale here); eight questions people actually
ask before adopting. |
## Nothing on it is unverifiable
The rule count is `len(ALL_RULES)` = 22. The terminal samples are
transcripts — I ran them:
```
$ echo 'Fix: add streaming support' | commit-check --message
CC001 message check failed ==> Fix: add streaming support
Suggest: Use "fix: add streaming support"
```
The ten AI tools are `len(ALL_KNOWN_TOOLS)`. The `Fix:
feature/Add-Login` in the job-summary sample is the real `fix` field
from `--format json`. No download count, star count, coverage
percentage, Scorecard score or install count appears anywhere — none of
those are checkable from the repositories.
## The header is deliberately untouched
I had planned to override `{% block header %}` for a slim brand bar.
Reading the theme bundle showed that would break navigation. Instant
navigation swaps a fixed list of elements between documents:
```js
for (let o of ["[data-md-component=announce]", "[data-md-component=container]",
"[data-md-component=header-topic]", "[data-md-component=outdated]",
"[data-md-component=logo]", "[data-md-component=skip]", ...]) {
let n = ue(o), i = ue(o, e)
if (n !== undefined && i !== undefined) n.replaceWith(i)
}
```
`{% block header %}` renders outside `[data-md-component=container]`, so
a header overridden here would follow the reader onto every docs page,
and the docs header would follow them back.
`landing.css` restyles the stock header instead. The same function diffs
`<head>`, so the stylesheet is appended on arrival and removed on the
way out — which is why it is linked from the template rather than listed
in `extra_css`, and why the twenty-odd documentation pages never load
it.
Verified in the built output: all six swap targets are present on both
the landing page and `/rules/`, `landing.css` is in the head of one and
not the other, and the sidebar still renders on docs pages.
## Assets
`demo.gif` is copied in from the CLI repository rather than hotlinked,
so the page cannot break when another repository is reorganised.
Measuring it changed where it goes: 690 frames, the first empty and the
last full, so putting it in the hero would have greeted visitors with an
empty terminal. It sits below the fold, lazily loaded, with frame 630
(the ink peak) shown instead under `prefers-reduced-motion`.
The merge-box screenshot is the Marketplace image cropped past its
padding — 35% of that file is grey border for the listing's aspect ratio
— and scaled to 1200px. The other three Marketplace screenshots are not
used: they show report pages, which are Markdown, and the site renders
that natively in both colour schemes instead of freezing a light-mode
screenshot into a PNG.
## Left for a follow-up
`docs/overrides/home.html` and roughly 150 lines of home-page rules in
`docs/stylesheets/extra.css` are now unused. They stay in this PR to
keep it reviewable, and come out once this is confirmed in production.
## Verification
- `mkdocs build --strict` clean; `pytest tests/` 10 passed.
- Every anchor linked from the page checked against the built HTML
(`#commit-message-rules`, `#branch-rules`, `#author-rules`,
`#push-and-file-rules`, `#rule-index`, `#ai-attribution`).
- `/rules/` confirmed byte-for-byte unaffected by the new stylesheet.
Worth a look in both colour schemes and on a phone — the two full-bleed
bands use negative margins to escape `.md-grid`, which is the part most
likely to need a nudge.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_018xYa7m3qup5wyN5MaXFgf6
---
_Generated by [Claude
Code](https://claude.ai/code/session_018xYa7m3qup5wyN5MaXFgf6)_
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Documentation**
- Redesigned the Commit Check landing page with a new hero, terminal
demonstration, clearer product benefits, enforcement options, pricing
information, and FAQ.
- Added responsive styling for the new landing-page layout, including
logo grids, feature cards, pricing sections, screenshots, and
accessibility-friendly motion behavior.
- Updated product messaging to describe a single configuration file
across CLI, pre-commit hooks, CI, and AI agents.
- Replaced fixed rule-count references with wording that remains
accurate as documented rules change.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>1 parent 837c88a commit c3cda24
9 files changed
Lines changed: 601 additions & 267 deletions
File tree
- docs
- assets
- compare
- overrides
- stylesheets
- tests
Loading
Loading
Loading
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| |||
0 commit comments