Community코딩 & 개발github.com

openclaw-docker-e2e-authoring

OpenClaw Docker E2E 및 실시간 프로바이더 Docker 레인을 작성합니다.

openclaw-docker-e2e-authoring란 무엇인가요?

이 스킬은 OpenClaw 프로젝트에서 Docker 기반 E2E(종단 간) 테스트와 실시간 프로바이더 Docker 레인을 작성하고 수정할 때 사용됩니다. 개발자에게 결정론적 Docker(의존성/서버를 가짜로 대체)와 실시간 Docker(실제 프로바이더 자격 증명/모델 사용) 중에서 적절한 레인을 선택하는 방법을 안내하며, 두 접근법이 각각 다른 위험(예: 바이트/페이로드 라우팅 vs. 실제 프로바이더 동작)을 검증할 수 있을 때는 둘 다 선호하도록 권장합니다. 또한 테스트 전용 헬퍼는 `test/helpers`나 `scripts/e2e/lib/<lane>/`에 배치하고, 패키지로 설치된 앱은 `/app`에서 실행하며 명시적인 경로만 읽기 전용으로 마운트하는 등 구체적인 작성 규칙을 제공합니다. 미디어/비전 테스트에서는 예상 답변이 픽셀이나 프로바이더 출력에만 존재해야 하며, 중립적인 파일명과 프롬프트를 사용하고 메타데이터 누출을 금지합니다. `chat.send` E2E 테스트에서는 `status: "started"`와 `runId` 문자열을 요구하고, `agent.wait`로 완료를 기다린 후 `chat.history`를 통해 최종 사용자 텍스트를 검증합니다. 마지막으로, 변경된 파일에 대해 포매팅, 문법 검사, 테스트 실행 등 최소한의 검증 단계를 수행하고 실시간 프로바이더 레인은 결정론적 테스트 통과 후 실행하도록 안내합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/.agents/skills/openclaw-docker-e2e-authoring

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

OpenClaw Docker E2E Authoring

Docker E2E 레인, 릴리스 경로 Docker 테스트 또는 실시간 프로바이더 Docker 증명을 추가하거나 변경할 때 사용합니다.

레인 선택

  • 결정론적 Docker: 의존성/서버를 가짜로 대체하고 경계를 넘는 정확한 런타임 계약을 단언합니다.
  • 실시간 Docker: 사용자에게 보이는 동작이 실제 서비스를 필요로 하는 경우에만 실제 프로바이더 자격 증명/모델을 사용합니다.
  • 두 접근법이 각각 다른 위험을 검증할 때는 둘 다 선호합니다. 결정론적은 바이트/페이로드 라우팅용, 실시간은 실제 프로바이더 동작용입니다.

작성 규칙

  • 테스트 전용 헬퍼는 test/helpers 또는 scripts/e2e/lib/<lane>/에 위치하며, 프로덕션에서 가져오지 않는 한 src/**에 두지 않습니다.
  • 패키지로 설치된 앱은 /app에서 실행되며, 명시적인 harness/helper 경로만 읽기 전용으로 마운트합니다.
  • 가짜 서버는 경계 요청을 JSONL로 로그에 기록하고, 클라이언트는 단순한 처리 성공이 아닌 실제 의존성 페이로드를 단언해야 합니다.
  • 같은 변경에서 패키지 스크립트와 scripts/lib/docker-e2e-scenarios.mjs 레인을 추가합니다.
  • 레인이 npm에서 플러그인을 설치하는 경우, 환경 변수를 통해 사양을 기본값으로 설정하여 게시된 경로와 로컬 재정의 경로 모두 테스트 가능하게 합니다.

미디어 및 비전

  • 예상 답변은 테스트 중인 픽셀이나 프로바이더 출력에만 존재해야 합니다.
  • 중립적인 파일명, 중립적인 프롬프트를 사용하고 메타데이터 누출이 없어야 합니다.
  • 무작위 비트맵/OCR 토큰은 테스트가 더 강력한 글리프 집합을 소유하지 않는 한 저장소의 OCR 안전 알파벳 24567ACEF를 재사용합니다.
  • 실제 이미지 이해를 증명할 때는 예상 답변이 실행마다 고유하게 만듭니다.

chat.send E2E

  • chat.send가 status: "started"와 문자열 runId를 반환하도록 요구합니다.
  • agent.wait로 완료를 기다립니다.
  • 이벤트 순서가 테스트 대상 동작이 아닌 경우 chat.history를 통해 최종 사용자에게 보이는 텍스트를 단언합니다.
  • 원본 채널/계정 메타데이터는 버그 경로에 대기 중인 인바운드/채널 컨텍스트가 필요한 경우에만 유지합니다.

검증

터치된 레인을 다루는 가장 작은 증명을 실행합니다:

pnpm exec oxfmt --write <변경된 파일>
node --check <새 .mjs 파일>
bash -n <새 .sh 파일>
node scripts/run-vitest.mjs test/scripts/docker-e2e-plan.test.ts
OPENCLAW_SKIP_DOCKER_BUILD=1 pnpm test:docker:<lane>

실제 프로바이더 레인의 경우, 결정론적 Docker가 통과한 후 일치하는 실시간 Docker 스크립트를 실행합니다. 커밋/PR 전에 $autoreview로 마무리합니다.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills and agent Templates when requested; add Templates; install, verify, update, uninstall, publish, or sync skills.

관련 스킬