refactor: goose-acp-server -> goose binary for TUI (#8155)

This commit is contained in:
Alex Hancock
2026-03-27 17:12:11 -04:00
committed by GitHub
parent ae83fd2adc
commit dfa93fe948
21 changed files with 335 additions and 262 deletions
+2
View File
@@ -0,0 +1,2 @@
# Ignore built binaries - these are generated by build:native scripts
*/bin/
+54
View File
@@ -0,0 +1,54 @@
# Native Binary Packages for goose
This directory contains the npm package scaffolding for distributing the
`goose` Rust binary as platform-specific npm packages.
## Packages
| Package | Platform |
|---------|----------|
| `@aaif/goose-binary-darwin-arm64` | macOS Apple Silicon |
| `@aaif/goose-binary-darwin-x64` | macOS Intel |
| `@aaif/goose-binary-linux-arm64` | Linux ARM64 |
| `@aaif/goose-binary-linux-x64` | Linux x64 |
| `@aaif/goose-binary-win32-x64` | Windows x64 |
## Building
From the repository root:
```bash
# Build for current platform only
cd ui/acp
npm run build:native
# Build for all platforms (requires cross-compilation toolchains)
npm run build:native:all
# Build for specific platform(s)
npx tsx scripts/build-native.ts darwin-arm64 linux-x64
```
The built binaries are placed into `ui/goose-binary/goose-binary-{platform}/bin/`.
These directories are git-ignored.
## Publishing
Publishing is handled by GitHub Actions. See `.github/workflows/publish-npm.yml`.
For manual publishing:
```bash
# From repository root
./ui/scripts/publish.sh --real
```
This will publish all native packages along with `@aaif/goose-acp` and `@aaif/goose`.
## Usage
These packages are installed as optional dependencies by `@aaif/goose` (the TUI).
The appropriate package for the user's platform is automatically selected during
installation.
See `ui/text/scripts/postinstall.mjs` for how the binary path is resolved.
@@ -0,0 +1,25 @@
{
"name": "@aaif/goose-binary-darwin-arm64",
"version": "0.1.0",
"description": "Goose binary for macOS ARM64",
"license": "Apache-2.0",
"repository": {
"type": "git",
"url": "git+https://github.com/block/goose.git"
},
"keywords": [
"goose",
"ai",
"agent",
"binary"
],
"os": [
"darwin"
],
"cpu": [
"arm64"
],
"files": [
"bin/goose"
]
}
@@ -0,0 +1,25 @@
{
"name": "@aaif/goose-binary-darwin-x64",
"version": "0.1.0",
"description": "Goose binary for macOS x64",
"license": "Apache-2.0",
"repository": {
"type": "git",
"url": "git+https://github.com/block/goose.git"
},
"keywords": [
"goose",
"ai",
"agent",
"binary"
],
"os": [
"darwin"
],
"cpu": [
"x64"
],
"files": [
"bin/goose"
]
}
@@ -0,0 +1,25 @@
{
"name": "@aaif/goose-binary-linux-arm64",
"version": "0.1.0",
"description": "Goose binary for Linux ARM64",
"license": "Apache-2.0",
"repository": {
"type": "git",
"url": "git+https://github.com/block/goose.git"
},
"keywords": [
"goose",
"ai",
"agent",
"binary"
],
"os": [
"linux"
],
"cpu": [
"arm64"
],
"files": [
"bin/goose"
]
}
@@ -0,0 +1,25 @@
{
"name": "@aaif/goose-binary-linux-x64",
"version": "0.1.0",
"description": "Goose binary for Linux x64",
"license": "Apache-2.0",
"repository": {
"type": "git",
"url": "git+https://github.com/block/goose.git"
},
"keywords": [
"goose",
"ai",
"agent",
"binary"
],
"os": [
"linux"
],
"cpu": [
"x64"
],
"files": [
"bin/goose"
]
}
@@ -0,0 +1,25 @@
{
"name": "@aaif/goose-binary-win32-x64",
"version": "0.1.0",
"description": "Goose binary for Windows x64",
"license": "Apache-2.0",
"repository": {
"type": "git",
"url": "git+https://github.com/block/goose.git"
},
"keywords": [
"goose",
"ai",
"agent",
"binary"
],
"os": [
"win32"
],
"cpu": [
"x64"
],
"files": [
"bin/goose.exe"
]
}