From 977514e1280c9aedc4f0af51e38b2dfba3bff10a Mon Sep 17 00:00:00 2001 From: Brandon Hawi Date: Sun, 13 Jul 2025 14:43:36 +0000 Subject: [PATCH 01/16] feat: implement codename goose cli --- .../devcontainer-feature.json | 20 ++ src/codename-goose-cli/install.sh | 21 +++ src/codename-goose-cli/library_scripts.sh | 173 ++++++++++++++++++ test/codename-goose-cli/scenarios.json | 16 ++ test/codename-goose-cli/test.sh | 9 + test/codename-goose-cli/test_debian.sh | 9 + .../test_specific_version.sh | 9 + 7 files changed, 257 insertions(+) create mode 100644 src/codename-goose-cli/devcontainer-feature.json create mode 100755 src/codename-goose-cli/install.sh create mode 100644 src/codename-goose-cli/library_scripts.sh create mode 100644 test/codename-goose-cli/scenarios.json create mode 100755 test/codename-goose-cli/test.sh create mode 100755 test/codename-goose-cli/test_debian.sh create mode 100755 test/codename-goose-cli/test_specific_version.sh diff --git a/src/codename-goose-cli/devcontainer-feature.json b/src/codename-goose-cli/devcontainer-feature.json new file mode 100644 index 000000000..87f584367 --- /dev/null +++ b/src/codename-goose-cli/devcontainer-feature.json @@ -0,0 +1,20 @@ +{ + "id": "codename-goose-cli", + "version": "1.0.0", + "name": "codename-goose-cli (via GH Releases)", + "documentationURL": "http://github.com/devcontainers-extra/features/tree/main/src/codename-goose-cli", + "description": "An open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM", + "options": { + "version": { + "default": "stable", + "description": "Select the version to install.", + "proposals": [ + "stable" + ], + "type": "string" + } + }, + "installsAfter": [ + "ghcr.io/devcontainers-extra/features/gh-release" + ] +} \ No newline at end of file diff --git a/src/codename-goose-cli/install.sh b/src/codename-goose-cli/install.sh new file mode 100755 index 000000000..6e2174e1d --- /dev/null +++ b/src/codename-goose-cli/install.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +set -e + +source ./library_scripts.sh + +# nanolayer is a cli utility which keeps container layers as small as possible +# source code: https://github.com/devcontainers-extra/nanolayer +# `ensure_nanolayer` is a bash function that will find any existing nanolayer installations, +# and if missing - will download a temporary copy that automatically get deleted at the end +# of the script +ensure_nanolayer nanolayer_location "v0.5.6" + +# Example nanolayer installation via devcontainer-feature +$nanolayer_location \ + install \ + devcontainer-feature \ + "ghcr.io/devcontainers-extra/features/gh-release:1" \ + --option repo='block/goose' --option binaryNames='download_cli.sh' --option version="$VERSION" + +echo 'Done!' diff --git a/src/codename-goose-cli/library_scripts.sh b/src/codename-goose-cli/library_scripts.sh new file mode 100644 index 000000000..f6d0760d7 --- /dev/null +++ b/src/codename-goose-cli/library_scripts.sh @@ -0,0 +1,173 @@ +#!/usr/bin/env bash + +clean_download() { + # The purpose of this function is to download a file with minimal impact on container layer size + # this means if no valid downloader is found (curl or wget) then we install a downloader (currently wget) in a + # temporary manner, and making sure to + # 1. uninstall the downloader at the return of the function + # 2. revert back any changes to the package installer database/cache (for example apt-get lists) + # The above steps will minimize the leftovers being created while installing the downloader + # Supported distros: + # debian/ubuntu/alpine + + url=$1 + output_location=$2 + tempdir=$(mktemp -d) + downloader_installed="" + + function _apt_get_install() { + tempdir=$1 + + # copy current state of apt list - in order to revert back later (minimize contianer layer size) + cp -p -R /var/lib/apt/lists $tempdir + apt-get update -y + apt-get -y install --no-install-recommends wget ca-certificates + } + + function _apt_get_cleanup() { + tempdir=$1 + + echo "removing wget" + apt-get -y purge wget --auto-remove + + echo "revert back apt lists" + rm -rf /var/lib/apt/lists/* + rm -r /var/lib/apt/lists && mv $tempdir/lists /var/lib/apt/lists + } + + function _apk_install() { + tempdir=$1 + # copy current state of apk cache - in order to revert back later (minimize contianer layer size) + cp -p -R /var/cache/apk $tempdir + + apk add --no-cache wget + } + + function _apk_cleanup() { + tempdir=$1 + + echo "removing wget" + apk del wget + } + # try to use either wget or curl if one of them already installer + if type curl >/dev/null 2>&1; then + downloader=curl + elif type wget >/dev/null 2>&1; then + downloader=wget + else + downloader="" + fi + + # in case none of them is installed, install wget temporarly + if [ -z $downloader ]; then + if [ -x "/usr/bin/apt-get" ]; then + _apt_get_install $tempdir + elif [ -x "/sbin/apk" ]; then + _apk_install $tempdir + else + echo "distro not supported" + exit 1 + fi + downloader="wget" + downloader_installed="true" + fi + + if [ $downloader = "wget" ]; then + wget -q $url -O $output_location + else + curl -sfL $url -o $output_location + fi + + # NOTE: the cleanup procedure was not implemented using `trap X RETURN` only because + # alpine lack bash, and RETURN is not a valid signal under sh shell + if ! [ -z $downloader_installed ]; then + if [ -x "/usr/bin/apt-get" ]; then + _apt_get_cleanup $tempdir + elif [ -x "/sbin/apk" ]; then + _apk_cleanup $tempdir + else + echo "distro not supported" + exit 1 + fi + fi + +} + +ensure_nanolayer() { + # Ensure existance of the nanolayer cli program + local variable_name=$1 + + local required_version=$2 + # normalize version + if ! [[ $required_version == v* ]]; then + required_version=v$required_version + fi + + local nanolayer_location="" + + # If possible - try to use an already installed nanolayer + if [[ -z "${NANOLAYER_FORCE_CLI_INSTALLATION}" ]]; then + if [[ -z "${NANOLAYER_CLI_LOCATION}" ]]; then + if type nanolayer >/dev/null 2>&1; then + echo "Found a pre-existing nanolayer in PATH" + nanolayer_location=nanolayer + fi + elif [ -f "${NANOLAYER_CLI_LOCATION}" ] && [ -x "${NANOLAYER_CLI_LOCATION}" ]; then + nanolayer_location=${NANOLAYER_CLI_LOCATION} + echo "Found a pre-existing nanolayer which were given in env variable: $nanolayer_location" + fi + + # make sure its of the required version + if ! [[ -z "${nanolayer_location}" ]]; then + local current_version + current_version=$($nanolayer_location --version) + if ! [[ $current_version == v* ]]; then + current_version=v$current_version + fi + + if ! [ $current_version == $required_version ]; then + echo "skipping usage of pre-existing nanolayer. (required version $required_version does not match existing version $current_version)" + nanolayer_location="" + fi + fi + + fi + + # If not previuse installation found, download it temporarly and delete at the end of the script + if [[ -z "${nanolayer_location}" ]]; then + + if [ "$(uname -sm)" == "Linux x86_64" ] || [ "$(uname -sm)" == "Linux aarch64" ]; then + tmp_dir=$(mktemp -d -t nanolayer-XXXXXXXXXX) + + clean_up() { + ARG=$? + rm -rf $tmp_dir + exit $ARG + } + trap clean_up EXIT + + if [ -x "/sbin/apk" ]; then + clib_type=musl + else + clib_type=gnu + fi + + tar_filename=nanolayer-"$(uname -m)"-unknown-linux-$clib_type.tgz + + # clean download will minimize leftover in case a downloaderlike wget or curl need to be installed + clean_download https://github.com/devcontainers-extra/nanolayer/releases/download/$required_version/$tar_filename $tmp_dir/$tar_filename + + tar xfzv $tmp_dir/$tar_filename -C "$tmp_dir" + chmod a+x $tmp_dir/nanolayer + nanolayer_location=$tmp_dir/nanolayer + + else + echo "No binaries compiled for non-x86-linux architectures yet: $(uname -m)" + exit 1 + fi + fi + + # Expose outside the resolved location + declare -g ${variable_name}=$nanolayer_location + +} diff --git a/test/codename-goose-cli/scenarios.json b/test/codename-goose-cli/scenarios.json new file mode 100644 index 000000000..e77198f34 --- /dev/null +++ b/test/codename-goose-cli/scenarios.json @@ -0,0 +1,16 @@ +{ + "test_debian": { + "image": "mcr.microsoft.com/devcontainers/base:debian", + "features": { + "codename-goose-cli": {} + } + }, + "test_specific_version": { + "image": "mcr.microsoft.com/devcontainers/base:debian", + "features": { + "codename-goose-cli": { + "version": "v1.0.35" + } + } + } +} \ No newline at end of file diff --git a/test/codename-goose-cli/test.sh b/test/codename-goose-cli/test.sh new file mode 100755 index 000000000..aa0fb88c9 --- /dev/null +++ b/test/codename-goose-cli/test.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -e + +source dev-container-features-test-lib + +check "goose is installed" goose --version + +reportResults diff --git a/test/codename-goose-cli/test_debian.sh b/test/codename-goose-cli/test_debian.sh new file mode 100755 index 000000000..aa0fb88c9 --- /dev/null +++ b/test/codename-goose-cli/test_debian.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -e + +source dev-container-features-test-lib + +check "goose is installed" goose --version + +reportResults diff --git a/test/codename-goose-cli/test_specific_version.sh b/test/codename-goose-cli/test_specific_version.sh new file mode 100755 index 000000000..7b6107818 --- /dev/null +++ b/test/codename-goose-cli/test_specific_version.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -e + +source dev-container-features-test-lib + +check "goose version is equal to 1.0.35" sh -c "goose --version | grep '1.0.35'" + +reportResults From ff5d5ffc5ffbe616f1b0c31579f32f36ff034f38 Mon Sep 17 00:00:00 2001 From: Brandon Hawi Date: Sun, 13 Jul 2025 22:20:00 +0000 Subject: [PATCH 02/16] feat: use curl to install --- src/codename-goose-cli/devcontainer-feature.json | 3 +-- src/codename-goose-cli/install.sh | 8 ++++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/codename-goose-cli/devcontainer-feature.json b/src/codename-goose-cli/devcontainer-feature.json index 87f584367..d5aae2cc3 100644 --- a/src/codename-goose-cli/devcontainer-feature.json +++ b/src/codename-goose-cli/devcontainer-feature.json @@ -1,7 +1,7 @@ { "id": "codename-goose-cli", "version": "1.0.0", - "name": "codename-goose-cli (via GH Releases)", + "name": "codename-goose-cli", "documentationURL": "http://github.com/devcontainers-extra/features/tree/main/src/codename-goose-cli", "description": "An open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM", "options": { @@ -15,6 +15,5 @@ } }, "installsAfter": [ - "ghcr.io/devcontainers-extra/features/gh-release" ] } \ No newline at end of file diff --git a/src/codename-goose-cli/install.sh b/src/codename-goose-cli/install.sh index 6e2174e1d..5fc87e8c4 100755 --- a/src/codename-goose-cli/install.sh +++ b/src/codename-goose-cli/install.sh @@ -15,7 +15,11 @@ ensure_nanolayer nanolayer_location "v0.5.6" $nanolayer_location \ install \ devcontainer-feature \ - "ghcr.io/devcontainers-extra/features/gh-release:1" \ - --option repo='block/goose' --option binaryNames='download_cli.sh' --option version="$VERSION" + "ghcr.io/devcontainers-extra/features/curl-apt-get:1.0.16" + +echo "Installing goose $VERSION" + +curl -fsSL "https://github.com/block/goose/releases/download/${VERSION}/download_cli.sh" | + CONFIGURE=false bash echo 'Done!' From cee1786eedbaba5ec5e3a6fc74ace24e671d6b65 Mon Sep 17 00:00:00 2001 From: Brandon Hawi Date: Sun, 13 Jul 2025 22:31:33 +0000 Subject: [PATCH 03/16] feat: exec to get new path vars --- src/codename-goose-cli/install.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/codename-goose-cli/install.sh b/src/codename-goose-cli/install.sh index 5fc87e8c4..b4b237fb8 100755 --- a/src/codename-goose-cli/install.sh +++ b/src/codename-goose-cli/install.sh @@ -22,4 +22,6 @@ echo "Installing goose $VERSION" curl -fsSL "https://github.com/block/goose/releases/download/${VERSION}/download_cli.sh" | CONFIGURE=false bash +exec $SHELL + echo 'Done!' From 945f7bd64a886120176d6c922cf57d986b86fafe Mon Sep 17 00:00:00 2001 From: Brandon Hawi Date: Sun, 13 Jul 2025 22:34:02 +0000 Subject: [PATCH 04/16] feat: update path and source --- src/codename-goose-cli/install.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/codename-goose-cli/install.sh b/src/codename-goose-cli/install.sh index b4b237fb8..d499bfdc3 100755 --- a/src/codename-goose-cli/install.sh +++ b/src/codename-goose-cli/install.sh @@ -22,6 +22,8 @@ echo "Installing goose $VERSION" curl -fsSL "https://github.com/block/goose/releases/download/${VERSION}/download_cli.sh" | CONFIGURE=false bash -exec $SHELL +export PATH="/root/.local/bin:$PATH" + +source ~/.bashrc echo 'Done!' From e19dd2b81df26e37461b4e6e1a72b274142d85e2 Mon Sep 17 00:00:00 2001 From: Brandon Hawi Date: Sun, 13 Jul 2025 22:38:13 +0000 Subject: [PATCH 05/16] feat: try to fix path issue --- src/codename-goose-cli/install.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/codename-goose-cli/install.sh b/src/codename-goose-cli/install.sh index d499bfdc3..351804048 100755 --- a/src/codename-goose-cli/install.sh +++ b/src/codename-goose-cli/install.sh @@ -22,8 +22,9 @@ echo "Installing goose $VERSION" curl -fsSL "https://github.com/block/goose/releases/download/${VERSION}/download_cli.sh" | CONFIGURE=false bash -export PATH="/root/.local/bin:$PATH" - -source ~/.bashrc +$nanolayer_location \ + install \ + /root/.local/bin/goose \ + /usr/local/bin/goose echo 'Done!' From 40f9b458f208b60fe96292a7628160b7f6dbefaa Mon Sep 17 00:00:00 2001 From: Brandon Hawi Date: Sun, 13 Jul 2025 22:40:24 +0000 Subject: [PATCH 06/16] feat: try to fix again --- src/codename-goose-cli/install.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/codename-goose-cli/install.sh b/src/codename-goose-cli/install.sh index 351804048..2562cdb03 100755 --- a/src/codename-goose-cli/install.sh +++ b/src/codename-goose-cli/install.sh @@ -22,9 +22,8 @@ echo "Installing goose $VERSION" curl -fsSL "https://github.com/block/goose/releases/download/${VERSION}/download_cli.sh" | CONFIGURE=false bash -$nanolayer_location \ - install \ - /root/.local/bin/goose \ - /usr/local/bin/goose +install -Dm755 /root/.local/bin/goose /usr/local/bin/goose +install -Dm755 /root/.local/bin/temporal /usr/local/bin/temporal +install -Dm755 /root/.local/bin/temporal-service /usr/local/bin/temporal-service echo 'Done!' From df1b3cd5ef7d3a3278bb990cdf67138c128978cd Mon Sep 17 00:00:00 2001 From: Brandon Hawi Date: Sun, 13 Jul 2025 22:42:43 +0000 Subject: [PATCH 07/16] fix: path issue again --- src/codename-goose-cli/devcontainer-feature.json | 5 ++++- src/codename-goose-cli/install.sh | 4 ---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/codename-goose-cli/devcontainer-feature.json b/src/codename-goose-cli/devcontainer-feature.json index d5aae2cc3..a1f6fca40 100644 --- a/src/codename-goose-cli/devcontainer-feature.json +++ b/src/codename-goose-cli/devcontainer-feature.json @@ -15,5 +15,8 @@ } }, "installsAfter": [ - ] + ], + "containerEnv": { + "PATH": "/root/.local/bin:$PATH" + } } \ No newline at end of file diff --git a/src/codename-goose-cli/install.sh b/src/codename-goose-cli/install.sh index 2562cdb03..5fc87e8c4 100755 --- a/src/codename-goose-cli/install.sh +++ b/src/codename-goose-cli/install.sh @@ -22,8 +22,4 @@ echo "Installing goose $VERSION" curl -fsSL "https://github.com/block/goose/releases/download/${VERSION}/download_cli.sh" | CONFIGURE=false bash -install -Dm755 /root/.local/bin/goose /usr/local/bin/goose -install -Dm755 /root/.local/bin/temporal /usr/local/bin/temporal -install -Dm755 /root/.local/bin/temporal-service /usr/local/bin/temporal-service - echo 'Done!' From 81c5a586564eff02e9ff9e2d9a9669b61fdb0b8f Mon Sep 17 00:00:00 2001 From: Brandon Hawi Date: Sun, 13 Jul 2025 22:46:13 +0000 Subject: [PATCH 08/16] fix: change goose permissions --- src/codename-goose-cli/install.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/codename-goose-cli/install.sh b/src/codename-goose-cli/install.sh index 5fc87e8c4..59b655df8 100755 --- a/src/codename-goose-cli/install.sh +++ b/src/codename-goose-cli/install.sh @@ -22,4 +22,6 @@ echo "Installing goose $VERSION" curl -fsSL "https://github.com/block/goose/releases/download/${VERSION}/download_cli.sh" | CONFIGURE=false bash +chmod +x /usr/local/bin/goose + echo 'Done!' From e17a9ffbb9f8c9434ccfdba934de9c4d88afb5b8 Mon Sep 17 00:00:00 2001 From: Brandon Hawi Date: Sun, 13 Jul 2025 22:48:46 +0000 Subject: [PATCH 09/16] fix: execution for `goose` --- src/codename-goose-cli/install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/codename-goose-cli/install.sh b/src/codename-goose-cli/install.sh index 59b655df8..a078297a9 100755 --- a/src/codename-goose-cli/install.sh +++ b/src/codename-goose-cli/install.sh @@ -22,6 +22,6 @@ echo "Installing goose $VERSION" curl -fsSL "https://github.com/block/goose/releases/download/${VERSION}/download_cli.sh" | CONFIGURE=false bash -chmod +x /usr/local/bin/goose +chmod +x /root/.local/bin/goose echo 'Done!' From 52de591cf147f360ea305dc9a60baaa968d6fb84 Mon Sep 17 00:00:00 2001 From: Brandon Hawi Date: Sun, 13 Jul 2025 22:54:47 +0000 Subject: [PATCH 10/16] fix: try to fix by using `nanolayer` install --- src/codename-goose-cli/devcontainer-feature.json | 5 ----- src/codename-goose-cli/install.sh | 13 ++++--------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/src/codename-goose-cli/devcontainer-feature.json b/src/codename-goose-cli/devcontainer-feature.json index a1f6fca40..ce976a22f 100644 --- a/src/codename-goose-cli/devcontainer-feature.json +++ b/src/codename-goose-cli/devcontainer-feature.json @@ -13,10 +13,5 @@ ], "type": "string" } - }, - "installsAfter": [ - ], - "containerEnv": { - "PATH": "/root/.local/bin:$PATH" } } \ No newline at end of file diff --git a/src/codename-goose-cli/install.sh b/src/codename-goose-cli/install.sh index a078297a9..0ec9595a3 100755 --- a/src/codename-goose-cli/install.sh +++ b/src/codename-goose-cli/install.sh @@ -11,17 +11,12 @@ source ./library_scripts.sh # of the script ensure_nanolayer nanolayer_location "v0.5.6" -# Example nanolayer installation via devcontainer-feature +echo "Installing goose $VERSION" + $nanolayer_location \ install \ devcontainer-feature \ - "ghcr.io/devcontainers-extra/features/curl-apt-get:1.0.16" - -echo "Installing goose $VERSION" - -curl -fsSL "https://github.com/block/goose/releases/download/${VERSION}/download_cli.sh" | - CONFIGURE=false bash - -chmod +x /root/.local/bin/goose + "ghcr.io/devcontainers-extra/features/gh-release:1.0.25" \ + --option repo='block/goose' --option binaryNames='goose' --option version="$VERSION" echo 'Done!' From 3ba16ed9a143f7742718f8feda7dde67442efacd Mon Sep 17 00:00:00 2001 From: Brandon Hawi Date: Sun, 13 Jul 2025 23:03:53 +0000 Subject: [PATCH 11/16] fix: install necessary dependency --- src/codename-goose-cli/install.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/codename-goose-cli/install.sh b/src/codename-goose-cli/install.sh index 0ec9595a3..f4c338a27 100755 --- a/src/codename-goose-cli/install.sh +++ b/src/codename-goose-cli/install.sh @@ -19,4 +19,8 @@ $nanolayer_location \ "ghcr.io/devcontainers-extra/features/gh-release:1.0.25" \ --option repo='block/goose' --option binaryNames='goose' --option version="$VERSION" +$nanolayer_location \ + install \ + apt-get install -y libxcb1 + echo 'Done!' From 2eadbc02e58d4c25a0ccaaf10aec402033e0a266 Mon Sep 17 00:00:00 2001 From: Brandon Hawi Date: Sun, 13 Jul 2025 23:07:04 +0000 Subject: [PATCH 12/16] fix: install using nanolayer --- src/codename-goose-cli/install.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/codename-goose-cli/install.sh b/src/codename-goose-cli/install.sh index f4c338a27..75636502f 100755 --- a/src/codename-goose-cli/install.sh +++ b/src/codename-goose-cli/install.sh @@ -21,6 +21,7 @@ $nanolayer_location \ $nanolayer_location \ install \ - apt-get install -y libxcb1 + apt-get \ + libxcb1 echo 'Done!' From 1f9f195784c87cd4577117568d3aae23af00a97d Mon Sep 17 00:00:00 2001 From: Brandon Hawi Date: Sun, 13 Jul 2025 23:21:45 +0000 Subject: [PATCH 13/16] feat: auto gen docs --- src/codename-goose-cli/README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/codename-goose-cli/README.md diff --git a/src/codename-goose-cli/README.md b/src/codename-goose-cli/README.md new file mode 100644 index 000000000..cd69dc5cb --- /dev/null +++ b/src/codename-goose-cli/README.md @@ -0,0 +1,24 @@ + +# codename-goose-cli (codename-goose-cli) + +An open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM + +## Example Usage + +```json +"features": { + "ghcr.io/codename-goose-cli/codename-goose-cli:1": {} +} +``` + +## Options + +| Options Id | Description | Type | Default Value | +|-----|-----|-----|-----| +| version | Select the version to install. | string | stable | + + + +--- + +_Note: This file was auto-generated from the [devcontainer-feature.json](devcontainer-feature.json). Add additional notes to a `NOTES.md`._ From 826a14f9ece846e64419f0c6b763458eb84b459e Mon Sep 17 00:00:00 2001 From: Brandon Hawi Date: Sun, 13 Jul 2025 23:23:24 +0000 Subject: [PATCH 14/16] fix: update name --- src/codename-goose-cli/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/codename-goose-cli/README.md b/src/codename-goose-cli/README.md index cd69dc5cb..9563357fd 100644 --- a/src/codename-goose-cli/README.md +++ b/src/codename-goose-cli/README.md @@ -1,5 +1,5 @@ -# codename-goose-cli (codename-goose-cli) +# codename goose CLI (via Github Releases) (codename-goose-cli) An open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM From ca4034c23e52f501adde072d9927308fe75d0f49 Mon Sep 17 00:00:00 2001 From: Brandon Hawi Date: Tue, 22 Jul 2025 14:48:00 -0700 Subject: [PATCH 15/16] Update src/codename-goose-cli/README.md Co-authored-by: Arek Kalandyk <36413794+koralowiec@users.noreply.github.com> Signed-off-by: Brandon Hawi --- src/codename-goose-cli/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/codename-goose-cli/README.md b/src/codename-goose-cli/README.md index 9563357fd..6a55ae821 100644 --- a/src/codename-goose-cli/README.md +++ b/src/codename-goose-cli/README.md @@ -7,7 +7,7 @@ An open source, extensible AI agent that goes beyond code suggestions - install, ```json "features": { - "ghcr.io/codename-goose-cli/codename-goose-cli:1": {} + "ghcr.io/devcontainers-extra/features/codename-goose-cli:1": {} } ``` From 3ecdfb2967b5611806d00abaad6b3b982273a05c Mon Sep 17 00:00:00 2001 From: Brandon Hawi Date: Tue, 22 Jul 2025 14:48:11 -0700 Subject: [PATCH 16/16] Update src/codename-goose-cli/install.sh Co-authored-by: Arek Kalandyk <36413794+koralowiec@users.noreply.github.com> Signed-off-by: Brandon Hawi --- src/codename-goose-cli/install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/codename-goose-cli/install.sh b/src/codename-goose-cli/install.sh index 75636502f..aa090996d 100755 --- a/src/codename-goose-cli/install.sh +++ b/src/codename-goose-cli/install.sh @@ -16,7 +16,7 @@ echo "Installing goose $VERSION" $nanolayer_location \ install \ devcontainer-feature \ - "ghcr.io/devcontainers-extra/features/gh-release:1.0.25" \ + "ghcr.io/devcontainers-extra/features/gh-release:1.0.26" \ --option repo='block/goose' --option binaryNames='goose' --option version="$VERSION" $nanolayer_location \