From 6d94d41b1a6cdc254417fc780716ed4c4b914585 Mon Sep 17 00:00:00 2001 From: Drew Newberry Date: Tue, 10 Mar 2026 10:57:09 -0700 Subject: [PATCH 1/2] refactor: rename NemoClaw to OpenShell - Update all references from NemoClaw to OpenShell - Update CLI commands from nemoclaw to openshell - Update container image references from nemoclaw-community to openshell-community - Update documentation and contributing guides Excludes brev/ and sandboxes/nemoclaw/ directories Signed-off-by: Drew Newberry --- CONTRIBUTING.md | 10 +++++----- README.md | 12 ++++++------ THIRD-PARTY-NOTICES | 2 +- sandboxes/base/Dockerfile | 4 ++-- sandboxes/base/README.md | 6 +++--- sandboxes/openclaw/Dockerfile | 8 ++++---- sandboxes/openclaw/README.md | 10 +++++----- sandboxes/openclaw/openclaw-start.sh | 4 ++-- 8 files changed, 28 insertions(+), 28 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 20a1470..44cee89 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ -# Contributing to NemoClaw Community +# Contributing to OpenShell Community -Thank you for your interest in contributing to the NemoClaw Community ecosystem. This guide covers everything you need to get started. +Thank you for your interest in contributing to the OpenShell Community ecosystem. This guide covers everything you need to get started. ## Ways to Contribute @@ -8,7 +8,7 @@ Thank you for your interest in contributing to the NemoClaw Community ecosystem. - **Skills** -- Create agent skills and tool definitions inside a sandbox's `skills/` directory - **Bug fixes** -- Fix issues in existing sandboxes, skills, or configurations - **Documentation** -- Improve READMEs, guides, and usage examples -- **Integrations** -- Connect NemoClaw to new tools, platforms, or workflows +- **Integrations** -- Connect OpenShell to new tools, platforms, or workflows ## Developer Certificate of Origin (DCO) @@ -35,8 +35,8 @@ A DCO check runs on every pull request and will fail if any commit is missing th 3. Create a feature branch from `main` ```bash -git clone https://github.com//NemoClaw-Community.git -cd NemoClaw-Community +git clone https://github.com//OpenShell-Community.git +cd OpenShell-Community git checkout -b my-feature ``` diff --git a/README.md b/README.md index 58a37fd..53762ab 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@ -# NemoClaw Community +# OpenShell Community -[NemoClaw](https://github.com/NVIDIA/NemoClaw) is the runtime environment for autonomous agents -- the infrastructure where they live, work, and verify. It provides a programmable factory where agents can spin up physics simulations to master tasks, generate synthetic data to fix edge cases, and safely iterate through thousands of failures in isolated sandboxes. The core engine includes the sandbox runtime, policy engine, gateway (with k3s harness), privacy router, and CLI. +[OpenShell](https://github.com/NVIDIA/OpenShell) is the runtime environment for autonomous agents -- the infrastructure where they live, work, and verify. It provides a programmable factory where agents can spin up physics simulations to master tasks, generate synthetic data to fix edge cases, and safely iterate through thousands of failures in isolated sandboxes. The core engine includes the sandbox runtime, policy engine, gateway (with k3s harness), privacy router, and CLI. -This repo is the community ecosystem around NemoClaw -- a hub for contributed skills, sandbox images, launchables, and integrations that extend its capabilities. For the core engine, docs, and published artifacts (PyPI, containers, binaries), see the [NemoClaw](https://github.com/NVIDIA/NemoClaw) repo. +This repo is the community ecosystem around OpenShell -- a hub for contributed skills, sandbox images, launchables, and integrations that extend its capabilities. For the core engine, docs, and published artifacts (PyPI, containers, binaries), see the [OpenShell](https://github.com/NVIDIA/OpenShell) repo. ## What's Here | Directory | Description | | ------------ | --------------------------------------------------------------------------------- | -| `brev/` | [Brev](https://brev.dev) launchable for one-click cloud deployment of NemoClaw | +| `brev/` | [Brev](https://brev.dev) launchable for one-click cloud deployment of OpenShell | | `sandboxes/` | Pre-built sandbox images for domain-specific workloads (each with its own skills) | ### Sandboxes @@ -24,7 +24,7 @@ This repo is the community ecosystem around NemoClaw -- a hub for contributed sk ### Prerequisites -- [NemoClaw CLI](https://github.com/NVIDIA/NemoClaw) installed (`uv pip install nemoclaw`) +- [OpenShell CLI](https://github.com/NVIDIA/OpenShell) installed (`uv pip install openshell`) - Docker or a compatible container runtime - NVIDIA GPU with appropriate drivers (for GPU-accelerated images) @@ -35,7 +35,7 @@ TODO: Add Brev instructions ### Using Sandboxes ```bash -nemoclaw sandbox create --from openclaw +openshell sandbox create --from openclaw ``` The `--from` flag accepts any sandbox defined under `sandboxes/` (e.g., `openclaw`, `sdg`, `simulation`), a local path, or a container image reference. diff --git a/THIRD-PARTY-NOTICES b/THIRD-PARTY-NOTICES index 2805b0d..c29620c 100644 --- a/THIRD-PARTY-NOTICES +++ b/THIRD-PARTY-NOTICES @@ -1,6 +1,6 @@ THIRD-PARTY SOFTWARE NOTICES -This file lists the third-party software packages used by NemoClaw Community, +This file lists the third-party software packages used by OpenShell Community, along with their respective licenses. ================================================================================ diff --git a/sandboxes/base/Dockerfile b/sandboxes/base/Dockerfile index cd2b8ee..9a327aa 100644 --- a/sandboxes/base/Dockerfile +++ b/sandboxes/base/Dockerfile @@ -3,12 +3,12 @@ # SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# NemoClaw Community base sandbox image +# OpenShell Community base sandbox image # # Provides the foundational system tools, users, and developer environment # that all other community sandbox images build on top of. # -# Build: docker build -t nemoclaw-base . +# Build: docker build -t openshell-base . # System base FROM ubuntu:24.04 AS system diff --git a/sandboxes/base/README.md b/sandboxes/base/README.md index a8d5f46..94ecb11 100644 --- a/sandboxes/base/README.md +++ b/sandboxes/base/README.md @@ -1,6 +1,6 @@ # Base Sandbox -The foundational sandbox image that all other NemoClaw Community sandbox images build from. +The foundational sandbox image that all other OpenShell Community sandbox images build from. ## What's Included @@ -29,7 +29,7 @@ The foundational sandbox image that all other NemoClaw Community sandbox images ## Build ```bash -docker build -t nemoclaw-base . +docker build -t openshell-base . ``` ## Building a Sandbox on Top @@ -37,7 +37,7 @@ docker build -t nemoclaw-base . Other sandbox images should use this as their base: ```dockerfile -ARG BASE_IMAGE=ghcr.io/nvidia/nemoclaw-community/sandboxes/base:latest +ARG BASE_IMAGE=ghcr.io/nvidia/openshell-community/sandboxes/base:latest FROM ${BASE_IMAGE} # Add your sandbox-specific layers here diff --git a/sandboxes/openclaw/Dockerfile b/sandboxes/openclaw/Dockerfile index 5a2f31d..36e53a0 100644 --- a/sandboxes/openclaw/Dockerfile +++ b/sandboxes/openclaw/Dockerfile @@ -3,13 +3,13 @@ # SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# OpenClaw sandbox image for NemoClaw +# OpenClaw sandbox image for OpenShell # # Builds on the community base sandbox and adds OpenClaw. -# Build: docker build -t nemoclaw-openclaw --build-arg BASE_IMAGE=nemoclaw-base . -# Run: nemoclaw sandbox create --from openclaw +# Build: docker build -t openshell-openclaw --build-arg BASE_IMAGE=openshell-base . +# Run: openshell sandbox create --from openclaw -ARG BASE_IMAGE=ghcr.io/nvidia/nemoclaw-community/sandboxes/base:latest +ARG BASE_IMAGE=ghcr.io/nvidia/openshell-community/sandboxes/base:latest FROM ${BASE_IMAGE} USER root diff --git a/sandboxes/openclaw/README.md b/sandboxes/openclaw/README.md index dcd263a..05a1770 100644 --- a/sandboxes/openclaw/README.md +++ b/sandboxes/openclaw/README.md @@ -1,6 +1,6 @@ # OpenClaw Sandbox -NemoClaw sandbox image pre-configured with [OpenClaw](https://github.com/openclaw) for open agent manipulation and control. +OpenShell sandbox image pre-configured with [OpenClaw](https://github.com/openclaw) for open agent manipulation and control. ## What's Included @@ -12,13 +12,13 @@ NemoClaw sandbox image pre-configured with [OpenClaw](https://github.com/opencla ## Build ```bash -docker build -t nemoclaw-openclaw . +docker build -t openshell-openclaw . ``` To build against a specific base image: ```bash -docker build -t nemoclaw-openclaw --build-arg BASE_IMAGE=nemoclaw/sandbox:v0.1.0 . +docker build -t openshell-openclaw --build-arg BASE_IMAGE=openshell/sandbox:v0.1.0 . ``` ## Usage @@ -26,13 +26,13 @@ docker build -t nemoclaw-openclaw --build-arg BASE_IMAGE=nemoclaw/sandbox:v0.1.0 ### Create a sandbox ```bash -nemoclaw sandbox create --from openclaw +openshell sandbox create --from openclaw ``` ### With port forwarding (to access the OpenClaw UI) ```bash -nemoclaw sandbox create --from openclaw --forward 18789 -- openclaw-start +openshell sandbox create --from openclaw --forward 18789 -- openclaw-start ``` This runs the `openclaw-start` helper which: diff --git a/sandboxes/openclaw/openclaw-start.sh b/sandboxes/openclaw/openclaw-start.sh index 3c4a92b..8afa919 100644 --- a/sandboxes/openclaw/openclaw-start.sh +++ b/sandboxes/openclaw/openclaw-start.sh @@ -4,10 +4,10 @@ # SPDX-License-Identifier: Apache-2.0 # openclaw-start — Configure OpenClaw and start the gateway. -# Designed for NemoClaw sandboxes. +# Designed for OpenShell sandboxes. # # Usage: -# nemoclaw sandbox create --from openclaw --forward 18789 -- openclaw-start +# openshell sandbox create --from openclaw --forward 18789 -- openclaw-start set -euo pipefail openclaw onboard From 0280f960011ae1fd7c014f3d7da31762bf4e2f62 Mon Sep 17 00:00:00 2001 From: Drew Newberry Date: Tue, 10 Mar 2026 10:59:36 -0700 Subject: [PATCH 2/2] ci: remove ECR publishing from sandbox build workflow Signed-off-by: Drew Newberry --- .github/workflows/build-sandboxes.yml | 77 --------------------------- 1 file changed, 77 deletions(-) diff --git a/.github/workflows/build-sandboxes.yml b/.github/workflows/build-sandboxes.yml index 9ed0dc3..fa01166 100644 --- a/.github/workflows/build-sandboxes.yml +++ b/.github/workflows/build-sandboxes.yml @@ -17,8 +17,6 @@ on: env: REGISTRY: ghcr.io IMAGE_PREFIX: ${{ github.repository }} - ECR_REGISTRY: 524473328983.dkr.ecr.us-west-2.amazonaws.com - ECR_IMAGE_PREFIX: nemoclaw-community permissions: contents: read @@ -246,79 +244,4 @@ jobs: cache-from: type=gha,scope=${{ matrix.sandbox }} cache-to: type=gha,mode=max,scope=${{ matrix.sandbox }} - # --------------------------------------------------------------------------- - # Publish images to ECR (re-tag from GHCR, no rebuild required) - # --------------------------------------------------------------------------- - publish-ecr: - name: Publish to ECR - needs: [detect-changes, build-base, build] - if: | - always() && - github.ref == 'refs/heads/main' && - needs.detect-changes.result == 'success' && - (needs.build-base.result == 'success' || needs.build-base.result == 'skipped') && - (needs.build.result == 'success' || needs.build.result == 'skipped') - runs-on: ubuntu-latest - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_DEFAULT_REGION: us-west-2 - steps: - - name: Lowercase image prefix - id: repo - run: | - echo "image_prefix=${IMAGE_PREFIX,,}" >> "$GITHUB_OUTPUT" - echo "short_sha=${GITHUB_SHA::7}" >> "$GITHUB_OUTPUT" - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Log in to GHCR - uses: docker/login-action@v3 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Log in to ECR - run: aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin ${{ env.ECR_REGISTRY }} - - - name: Copy base image to ECR - if: needs.detect-changes.outputs.base-changed == 'true' - run: | - set -euo pipefail - GHCR_IMAGE="${{ env.REGISTRY }}/${{ steps.repo.outputs.image_prefix }}/sandboxes/base" - ECR_IMAGE="${{ env.ECR_REGISTRY }}/${{ env.ECR_IMAGE_PREFIX }}/sandboxes/base" - SHORT_SHA="${{ steps.repo.outputs.short_sha }}" - - echo "Copying ${GHCR_IMAGE}:${SHORT_SHA} -> ${ECR_IMAGE}:${SHORT_SHA}" - docker buildx imagetools create \ - -t "${ECR_IMAGE}:${SHORT_SHA}" \ - "${GHCR_IMAGE}:${SHORT_SHA}" - - echo "Copying ${GHCR_IMAGE}:latest -> ${ECR_IMAGE}:latest" - docker buildx imagetools create \ - -t "${ECR_IMAGE}:latest" \ - "${GHCR_IMAGE}:latest" - - - name: Copy sandbox images to ECR - if: needs.detect-changes.outputs.sandboxes != '[]' - run: | - set -euo pipefail - SANDBOXES='${{ needs.detect-changes.outputs.sandboxes }}' - SHORT_SHA="${{ steps.repo.outputs.short_sha }}" - - for SANDBOX in $(echo "$SANDBOXES" | jq -r '.[]'); do - GHCR_IMAGE="${{ env.REGISTRY }}/${{ steps.repo.outputs.image_prefix }}/sandboxes/${SANDBOX}" - ECR_IMAGE="${{ env.ECR_REGISTRY }}/${{ env.ECR_IMAGE_PREFIX }}/sandboxes/${SANDBOX}" - - echo "Copying ${GHCR_IMAGE}:${SHORT_SHA} -> ${ECR_IMAGE}:${SHORT_SHA}" - docker buildx imagetools create \ - -t "${ECR_IMAGE}:${SHORT_SHA}" \ - "${GHCR_IMAGE}:${SHORT_SHA}" - echo "Copying ${GHCR_IMAGE}:latest -> ${ECR_IMAGE}:latest" - docker buildx imagetools create \ - -t "${ECR_IMAGE}:latest" \ - "${GHCR_IMAGE}:latest" - done