From 3843d70aae7c2a711dc0ac58ba0ab065f8498f08 Mon Sep 17 00:00:00 2001 From: Dennis P Date: Mon, 13 Apr 2026 00:21:07 +0800 Subject: [PATCH 1/2] docs: update --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d03b0cb..560f76b 100644 --- a/README.md +++ b/README.md @@ -304,4 +304,7 @@ MIT — see [LICENSE](LICENSE). --- -_Built by [Thinkgrid Labs](https://github.com/thinkgrid-labs). Code review should be private and fast._ +✨ Support the Local-First Movement +If you believe code reviews should be private and fast, consider contributing to the diffmind core. + +Built with ❤️ by Tech Lead, for Tech Leads. From c0b3fcec64796948df4e237903cd21cce79c5aef Mon Sep 17 00:00:00 2001 From: Dennis P Date: Mon, 13 Apr 2026 10:13:22 +0800 Subject: [PATCH 2/2] docs: update installation --- .github/workflows/release.yml | 3 + README.md | 27 ++++++--- apps/tui-cli/Cargo.toml | 2 +- install.sh | 100 ++++++++++++++++++++++++++++++++ packages/core-engine/Cargo.toml | 2 +- 5 files changed, 124 insertions(+), 10 deletions(-) create mode 100644 install.sh diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6de0187..0291af2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -125,6 +125,9 @@ jobs: path: artifacts merge-multiple: true + - name: Copy install script to artifacts + run: cp install.sh artifacts/install.sh + - name: Generate checksums (SHA-256) run: | cd artifacts diff --git a/README.md b/README.md index 560f76b..23b5b00 100644 --- a/README.md +++ b/README.md @@ -34,24 +34,35 @@ Ships as a **single self-contained Rust binary** with an optional interactive [r ## Installation -### Prebuilt binary (recommended) +### One-line installer — Linux & macOS -Download the latest binary for your platform from [GitHub Releases](https://github.com/thinkgrid-labs/diffmind/releases): +```bash +curl -fsSL https://github.com/thinkgrid-labs/diffmind/releases/latest/download/install.sh | bash +``` + +Auto-detects your OS and CPU (Intel or Apple Silicon), downloads the right binary, and installs to `/usr/local/bin`. Pin a specific version: + +```bash +VERSION=v0.6.0 curl -fsSL https://github.com/thinkgrid-labs/diffmind/releases/latest/download/install.sh | bash +``` + +### Windows + +Download `diffmind-x86_64-pc-windows-msvc.zip` from [GitHub Releases](https://github.com/thinkgrid-labs/diffmind/releases), extract it, and place `diffmind.exe` on your `PATH`. + +### Manual download | Platform | Asset | | ------------------- | ------------------------------------------- | +| macOS Apple Silicon | `diffmind-aarch64-apple-darwin.tar.gz` | +| macOS Intel | `diffmind-x86_64-apple-darwin.tar.gz` | | Linux x86_64 | `diffmind-x86_64-unknown-linux-gnu.tar.gz` | | Linux ARM64 | `diffmind-aarch64-unknown-linux-gnu.tar.gz` | -| macOS x86_64 | `diffmind-x86_64-apple-darwin.tar.gz` | -| macOS Apple Silicon | `diffmind-aarch64-apple-darwin.tar.gz` | | Windows x86_64 | `diffmind-x86_64-pc-windows-msvc.zip` | ```bash -# Linux / macOS example -tar -xzf diffmind-x86_64-unknown-linux-gnu.tar.gz +tar -xzf diffmind-.tar.gz sudo mv diffmind /usr/local/bin/ - -# Verify diffmind --version ``` diff --git a/apps/tui-cli/Cargo.toml b/apps/tui-cli/Cargo.toml index 5a06cbe..75d4d2e 100644 --- a/apps/tui-cli/Cargo.toml +++ b/apps/tui-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "diffmind" -version = "0.6.0" +version = "0.6.1" edition = "2021" description = "Local-first AI code review agent — powered by on-device inference" diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..98729cf --- /dev/null +++ b/install.sh @@ -0,0 +1,100 @@ +#!/usr/bin/env bash +# diffmind installer +# Usage: +# curl -fsSL https://github.com/thinkgrid-labs/diffmind/releases/latest/download/install.sh | bash +# +# Options (env vars): +# VERSION — pin a specific release tag, e.g. VERSION=v0.6.0 +# INSTALL_DIR — override install location (default: /usr/local/bin) + +set -euo pipefail + +REPO="thinkgrid-labs/diffmind" +BIN="diffmind" +INSTALL_DIR="${INSTALL_DIR:-/usr/local/bin}" +VERSION="${VERSION:-latest}" + +# ── Detect platform ────────────────────────────────────────────────────────── + +OS=$(uname -s) +ARCH=$(uname -m) + +case "$OS" in + Darwin) + case "$ARCH" in + x86_64) TARGET="x86_64-apple-darwin" ;; + arm64|aarch64) TARGET="aarch64-apple-darwin" ;; + *) echo "error: unsupported macOS architecture: $ARCH" >&2; exit 1 ;; + esac + ;; + Linux) + case "$ARCH" in + x86_64) TARGET="x86_64-unknown-linux-gnu" ;; + aarch64) TARGET="aarch64-unknown-linux-gnu" ;; + *) echo "error: unsupported Linux architecture: $ARCH" >&2; exit 1 ;; + esac + ;; + *) + echo "error: unsupported OS '$OS'." >&2 + echo " For Windows, download the .zip from:" >&2 + echo " https://github.com/$REPO/releases/latest" >&2 + exit 1 + ;; +esac + +# ── Resolve download URL ───────────────────────────────────────────────────── + +if [ "$VERSION" = "latest" ]; then + BASE_URL="https://github.com/$REPO/releases/latest/download" +else + BASE_URL="https://github.com/$REPO/releases/download/$VERSION" +fi + +ARCHIVE="${BIN}-${TARGET}.tar.gz" +URL="${BASE_URL}/${ARCHIVE}" + +# ── Download & extract ─────────────────────────────────────────────────────── + +TMP=$(mktemp -d) +trap 'rm -rf "$TMP"' EXIT + +echo " Detected $OS / $ARCH → $TARGET" +echo " Fetching $URL" +echo "" + +if ! curl -fSL --progress-bar "$URL" -o "$TMP/$ARCHIVE"; then + echo "" >&2 + echo "error: download failed. Check that version '$VERSION' exists at:" >&2 + echo " https://github.com/$REPO/releases" >&2 + exit 1 +fi + +tar -xzf "$TMP/$ARCHIVE" -C "$TMP" + +if [ ! -f "$TMP/$BIN" ]; then + echo "error: binary '$BIN' not found in archive" >&2 + exit 1 +fi + +chmod +x "$TMP/$BIN" + +# ── Install ────────────────────────────────────────────────────────────────── + +if [ -w "$INSTALL_DIR" ]; then + mv "$TMP/$BIN" "$INSTALL_DIR/$BIN" +else + echo " Installing to $INSTALL_DIR (sudo required)" + sudo mv "$TMP/$BIN" "$INSTALL_DIR/$BIN" +fi + +# ── Done ───────────────────────────────────────────────────────────────────── + +echo "" +echo " ✓ diffmind installed → $INSTALL_DIR/$BIN" +echo "" +"$INSTALL_DIR/$BIN" --version +echo "" +echo " Next steps:" +echo " diffmind download # download AI model (one-time setup)" +echo " diffmind --branch main # review your current branch" +echo "" diff --git a/packages/core-engine/Cargo.toml b/packages/core-engine/Cargo.toml index 86e71a0..dee5528 100644 --- a/packages/core-engine/Cargo.toml +++ b/packages/core-engine/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "core-engine" -version = "0.6.0" +version = "0.6.1" edition = "2021" description = "diffmind shared AI engine core"