Skip to content

Install wizard: split setup.sh into install-hummingbot.sh + install-condor.sh#128

Draft
fengtality wants to merge 4 commits into
mainfrom
install-wizard
Draft

Install wizard: split setup.sh into install-hummingbot.sh + install-condor.sh#128
fengtality wants to merge 4 commits into
mainfrom
install-wizard

Conversation

@fengtality

Copy link
Copy Markdown
Contributor

What

Splits the single setup.sh into two single-purpose curl | bash installers and adds a tiny hummingbot CLI wrapper. The product choice (Hummingbot vs Condor) moves to the website Quick Start card, so each script does one thing.

curl -fsSL https://hummingbot.org/install-hummingbot.sh | bash   # the Hummingbot client (NEW)
curl -fsSL https://hummingbot.org/install-condor.sh    | bash   # Condor + API (existing flow, renamed)

Changes

  • install-condor.sh — the existing setup.sh renamed, content unchanged. Only self-references and the README point at the new name. The proven Condor + API flow is untouched.
  • install-hummingbot.sh (new) — Hummingbot client installer. Method sub-wizard (Docker / source / develop), latest/--dev channel, a re-runnable --doctor, and it installs a small hummingbot wrapper to ~/.local/bin:
    • start [--v2 FILE | -f FILE] [-p PW] [--headless] — launch the REPL or autostart a config (passthrough to bin/hummingbot_quickstart.py; resolves the conda env / docker container for you).
    • update [--dev | --latest] — channel-aware: checks out master/development (source) or re-pins the image tag (docker) and persists the channel to state.json.
    • doctor, --version, help.
  • setup.sh — thin back-compat shim that execs install-condor.sh (keeps any old .../setup.sh links working).
  • README.md — references updated to the new script names.

Notes / follow-ups

  • The default-on LLM plugin (.mcp.json / hummingbot-mcp) is intentionally not wired here — handled separately.
  • Develop path, Docker autostart-with-config, and Windows/WSL2 are deferred (P3).
  • Website side (hummingbot/hummingbot-web): the Hero Quick Start card and /install-*.sh redirects are already live; the redirects temporarily target this branch and flip to main once this merges.

Design doc: apps/docs/INSTALL_WIZARD_PLAN.md in hummingbot/hummingbot-web.

🤖 Generated with Claude Code

fengtality and others added 4 commits June 1, 2026 16:12
One-command installer (curl | bash) that the website's Hummingbot/Condor tabs
point at. It routes the Condor choice to the existing, unchanged setup.sh, and
stubs the Hummingbot client path for P2.

- Interactive Hummingbot-or-Condor wizard (falls back to flags in non-TTY).
- Condor: hands off to setup.sh (sibling checkout or fetched from main),
  feeding it /dev/tty so its prompts work under curl | bash.
- --doctor health check (docker, compose, uv, tmux, API :8000, condor tmux).
- curl|bash-safe idioms: main "$@" as the final line, set -euo pipefail,
  platform/musl detection, no sudo.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The website's Hummingbot/Condor selector routes to two single-purpose scripts
(no in-script product wizard):

- install-condor.sh: renamed from setup.sh, unchanged Condor + API flow.
  Self-references and README updated to the new name.
- install-hummingbot.sh: new Hummingbot client installer. Docker (make
  setup/deploy) or source (make install/conda), latest|dev channel, installs a
  thin `hummingbot` wrapper (start/update/doctor) to ~/.local/bin, writes
  ~/.hummingbot/state.json, default-on LLM plugin notice, and --doctor.

curl|bash-safe (main "$@" last line, /dev/tty prompts, platform/musl guards).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Keeps existing 'curl .../deploy/main/setup.sh | bash' links working after the
rename: uses the sibling install-condor.sh from a checkout, or fetches it when
piped, forwarding all args and /dev/tty.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Make the `hummingbot` shim's `update` actually channel-aware: check out the
right source branch (master/development) or re-pin the docker image tag on
--latest/--dev, and persist the chosen channel back to state.json so it sticks.
Add `help`/`-h`/`--help` usage and tighten the source doctor to exit non-zero
when the conda env is missing.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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