GitHub Pages Privacy Route Implementation Plan

For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (- [ ]) syntax for tracking.

Goal: Publish the canonical bilingual privacy policy at https://zomvs.github.io/godsay/privacy/.

Architecture: Jekyll processes the existing root PRIVACY.md using a fixed permalink and the supported Minima theme. A Node static test protects the route, theme configuration, and README review link.

Tech Stack: GitHub Pages, Jekyll front matter, YAML, Node.js test runner.


Task 1: Define the Pages Contract With a Failing Test

Files:

  • Create: tests/pages-static.test.js
  • Test: tests/pages-static.test.js

  • Step 1: Add static route tests

Create tests that assert PRIVACY.md starts with front matter containing layout: page and permalink: /privacy/, _config.yml exists and contains theme: minima, and README.md links to https://zomvs.github.io/godsay/privacy/.

  • Step 2: Run the test and verify RED

Run: node --test tests/pages-static.test.js

Expected: assertion failures report the missing privacy front matter, _config.yml, and Pages URL.

Task 2: Configure the Canonical Privacy Page

Files:

  • Modify: PRIVACY.md
  • Create: _config.yml
  • Modify: README.md

  • Step 1: Add privacy front matter

Prepend this block to PRIVACY.md:

---
layout: page
title: 神说(GodSay)隐私政策 / Privacy Policy
permalink: /privacy/
---
  • Step 2: Add the supported Pages theme

Create _config.yml with:

title: 神说(GodSay)
description: Chrome extension privacy policy and project documentation
lang: zh-CN
theme: minima
  • Step 3: Update the README review link

Use https://zomvs.github.io/godsay/privacy/ as the primary privacy-policy link and retain the GitHub PRIVACY.md link as the source document.

  • Step 4: Run the focused and full tests

Run:

node --test tests/pages-static.test.js
npm test

Expected: the focused tests pass and the full suite reports 34 passing tests with zero failures.

  • Step 5: Commit and push

Run:

git add PRIVACY.md README.md _config.yml tests/pages-static.test.js docs/superpowers
git diff --cached --check
git commit -m "docs: publish privacy policy on GitHub Pages"
git push origin main

Expected: origin/main contains the Pages route configuration.

Task 3: Verify the Public Deployment

Files:

  • No file changes.

  • Step 1: Poll the public route

Request https://zomvs.github.io/godsay/privacy/ for a bounded period while GitHub Pages rebuilds.

  • Step 2: Validate the deployed policy

Require HTTP 200 and confirm the HTML contains GodSay, Limited Use, and chrome.storage.sync.

  • Step 3: Verify Git parity and clean state

Run:

git fetch origin main
test "$(git rev-parse HEAD)" = "$(git rev-parse origin/main)"
test -z "$(git status --porcelain)"

Expected: local and remote commits match and the tracked working tree is clean.