Skip to content

chore: add CI, a drift check, a licence and contributor guidance - #11

Merged
ElianCodes merged 1 commit into
mainfrom
chore/ci-checks-and-hygiene
Sep 28, 2026
Merged

ElianCodes merged 1 commit into
mainfrom
chore/ci-checks-and-hygiene

Conversation

@ElianCodes

Copy link
Copy Markdown
Contributor

3 of 3. Stacked on #10. Review #9 → #10 → this.

This repo had no .github/, no CI and no LICENSE — alone among the Coral
repos. A broken cross-link or bad frontmatter shipped unnoticed.

The drift check is the point

env-drift.yml fetches each module's .env.example straight from its repo and
fails when a variable is missing from the matching docs page. All seven are
public, so it needs no token and no submodules.

This is the check that would have caught LIBRARIAN_REQUIRE_LOGIN. On its
first run it already found one
: AURORA_STREAM_TOKEN_SECRET, added on
aurora@main and undocumented here. It's documented in #9 as a result.

It runs weekly as well as on PRs, because upstream drifts without anything
changing in this repo.

Two deliberate design choices:

  • One-directional. Docs legitimately describe variables that code reads but
    .env.example omits — HOST and PORT in most modules. Flagging those would
    be noise that gets the check ignored.
  • KNOWN_DEAD. Variables declared upstream but read by nothing live in a
    list with a reason each. PLEX_URL and PLEX_TOKEN are there: documenting
    them would imply they work. The check also tells you when an entry is gone
    upstream so the list does not rot.

ci.yml builds and verifies every internal link resolves — renaming a page used
to quietly take its inbound links with it.

Also

  • AGENTS.md records the rule that produced docs: describe the code that actually ships #9: verify every claim against
    the source repo, and where a README and the code disagree, the code wins.
    Several READMEs are stale in ways the code is not.
  • LICENSE (MIT), matching the npm packages' declared licence.
  • styles.css — restores the code-block copy button, which was hidden
    on a site made almost entirely of install commands; drops the pinned Starlight
    hash class .header.astro-wh26sp3i, which silently stops matching on any
    upgrade; removes ~25 lines of dead CSS styling a theme switcher that is also
    display: none.
  • Drops Tailwind. Installed and configured, never imported — the stylesheet
    is hand-written CSS throughout.

Verification

pnpm build clean, pnpm check:links and pnpm check:env both pass. Each of
the three commits in this stack was built independently, not just the tip.

The restored copy button was confirmed against the built CSS: the remaining
.copy{display:none} rules are Expressive Code's own @media (scripting: none)
fallback and the print stylesheet, which are correct.

@vercel

vercel Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
docs Ready Ready Preview Sep 26, 2026 8:34pm UTC

This repo had no .github/, no CI and no LICENSE — alone among the Coral repos.
A broken cross-link or bad frontmatter shipped unnoticed.

- ci.yml builds and checks that every internal link resolves. Renaming a page
  used to quietly take its inbound links with it.
- env-drift.yml reads each module's .env.example straight from its repo and
  fails when a variable is missing from the matching docs page. This is the
  check that would have caught LIBRARIAN_REQUIRE_LOGIN. It runs weekly as well
  as on PRs, because upstream drifts without anything changing here. On its
  first run it found AURORA_STREAM_TOKEN_SECRET, added on aurora@main and
  undocumented.

  Deliberately one-directional: docs legitimately describe variables that code
  reads but .env.example omits, such as HOST and PORT. Variables declared
  upstream but read by nothing live in KNOWN_DEAD with a reason — documenting
  them would imply they work.

- AGENTS.md records the rule that produced the content rewrite: verify every
  claim against the source repo, and where a README and the code disagree, the
  code wins.

- LICENSE (MIT), matching the npm packages' declared licence.

- styles.css: restores the code-block copy button, which was hidden on a site
  made almost entirely of install commands; drops the pinned Starlight hash
  class .header.astro-wh26sp3i, which silently stops matching on any upgrade;
  and removes the dead rules styling a theme switcher that is display:none.

- Drops Tailwind. It was installed and configured but never imported — the
  stylesheet is hand-written CSS throughout.
@ElianCodes
ElianCodes force-pushed the seo/structured-data-and-social-cards branch from eb3930a to 1a5b19d Compare September 26, 2026 20:33
@ElianCodes
ElianCodes force-pushed the chore/ci-checks-and-hygiene branch from ef8e9a9 to 1d8417e Compare September 26, 2026 20:33
Base automatically changed from seo/structured-data-and-social-cards to main September 28, 2026 10:01
@ElianCodes
ElianCodes merged commit 6751d87 into main Sep 28, 2026
4 checks passed
@ElianCodes
ElianCodes deleted the chore/ci-checks-and-hygiene branch September 28, 2026 10:02

This branch was successfully deployed

1 active deployment
Preview — 1d8417e7 Deployed Sep 26, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant