Skip to content

feat(website): add @btravstack/entity to the stack - #42

Merged
btravers merged 1 commit into
mainfrom
feat/add-entity
Aug 8, 2026
Merged

feat(website): add @btravstack/entity to the stack#42
btravers merged 1 commit into
mainfrom
feat/add-entity

Conversation

@btravers

@btravers btravers commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Stacked on #40 (it needs the design.md / tokens.css shape that PR lands). Merge #40 first and GitHub retargets this to main.

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}.svg are entity's own docs marks, copied across. That is the existing convention, not a new one — I verified the unthrown pair is byte-identical to unthrown/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 #C8871F

The 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, which design.md reserves ("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.

on #100f12 card as pname on white vs amqp 24°
#C8871F 6.32 5.61 (AA) 13°
#D9A441 8.50 4.36 ✗ 15°
#E0A93A 9.01 4.14 ✗ 16°

The 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, #FF6600 at 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: #C8871F is in the emitted CSS, and both logo files ship.

Copilot AI lite review requested due to automatic review settings August 8, 2026 18:32

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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: #C8871F to the published theme tokens and document it in design.md.
  • Add the new “entity” panel to the VitePress landing page, updating copy from 3 → 4 packages.
  • Add entity-{light,dark}.svg logo 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.
@btravers
btravers changed the base branch from feat/unthrown-teal to main August 8, 2026 19:55
@btravers

btravers commented Aug 8, 2026

Copy link
Copy Markdown
Contributor Author

Rebased onto main and retargeted from feat/unthrown-teal — one commit, 9a3d60a, mergeable.

One conflict, in the two entity SVGs. fe76700 on main added them already, so this was both-added rather than a textual clash. The only difference is the validation stamp: main's copy still has stroke="#CE3D80", the org magenta, and this branch recolors it to the amber #C8871F that goes with --pkg-entity. Resolved in favour of this branch's version — the recolor is the point of the PR, not an accident of the copy. The beet's own fill="#CE3D80" body is untouched in both.

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 fe76700: main has the logo assets but no entity panel and no --pkg-entity token, so this PR is still the whole of the addition.

Rebuilt after the rebase — 4 panels, "Four libraries, one stack.", --pkg-entity: #C8871F emitted, and unthrown's #3FB0A5 intact from #40.


Unrelated, spotted while resolving: fe76700 also retired beet-worker-{light,dark}.svg, but design.md:113 still documents the worker beet as the maturity-chip marker ("a small complementary marker, never a project logo"). The prose now describes a mark with no assets. Not touching it here — say the word and I'll drop the passage in a follow-up.

@btravers
btravers merged commit 4897ebc into main Aug 8, 2026
@btravers
btravers deleted the feat/add-entity branch August 8, 2026 19:56
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.

2 participants