Interactive installer#15
Merged
Merged
Conversation
- CI and Integration status badges in README header - Requirements table (OS, RAM, CPU, disk) - Linux platform note (tested on Ubuntu 24.04 + Arch Linux) - install.sh: interactive one-command installer - Detects distro (Ubuntu/Arch), installs prereqs - Clones repo or uses existing clone - Runs setup.sh automatically - Walks through secrets with validation + links - Writes .env with correct permissions - Offers to launch agent in tmux - README Quick Start updated to feature installer - Tested on fresh Ubuntu 24.04 and Arch Linux droplets
Greptile SummaryAdds single-command interactive installer ( Key changes:
Issues found:
Confidence Score: 4/5
Important Files Changed
Flowchartflowchart TD
Start([sudo ~/hornet/install.sh]) --> CheckRoot{Root?}
CheckRoot -->|No| Die1[Die: Must run as root]
CheckRoot -->|Yes| CheckLinux{Linux?}
CheckLinux -->|No| Die2[Die: Linux required]
CheckLinux -->|Yes| DetectDistro[Detect distro from /etc/os-release]
DetectDistro --> CheckDistro{Ubuntu or Arch?}
CheckDistro -->|Unknown| Die3[Die: Unsupported distro]
CheckDistro -->|Known| DetectAdmin[Detect admin user via SUDO_USER]
DetectAdmin --> InstallPrereqs[Install prerequisites via apt/pacman]
InstallPrereqs --> CloneRepo{Repo exists?}
CloneRepo -->|Yes, in clone| UseExisting[Use existing clone]
CloneRepo -->|Yes, at ~/hornet| PullLatest[git pull --ff-only]
CloneRepo -->|No| GitClone[git clone to ~/hornet]
UseExisting --> RunSetup[Run setup.sh]
PullLatest --> RunSetup
GitClone --> RunSetup
RunSetup --> PromptSecrets[Interactive API key prompts]
PromptSecrets --> ValidatePrefix{Prefix valid?}
ValidatePrefix -->|No| WarnPrefix[Warn but save anyway]
ValidatePrefix -->|Yes| SaveSecret[Add to ENV_VARS map]
WarnPrefix --> SaveSecret
SaveSecret --> MoreSecrets{More secrets?}
MoreSecrets -->|Yes| PromptSecrets
MoreSecrets -->|No| WriteEnv[Write .env with 600 perms]
WriteEnv --> CheckRequired{All required secrets?}
CheckRequired -->|No| SkipLaunch[Skip launch, show instructions]
CheckRequired -->|Yes| AskLaunch{Start now?}
AskLaunch -->|No| SkipLaunch
AskLaunch -->|Yes| TmuxLaunch[tmux new-session -d hornet]
TmuxLaunch --> CheckTmux{Session alive?}
CheckTmux -->|Yes| Success[Agent is running ✓]
CheckTmux -->|No| WarnManual[Warn: try manually]
SkipLaunch --> Done([Installation complete])
Success --> Done
WarnManual --> Done
Last reviewed commit: 340e768 |
- Replace eval echo ~user with getent passwd for home dir lookup - Recommend clone+run as primary method over curl|bash
e6e0961 to
01c15af
Compare
CI scripts now run install.sh with simulated input, then verify: - .env written with correct perms (600) and owner (hornet_agent) - Runtime deployed (start.sh, extensions) - Required secrets present in .env - All 5 test suites pass
Practical instructions for using bin/ci/droplet.sh to spin up ephemeral DO droplets for manual or scripted testing. Covers create, SSH, upload, run, and cleanup.
benvinegar
added a commit
that referenced
this pull request
Feb 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Single-command setup:
sudo ~/hornet/install.shTested on fresh Ubuntu 24.04 and Arch Linux droplets.