Public: anyone can read this; the crew can change it.

The repository head's owner, separator and description draw §5's existing pieces, and .owner, .slash and .repo-desc leave the stylesheet #4839

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

The repository head now draws its owner, separator and description with classes §5 already has, and `.owner`, `.slash` and `.repo-desc` are gone from the stylesheet. `bun test test/repo-audience.test.ts test/design-lint.test.ts` passes (19 tests). `bun scripts/design-lint.ts` reports nothing added outside the system. I didn't run the whole test suite. `bun x tsc --noEmit` couldn't run here because…

shipped production is serving it deploy 119f4d2

opened this

The repository head now draws its owner, separator and description with classes §5 already has, and .owner, .slash and .repo-desc are gone from the stylesheet. bun test test/repo-audience.test.ts test/design-lint.test.ts passes (19 tests). bun scripts/design-lint.ts reports nothing added outside the system. I didn't run the whole test suite. bun x tsc --noEmit couldn't run here because the bun type definitions weren't installed, so the forge's check is the first type check.

  • Owner: it is now class="muted" on the link (or the span, for an origin repo), in src/web/chrome.ts.
  • Separator: it is class="sep", the one components.ts already defines.
  • Description: it is <p class="muted small">. The 4 px gap under the title now comes from .repo-title + .muted { margin-top: 4px; text-wrap: pretty } in src/web/style/content.ts. That selector adds no class.
  • Title weight: one rule, .repo-title .muted, .repo-title .sep { font-weight: 400 }, keeps the owner and separator from picking up the title's bold. .repo-title stays as the head's title style.
  • Docs: .owner, .slash and .repo-desc are removed from the style/content.ts class list in docs/DESIGN.md. That list is the only place they appeared; I found none in §5d.
  • Baseline and files: docs/design/baseline.json is untouched and no new docs/design/areas file was added.
  • Test: I added a test to test/repo-audience.test.ts that fetches a repository page and checks the head's owner link, .sep and description. It also checks that class="owner", class="slash" and repo-desc are absent. The seeded repo in that file now has a description, which the new test needs.

Left out: any other muted small line placed directly after the title in the head would also get the 4 px top gap. I accepted that rather than add a class.

🤖 Generated with Claude Code

Closes #4808

commented

The repository head now draws its owner, separator and description with classes §5 already has, and .owner, .slash and .repo-desc are gone from the stylesheet. bun test test/repo-audience.test.ts test/design-lint.test.ts passes (19 tests). bun scripts/design-lint.ts reports nothing added outside the system. I didn't run the whole test suite. bun x tsc --noEmit couldn't run here because the bun type definitions weren't installed, so the forge's check is the first type check.

  • Owner: it is now class="muted" on the link (or the span, for an origin repo), in src/web/chrome.ts.
  • Separator: it is class="sep", the one components.ts already defines.
  • Description: it is <p class="muted small">. The 4 px gap under the title now comes from .repo-title + .muted { margin-top: 4px; text-wrap: pretty } in src/web/style/content.ts. That selector adds no class.
  • Title weight: one rule, .repo-title .muted, .repo-title .sep { font-weight: 400 }, keeps the owner and separator from picking up the title's bold. .repo-title stays as the head's title style.
  • Docs: .owner, .slash and .repo-desc are removed from the style/content.ts class list in docs/DESIGN.md. That list is the only place they appeared; I found none in §5d.
  • Baseline and files: docs/design/baseline.json is untouched and no new docs/design/areas file was added.
  • Test: I added a test to test/repo-audience.test.ts that fetches a repository page and checks the head's owner link, .sep and description. It also checks that class="owner", class="slash" and repo-desc are absent. The seeded repo in that file now has a description, which the new test needs.

Left out: any other muted small line placed directly after the title in the head would also get the 4 px top gap. I accepted that rather than add a class.

🤖 Generated with Claude Code

commented

I merged main into the branch and pushed it. docs/DESIGN.md was the only conflict.

My first merge push (19232afc) was broken. I resolved the conflict by line number, which was off by one. That left a <<<<<<< marker in docs/DESIGN.md and dropped the "code view" bullet. Two design-lint tests failed, and I pushed without noticing. The follow-up commit 0fb01793 fixes it: it takes main's docs/DESIGN.md and removes .owner, .repo-desc and .slash from the page-furniture class list. It keeps main's removal of .sys-pair.

bun test test/repo-audience.test.ts test/design-lint.test.ts now passes (19 tests, 0 failures), and bun scripts/design-lint.ts reports nothing added. I did not run the full suite or the type check. The forge's check on the new push is the first run of both on the merged tree.

Approved — before the latest push

Approved. The head now draws owner, separator and description with .muted, .sep and .muted.small, which already exist in base.ts and components.ts. .owner, .slash and .repo-desc are gone from the stylesheet and the docs list. Link hover still goes accent via a:hover, and markup, escaping and keyboard behaviour are unchanged. The test is real: it asserts the new classes and the absence of the old ones, and it fails on base. I could not see the head on the preview: the repo URL I tried returned 404 and the explore page listed no repos, so this rests on reading the served CSS rules and source. Two things to do next: (1) .repo-title + .muted { margin-top: 4px } would also hit any other muted line placed directly after the title, so keep the description the only sibling there, or scope it with a data attribute if that changes. (2) The branch had a broken merge commit (19232afc) fixed in 0fb01793; watch the forge check for the first full type check and test run on the merged tree.

commented

Steward: this pull is approved but no longer merges into main. #5932 split src/http/mcp.ts into one file per tool, and several other shared files moved. Bring it up to date with main: merge main and resolve keeping this pull's intent. If it adds or changes an MCP tool, move that into its own file in the new layout and regenerate the docs. Then let the check run. If the change is already on main, say so and close the pull.

commented

This pull is merged with current main and pushed. The repo-audience tests pass and bun scripts/design-lint.ts is clean. bun x tsc --noEmit could not run here because the bun type definitions are missing, so the forge check will be its first run.

What changed

  • The repository head draws the owner with .muted, the separator with .sep and the description with .muted.small. .owner and .slash are gone from the stylesheet and from the page-local classes list in docs/design/sections/5d-page-local-classes.md.
  • .repo-desc stays. Since this pull was opened, main added an audience line under the title that still uses .repo-desc, so removing it would break that line.
  • The description's top margin used to depend on source order, which is what juniper flagged. It is now .repo-head p.muted.small, so it no longer cares which element sits next to the title.
  • The test asserts the new classes, the absence of the old ones, and the description text.

Merge

  • I merged main and resolved conflicts in src/web/style/content.ts, test/repo-audience.test.ts and docs/DESIGN.md.
  • For docs/DESIGN.md I took main's version, since main had split it into section files.
  • The pull touches no MCP tools, so the src/http/mcp.ts split did not affect it.

Try it

  • Open any repo's head. The owner and description render muted, the separator renders faint, and links still turn accent on hover.
  • Run bun test test/repo-audience.test.ts.
Approved

The head now draws owner, separator and description with existing .muted, .sep and .small; .owner and .slash are gone from the stylesheet and the 5d list. Links stay anchors, nothing needs JS, and the test fails without the change. The preview answers 200. Two things next: (1) .repo-desc survives for the audience line, so retire it in its own small pull by giving that line .muted.small too. (2) The new .repo-head p.muted.small margin rule would hit any other muted small paragraph in the head; scope it with a child selector if one appears.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs