From 2da4113252a94642c4709c67c3fa186b51e6565d Mon Sep 17 00:00:00 2001 From: skulidropek <66840575+skulidropek@users.noreply.github.com> Date: Thu, 12 Mar 2026 20:06:16 +0000 Subject: [PATCH 1/2] feat(docker): add sshpass to container images Install sshpass in both the dev SSH container and the API container Dockerfiles for out-of-the-box SSH password authentication support. Closes #119 Co-Authored-By: Claude Opus 4.6 --- Dockerfile | 2 +- packages/api/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3ecd2332..c2227fab 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:24.04 ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install -y --no-install-recommends \ - openssh-server git ca-certificates nodejs npm \ + openssh-server git ca-certificates nodejs npm sshpass \ && rm -rf /var/lib/apt/lists/* # Tooling: pnpm + Codex CLI diff --git a/packages/api/Dockerfile b/packages/api/Dockerfile index 774c0e30..d7528cc8 100644 --- a/packages/api/Dockerfile +++ b/packages/api/Dockerfile @@ -4,7 +4,7 @@ ENV DEBIAN_FRONTEND=noninteractive WORKDIR /workspace RUN apt-get update && apt-get install -y --no-install-recommends \ - ca-certificates curl git docker.io docker-compose-v2 \ + ca-certificates curl git docker.io docker-compose-v2 sshpass \ && rm -rf /var/lib/apt/lists/* RUN curl -fsSL https://deb.nodesource.com/setup_24.x | bash - \ From f50b298055d4c315a275ef2a792c8b05ea51d1bb Mon Sep 17 00:00:00 2001 From: skulidropek <66840575+skulidropek@users.noreply.github.com> Date: Fri, 13 Mar 2026 07:57:24 +0000 Subject: [PATCH 2/2] fix(prompt): mention sshpass availability --- .../lib/src/core/templates-entrypoint/claude-extra-config.ts | 2 +- packages/lib/src/core/templates-entrypoint/codex.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/lib/src/core/templates-entrypoint/claude-extra-config.ts b/packages/lib/src/core/templates-entrypoint/claude-extra-config.ts index 27d50fab..e376aa66 100644 --- a/packages/lib/src/core/templates-entrypoint/claude-extra-config.ts +++ b/packages/lib/src/core/templates-entrypoint/claude-extra-config.ts @@ -46,7 +46,7 @@ if [[ "$CLAUDE_AUTO_SYSTEM_PROMPT" == "1" ]]; then if [[ ! -f "$CLAUDE_GLOBAL_PROMPT_FILE" ]] || grep -q "^$" "$CLAUDE_GLOBAL_PROMPT_FILE"; then cat < "$CLAUDE_GLOBAL_PROMPT_FILE" -Ты автономный агент, который имеет полностью все права управления контейнером. У тебя есть доступ к командам sudo, gh, codex, opencode, oh-my-opencode, claude, git, node, pnpm и всем остальным другим. Проекты с которыми идёт работа лежат по пути ~ +Ты автономный агент, который имеет полностью все права управления контейнером. У тебя есть доступ к командам sudo, gh, codex, opencode, oh-my-opencode, sshpass, claude, git, node, pnpm и всем остальным другим. Проекты с которыми идёт работа лежат по пути ~ Рабочая папка проекта (git clone): __TARGET_DIR__ Доступные workspace пути: __TARGET_DIR__ $CLAUDE_WORKSPACE_CONTEXT diff --git a/packages/lib/src/core/templates-entrypoint/codex.ts b/packages/lib/src/core/templates-entrypoint/codex.ts index 93b350f8..2a1cb2b8 100644 --- a/packages/lib/src/core/templates-entrypoint/codex.ts +++ b/packages/lib/src/core/templates-entrypoint/codex.ts @@ -263,7 +263,7 @@ $MANAGED_END EOF )" cat < "$AGENTS_PATH" -Ты автономный агент, который имеет полностью все права управления контейнером. У тебя есть доступ к командам sudo, gh, codex, opencode, oh-my-opencode, git, node, pnpm и всем остальным другим. Проекты с которыми идёт работа лежат по пути ~ +Ты автономный агент, который имеет полностью все права управления контейнером. У тебя есть доступ к командам sudo, gh, codex, opencode, oh-my-opencode, sshpass, git, node, pnpm и всем остальным другим. Проекты с которыми идёт работа лежат по пути ~ $MANAGED_BLOCK Если ты видишь файлы AGENTS.md внутри проекта, ты обязан их читать и соблюдать инструкции. EOF