Harden showcase tooling and add a second worked example - #1
Merged
Conversation
docs/GIT_HOOKS.md and docs/DEVELOPMENT.md described Husky hooks, an .editorconfig, and a PR template that didn't actually exist in the repo - a credibility gap for a showcase whose whole point is "this is how I actually work." This makes those docs true: real pre-commit/commit-msg/post-checkout/ pre-push hooks (validated against the exact examples already in the docs), lint-staged, an .editorconfig, and a PR template. Also adds a GitHub Actions CI workflow running the same lint/typecheck/format/test commands on every push and PR, and pins packageManager/engines so the pnpm-only policy in AGENTS.md is enforced, not just stated.
The repo only had one worked example (a sync, pure feature-flag hook), which doesn't exercise the workflow's value on async code with a real I/O boundary. Runs the same spec -> implementation-plan -> implement path: a typed fetchWithRetry wrapper around fetch with exponential backoff on transient failures (network errors, 429, 5xx), an injected fetchImpl for testability, and a typed FetchRetryError with attempt-count and cause context. Tests use fake timers instead of real waiting. README updated to point at both examples.
4 tasks
HenryCordes
added a commit
that referenced
this pull request
Jun 19, 2026
…-workflow-case-study Add a parallel-review workflow and a PR #1 case study
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes the gap between what this repo's docs claim and what's actually in it, and adds a second worked example so the spec-driven workflow isn't shown on only one (sync, pure) kind of problem.
Changes
.editorconfig,.github/pull_request_template.md— previously referenced bydocs/DEVELOPMENT.md/.claude/skills/pr-description.mdbut didn't exist..husky/) matchingdocs/GIT_HOOKS.md:pre-commit(lint-staged),commit-msg(blocks a non-conforming message or branch name),post-checkout(warns),pre-push(runs the test suite). Adjusted thepre-pushdoc line to match the simpler real implementation (full suite, not per-file diffing)..github/workflows/ci.yml— lint/typecheck/format/test on every push and PR.packageManager+enginespinned inpackage.json, enforcing the pnpm-only policyAGENTS.mdalready states.fetchWithRetry(src/http/), run through the same spec → implementation-plan → implement path as the existing feature-flag hook, but contrasting it with an async I/O boundary, exponential backoff, an injectedfetchImpl, and a typedFetchRetryError. Spec and plan inspecs/2026-06-19-fetch-with-retry-design.md/specs/implementation-plans/2026-06-19-fetch-with-retry.md.Testing
pnpm lint && pnpm typecheck && pnpm format:check && pnpm test— all green (21 tests).commit-msgvalidated both commits in this PR against the ticket-scope pattern,pre-commitran lint-staged,pre-pushran the suite before this branch was pushed.Related
PROJ-000 (placeholder — no issue tracker on this personal showcase repo).
Checklist
pnpm lint:fix && pnpm typecheck && pnpm testpass locally{username}/{TICKET}-{description}