paulca / paulca.com Public

Move git hosting to amadan, keep GitHub as Pages mirror

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UiPa7pdG1RBqbtJfqPJ8bS
Paul Campbell f4f6d30069bb7ae18954369a1f1dac50cbf7e83b parent 768ae90
8 files changed, +56 −9
  • AGENTS.md +14 −1
  • README.md +3 −0
  • docs/ai.html +17 −2
  • docs/faq/index.html +3 −2
  • docs/index.html +1 −1
  • src/faq/05-how-published.md +3 −2
  • src/index.njk +1 −1
  • src/ledger/2026-08-16-01-move-to-amadan.md +14 −0
diff --git a/AGENTS.md b/AGENTS.md
index 2f285bc..2230ae4 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -6,6 +6,10 @@ Follow the recipes below exactly.
## How the repo works
+- The code lives on amadan: `origin` →
+ [amadan.net/paulca/paulca.com](https://amadan.net/paulca/paulca.com). GitHub
+ is kept as a second remote named `github`, purely as a deploy target for
+ GitHub Pages. See "Recipe: commit and push" — you push to both.
- `src/` — the source. All edits happen here.
- `docs/` — the built site, generated by Eleventy and **committed to git**.
GitHub Pages serves the `docs/` directory of `main` as-is. There is no build
@@ -165,6 +169,13 @@ human in the repo and reviews the live site.
git add -A
git commit -m "Add blog post: <title>" # or a one-line description of the tweak
git push origin main
+ git push github main
+
+**Push to both remotes, every time.** `origin` is amadan
+(`amadan.net/paulca/paulca.com`) — the home of the code. `github` is a mirror
+that exists only because GitHub Pages serves the live site from it. If you
+push to `origin` alone, your change is safely stored and the live site does
+not move. Both pushes, or the deploy didn't happen.
Use `git add -A` exactly as written — never stage individual files. If your
commit doesn't include the changed files under `docs/`, the live site will
@@ -176,7 +187,8 @@ Then verify the live site (GitHub Pages takes a minute or two to deploy):
curl -sL https://paulca.com/blog/<slug>/ | grep "<h1>"
If the push is rejected because the remote has newer commits, run
-`git pull --rebase`, run `npm run build` again, and push again.
+`git pull --rebase`, run `npm run build` again, and push again (to both
+remotes).
## Checklist before pushing
@@ -187,3 +199,4 @@ If the push is rejected because the remote has newer commits, run
up in `docs/ai.html`
- [ ] Nothing under `docs/` was edited by hand; nothing under the archive
directories was touched
+- [ ] Pushed to **both** `origin` (amadan) and `github` (Pages deploy)
diff --git a/README.md b/README.md
index a7bfd67..b990fdc 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,9 @@ Static personal site for [paulca.com](https://paulca.com), built with [Eleventy]
- `src/` — the source: blog posts in Markdown (`src/blog/`), the two HTML templates, the FAQ entries (`src/faq/`, one Markdown file per question), and the prompt & carbon ledger entries (`src/ledger/`, one Markdown file each).
- `docs/` — the built site, committed to git; GitHub Pages serves this directory from `main`. Built locally with `npm run build` — there is no build on push.
+
+The code is hosted on amadan at [amadan.net/paulca/paulca.com](https://amadan.net/paulca/paulca.com) (`origin`). A GitHub mirror is kept as the `github` remote solely because GitHub Pages serves the live site from it; every push goes to both.
+
- `src/microblog/` — static archive of the Pterodon microblog that previously ran at paulca.com (captured July 2026).
- `src/posts/` — individual archived posts, kept at their original `/posts/N` URLs so old links still resolve.
diff --git a/docs/ai.html b/docs/ai.html
index 26190a9..723acc1 100644
--- a/docs/ai.html
+++ b/docs/ai.html
@@ -30,6 +30,21 @@ the AI work cost. Newest first.</p>
<th>Est. CO&#8322;e</th>
<th>Roughly equivalent to</th>
</tr>
+<tr>
+ <td>August 16, 2026</td>
+ <td>Claude Opus 5 (Claude Code)</td>
+ <td>&quot;Can we move this repo's git hosting to amadan.net/paulca/paulca.com&quot;</td>
+ <td><p>Moved the repo's home to <a href="https://amadan.net/paulca/paulca.com">amadan</a>:
+created the public repo, pushed <code>main</code> and the <code>off-the-grid-cardon</code> branch,
+and made amadan <code>origin</code>. GitHub stays as a second remote named <code>github</code>,
+because GitHub Pages is still what serves the live site — so every push now
+goes to both. Updated <code>AGENTS.md</code> and <code>README.md</code> to say so, repointed the
+homepage's &quot;Last updated&quot; link at amadan, and reworded the publishing FAQ.</p>
+</td>
+ <td>~6 Wh</td>
+ <td>~2.4 g</td>
+ <td>Boiling about a tablespoon of water</td>
+</tr>
<tr>
<td>August 1, 2026</td>
<td>Claude Sonnet 5 (Claude Code)</td>
@@ -393,8 +408,8 @@ Pages. About 40 model invocations.</p>
</tr>
</table>
-<p><b>Running total:</b> ~229 Wh,
-~91 g CO&#8322;e &mdash;
+<p><b>Running total:</b> ~235 Wh,
+~94 g CO&#8322;e &mdash;
a bit more than the energy it takes to boil two litres of water, or the emissions of driving a petrol car about half a kilometre.</p>
<h2>Method</h2>
diff --git a/docs/faq/index.html b/docs/faq/index.html
index e0c7eeb..a364880 100644
--- a/docs/faq/index.html
+++ b/docs/faq/index.html
@@ -32,8 +32,9 @@ and a rough estimate of the energy and carbon the AI work cost.</p>
<h2>How does a blog post get published?</h2>
<p>Paul writes a post in a text editor and hands it to a local model, which saves
it as a Markdown file, builds the site with <a href="https://www.11ty.dev/">Eleventy</a>,
-adds a row to the ledger, and pushes the result to GitHub, where GitHub Pages
-serves it.</p>
+adds a row to the ledger, and pushes the result to
+<a href="https://amadan.net/paulca/paulca.com">amadan</a>, where the code lives. A mirror
+is pushed to GitHub too, because GitHub Pages is what serves the site.</p>
<h2>Am I evil?</h2>
<p>Clearly, but I try not to be.</p>
diff --git a/docs/index.html b/docs/index.html
index 7e8d76d..dd38d9a 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -49,7 +49,7 @@ ledger</a>. There is also a <a href="/faq/">FAQ</a>.</p>
<hr>
-<p><small>Last updated <a href="https://github.com/paulca/paulca.com">August 2026</a>.</small></p>
+<p><small>Last updated <a href="https://amadan.net/paulca/paulca.com">August 2026</a>.</small></p>
</body>
diff --git a/src/faq/05-how-published.md b/src/faq/05-how-published.md
index 8c89f1d..fd8fffd 100644
--- a/src/faq/05-how-published.md
+++ b/src/faq/05-how-published.md
@@ -4,5 +4,6 @@ question: >-
---
Paul writes a post in a text editor and hands it to a local model, which saves
it as a Markdown file, builds the site with [Eleventy](https://www.11ty.dev/),
-adds a row to the ledger, and pushes the result to GitHub, where GitHub Pages
-serves it.
+adds a row to the ledger, and pushes the result to
+[amadan](https://amadan.net/paulca/paulca.com), where the code lives. A mirror
+is pushed to GitHub too, because GitHub Pages is what serves the site.
diff --git a/src/index.njk b/src/index.njk
index 3b6b94a..ae2a3e0 100644
--- a/src/index.njk
+++ b/src/index.njk
@@ -40,4 +40,4 @@ ledger</a>. There is also a <a href="/faq/">FAQ</a>.</p>
<hr>
-<p><small>Last updated <a href="https://github.com/paulca/paulca.com">{{ buildDate | monthYear }}</a>.</small></p>
+<p><small>Last updated <a href="https://amadan.net/paulca/paulca.com">{{ buildDate | monthYear }}</a>.</small></p>
diff --git a/src/ledger/2026-08-16-01-move-to-amadan.md b/src/ledger/2026-08-16-01-move-to-amadan.md
new file mode 100644
index 0000000..316cf1d
--- /dev/null
+++ b/src/ledger/2026-08-16-01-move-to-amadan.md
@@ -0,0 +1,14 @@
+---
+model: Claude Opus 5 (Claude Code)
+wh: 6
+co2_g: 2.4
+comparison: Boiling about a tablespoon of water
+prompt: >-
+ "Can we move this repo's git hosting to amadan.net/paulca/paulca.com"
+---
+Moved the repo's home to [amadan](https://amadan.net/paulca/paulca.com):
+created the public repo, pushed `main` and the `off-the-grid-cardon` branch,
+and made amadan `origin`. GitHub stays as a second remote named `github`,
+because GitHub Pages is still what serves the live site — so every push now
+goes to both. Updated `AGENTS.md` and `README.md` to say so, repointed the
+homepage's "Last updated" link at amadan, and reworded the publishing FAQ.