diff --git a/CLAUDE.md b/CLAUDE.md index dfb810b..707a8c3 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -2,6 +2,12 @@ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. +## Deployment: this repo is canonical for bones.sh + +**Production for [bones.sh](https://bones.sh) deploys from THIS repo** (`shipkit-io/bones`, branch `main`) via the Vercel project `bones` (`prj_GoLdhv6ei8JKqK9jydtLv5wgLzzx`). Changes intended for bones.sh production must land here. + +Do NOT use `lacymorrow/bones-www` for bones.sh work — it is archived and deploys nowhere (its Vercel project was deleted; see LAC-2792). Fixes merged there between Feb and Jun 2026 never reached production. + ## Essential Development Commands ### Development Server diff --git a/README.md b/README.md index 318eb48..dc49b6d 100644 --- a/README.md +++ b/README.md @@ -111,6 +111,8 @@ You can check out [the Next.js GitHub repository](https://github.com/vercel/next ## Deploy on Vercel +> **Note for maintainers:** [bones.sh](https://bones.sh) production deploys from **this repo** (`shipkit-io/bones`, branch `main`) via the Vercel project `bones`. The old `lacymorrow/bones-www` repo is archived and no longer deploys anywhere — changes for bones.sh belong here. + The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. diff --git a/src/config/site-config.ts b/src/config/site-config.ts index f05266d..4ee2abb 100644 --- a/src/config/site-config.ts +++ b/src/config/site-config.ts @@ -126,7 +126,7 @@ export const siteConfig: SiteConfig = { name: "Bones", title: "Launch your app today", url: "https://bones.sh", - ogImage: "https://shipkit.io/og", + ogImage: "https://bones.sh/og", description: "Launch your app at light speed. Fast, flexible, and feature-packed for the modern web.", diff --git a/tests/unit/seo-og-image.test.ts b/tests/unit/seo-og-image.test.ts new file mode 100644 index 0000000..7154aeb --- /dev/null +++ b/tests/unit/seo-og-image.test.ts @@ -0,0 +1,17 @@ +import { describe, expect, it } from "vitest"; +import { siteConfig } from "@/config/site-config"; + +/** + * Regression test for LAC-2792: prod served og:image from shipkit.io + * (ShipKit branding) because the bones-www fix for this never reached the + * canonical repo. Social shares of bones.sh must use Bones' own OG image. + * + * Invariant: the OG image lives on the site's own domain, which has a + * working /og route. + */ + +describe("og image", () => { + it("serves the OG image from the site's own domain", () => { + expect(new URL(siteConfig.ogImage).origin).toBe(new URL(siteConfig.url).origin); + }); +});