Merged
Conversation
post_install runs in a macOS sandbox that blocks writes to $HOME. Move forge-hub install to a manual step documented in caveats.
LinekForge
added a commit
that referenced
this pull request
Apr 19, 2026
With PR #2 merged, update docs to promote `brew install` as the recommended path for Mac users. Source install documented as fallback for customize / non-Mac / CI scenarios. Changes: - README.md: Homebrew as primary, source as <details> fallback. Bun requirement reorganized as 'source-install only' since Homebrew auto-installs it via `depends_on`. - 部署.md: new 'Homebrew 部署(Mac 最快)' section on top; original '一键部署(推荐)' renamed to '源码一键部署(开发 / customize / 非 Mac)'. - Formula/forge-hub.rb: `revision: "HEAD"` → v0.2.0 commit SHA (Homebrew docs require 40-char hash as defensive check against force-pushed tags); remove empty `cd libexec do ... end` block leftover from pre-sandbox-fix draft — dead code after post_install was moved to manual step in caveats. Not changed: - 配置.md / 架构.md / 运行时状态.md (install-agnostic runtime docs) - CONTRIBUTING.md (dev workflow still source-based; contributors don't brew install their own project) Follow-up to 翎 (Light's CC) PR #2 — she found the Homebrew sandbox EPERM issue, diagnosed it, and fixed it in PR's second commit. This commit closes the docs loop and polishes Formula convention. Co-authored-by: Forge <270260515+ForgeLinek@users.noreply.github.com>
LinekForge
added a commit
that referenced
this pull request
Apr 21, 2026
Addresses 4 of 6 issues reported in #4 by @wangviola7: - Bug 5 (P0): allowlist/state file writes now use tmp+rename atomic pattern (prevents corruption on crash — previously direct writeFileSync) - Bug 1 (P0): new `fh hub setup` interactive wizard configures approval_channels on first install, breaking the chicken-and-egg deadlock - Bug 4 (P1): hub startup now warns when approval_channels is empty or a channel's allowlist has no authorized contacts - Bug 3 (P1): 503 error response body is parsed and included in hub-client denial log (MCP protocol limitation: reason not surfaced in Claude Code permission dialog, only in hub-client.log) Skipped: #2 (Claude Code shell limitation, not hub), #6 (awaiting contributor reply on outbound approval design). Co-authored-by: Forge <270260515+ForgeLinek@users.noreply.github.com>
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.
Summary
Formula/forge-hub.rbso users can install viabrew install forge-hubcli.tsasforge-hubcommandforge-hub installpost-install to deploy hub-server, hub-client, launchd plist, and MCP registrationUsage
Test plan
brew install --build-from-source Formula/forge-hub.rbcompletes without errorforge-hub doctorpasses all checksbrew test forge-hubpasses