diff --git a/Cargo.lock b/Cargo.lock index bee0918..7338303 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -687,6 +687,7 @@ dependencies = [ "dialoguer", "dirs", "futures", + "home", "indicatif", "inquire", "mongodb", @@ -1294,11 +1295,11 @@ dependencies = [ [[package]] name = "home" -version = "0.5.12" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index d0047f2..8f1e8e0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,6 +26,7 @@ inquire = "0.7" futures = "0.3" indicatif = "0.18" which = "6.0" +home = ">=0.5.4, <0.5.12" # Pin to avoid v0.5.12 which requires unstable edition2024 rand = "0.8" reqwest = { version = "0.11", features = ["json"] } serde = { version = "1.0", features = ["derive"] } diff --git a/docs/publishing.md b/docs/publishing.md new file mode 100644 index 0000000..bae2d51 --- /dev/null +++ b/docs/publishing.md @@ -0,0 +1,28 @@ +# Publishing to crates.io + +1. **Prepare a clean release checkout** + ```bash + git fetch origin --tags + git checkout vX.Y.Z # replace with the release tag + cargo clean + ``` + +2. **Verify metadata and package contents** + ```bash + cargo package + ``` + Inspect the generated tarball under `target/package/` to confirm the right files are included. + +3. **Authenticate with crates.io** + ```bash + cargo login $CARGO_REGISTRY_TOKEN + ``` + +4. **Publish** + ```bash + cargo publish + ``` + Publishing may take a few minutes before the crate appears in search results. + +5. **Tag/Release** + Ensure the git tag matches the published version and update release notes.