Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ on:
release:
types: [published]

permissions:
contents: write

jobs:
publish:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -36,12 +39,31 @@ jobs:
- name: Release smoke (npm pack completeness) — blocks publish if a shipped artifact is missing
run: bun run smoke:pack

- name: Build native installer release asset
env:
GH_TOKEN: ${{ github.token }}
RELEASE_TAG: ${{ github.event.release.tag_name }}
run: |
set -euo pipefail
OUT_DIR="$RUNNER_TEMP/agentbridge-release"
mkdir -p "$OUT_DIR"
PACKED="$(npm pack --pack-destination "$OUT_DIR" | tail -n 1)"
mv "$OUT_DIR/$PACKED" "$OUT_DIR/agentbridge.tgz"
(cd "$OUT_DIR" && sha256sum agentbridge.tgz > agentbridge.tgz.sha256)
gh release upload "$RELEASE_TAG" \
install.sh \
"$OUT_DIR/agentbridge.tgz" \
"$OUT_DIR/agentbridge.tgz.sha256" \
--clobber

- uses: actions/setup-node@v4
if: github.repository == 'raysonmeng/agent-bridge'
with:
node-version: "22"
registry-url: "https://registry.npmjs.org"

- name: Publish
if: github.repository == 'raysonmeng/agent-bridge'
run: npm publish --access=public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
Expand All @@ -56,6 +78,7 @@ jobs:
# workflow; the package staying published is expected, not a regression.

- name: Verify published to npm registry
if: github.repository == 'raysonmeng/agent-bridge'
# Confirm the just-published version is actually queryable from the OFFICIAL
# npm registry (never a mirror). Guards against the "publish reported success
# but the version never propagated" failure mode. Retries because registry
Expand Down Expand Up @@ -124,6 +147,7 @@ jobs:
exit 1

- name: Install published from npm and verify
if: github.repository == 'raysonmeng/agent-bridge'
# Install the freshly published package from the OFFICIAL registry (never a
# mirror) and assert that the installed CLI reports the SAME version we just
# published. This is the direct probe for the real incident: a dist bundle
Expand Down
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,23 @@ Net effect: each side receives a curated stream of meaningful messages, so conte

## Quick Start

### One-command installer (macOS / Linux / WSL)

For released versions, the installer downloads and verifies the GitHub Release
package, installs a versioned copy, and activates `agentbridge`/`abg` in
`~/.local/bin`. It does not require Node.js or npm; Bun is detected or (with
confirmation) installed using Bun's official installer. Claude Code and Codex
CLI are checked but remain user-managed.

```bash
curl -fsSL https://github.com/raysonmeng/agent-bridge/releases/latest/download/install.sh | bash
```

Use `--yes` for unattended Bun installation, `--version X.Y.Z` to pin a
release, `--dry-run` to preview actions, or `--force` when replacing an active
pair. The installer never runs `abg init`; initialize each project explicitly
after installation.

Five steps from nothing to a running pair:

```bash
Expand Down
15 changes: 15 additions & 0 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,21 @@ English version: [README.md](README.md)

## Quick Start

### 一键安装(macOS / Linux / WSL)

发布版本可直接使用官方安装脚本。脚本会下载并校验 GitHub Release
资源,将 AgentBridge 安装到版本化目录,并在 `~/.local/bin` 激活
`agentbridge`/`abg`。安装过程不需要 Node.js 或 npm;如果缺少 Bun,脚本会在
确认后调用 Bun 官方安装器。Claude Code 和 Codex CLI 只做检查,仍由用户自行管理。

```bash
curl -fsSL https://github.com/raysonmeng/agent-bridge/releases/latest/download/install.sh | bash
```

可通过 `--yes` 允许无人值守安装 Bun,`--version X.Y.Z` 固定版本,
`--dry-run` 预览动作,或在替换活动 pair 时使用 `--force`。安装器不会运行
`abg init`;安装后请在每个项目中显式初始化。

从零到一对跑起来,五步:

```bash
Expand Down
Loading
Loading