- new install-service.sh: creates/removes the OpenCode web UI systemd service as its own process (interactive by default, flags for automation, --uninstall, --dry-run, backs up an existing unit)
- install.sh no longer embeds the service logic; run_service_setup locates the sibling script (or downloads it) and invokes it as a separate process
- README documents running install-service.sh on its own
- prompts (location, OpenCode activation, web UI service, collision strategy) now read from the controlling terminal, not stdin
- have_tty()/tty_read() helpers; all read sites routed through tty_read
- previously 'curl | bash' had no TTY on stdin, so every prompt was silently skipped
- README: note the one-liner is interactive (and falls back to safe defaults in CI)
- ensure_opencode no longer reports 'already installed' when the binary exists but isn't reachable; it now reports the PATH gap
- activate_opencode: explains the rc line / 'source ~/.bashrc', and interactively offers to symlink opencode into /usr/local/bin so it works immediately in every shell
- post-install hint reflects whether opencode is actually on PATH
- README: PATH & activation section
- install.sh: at the end of an interactive install, offer to set up the OpenCode web UI as a systemd service. Prompts for bind address (default 127.0.0.1), port (4096), working dir and enable-on-boot, shows the unit, then asks to install. --service/--no-service for scripting; off by default non-interactively. Non-systemd hosts get the manual command.
- fix: perform_install returned non-zero under set -e, aborting the post-install and service steps
- README: repository is now public (quick curl|bash install, no token); document the web UI service and its security default
- install.sh now ensures the OpenCode runtime is present: detects it on PATH or at $HOME/.opencode/bin, and otherwise runs the official installer (opencode.ai/v2/install)
- new flags: --with-opencode, --no-opencode, --opencode-version V, --opencode-no-path
- --dry-run never installs the runtime; OPENCODE_INSTALLER_URL can be overridden (mirrors/tests)
- README documents the all-in-one behaviour and the new runtime flags
- README rewritten around the Controlling Architect concept (spec -> build -> report -> verify), the architect/builder agency and the channels; upstream README preserved as README.upstream.md
- install.sh: fork-native installer adapted from Darren Hinde's OAC installer. Syncs the complete .opencode payload (no registry), supports local/global/custom, skip/overwrite/backup, --source/--token/--branch/--yes/--force/--dry-run