Skip to content

feat(landing): one-command installer (install.sh) for prebuilt binaries - #118

Merged
jkyberneees merged 4 commits into
mainfrom
feat/install-script
Sep 13, 2026
Merged

feat(landing): one-command installer (install.sh) for prebuilt binaries#118
jkyberneees merged 4 commits into
mainfrom
feat/install-script

Conversation

@jkyberneees

Copy link
Copy Markdown
Contributor

What

  • docs/install.sh: POSIX-sh installer for newbie users — downloads the latest prebuilt release binaries (no go install), verifies sha256 checksums (fail-closed), installs to /usr/local/bin or ~/.local/bin with PATH guidance. If odek is missing it asks [y/N] (tty-safe under curl | sh) or takes --with-odek, then prints provider setup steps (odek init + API key + GETTING_STARTED link).
  • docs/index.html: curl one-liner in the hero and the Get-started section (copyable, wired to the existing [data-copy] handler); buttons moved below the command box; copy clarifies macOS/Linux installer vs Windows binaries and the provider-key requirement.
  • docs/landing.css: install command box takes a full row.

Verification

  • macOS arm64: prompt path, --with-odek, simulated curl | sh — all green (bodek v1.13.4, odek v2.14.2 run).
  • Docker: Alpine 3.24 (busybox sh, wget-only) and Debian 13 slim (dash, curl-only) — all three scenarios PASS, checksums verified on both.
  • Expert review: 3 reviewers (POSIX shell, security, DX), 2 rounds, unanimous APPROVE. Fixes from round 1: checksum fail-closed, tty-safe prompt, landing copy.

Notes

  • No version tagging (docs-only change).
  • https://bodek.21no.de/install.sh goes live with the next Cloudflare Pages deploy of docs/.

…ries

POSIX-sh installer that downloads the latest bodek release (and optionally
odek) from GitHub releases, verifies checksums, and installs into
/usr/local/bin or ~/.local/bin with PATH guidance. If odek is missing it
asks before installing and prints provider setup steps.
- refuse to install when checksums.txt has no entry for an asset instead
  of warn-and-continue
- never read the script's own stdin for the odek prompt: answer from the
  terminal only when stdout is a tty, default No otherwise (curl | sh safe)
- skip-odek message now points at --with-odek; landing copy clarifies
  macOS/Linux installer vs Windows binaries and mentions provider key
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
bodek 40a66ce Commit Preview URL

Branch Preview URL
Sep 13 2026, 07:52 AM

@jkyberneees
jkyberneees merged commit ed34312 into main Sep 13, 2026
9 checks passed
@jkyberneees
jkyberneees deleted the feat/install-script branch September 13, 2026 07:55
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.

1 participant