본문으로 건너뛰기
cccskills
무료GitHub에 공개

deploy-grokky

Deploy Grokky — start Docker, ensure grok_spawner, build images, publish package

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Docker
설치 방법 보기

포함된 파일(1)

  • SKILL.md4.0 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Deploy Grokky

This skill performs a full deployment of the Grokky package:

  • Ensures Docker is running
  • Ensures grok_spawner is running
  • Builds required Docker images
  • Starts runtime containers
  • Builds and publishes the package

Arguments

$ARGUMENTS may include:

  • key: <ANTHROPIC_API_KEY>
  • host: <publish host>

Resolve arguments

  1. If host is missing: Ask: "Which host should I publish to? (e.g., localhost, dev, public)" Wait for user input before continuing.

  2. If key is missing: Run:

    echo $ANTHROPIC_API_KEY
    

    If empty, ask the user to provide the key and wait.

Resolve paths

Set variables explicitly:

GROKKY_ROOT=$(cd "${CLAUDE_SKILL_DIR}/../../.." && pwd)
DOCKER_DIR=$(cd "$GROKKY_ROOT/../../docker" && pwd)
COMPOSE_FILE="$DOCKER_DIR/localhost.bleeding-edge.docker-compose.yaml"

Step 1 — Ensure Docker is running

Run:

docker info > /dev/null 2>&1

If it fails:

open -a Docker

Then retry every 3 seconds (max 10 attempts):

for i in {1..10}; do
  sleep 3
  docker info > /dev/null 2>&1 && break
done

If still failing after 10 attempts: Stop execution and tell user: "Docker is not running. Please start Docker manually."


Step 2 — Ensure grok_spawner is running and fresh

Check if running:

docker ps --filter "name=grok_spawner" --format "{{.Names}}"

If no output, start it:

cd "$DOCKER_DIR"
GROK_SPAWNER_CORE_MODE=true docker compose -f "$COMPOSE_FILE" up -d grok_spawner

If running, check its age:

docker inspect --format '{{.Created}}' grok_spawner

Parse the timestamp and compare to now. If the container is older than 2 days, recreate it:

cd "$DOCKER_DIR"
GROK_SPAWNER_CORE_MODE=true docker compose -f "$COMPOSE_FILE" up -d --force-recreate grok_spawner

Do NOT start any other services.


Step 3 — Detect the Docker network

The network name varies by setup. Detect it from the running grok_spawner container:

DOCKER_NETWORK=$(docker ps --filter "name=grok_spawner" --format "{{.Networks}}" | head -1)

If DOCKER_NETWORK is empty, fall back:

DOCKER_NETWORK=$(docker network ls --format "{{.Name}}" | grep -E "datagrok" | head -1)

If still empty, stop and tell user: "No datagrok Docker network found. Is the platform running?"


Step 4 — Detect required image builds

cd "$GROKKY_ROOT"
CHANGED_FILES=$(git diff --name-only HEAD -- dockerfiles/; git status --short -- dockerfiles/)

Check existing images:

EXISTING_IMAGES=$(docker images --format "{{.Repository}}:{{.Tag}}" | grep grokky || true)

Determine build flags:

  • Build claude-runtime if:

    • dockerfiles/claude-runtime/ appears in $CHANGED_FILES OR
    • grokky-claude-runtime:admin not found in $EXISTING_IMAGES
  • Build mcp-server if:

    • dockerfiles/mcp-server/ appears in $CHANGED_FILES OR
    • grokky-mcp-server:admin not found in $EXISTING_IMAGES

If neither needs building, skip to Step 6.


Step 5 — Build images (only those flagged in Step 4)

claude-runtime

cd "$GROKKY_ROOT/dockerfiles/claude-runtime"
docker build --build-arg ANTHROPIC_API_KEY=$KEY -t grokky-claude-runtime:admin .
docker rm -f grokky-claude-runtime 2>/dev/null || true

mcp-server

cd "$GROKKY_ROOT/dockerfiles/mcp-server"
docker build -t grokky-mcp-server:admin .
docker rm -f grokky-mcp-server 2>/dev/null || true

Step 6 — Build and publish

cd "$GROKKY_ROOT"
npm run build

If build fails, stop and show the error output.

If build succeeds:

grok publish $HOST

If publish fails, stop and show the error output.


Step 7 — Report results

Print:

  • Whether Docker was started
  • Whether grok_spawner was started
  • Which images were built (or "all cached")
  • Container statuses
  • Publish result

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Add support for a new curve data format in the Curves package converter system

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

datagrok-ai/public742026년 10월 20일 업데이트

Create info panels that appear in the context panel based on semantic types

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

datagrok-ai/public742026년 10월 20일 업데이트

Add a new single-objective optimization algorithm to the sci-comp library. Use when the user asks to implement a new optimizer (e.g. gradient descent, BFGS, simulated annealing, differential evolution).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

datagrok-ai/public742026년 10월 20일 업데이트

Add unit tests to a Datagrok package

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

datagrok-ai/public742026년 10월 20일 업데이트

Answer a "how do I …" question about the platform with a Gherkin scenario on @datagrok-libraries/bdd that is filmed into a how-to video (grok-bdd guide), so the answer is demonstrated, sent as a video plus numbered steps, and kept as a regression test; the same scenarios, filmed in help mode, are the GIFs of the help pages

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

datagrok-ai/public742026년 10월 20일 업데이트

Translate hand-written Playwright specs (or any existing UI tests) into Gherkin features on @datagrok-libraries/bdd, then prove the features test what they claim by backward-matching them against the originals with independent reviewers, and fix the gaps in the core, the library and the features

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

datagrok-ai/public742026년 10월 20일 업데이트

datagrok-ai의 스킬 모두 보기

이 스킬의 문제 신고