rmcp-memex is ready to release when the code path, distribution path, and
public-facing path all agree on the same product shape: one canonical binary,
one installer, one transport contract, and one story for new users.
The canonical public install path is the prebuilt GitHub Release bundle. Source builds are for maintainers and local development, not the first-time user experience.
Run these commands from the repo root before cutting a tag:
cargo fmt --check
cargo clippy --all-targets -- -D warnings
cargo test
cargo check --no-default-features
cargo package --allow-dirtyIf Ollama is available locally with the release embedding model already pulled, also run:
cargo test --test transport_parity -- --ignored- Update
Cargo.tomlwith the release version. - Move the relevant notes from
UnreleasedinCHANGELOG.mdinto a dated release section. - Commit the release prep.
- Tag with
vX.Y.ZorvX.Y.Z-rc.N.
Releases are built and signed locally on the operator machine. GitHub Actions is not the build authority for release artifacts.
Recommended operator flow:
git tag vX.Y.Z
scripts/release-local.sh --target "$(rustc -vV | awk '/^host:/ { print $2; exit }')"
scripts/release-local.sh --target aarch64-apple-darwin --target x86_64-apple-darwin --upload --draftCurrent local release tooling:
scripts/release-local.shbuilds one or more targets locally, signs macOS binaries with the operator identity from~/.keys/signing-identity.txt, and can upload artifacts withghscripts/build-release-bundle.shpackages the binary withREADME, licenses, and installer script- the bundle generator emits
rmcp-memex-sha256sums.txtnext to the tarballs
Verify the public release surface, not just the repo:
# Installer path
curl -LsSf https://raw.githubusercontent.com/VetCoders/rmcp-memex/main/install.sh | sh
rmcp-memex --version
# Manual artifact path
curl -LO https://github.com/VetCoders/rmcp-memex/releases/latest/download/rmcp-memex-x86_64-unknown-linux-gnu.tar.gz
curl -LO https://github.com/VetCoders/rmcp-memex/releases/latest/download/rmcp-memex-sha256sums.txt
grep rmcp-memex-x86_64-unknown-linux-gnu.tar.gz rmcp-memex-sha256sums.txtThen confirm:
rmcp-memex servestarts cleanly- installer-based installs expose
rmcp_memexas a legacy compatibility symlink - the direct release bundle installs cleanly without requiring a local Rust toolchain build
- no release artifact, README snippet, or landing-page copy refers to
rust-memex,rmmx, orrmemex /healthresponds when running with--http-port 8997- the landing page publishes via
.github/workflows/pages.yml
The project now ships with a static landing page source in docs/index.html.
Keep it synchronized with the actual install path, transport story, and release
badges. If the product story changes, update the page in the same PR as the code.