You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit b6ea850
Browse filesBrowse the repository at this point in the historyBrowse files
docs: consolidate the site from 17 pages to 10 (#4)
Follow-up to #2, which merged the sample-output fix and the missing
changelog entries. This is the structural pass.
## Why
The site had roughly pre-commit.com's content volume (2.9k lines vs
2.3k) spread across **17 navigation destinations instead of 1**. Nine of
those pages were under 100 lines. pre-commit.com reads as clear not
because it categorises well, but because there is nothing to categorise
— one page, one Ctrl-F, one URL.
Four places said the same thing twice:
- install steps in `installation.md` **and** quickstart step 1
- CLI invocations in `quickstart.md` **and** `example.md`
- releases in `what-is-new.md` **and** `changelog.md` — #2 had to touch
both, which is how an entry went missing
- "what it checks" on the landing page restating the rules reference
## What changed
| New page | Absorbed |
|---|---|
| `/getting-started/` | `installation` + `quickstart` |
| `/guides/integrations/` | `pre-commit` + `github-actions` +
`organization` |
| `/guides/policies/` | `signoff` + `ai-attribution` |
| `/` | `why` + `projects` (incl. the architecture diagram) |
| `/changelog/` | `what-is-new` → a Highlights table |
The Highlights table links into the entries below rather than restating
them, so a release is written up once. All 18 version headings gained
stable anchors (`/changelog/#v2130`).
## URLs
**`/rules/` and `/configuration/` do not move.** Every released version
of the package prints `commit-check.com/rules/#ccNNN` — hardcoded as
`RULES_DOCS_URL` in `commit_check/rules_catalog.py` and asserted in its
tests — so that path is a published interface, not a documentation path.
Every retired URL gets a redirect stub emitted by
`scripts/mkdocs_hooks.py`. Production is GitHub Pages, where
`netlify.toml` has no effect, so the build hook is the only mechanism
that reaches users; `netlify.toml` covers deploy previews only. The
forced `/getting-started/` → `/getting-started/quickstart/` redirect is
removed — it would have shadowed the real page that now lives there.
## Correctness fixes the merge surfaced
- **`commit-check-action@v1`** in the GitHub Actions guide. The action
has been on v2 since v2.0.0 (latest v2.12.0). The `v1` floating tag
still resolves, so nothing errored — users just silently got an old
action. The landing page already said `@v2`; the two disagreed.
- **`author_name` / `author_email`** in the changelog from #2. The
runtime options are `author_name_pattern` / `author_email_pattern`.
- **Five `rev:` pins spread across four versions** (v2.5.0, v2.11.0,
v2.12.2 ×2) → v2.13.0. The blog post keeps its own pin; a dated post
records what was true when written.
- **`v2.11.1` was missing entirely** from the changelog, and its two
signoff fixes (#462, #464) were filed under v2.12.0 where they did not
ship.
- Hardcoded version badges dropped from the ecosystem cards — they went
stale on their own.
## Guards added
`mkdocs.yml` turns on `validation.anchors` and `unrecognized_links`, so
the deploy build's `--strict` now fails on a broken anchor. The pages
cross-link by section anchor after this change, and a stale anchor is
invisible in a rendered page — it just scrolls to the top. Verified by
breaking one: `Aborted with 1 warnings in strict mode`.
The docs-sync CI job now installs the **released** package rather than
`main`. That exception existed because the rule IDs were merged but
unreleased; while it stood, CI was validating the site against code no
reader could install. v2.13.0 is on PyPI, so it is over. Left unpinned
deliberately — the check only means something against what `pip install
commit-check` actually returns.
## Verification
- 7/7 docs-sync tests pass **against the released 2.13.0 from PyPI**,
not the working tree
- `mkdocs build --strict` clean
- A script walked every internal link and anchor in the built site: all
resolve, `/rules/#cc003` intact
- Redirect stubs confirmed for all 10 retired URLs
---
_Generated by [Claude
Code](https://claude.ai/code/session_01U9zFxq8V4qxG4aMzJhGBFn)_
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Documentation**
* Restructured guides consolidating integrations and policies into
streamlined references
* Enhanced getting-started guide with pip, uv, and pipx installation
support plus SLSA provenance verification
* Improved changelog with highlights table and per-version anchors for
better discoverability
* Refreshed homepage and configuration examples to v2.13.0
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Claude <noreply@anthropic.com>
@@ -108,7 +132,7 @@ Full changelog available at [GitHub releases](https://github.com/commit-check/co
108
132
* Migrated PyPI publishing to `pypa/gh-action-pypi-publish`
109
133
* Removed OpenSSF Scorecard badge after evaluation (moved to Scorecard dashboard)
110
134
111
-
## v2.10.1 (2026-06-30)
135
+
## v2.10.1 (2026-06-30) { #v2101 }
112
136
113
137
### Bug Fixes
114
138
@@ -126,7 +150,7 @@ Full changelog available at [GitHub releases](https://github.com/commit-check/co
126
150
* Removed legacy YAML config parsing code from `util.py`.
127
151
See PR [#444](https://github.com/commit-check/commit-check/pull/444).
128
152
129
-
## v2.10.0 (2026-06-26)
153
+
## v2.10.0 (2026-06-26) { #v2100 }
130
154
131
155
### New Features
132
156
@@ -135,7 +159,7 @@ Full changelog available at [GitHub releases](https://github.com/commit-check/co
135
159
so dependency update branches are automatically recognized.
136
160
See PR [#442](https://github.com/commit-check/commit-check/pull/442).
137
161
138
-
## v2.9.0 (2026-06-22)
162
+
## v2.9.0 (2026-06-22) { #v290 }
139
163
140
164
### New Features
141
165
@@ -144,7 +168,7 @@ Full changelog available at [GitHub releases](https://github.com/commit-check/co
144
168
`DEFAULT_BRANCH_TYPES` so branches created by AI coding agents are
145
169
recognized as valid. See PR [#438](https://github.com/commit-check/commit-check/pull/438).
146
170
147
-
## v2.8.1 (2026-06-22)
171
+
## v2.8.1 (2026-06-22) { #v281 }
148
172
149
173
### Chores
150
174
@@ -154,7 +178,7 @@ Full changelog available at [GitHub releases](https://github.com/commit-check/co
154
178
* Added SchemaStore IDE autocompletion support for `cchk.toml`.
155
179
See PR [#433](https://github.com/commit-check/commit-check/pull/433).
156
180
157
-
## v2.8.0 (2026-06-13)
181
+
## v2.8.0 (2026-06-13) { #v280 }
158
182
159
183
### New Features
160
184
@@ -170,15 +194,15 @@ Full changelog available at [GitHub releases](https://github.com/commit-check/co
170
194
`py.typed` marker added for downstream type checkers.
171
195
See PR [#424](https://github.com/commit-check/commit-check/pull/424).
172
196
173
-
## v2.7.1 (2026-06-08)
197
+
## v2.7.1 (2026-06-08) { #v271 }
174
198
175
199
### Chores
176
200
177
201
* Added `auto` to the list of imperative verbs. See PR [#417](https://github.com/commit-check/commit-check/pull/417).
178
202
* Added commit-check vs GitHub Rulesets comparison table to the README.
179
203
See PR [#419](https://github.com/commit-check/commit-check/pull/419).
180
204
181
-
## v2.7.0 (2026-05-16)
205
+
## v2.7.0 (2026-05-16) { #v270 }
182
206
183
207
### New Features
184
208
@@ -203,7 +227,7 @@ Full changelog available at [GitHub releases](https://github.com/commit-check/co
203
227
engineering, general), growing the total from 234 to 390.
204
228
See PR [#414](https://github.com/commit-check/commit-check/pull/414).
205
229
206
-
## v2.6.0 (2026-04-20)
230
+
## v2.6.0 (2026-04-20) { #v260 }
207
231
208
232
### New Features
209
233
@@ -214,7 +238,7 @@ Full changelog available at [GitHub releases](https://github.com/commit-check/co
214
238
215
239
* Fixed `print_error_header` state handling so repeated validations stay consistent when `--compact` is used.
216
240
217
-
## v2.5.0 (2026-04-03)
241
+
## v2.5.0 (2026-04-03) { #v250 }
218
242
219
243
### New Features
220
244
@@ -226,7 +250,7 @@ Full changelog available at [GitHub releases](https://github.com/commit-check/co
226
250
227
251
* Fixed incorrect mock target in `test_main_with_message_empty_string_no_stdin_with_git`: was patching `commit_check.util.get_commit_info` (ineffective) instead of `commit_check.engine.get_commit_info`.
228
252
229
-
## v2.0.0 (2025-10-01)
253
+
## v2.0.0 (2025-10-01) { #v200 }
230
254
231
255
!!! warning
232
256
@@ -262,10 +286,10 @@ Architecture Redesign:
262
286
263
287
See PR [#280](https://github.com/commit-check/commit-check/pull/280)
0 commit comments