Skip to content

Add CI: automated doc-consistency checks - #65

Merged
dmccoystephenson merged 1 commit into
mainfrom
add-ci
Jul 27, 2026
Merged

Add CI: automated doc-consistency checks#65
dmccoystephenson merged 1 commit into
mainfrom
add-ci

Conversation

@dmccoystephenson

@dmccoystephenson dmccoystephenson commented Jul 27, 2026

Copy link
Copy Markdown
Member

Summary

Continues open-source prep (#59, #60, #63, #64). This repo has no automated test suite for behavior — validating what /create-dev-loop actually generates still requires running it against a real repo (CLAUDE.md's "Testing changes" section), and that's not something CI can do without an LLM in the loop.

But CLAUDE.md documents two hard invariants that were previously only checked by eye:

  • Every {{placeholder}} used in the generated-skill template needs a corresponding row in the Step 4 substitution table
  • README.md's "What it does" list must stay 1:1 with create-dev-loop.md's Steps

scripts/check_docs.py (stdlib-only, no dependencies) enforces both mechanically by parsing the template out of its fenced code block and diffing it against the substitution table and the README list, plus checks that relative links between the repo's own .md files resolve to real files (the kind of thing #60 fixed by hand). Wired up via .github/workflows/ci.yml on push/PR to main. Added a CI badge to the README.

Test plan

  • python3 scripts/check_docs.py passes on the current tree
  • Manually verified each check fires on a real regression, then reverted:
    • removed a substitution-table row → caught the missing placeholder
    • renumbered a Step heading out of sync with the README list → caught the mismatch
    • added a link to a nonexistent file → caught the broken link

drafted by Claude on behalf of Daniel Stephenson

There's no automated test suite for this project's actual behavior (per
CLAUDE.md, that still requires running /create-dev-loop against a real
repo), but two of CLAUDE.md's hard rules were previously enforced only
by eye: every {{placeholder}} in the template needs a Step 4
substitution-table row, and README's "What it does" list must stay 1:1
with create-dev-loop.md's Steps. scripts/check_docs.py enforces both
mechanically, plus checks that relative links between the repo's own
docs resolve. Wired into .github/workflows/ci.yml on push/PR to main.
@dmccoystephenson
dmccoystephenson merged commit 50399d3 into main Jul 27, 2026
1 check passed
@dmccoystephenson
dmccoystephenson deleted the add-ci branch July 27, 2026 00:49
dmccoystephenson added a commit that referenced this pull request Aug 3, 2026
There's no automated test suite for this project's actual behavior (per
CLAUDE.md, that still requires running /create-dev-loop against a real
repo), but two of CLAUDE.md's hard rules were previously enforced only
by eye: every {{placeholder}} in the template needs a Step 4
substitution-table row, and README's "What it does" list must stay 1:1
with create-dev-loop.md's Steps. scripts/check_docs.py enforces both
mechanically, plus checks that relative links between the repo's own
docs resolve. Wired into .github/workflows/ci.yml on push/PR to main.
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