Skip to content

chore: the metadata crates.io needs, and a README for each crate - #1

Merged
mysma-9403 merged 1 commit into
mainfrom
chore/crates-io-metadata
Oct 11, 2026
Merged

mysma-9403 merged 1 commit into
mainfrom
chore/crates-io-metadata

Conversation

@mysma-9403

Copy link
Copy Markdown
Collaborator

Preparation for publishing, not the publishing itself.

None of the four publishable crates carried keywords, categories or a readme. That is
not cosmetic: without a category the crate never appears when somebody browses crates.io by
subject, and without a readme its page is one line of description.

crate categories
xtce-model aerospace::space-protocols, parser-implementations
xtce-decode aerospace::space-protocols, encoding
xtce-codegen aerospace::space-protocols, development-tools
xtce-cli aerospace::space-protocols, command-line-utilities

aerospace::space-protocols is also the key the AeroRust catalogue collects entries by.

Each crate gets a short README saying the thing that is true of it rather than repeating the
workspace — that xtce-decode is tested packet for packet against the Python reference on nine
streams, that xtce-codegen refuses rather than silently falling back to interpretation, that
xtce-model represents what it cannot decode so a real mission database still loads.

cargo publish -p xtce-model --dry-run packages 19 files, 271.8 KiB, clean. The other three
cannot be dry-run until their dependencies are on crates.io — which is the order they would be
published in anyway, and worth knowing before the evening that does it.

179 tests, fmt clean.

None of the four publishable crates had `keywords`, `categories` or a
`readme`. The effect is not cosmetic: without categories a crate does not
appear when anyone browses crates.io by subject, and without a readme its
page is the description and nothing else.

`aerospace::space-protocols` is the category for all four — it is also the
key the AeroRust catalogue collects entries by — with a second one each for
what the crate is: a parser, an encoder, a development tool, a command-line
utility.

The READMEs are short and say the thing that is true of that crate rather
than repeating the workspace: that `xtce-decode` is tested packet for packet
against the Python reference on nine streams, that `xtce-codegen` refuses
rather than falls back, that `xtce model` keeps everything it cannot decode
so a real mission database still loads.

`cargo publish -p xtce-model --dry-run` packages 19 files cleanly. The other
three cannot be dry-run until their dependencies exist on crates.io, which
is the order they would be published in anyway.
@mysma-9403
mysma-9403 merged commit 6b341db into main Oct 11, 2026
4 checks passed
@mysma-9403
mysma-9403 deleted the chore/crates-io-metadata branch October 11, 2026 07:20
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