Skip to content

feat(website): add @btravstack/di to the stack - #43

Merged
btravers merged 2 commits into
mainfrom
feat/add-di
Aug 10, 2026
Merged

feat(website): add @btravstack/di to the stack#43
btravers merged 2 commits into
mainfrom
feat/add-di

Conversation

@btravers

Copy link
Copy Markdown
Contributor

di is published (@btravstack/di@0.1.0) with its docs live, so it joins the landing as the fifth panel.

Placement

Third, after entity and before the two contract packages. The row now reads as the stack does — errors → the domain built on them → the wiring that assembles it → the transports that carry it — and unthrown still leads because the other four build on it.

Third is also what keeps the two blues apart. In the three-column grid the panels wrap as:

unthrown (teal)   ·  entity (amber)  ·  di (blue)
amqp (orange)     ·  temporal (indigo)

Appending di last would have put it beside temporal in the second row, blue against indigo. Heading and lead move from four to five; the hero package count and both footer link lists derive from the array, so they needed no edit.

The color: blue #3E7FD4

di's docs site already argues the case — blue is plumbing: the connections behind the wall that everything visible runs on, which is what a wiring container is, and the hex should be the logo's own so chrome and artwork stay one color. Both halves of that stand. Only the specific blue changes.

.btv-pname paints the package name in the raw token on dark and darkened 30% on light, so a candidate is measured twice:

on #100f12 card as pname on white
#3E7FD4 4.72 7.10 (AA)
#2A62B8 (di's docs accent) 3.22 ✗ 9.46
--pkg-temporal #6B76F2 5.00 6.75
--pkg-unthrown #3FB0A5 7.25 5.01

#2A62B8 is the logo's deep blue and lands well under the 5.00–7.25 the other four occupy — not marginally, and design.md records contrast: pass for this page. #3E7FD4 is the logo's lighter blue, already painted on the barrel rim, the plunger and the needle hub, so it is still a hex the mark itself uses.

The mark

di is the one package that does not yet ship a logo-{light,dark} pair, so unlike entity there was nothing to copy — I authored it. logos/di-dark.svg is di's logo.svg byte-for-byte; it was drawn for a near-black canvas. logos/di-light.svg inverts the three values that read against the canvas rather than against the artwork:

barrel   #EAF2FB -> #2A2730     14.67 on white
plunger  #2A62B8 -> #3E7FD4      3.63 on the dark barrel
needle   #9FB2C8 -> #5A6675      5.85 on white

Left alone, the near-white barrel washes out on the light card and the mark reads as a floating beet with a blue cap. Everything else is untouched — the deep blue thumb rest and rod, the rim, the beet, the drop. The graduation ticks stay #3E7FD4 at 50%: 1.89 against the dark barrel versus 1.81 against the light one, so they read equally faint either way.

The install line

pnpm add @btravstack/di unthrown — the only two-package install on the page. unthrown is a peer dependency (^5.0.0), so the single-package form would show a command that leaves di unusable.

Companions

Verified

pnpm build clean. Headless screenshots in both themes: 5 panels render in the wrap above, the hero reads 5 packages, --pkg-di: #3E7FD4 is in the emitted CSS, and both logo variants read at 52px against their card.

di is published (0.1.0) with its docs live, so it joins the landing as the
fifth panel. It sits third, after entity and before the two contract packages:
the row now reads as the stack does — errors, the domain built on them, the
wiring that assembles it, then the transports that carry it.

Third place is also what keeps the two blues apart. In the three-column grid
the panels wrap as unthrown · entity · di / amqp · temporal, so di's blue never
touches temporal's indigo; appending it last would have put them side by side
in the second row.

New --pkg-di token, blue #3E7FD4: blue is plumbing — the connections behind the
wall that everything visible runs on, which is what a wiring container is. It is
the logo's own lighter blue, the one on the barrel rim and the plunger, so
chrome and artwork stay one color. 4.72 on the dark card, 7.10 as darkened text
on white (AA). Not di's docs accent #2A62B8, which is the logo's deep blue and
measures 3.22 on the dark card, well under the 5.00–7.25 the other four occupy;
btravstack/di#6 moves that half.

The mark needed a light/dark pair, which di does not yet ship — logos/di-dark
is its logo.svg unchanged, and logos/di-light inverts the three values that read
against the canvas rather than against the artwork: the glass barrel, the
plunger head and the needle shaft. Everything else is untouched. Elsewhere in
the org these files are byte-identical copies of the docs originals, so
btravstack/di#7 moves them back upstream.

The install line names unthrown too — it is a peer dependency, and the panel
would otherwise show a command that leaves the package unusable.

The hero count and the footer link lists derive from the array, so only the
section heading and lead needed the four-to-five edit.
Copilot AI lite review requested due to automatic review settings August 10, 2026 14:09

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 the newly published @btravstack/di package to the website landing “stack” and design system, including its accent token and logo assets, so the landing reflects the full five-package ecosystem.

Changes:

  • Add --pkg-di accent token (#3E7FD4) to the shared theme tokens and document it in design.md.
  • Add di as the third package panel on the landing page (including install command, docs/repo links, and copy-to-clipboard).
  • Introduce light/dark SVG logo variants for di in the website public assets.

Reviewed changes

Copilot reviewed 4 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
packages/theme/src/tokens.css Adds --pkg-di to the canonical package accent tokens.
design.md Updates the locked design system to include the fifth docs site and the --pkg-di token.
apps/website/public/logos/di-light.svg Adds the light-theme di logo variant.
apps/website/public/logos/di-dark.svg Adds the dark-theme di logo variant.
apps/website/.vitepress/theme/Landing.vue Inserts di as the 3rd landing panel and updates copy from 4 → 5 packages.
.changeset/di-accent-token.md Adds a changeset documenting the new --pkg-di token.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .changeset/di-accent-token.md Outdated
It was the only lowercase hex across the changesets, two paragraphs from
this changeset's own `#3E7FD4`. It was quoting di's custom.css verbatim,
which is lowercase, but CSS hex is case-insensitive so the claim holds
either way.
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