Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion src/config/site-config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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.",

Expand Down
17 changes: 17 additions & 0 deletions tests/unit/seo-og-image.test.ts
Original file line number Diff line number Diff line change
@@ -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);
});
});
Loading