[codex] Add GitHub beginners metadata quality gate#220
Conversation
確認しました。f68ec9d を対象に metadata consistency gate / book-config-navigation 整合 / local QA / Bundler-Jekyll ローカルビルド前提の観点で再チェックし、追加修正は不要と判断しました。現時点で当該ブランチの主要CI(Book QA / Docs Quality Gate / Docs Forbidden Check)は success、ローカルでも |
There was a problem hiding this comment.
Pull request overview
This PR introduces a repo-level “metadata quality gate” to keep package/Jekyll/book configuration and docs navigation consistent, while aligning the published metadata (version, author, GitHub capitalization, URLs) and making the docs build work via Bundler.
Changes:
- Added
scripts/check-metadata-consistency.jsand wired it intonpm testand the Book QA GitHub Actions workflow. - Normalized metadata across
package.json, lockfile, Jekyll configs,book-config.json, and docs front matter/navigation (including version bump to1.1.0). - Updated local build/docs dependencies and tooling (Bundler plugins, README setup commands, markdownlint rule adjustment).
Reviewed changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/check-metadata-consistency.js | Adds a Node-based consistency checker across package/lock/Jekyll/front matter/nav/book config. |
| package.json | Adds check:metadata, integrates it into test, and changes build to Bundler-backed docs build. |
| package-lock.json | Aligns lockfile version fields with package.json (1.1.0). |
| book-config.json | Aligns description/version and synchronizes chapter/appendix titles + ordering with docs navigation. |
| docs/index.md | Updates front matter author to match canonical author string. |
| docs/_data/navigation.yml | (Context) Used as the canonical nav order that metadata check enforces. |
| _config.yml | Aligns description/version capitalization and version. |
| Gemfile | Adds required Jekyll plugin gems used by docs/_config.yml. |
| README.md | Updates setup/build commands (npm ci, bundler install, metadata/QA commands). |
| .markdownlint.json | Disables MD012 (multiple blank lines). |
| .github/workflows/book-qa.yml | Runs the metadata consistency check as part of CI QA. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
scripts/check-metadata-consistency.jsto guard package, lockfile, Jekyll config, top-page front matter, and navigation/book-config consistency.1.1.0, canonicalGitHubcapitalization, package homepage/bugs URLs, and current docs navigation order.npm testand Book QA, while scoping legacysrcMD012 spacing to.markdownlint-src.jsonsodocs:lintremains strict.start/buildto the same Bundler +docs/_config.yml+docssource path and document current setup/build commands.Validation
npm testfailed before this change on legacysrc/**/*.mdMD012 blank-line findings;npm audit --omit=dev --omit=optionalwas clean.npm cinpm run check:metadatanpm testnpm run docs:quality-gatenpm audit --omit=dev --omit=optionalgit diff --checknpm run buildwith Bundler-backed Jekyll docs build and built-site smoke for/,/chapters/chapter-docs-as-code/, and/appendices/appendix-resources/docs-as-codefrombook-config.jsonfails with actionable navigation/order errorsitdojp/book-formatter@da2a49e7d2dcd9e1fa885e910c458130fe8d73a4checks overdocs: Unicode, textlint/PRH, internal links, layout risk, markdown structure1bfbed1: Book QA, Docs Quality Gate, and Docs Forbidden Check succeededpr-review-completeness:status=ok,unresolved_threads=0,generated_count_mismatches=04132582: Docs Forbidden Check, Book QA, Docs Quality Gate, and pages build/deployment succeeded/,/chapters/chapter-docs-as-code/, and/appendices/appendix-resources/Release gates
Related: itdojp/it-engineer-knowledge-architecture#152