Skip to content

Commit f0fc4ab

Browse files
docs(xtask): generate and validate crate support matrix from workspace metadata (#384)
* docs: generate crate support matrix from workspace metadata * docs: tighten support matrix guidance * style(xtask): format docs-sync support matrix checks
1 parent 449adfa commit f0fc4ab

File tree

7 files changed

+803
-13
lines changed

7 files changed

+803
-13
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ uselesskey = { version = "0.5.1", features = ["x509"] }
100100
Use the facade for convenience. Depend on leaf crates only when compile-time minimization matters enough to justify the sharper API.
101101

102102
If you are unsure which flags to start with, start from [docs/how-to/choose-features.md](docs/how-to/choose-features.md).
103+
For a crate-by-crate support contract (stable/incubating/experimental, audience, and publish status), see [docs/reference/support-matrix.md](docs/reference/support-matrix.md).
103104

104105
## Quick start
105106

@@ -598,4 +599,3 @@ Licensed under either of:
598599
- MIT license ([LICENSE-MIT](LICENSE-MIT))
599600

600601
at your option.
601-

docs/how-to/publishing.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ These are the minimum gates to treat as non-negotiable for a publishable workspa
1818
- `cargo xtask fmt`
1919
- `cargo xtask clippy` (with `-D warnings`)
2020
- `cargo xtask test`
21+
- `cargo xtask docs-sync --check` (includes support-matrix generation + metadata validation)
2122
- `cargo xtask feature-matrix` (or your feature sweep)
2223
- `cargo xtask bdd` (use `--release` if crypto/keygen makes debug too slow)
2324
- `cargo xtask publish-preflight` (metadata, doc snippet versions, cargo package)
@@ -77,6 +78,8 @@ Each crate should be explicitly one of:
7778
- Publishable (intended for crates.io)
7879
- Non-publishable (internal tooling/test harnesses)
7980

81+
Use [`docs/reference/support-matrix.md`](../reference/support-matrix.md) as the generated source of truth for this contract (tier, publish status, audience, and semver expectations) rather than maintaining hand-written crate lists.
82+
8083
For non-publish crates:
8184

8285
```toml

docs/how-to/release.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ leaves first:
2727
Do **not** maintain a separate crate list here — `PUBLISH_CRATES` is the
2828
single source of truth.
2929

30+
For support expectations and intended audiences, reference the generated
31+
[support matrix](../reference/support-matrix.md) before changing publish scope.
32+
3033
## Dry run
3134

3235
```bash

0 commit comments

Comments
 (0)