Landing page for Pify: Pi Packages for the
pi coding agent, the @pify/cli front door,
and the Pify Agent Book.
Built with Next.js 16 (App Router), Tailwind CSS v4 and TypeScript, the same stack as the docs site. Fully static; no server code.
npm install
npm run dev # http://localhost:3000
npm run typecheck # next typegen && tsc --noEmit
npm run buildIf npm run cannot find node in your shell (seen with Git Bash on Windows), call the binary directly: node node_modules/next/dist/bin/next dev.
lib/packages.tsmirrorscatalog.jsonfrom pifydev/cli. When a package is published or its description changes, update it there: every count on the page (hero, headings, the cell grid, metadata, the social card) derives from that list. Replace any em dash in a catalog description with a colon. Versions are intentionally not shown.- Brand assets live in
public/(logos) andapp/fonts/(Geist, Geist Mono).app/icon.svgis the favicon for modern browsers and follows the OS color scheme;app/favicon.ico(16/32/48),app/apple-icon.png(180) andpublic/icon-192.pngare generated frompublic/pify-light-512.pngwithnpm run icons.app/manifest.tsis the web manifest. - The social card (Open Graph and X
summary_large_image, 1200x630) is rendered at build time byapp/opengraph-image.tsxfrom the logo geometry, Geist, and the page headline;app/twitter-image.tsxreuses it. Preview at/opengraph-image. design/BRIEF.mdis the research the page was built from;design/DESIGN.mdis the design direction, the palette with measured contrast, and the reason behind each decision.
- Build check (
.github/workflows/deploy.yml): every pull request and every push tomainrunsnpm ci,typecheckandbuildon Node 22, and fails if an em dash appears in UI text. - Deploy: the Vercel Git integration, as for pifydev/docs. Pushes to
mainbecome production deployments of https://pify.dev; pull requests get preview URLs fromvercel[bot]. No build configuration is needed on Vercel; the framework preset is Next.js. - Release (
.github/workflows/release.yml): pushing av*tag builds the site, checks that the tag matchespackage.json, and creates a GitHub Release with generated notes.
npm version patch # or minor / major
git push --follow-tagsSite source: MIT. Geist and Geist Mono are licensed under the SIL Open Font License 1.1.