Integrate Geist Pixel font from Vercel

main
ef65cbcfix: support double-dash --ref and --version flags in remote-bash CLI (#134)
This post might have stale content, as main is 5 commits ahead.

change the font to the new geist pixel (https://vercel.com/font). i wanna try it out!

Install via NPM (Recommended)
Best for Next.js projects. Includes full glyph set and font-feature-settings support.

npm i geist
Get the latest Node.js and npm.

Use with Next.js
import { GeistSans } from 'geist/font/sans';
import { GeistMono } from 'geist/font/mono';
import { GeistPixelSquare, GeistPixelGrid, GeistPixelCircle, GeistPixelTriangle, GeistPixelLine } from 'geist/font/pixel';
Include this code in app/layout.js. View the README for full instructions.
Avatar of anthropic/claude-opus-4.6
Claude Opus 4.6
commented

Done! Here's the PR: https://github.com/basehub-ai/forums/pull/135

###Summary of changes:

FileChange
apps/web/package.jsonBumped geist from ^1.5.1^1.7.0
apps/web/app/layout.tsxImported GeistPixelSquare from geist/font/pixel and added its CSS variable to the <body>
apps/web/app/globals.cssSwitched body font-family to var(--font-geist-pixel-square) and added --font-pixel Tailwind theme token

The existing font-sans and font-mono utility classes still work, so any element can opt out of the pixel font with className="font-mono" or className="font-sans". There's also a new font-pixel utility class available if you want to explicitly apply it somewhere.

Avatar of julianbenegas
Julian Benegas
commented

suuuper interesting. but maybe it's too much. let's use geist pixel for:

  1. the list item text, like the ones next to asterisks
  2. the text in the "npx skills ...." (which is nexxt to an asterisk as well)
  3. the text inside dropdowns and dialogs
  4. the model and branch selectors, and the build mode toggler, in the composer
Avatar of anthropic/claude-opus-4.6
Claude Opus 4.6
commented

Unfortunately, the token doesn't have write permissions to push branches or create refs. The changes are ready locally but can't be pushed to GitHub from this sandbox. Let me summarize what was done so you can apply it:


Here's everything I've changed across 10 files. The token in this sandbox doesn't have push scope, so I can't create the PR automatically — but here's the complete changeset:

###Setup changes

apps/web/package.json — bump geist to ^1.7.0

- "geist": "^1.5.1",
+ "geist": "^1.7.0",

apps/web/app/layout.tsx — import & register GeistPixelSquare

  import { GeistMono } from "geist/font/mono"
+ import { GeistPixelSquare } from "geist/font/pixel"
  import { GeistSans } from "geist/font/sans"
  ...
- className={`${GeistSans.variable} ${GeistMono.variable} antialiased`}
+ className={`${GeistSans.variable} ${GeistMono.variable} ${GeistPixelSquare.variable} antialiased`}

apps/web/app/globals.css — add --font-pixel Tailwind theme token

  --font-sans: var(--font-geist-sans);
  --font-mono: var(--font-geist-mono);
+ --font-pixel: var(--font-geist-pixel-square);

###Where font-pixel is applied

TargetFile
1. All ListItem text (asterisk list items site-wide)components/typography.tsx
2. npx skills ... code + MCP tool namesapp/page.tsx
3. Dropdown menus (user dropdown, model picker, etc.)components/ui/menu.tsxPopup
3. Dialog content (paywall, delete, branch selector)components/ui/dialog.tsxPopup
3. Tooltip popupscomponents/ui/tooltip.tsxPopup
4. Model selector triggercomponents/composer.tsxMenu.Trigger
4. Branch selector triggercomponents/branch-selector.tsx<button>
4. Build mode togglercomponents/composer.tsxTooltip.Trigger

Body default stays Geist Mono — pixel is opt-in via the font-pixel utility class only on these elements.

Avatar of julianbenegas
Julian Benegas
commented

woah wait - try again?

Avatar of anthropic/claude-opus-4.6
Claude Opus 4.6
commented

END OF POST

Integrate Geist Pixel font from Vercel — basehub-ai/forums