feat(website): add @btravstack/entity to the stack - #42
Conversation
There was a problem hiding this comment.
Pull request overview
Adds @btravstack/entity to the landing “stack” and introduces a dedicated per-package accent token (--pkg-entity) so the package panel doesn’t reuse the org accent, keeping the multi-accent design system consistent.
Changes:
- Add
--pkg-entity: #C8871Fto the published theme tokens and document it indesign.md. - Add the new “entity” panel to the VitePress landing page, updating copy from 3 → 4 packages.
- Add
entity-{light,dark}.svglogo assets to the website.
Reviewed changes
Copilot reviewed 4 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| packages/theme/src/tokens.css | Adds the --pkg-entity accent token. |
| design.md | Updates the design system to include entity and its accent token. |
| apps/website/.vitepress/theme/Landing.vue | Inserts the entity project panel and updates landing copy to four packages. |
| apps/website/public/logos/entity-light.svg | Adds entity logo asset (note: currently appears swapped vs light/dark convention). |
| apps/website/public/logos/entity-dark.svg | Adds entity logo asset (note: currently appears swapped vs light/dark convention). |
| .changeset/entity-accent-token.md | Records a minor release for @btravstack/theme to ship the new token. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
entity is published (0.3.0) with its docs live, so it joins the landing as the
fourth panel. It sits second, after unthrown and before the two contract
packages: the row now reads as the stack does — errors, the domain built on
them, then the transports that carry it.
Its mark is entity's own docs logo, copied under logos/entity-{light,dark}.svg,
which is the same convention the other three follow (verified: the unthrown
pair is byte-identical to unthrown/docs/public/logo-*.svg).
New --pkg-entity token, amber #C8871F: amber encases and preserves — a thing
suspended intact, permanently — which is sealed construction and immutable
data. 6.32 on the dark card, 5.61 as darkened text on white (AA). It replaces
--bt-pink-soft, the org accent, which entity's docs were borrowing;
btravstack/entity#47 moves that half.
The hero count and the footer link lists derive from the array, so only the
section heading and lead needed the three-to-four edit.
ec4803f to
9a3d60a
Compare
|
Rebased onto One conflict, in the two entity SVGs. If you'd rather the stamp stayed magenta, that's a one-line revert here and the amber decision only lives in the token — say so and I'll change it. Everything else applied cleanly, and nothing here duplicates Rebuilt after the rebase — 4 panels, "Four libraries, one stack.", Unrelated, spotted while resolving: |
Stacked on #40 (it needs the
design.md/tokens.cssshape that PR lands). Merge #40 first and GitHub retargets this tomain.entity is published (
@btravstack/entity@0.3.0) with its docs live, so it joins the landing as the fourth panel.Placement
Second, after unthrown and before the two contract packages. The row now reads as the stack does — errors → the domain built on them → the transports that carry it — and unthrown still leads because the other three build on it. Heading and lead move from three to four; the hero package count and both footer link lists derive from the array, so they needed no edit.
The mark
logos/entity-{light,dark}.svgare entity's own docs marks, copied across. That is the existing convention, not a new one — I verified the unthrown pair is byte-identical tounthrown/docs/public/logo-*.svg. So there was nothing to design; I was wrong when I earlier called this blocked.The mark is an ID card with the beet as its own photo, plus a tilted validation stamp — identity, sealed and validated.
The color: amber
#C8871FThe other packages' accents mean something — amqp wears RabbitMQ's orange, temporal wears Temporal's indigo, unthrown just moved to teal for not a signal, a value. entity needed the same treatment, because what it had was
--bt-pink-soft: the org accent, whichdesign.mdreserves ("the org accent never paints package content"). On this page that pink would have painted entity's panel glow and package name right beside the beetroot wordmark in the same color.Amber encases and preserves: a thing suspended intact, permanently. That is sealed construction and immutable data — validate once, seal, never changes. A material metaphor rather than a signal one, so it doesn't reopen the traffic-light reasoning behind unthrown's teal.
#100f12card#C8871F#D9A441#E0A93AThe prettier, lighter ambers fail AA as the package name on light. 13° from amqp's orange is the honest cost — they separate on lightness and saturation instead,
#FF6600at full saturation against a deep ochre, so they read as "bright orange" and "deep gold" rather than a pair.Companion
btravstack/entity#47 moves entity's own
--accent, its record mark's stamp and its four feature icons to the same amber, so the docs site and this panel agree.Build is clean: 4 panels render,
--pkg-entity: #C8871Fis in the emitted CSS, and both logo files ship.