Skip to content

Publish the crate under the name ragfer - #300

Merged
A0-42 merged 4 commits into
mainfrom
297-crate-publication
Sep 18, 2026
Merged

A0-42 merged 4 commits into
mainfrom
297-crate-publication

Conversation

@A0-42

@A0-42 A0-42 commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

The changes that were needed to put this crate on crates.io, applied for the 5.3.0 publication. The crate is already live as https://crates.io/crates/ragfer; this PR brings main in line with what was shipped.

What it does:

  • package name rag-ferrite → ragfer, so the crate matches the binary, the command and the repository's technical name. Nothing had ever been published, so no user is affected.
  • homepage, keywords, categories moved into [package]. They were declared inside the [[bin]] table, where cargo ignores them silently — the crate would have published with no keywords and no category. The published crate page confirms the fix. (The rest of that misplacement is tracked in Clean Cargo metadata, dependencies, and advisory exceptions #276.)
  • exclude = ["docs", "graphify-out", "AGENTS.md", "llms.txt"]. The crate ships what builds and runs the tool; the project documentation stays in the repository.
  • docs/adr/0010-chunker-uses-vec<char>-indexing-not-char_indices.md renamed to …uses-vec-char…. Cargo refuses to package any filename containing < or >, and no exclude pattern avoids that check — four were tried (docs/adr, docs/adr/**, docs/adr/*, **/0010-*, all still refused). The index link in docs/DECISIONS.md is updated.
  • README: crates.io badge, a "From crates.io" install section with cargo install ragfer, and the naming stated once — the project is ragFerrite, ragfer is what you install and type.

Closes #297.

- package name: rag-ferrite -> ragfer (the crate now matches the binary, the
  repository name and ~/.config/ragfer; nothing was ever published, so no user
  is affected).
- homepage, keywords and categories were declared inside the [[bin]] table,
  where cargo silently ignores them: moved into [package] so crates.io actually
  gets them.
- exclude docs/, graphify-out/, AGENTS.md and llms.txt from the published
  crate: it ships what builds and runs it, the documentation stays in the repo.
- rename docs/adr/0010-...vec<char>...md to docs/adr/0010-...vec-char...md:
  cargo refuses to package a filename containing '<' or '>', and no exclude
  pattern avoids that check. Index link in docs/DECISIONS.md updated.
Add the crates.io badge and a "From crates.io" install section, and state the
naming explicitly: the project is rag-ferrite (repository, docs, website) while
ragfer is what you install and type.
cargo audit fails the release gate on rustls 0.23.40 (TLS 1.3 handshake
messages accepted across encryption level boundaries, fixed in 0.23.45).
The advisory was published after the last green run on main, so this is
not caused by the crate publication changes.
@A0-42
A0-42 merged commit c723dd4 into main Sep 18, 2026
1 check passed
@A0-42
A0-42 deleted the 297-crate-publication branch September 18, 2026 18:47
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.

Land the crate publication changes (ragfer on crates.io)

1 participant