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
4 changes: 2 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ domain: technical

Unified package repository for every `jbcom/*` project. Ships Homebrew,
Scoop, and Chocolatey packages from one git tree plus an auto-generated
Astro static site at <https://jbcom.github.io/pkgs/>.
Astro static site at <https://jonbogaty.com/pkgs/>.

## Critical rules

Expand Down Expand Up @@ -71,7 +71,7 @@ Upstream projects write manifests here on every tagged release:
commit manifests here.

The Astro site rebuilds automatically on every push to `main`, so
new packages appear on <https://jbcom.github.io/pkgs/> within minutes
new packages appear on <https://jonbogaty.com/pkgs/> within minutes
of the upstream release landing here.

## What jbcom/pkgs is NOT
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Unified package repository for every `jbcom/*` project — Homebrew,
Scoop, and Chocolatey from one git tree. Public package index at
<https://jbcom.github.io/pkgs/>.
<https://jonbogaty.com/pkgs/>.

## Install

Expand Down Expand Up @@ -142,7 +142,7 @@ PY

`deploy.yml` runs on every push to `main` using `withastro/action@v6`.
Copy link

Copilot AI Apr 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This references deploy.yml, but the repo’s Pages workflow file is .github/workflows/cd.yml. Updating this (and any other mentions in the README) will keep the docs consistent with the actual workflow name.

Suggested change
`deploy.yml` runs on every push to `main` using `withastro/action@v6`.
`.github/workflows/cd.yml` runs on every push to `main` using `withastro/action@v6`.

Copilot uses AI. Check for mistakes.
The built site is deployed to GitHub Pages at
<https://jbcom.github.io/pkgs/>.
<https://jonbogaty.com/pkgs/>.

## License

Expand Down
5 changes: 3 additions & 2 deletions astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@ import { ViteToml } from "vite-plugin-toml";
import tailwindcss from "@tailwindcss/vite";

// jbcom/pkgs — package index site
// Served at https://jbcom.github.io/pkgs per Astro's GitHub Pages guide.
// Served at https://jonbogaty.com/pkgs/ via GitHub Pages custom-domain
// routing. jbcom.github.io/pkgs/ 301-redirects here automatically.

export default defineConfig({
site: "https://jbcom.github.io",
site: "https://jonbogaty.com",
base: "/pkgs",
integrations: [
vue(),
Expand Down
20 changes: 12 additions & 8 deletions docs/ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,17 +82,21 @@ tap git tree directly.
- **Deployed** via `withastro/action@v6` (auto-detects pnpm) to GitHub
Pages with base path `/pkgs`

## Why not subpath under custom domain (jonbogaty.com/pkgs)?
## Site serves at jonbogaty.com/pkgs/

Astro's official GitHub Pages guide only supports either:
The operator's apex domain `jonbogaty.com` already CNAMEs to
`jbcom.github.io`, so GitHub Pages transparently serves `/pkgs/` at
`https://jonbogaty.com/pkgs/`. `jbcom.github.io/pkgs/` 301-redirects
to the canonical URL.
Comment on lines +87 to +90
Copy link

Copilot AI Apr 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

“The operator's apex domain jonbogaty.com already CNAMEs to jbcom.github.io” is DNS-inaccurate for an apex/root record (it usually can’t be a literal CNAME). Reword to something like “is configured to resolve to / point at jbcom.github.io” to avoid implying an invalid DNS record type.

Suggested change
The operator's apex domain `jonbogaty.com` already CNAMEs to
`jbcom.github.io`, so GitHub Pages transparently serves `/pkgs/` at
`https://jonbogaty.com/pkgs/`. `jbcom.github.io/pkgs/` 301-redirects
to the canonical URL.
The operator's apex domain `jonbogaty.com` is already configured to
point at `jbcom.github.io`, so GitHub Pages transparently serves
`/pkgs/` at `https://jonbogaty.com/pkgs/`. `jbcom.github.io/pkgs/`
301-redirects to the canonical URL.

Copilot uses AI. Check for mistakes.

- Project page (`jbcom.github.io/pkgs`) with `base: '/pkgs'`
- Custom domain with `site: 'https://custom.tld'` and **no base**
Astro's `astro.config.mjs` uses `site: 'https://jonbogaty.com'` +
`base: '/pkgs'` — this feeds correct absolute URLs into sitemap and OG
metadata while internal routing stays subpath-relative.

Serving `jonbogaty.com/pkgs` requires an external reverse proxy
(Cloudflare Worker, Netlify rewrite, Caddy) that maps that path to
`jbcom.github.io/pkgs/`. That's a future-operator decision; the repo
itself is deployed at `jbcom.github.io/pkgs` today.
No CNAME file is needed in `public/` because the apex-domain CNAME is
configured repo-wide (pages settings), not per-repo via file. Adding a
`public/CNAME` would *break* the `/pkgs` base path by treating the
repo as apex-mode.

## Dependencies

Expand Down
19 changes: 11 additions & 8 deletions docs/DEPLOYMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ domain: ops

| Env | URL | Trigger |
|-----|-----|---------|
| Production | <https://jbcom.github.io/pkgs/> | Push to `main` |
| Production | <https://jonbogaty.com/pkgs/> | Push to `main` |
| Preview | Local (`pnpm dev`) | `localhost:4321/pkgs/` |

There is no staging environment. Previews happen locally.
Expand Down Expand Up @@ -53,20 +53,23 @@ Or:

- GitHub Pages build status: <https://github.com/jbcom/pkgs/deployments>
- Workflow runs: <https://github.com/jbcom/pkgs/actions>
- Site health: manual check at <https://jbcom.github.io/pkgs/>
- Site health: manual check at <https://jonbogaty.com/pkgs/>

No uptime SLA. If the site is down for more than an hour during a
release window, escalate via the upstream project's issue tracker.

## DNS / custom domain

Currently served on the GitHub-issued subdomain
(`jbcom.github.io/pkgs`). To serve `jonbogaty.com/pkgs` in the future:
The operator's apex `jonbogaty.com` already CNAMEs to
Copy link

Copilot AI Apr 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The phrase “apex jonbogaty.com already CNAMEs to jbcom.github.io” is DNS-inaccurate: apex/root records generally can’t be a CNAME (some providers offer ALIAS/ANAME flattening). Consider rewording to “resolves to / points at jbcom.github.io” so operators don’t copy an invalid DNS setup.

Suggested change
The operator's apex `jonbogaty.com` already CNAMEs to
The operator's apex `jonbogaty.com` already resolves to

Copilot uses AI. Check for mistakes.
`jbcom.github.io`. GitHub Pages transparently serves every `jbcom/*`
repo's pages subpath at the matching URL on the apex, so this repo
is live at `https://jonbogaty.com/pkgs/` with no additional config.

1. Configure Cloudflare (or equivalent CDN) to proxy
`jonbogaty.com/pkgs/*` → `jbcom.github.io/pkgs/*`
2. Do NOT add a `public/CNAME` file — per Astro docs, that converts
the site to apex-domain mode and breaks the `/pkgs` base path
`jbcom.github.io/pkgs/` 301-redirects to the apex, so operators
following the GitHub URL end up in the right place.

Do NOT add a `public/CNAME` file. That converts this repo to
apex-domain mode and would break the `/pkgs` base path.

## Broken-build triage

Expand Down
2 changes: 0 additions & 2 deletions docs/STATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@ publish from `jbcom/radioactive-ralph`.
the seeded manifests
- A non-Go publishing workflow template for `jbcom/paranoid-passwd`
and other CMake/C projects (no GoReleaser equivalent)
- Reverse-proxy setup for `jonbogaty.com/pkgs` → `jbcom.github.io/pkgs`
(optional; current deploy works at the GitHub-issued subdomain)

## Active owners

Expand Down
Loading