Skip to content
Merged
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
4 changes: 3 additions & 1 deletion SPEC.md
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,7 @@ nano, ncdu, parallel, procps, shellcheck, sudo, tini, tree, unzip, vim, zsh
| `EXTRA_DATALAD` | `""` | Set to `"1"` to enable DataLad |
| `EXTRA_JJ` | `""` | Set to `"1"` to enable Jujutsu |
| `EXTRA_DENO` | `""` | Set to `"1"` to enable Deno |
| `EXTRA_ENTIRE` | `""` | Set to `"1"` to enable Entire CLI |
| `JJ_VERSION` | `0.38.0` | Jujutsu version |
| `DENO_VERSION` | `""` | Deno version (empty = latest) |
| `GIT_DELTA_VERSION` | `0.18.2` | git-delta version |
Expand All @@ -307,6 +308,7 @@ nano, ncdu, parallel, procps, shellcheck, sudo, tini, tree, unzip, vim, zsh
| `datalad` | `uv tool install --with datalad-container --with datalad-next datalad` |
| `jj` | Musl binary from GitHub release + zsh completion |
| `deno` | Deno JS/TS runtime via install script + zsh/bash PATH setup |
| `entire` | Entire CLI via temporary Go toolchain install (`entireio/cli` v0.5.3) |

### Container Environment

Expand Down Expand Up @@ -337,7 +339,7 @@ setup-yolo.sh [OPTIONS]
| `--build=MODE` | `auto` | `auto`, `yes`, `no` | Image build control |
| `--install=MODE` | `auto` | `auto`, `yes`, `no` | Script install control |
| `--packages=PKGS` | `""` | comma/space-separated | Extra apt packages |
| `--extras=EXTRAS` | `""` | `cuda`, `playwright`, `datalad`, `jj`, `deno`, `all` | Predefined extras |
| `--extras=EXTRAS` | `""` | `cuda`, `playwright`, `datalad`, `jj`, `deno`, `entire`, `all` | Predefined extras |

### Build Behavior

Expand Down
22 changes: 22 additions & 0 deletions images/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,28 @@ RUN if [ "$EXTRA_DENO" = "1" ]; then \

ENV PATH="/home/node/.deno/bin:$PATH"

# Install Entire CLI via Go
ARG EXTRA_ENTIRE=""

RUN if [ "$EXTRA_ENTIRE" = "1" ]; then \
ARCH=$(uname -m) && \
case "$ARCH" in \
x86_64) GOARCH=amd64 ;; \
aarch64) GOARCH=arm64 ;; \
*) echo "Unsupported architecture: $ARCH" && exit 1 ;; \
esac && \
GO_VERSION=1.24.2 && \
wget -qO /tmp/go.tar.gz "https://go.dev/dl/go${GO_VERSION}.linux-${GOARCH}.tar.gz" && \
mkdir -p /tmp/goroot && \
tar -xzf /tmp/go.tar.gz -C /tmp/goroot --strip-components=1 && \
GOROOT=/tmp/goroot GOPATH=/tmp/gopath PATH="/tmp/goroot/bin:$PATH" \
go install github.com/entireio/cli/cmd/entire@v0.5.3 && \
mkdir -p ~/.local/bin && \
mv /tmp/gopath/bin/entire ~/.local/bin/entire && \
chmod -R u+w /tmp/gopath && \
rm -rf /tmp/go.tar.gz /tmp/goroot /tmp/gopath; \
fi

# Use tini as init process to properly reap zombie processes
ENTRYPOINT ["/usr/bin/tini", "--"]
CMD ["claude"]
7 changes: 4 additions & 3 deletions setup-yolo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ OPTIONS:
datalad - DataLad with datalad-container and datalad-next
jj - Jujutsu version control system
deno - Deno JS/TS runtime and formatter
entire - Entire CLI (entireio/cli)
all - Enable all extras

EXAMPLES:
Expand Down Expand Up @@ -102,12 +103,12 @@ while [[ $# -gt 0 ]]; do
EXTRAS="${1#*=}"
# Expand "all" to all available extras
if [[ "$EXTRAS" == "all" ]]; then
EXTRAS="cuda,playwright,datalad,jj,deno"
EXTRAS="cuda,playwright,datalad,jj,deno,entire"
fi
# Validate extras
for extra in ${EXTRAS//,/ }; do
if [[ ! "$extra" =~ ^(cuda|playwright|datalad|jj|deno)$ ]]; then
echo "Error: Unknown extra '$extra'. Valid extras: cuda, playwright, datalad, jj, deno, all"
if [[ ! "$extra" =~ ^(cuda|playwright|datalad|jj|deno|entire)$ ]]; then
echo "Error: Unknown extra '$extra'. Valid extras: cuda, playwright, datalad, jj, deno, entire, all"
exit 1
fi
done
Expand Down
Loading