Skip to content

feat(brewfile): add bash and g3rm0n install recommendation - #136

Open
iamgerwin wants to merge 2 commits into
mainfrom
feat/g3rmon-install-recommendation
Open

iamgerwin wants to merge 2 commits into
mainfrom
feat/g3rmon-install-recommendation

Conversation

@iamgerwin

Copy link
Copy Markdown
Owner

Adds support for installing g3rm0n, a live terminal dashboard for system and AI usage.

Changes

  • Brewfile: add brew "bash" (modern Bash; macOS ships Bash 3.2) in Command Line Tools & Development. jq is already present.
  • README.md: add a Monitoring subsection with the g3rm0n bullet and install one-liner.
  • INSTALLATION.md: add g3rm0n as an optional recommended extra under Dependencies Installed, plus a Final Configuration Steps item.
  • TERMINAL_SETUP.md: not changed; it has no tools or monitoring listing.
  • tests/brewfile_test.py: regression for the Bash entry and jq uniqueness.
  • CHANGELOG.md: entries under Unreleased.

g3rm0n install

brew install bash jq && curl -fsSL https://raw.githubusercontent.com/iamgerwin/g3rm0n/main/install.sh | bash

- Add modern Homebrew bash to the Brewfile, ahead of bat in CLI tools
- Document the optional g3rm0n monitoring dashboard in README and INSTALLATION
- Add tests/brewfile_test.py regression for the Bash entry and jq uniqueness
- Record the changes under Unreleased in CHANGELOG

@iamgerwin iamgerwin left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review — Claude Code (claude-haiku-5-5)

Verdict: ✅ Approve (blocking finding resolved during review)

What checks out

  • Brewfile: brew "bash" sits in "Command Line Tools & Development" directly before bat; sorting correct (bash < bat). jq appears exactly once — no duplicate.
  • Test runner: scripts/check.sh runs unittest discover -s tests -p '*_test.py', so tests/brewfile_test.py runs locally and in CI. Prefix match includes the closing quote (brew "bash"), so bashful-style names won't false-match.
  • Changelog: entries under [Unreleased] in correct Keep a Changelog format; VERSION correctly unchanged.
  • Docs formatting: README and INSTALLATION.md additions match the neighbouring bullet and fence style.
  • Setup scripts: setup.sh, scripts/update-all.sh, adaptive-setup.sh only read brew/cask lines from the Brewfile — one added formula line doesn't change their behaviour.

Findings and resolution

  1. Claim "installs to ~/.local, no root" — ✅ Verified against upstream install.sh: installs only to ~/.local/share/g3rm0n, ~/.local/bin, and XDG user dirs (fish config, bash-completion, zsh site-functions). No sudo, no root, no PATH/rc edits beyond managed completion symlinks. Claim is accurate.
  2. Brittle adjacency assertion (assertEqual(bash_index + 1, bat_index)) — ✅ Fixed in f095127: now assertLess(bash_index, bat_index) so a future entry between them doesn't break the test.
  3. Test name vs assertion — ✅ Fixed in f095127: renamed to test_bash_sits_in_command_line_tools_section_sorted.
  4. Minor, non-blocking: the curl | bash docs pattern matches the existing convention in ubuntu/vps-setup.sh (unpinned remote execution is a known trade-off here). The "bash and jq already come from the Brewfile" phrasing is macOS-scoped, which is the audience of this repo.

Not verified in review environment: scripts/check.sh full run requires zsh, which isn't installed on this Linux box — environmental, pre-existing, unrelated to this diff. The unittest suite (31 tests) passes on main and on this branch.

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