Add Homebrew Upgrade Auto-Confirm Flag · Entire

Homebrew Auto-Update Mechanism

I'd like the auto-update mechanism for homebrew to add the --yes flag to brew upgrade since the user already confirmed that they want to upgrade the package at this point. I feel like having brew prompt them one more time isn't helpful in this context.

Implementation Details

I’m using the required skills for this code change: using-superpowers for skill setup, then brainstorming/test-driven-development only as much as needed for a narrow behavior edit.

The local AGENTS workflow explicitly says concrete edits should proceed directly, so I’m treating the brainstorming skill as superseded here. I’ll keep this narrow: find the Homebrew upgrade path, add a failing test for --yes, then make the smallest code change.

I’m checking the repo’s current state and locating the Homebrew update code before touching anything. If there’s checkpoint history on the exact files, I’ll use it; otherwise I’ll label this as source-inferred.

The relevant area is cmd/entire/cli/versioncheck; the existing tests already assert the exact brew command string in several places. I’m reading that code and its history now so the change lands at the command construction point rather than patching call sites.

Test Expectations

Source inference so far: the brew command is centralized in updateCommand, and tests assert the command that reaches the prompt and installer. I’m going test-first by changing the brew expectations to include --yes, running the focused tests to see the current code fail, then updating the production command.

The test expectations now describe the desired behavior; I’m running the focused versioncheck tests before changing production code so the failure proves the test catches the missing flag.

The red test result is the expected one: every brew auto-update path still produces brew upgrade entire. I’m applying the production change at updateCommand and cleaning up the remaining test message that still names the old command.

Final Verification

The production change is in place. I’m formatting the touched Go files, then I’ll rerun the focused tests and the relevant package checks. The targeted tests are green. I’m widening verification inside the changed package now: full package tests plus go vet for the same package.

Package-level checks passed. I’m running the project lint task once because this is a Go production change and the repo calls that out as the lint boundary. Lint is clean.

Finally, I’m doing the final diff review now to make sure only the intended command string and matching tests changed. The diff is tightly scoped to the Homebrew command and related assertions.

Implemented the Homebrew auto-update change.

Code Changes

Changed versioncheck.go so brew-installed binaries now use:

brew upgrade --yes entire
brew upgrade --yes entire@nightly

Updated the related auto-update/versioncheck tests in:

Conclusion

The working tree contains only the three intended versioncheck files, and git diff --check produced no output. I’m committing that scoped change now.

Commit Summary

c768ab0add brew auto-update confirmation flag
Run Homebrew upgrades with --yes after the CLI prompt has already confirmed the user wants to update.