design: stoke brand system (replaces #12, without the 23MB of binaries) #16

Merged
andres merged 1 commit from design/brand-system-v2 into main 2026-07-26 21:28:23 +00:00

Replaces #12. Same design work, without the 23 MB of binaries — and with a packaging bug that PR surfaced.

What #12 got wrong

I committed every generated render into the repo: 7 files, ~23 MB of PNG and MP4. Two measured costs:

Before After
npm pack tarball 23.7 MB 26.7 kB
Files in tarball whole working dir 7
Added to .git (currently ~23 MB) ~23 MB, permanent 1.4 kB

A 200× bloat delivered to everyone who installs a command-line tool, for images none of them will ever look at. Git history is forever, so a marketing render committed today is still being cloned by every contributor in five years.

What this does instead

  • Keeps docs/DESIGN.md and assets/logo-mark.svg — 1.4 kB of vector text that diffs cleanly and is the one asset the project might actually need to render.
  • Drops the rasters. They live in the Figma file, which was already the source of truth and is linked from the doc. Binaries that exist to be looked at belong where people look at them.
  • Adds the missing files whitelist to package.json. There wasn't one, so npm pack shipped the entire working directory — it was already publishing the test suite to users before my assets made the problem obvious. This is a pre-existing bug, independent of the design work.

Why a new branch rather than a cleanup commit on #12

Merging design/figma-concept would write those blobs into main's history permanently, even with a later commit deleting the files — the objects stay reachable through the merged ancestry. The only way to keep them out of main is to not merge that history at all. #12 closed as superseded.

Verification

$ npm pack --dry-run
npm notice package size: 26.7 kB
npm notice unpacked size: 108.0 kB
npm notice total files: 7

$ npm test
# tests 61
# pass 61
# fail 0

$ node src/cli.js --version
1.3.0

Reviewers: @codex-reviewer-andresmgsl @grok-reviewer-andresmgsl @kimi-reviewer-andresmgsl

Replaces #12. Same design work, without the 23 MB of binaries — and with a packaging bug that PR surfaced. ## What #12 got wrong I committed every generated render into the repo: 7 files, ~23 MB of PNG and MP4. Two measured costs: | | Before | After | | --- | --- | --- | | `npm pack` tarball | **23.7 MB** | **26.7 kB** | | Files in tarball | whole working dir | 7 | | Added to `.git` (currently ~23 MB) | **~23 MB, permanent** | 1.4 kB | A 200× bloat delivered to everyone who installs a *command-line tool*, for images none of them will ever look at. Git history is forever, so a marketing render committed today is still being cloned by every contributor in five years. ## What this does instead - Keeps `docs/DESIGN.md` and `assets/logo-mark.svg` — 1.4 kB of vector text that diffs cleanly and is the one asset the project might actually need to render. - Drops the rasters. They live in the [Figma file](https://www.figma.com/design/q6bYh7pRChTbg0diKAVrcS/stoke-Brand-Landing), which was already the source of truth and is linked from the doc. Binaries that exist to be *looked at* belong where people look at them. - **Adds the missing `files` whitelist to `package.json`.** There wasn't one, so `npm pack` shipped the entire working directory — it was already publishing the test suite to users before my assets made the problem obvious. This is a pre-existing bug, independent of the design work. ## Why a new branch rather than a cleanup commit on #12 Merging `design/figma-concept` would write those blobs into `main`'s history permanently, even with a later commit deleting the files — the objects stay reachable through the merged ancestry. The only way to keep them out of `main` is to not merge that history at all. #12 closed as superseded. ## Verification ``` $ npm pack --dry-run npm notice package size: 26.7 kB npm notice unpacked size: 108.0 kB npm notice total files: 7 $ npm test # tests 61 # pass 61 # fail 0 $ node src/cli.js --version 1.3.0 ``` Reviewers: @codex-reviewer-andresmgsl @grok-reviewer-andresmgsl @kimi-reviewer-andresmgsl
claude-bot-andresmgsl added 1 commit 2026-07-26 21:26:54 +00:00
Replaces #12, which committed every generated render into the repo. Rebuilt on
a clean branch because merging the original would have written those blobs into
main's history permanently, even with a later commit deleting them.

What changed from #12:

- Keeps docs/DESIGN.md and assets/logo-mark.svg (1.4 kB of vector text).
- Drops ~23 MB of PNG/MP4. They live in the Figma file, which was already the
  source of truth and is linked from the doc. stoke's .git is ~23 MB; those
  assets would have doubled it, forever.
- Adds the missing "files" whitelist to package.json. There wasn't one, so
  npm pack shipped the whole working directory: measured 23.7 MB with the
  assets, and it was already shipping the test suite without them. Now 26.7 kB
  across 7 files.

The packaging bug is pre-existing and independent of the design work; the
oversized PR is just what made it visible.

61/61 tests pass; `stoke --version` → 1.3.0.
andres merged commit 1165ee22c3 into main 2026-07-26 21:28:23 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: heavy-duty/stoke#16
No description provided.