From 398501351828ce7273cbe72f23cfbd788128c287 Mon Sep 17 00:00:00 2001 From: Rolando Santamaria Maso <4096860+jkyberneees@users.noreply.github.com> Date: Sun, 27 Sep 2026 12:53:34 +0200 Subject: [PATCH 1/2] docs: lead GETTING_STARTED.md with the installer used on the landing page Same commands as https://odek.21no.de: install.sh one-liner first, odek upgrade note, manual download/verify steps, source build last. --- GETTING_STARTED.md | 51 ++++++++++++++++++++++++---------------------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/GETTING_STARTED.md b/GETTING_STARTED.md index 773f5c9d..048ae698 100644 --- a/GETTING_STARTED.md +++ b/GETTING_STARTED.md @@ -19,33 +19,21 @@ odek is a single static Go binary (<15 MB, instant startup). No Python, no Node, ## 1. Install odek -**From a release tag using source** (requires Go and Git): - -```bash -TAG=$(git ls-remote --tags --sort=-v:refname \ - https://github.com/BackendStack21/odek.git \ - | awk '!/\^\{\}$/ {sub("refs/tags/", "", $2); print $2; exit}') -TMP=$(mktemp -d) -git clone --depth 1 --branch "${TAG}" \ - https://github.com/BackendStack21/odek.git "${TMP}/odek" -(cd "${TMP}/odek" && go install -ldflags "-X main.version=${TAG}" ./cmd/odek) -rm -rf "${TMP}" -export PATH="$(go env GOPATH)/bin:$PATH" -``` - -Do not use `go install …@latest`: Go ignores v2 tags for this repository's -historical v1 module path and would install an older v1 release. - -**Or grab a prebuilt binary** — one line (verifies SHA-256, installs to -`~/.local/bin` or `/usr/local/bin`): +**One line** — downloads the Linux or macOS (amd64 & arm64) binary, verifies +the SHA-256 against the release `checksums.txt`, and installs to +`~/.local/bin`: ```bash curl -fsSL https://odek.21no.de/install.sh | sh ``` -Prefer manual steps? Binaries for Linux and macOS (amd64 & arm64) plus a -`checksums.txt` for verification live on the -[releases page](https://github.com/BackendStack21/odek/releases): +Later, `odek upgrade` self-updates from GitHub Releases the same way +(SHA-256 verified). The script is +[readable here](https://github.com/BackendStack21/odek/blob/main/docs/install.sh) +— pipe-to-sh should always be a choice, not a habit. + +**Prefer manual steps?** Binaries plus a `checksums.txt` for verification +live on the [releases page](https://github.com/BackendStack21/odek/releases): ```bash OS=$(uname -s | tr '[:upper:]' '[:lower:]') @@ -73,8 +61,23 @@ Verify: odek version ``` -Later: `odek upgrade` self-updates from GitHub Releases (SHA-256 verified) — -see [Keeping things up to date](#keeping-things-up-to-date). +**Building from source instead** (requires Go ≥ 1.25.13 and Git) — clone the +latest release tag and install with the version pinned: + +```bash +TAG=$(git ls-remote --tags --sort=-v:refname \ + https://github.com/BackendStack21/odek.git \ + | awk '!/\^\{\}$/ {sub("refs/tags/", "", $2); print $2; exit}') +TMP=$(mktemp -d) +git clone --depth 1 --branch "${TAG}" \ + https://github.com/BackendStack21/odek.git "${TMP}/odek" +(cd "${TMP}/odek" && go install -ldflags "-X main.version=${TAG}" ./cmd/odek) +rm -rf "${TMP}" +export PATH="$(go env GOPATH)/bin:$PATH" +``` + +Do not use `go install …@latest`: Go ignores v2 tags for this repository's +historical v1 module path and would install an older v1 release. --- From e8b4b09fab70728a32239cc8de83e101dc460d1b Mon Sep 17 00:00:00 2001 From: Rolando Santamaria Maso <4096860+jkyberneees@users.noreply.github.com> Date: Sun, 27 Sep 2026 13:02:42 +0200 Subject: [PATCH 2/2] docs: fix installer target dir and Go version claims install.sh prefers /usr/local/bin (falls back to ~/.local/bin); go.mod requires Go 1.27, not 1.25.13. --- GETTING_STARTED.md | 6 +++--- docs/index.html | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/GETTING_STARTED.md b/GETTING_STARTED.md index 048ae698..83dbefdd 100644 --- a/GETTING_STARTED.md +++ b/GETTING_STARTED.md @@ -12,7 +12,7 @@ odek is a single static Go binary (<15 MB, instant startup). No Python, no Node, |---|---| | macOS or Linux | Prebuilt binaries, amd64 & arm64. Windows: build from source with Go | | A z.ai API key | From the [GLM Coding Plan](https://z.ai/subscribe) subscription or pay-as-you-go. Create/manage keys at [z.ai Open Platform](https://z.ai/manage-apikey/apikey-list) | -| Go ≥ 1.25.13 | *Only* if installing from source. Not needed for prebuilt binaries | +| Go ≥ 1.27 | *Only* if installing from source. Not needed for prebuilt binaries | | Docker | *Optional* — enables the default-on sandbox. Skip it with `ODEK_NO_SANDBOX=1` (see [Step 4](#4-sandbox-docker-optional)) | --- @@ -21,7 +21,7 @@ odek is a single static Go binary (<15 MB, instant startup). No Python, no Node, **One line** — downloads the Linux or macOS (amd64 & arm64) binary, verifies the SHA-256 against the release `checksums.txt`, and installs to -`~/.local/bin`: +`/usr/local/bin` (or `~/.local/bin` when `/usr/local/bin` is not writable): ```bash curl -fsSL https://odek.21no.de/install.sh | sh @@ -61,7 +61,7 @@ Verify: odek version ``` -**Building from source instead** (requires Go ≥ 1.25.13 and Git) — clone the +**Building from source instead** (requires Go ≥ 1.27 and Git) — clone the latest release tag and install with the version pinned: ```bash diff --git a/docs/index.html b/docs/index.html index 0dd7f10e..4f2636f8 100644 --- a/docs/index.html +++ b/docs/index.html @@ -69,7 +69,7 @@ "name": "How do I install odek?", "acceptedAnswer": { "@type": "Answer", - "text": "Run: curl -fsSL https://odek.21no.de/install.sh | sh — it downloads the Linux or macOS binary, verifies the SHA-256 against the release checksums.txt, and installs to ~/.local/bin. Do not use go install …@latest — Go ignores v2 tags for this module path and would install an older v1 release. To build from source, clone the latest release tag and go install with -ldflags that pin that tag." + "text": "Run: curl -fsSL https://odek.21no.de/install.sh | sh — it downloads the Linux or macOS binary, verifies the SHA-256 against the release checksums.txt, and installs to /usr/local/bin (or ~/.local/bin when /usr/local/bin is not writable). Do not use go install …@latest — Go ignores v2 tags for this module path and would install an older v1 release. To build from source, clone the latest release tag and go install with -ldflags that pin that tag." } }, { @@ -243,7 +243,7 @@

What you need

- Go ≥ 1.25.13 + Go ≥ 1.27 Only if you build from source. Not needed for the prebuilt binary.