Skip to content

Commit f68e553

Browse files
committed
docs: update README to reflect persimmon16 fork identity
Rewrite README for the persimmon16/OpenShell fork: add upstream badge, fork mission statement (Apple Container migration + security hardening), development status tables for merged and in-progress branches, replace Docker prerequisites with Apple Container requirements, add architecture table, and update all URLs to point to the fork.
1 parent 45ace2f commit f68e553

File tree

1 file changed

+64
-22
lines changed

1 file changed

+64
-22
lines changed

README.md

Lines changed: 64 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,49 @@
1-
# OpenShell
1+
# OpenShell (persimmon16 fork)
22

3-
[![License](https://img.shields.io/badge/License-Apache_2.0-blue)](https://github.com/NVIDIA/OpenShell/blob/main/LICENSE)
3+
[![License](https://img.shields.io/badge/License-Apache_2.0-blue)](https://github.com/persimmon16/OpenShell/blob/main/LICENSE)
4+
[![Upstream](https://img.shields.io/badge/upstream-NVIDIA%2FOpenShell-76b900?logo=nvidia)](https://github.com/NVIDIA/OpenShell)
45
[![PyPI](https://img.shields.io/badge/PyPI-openshell-orange?logo=pypi)](https://pypi.org/project/openshell/)
56
[![Security Policy](https://img.shields.io/badge/Security-Report%20a%20Vulnerability-red)](SECURITY.md)
67
[![Documentation](https://img.shields.io/badge/docs-latest-brightgreen)](https://docs.nvidia.com/openshell/latest/index.html)
7-
[![Project Status](https://img.shields.io/badge/status-alpha-orange)](https://docs.nvidia.com/openshell/latest/about/release-notes.html)
8+
9+
This is an active fork of [NVIDIA/OpenShell](https://github.com/NVIDIA/OpenShell) with two objectives:
10+
11+
1. **Replace Docker with [Apple Container](https://github.com/apple/container)** as the container runtime on macOS, eliminating the Docker dependency entirely.
12+
2. **Harden security** across the CI pipeline, gateway, PKI, and sandbox stack.
813

914
OpenShell is the safe, private runtime for autonomous AI agents. It provides sandboxed execution environments that protect your data, credentials, and infrastructure — governed by declarative YAML policies that prevent unauthorized file access, data exfiltration, and uncontrolled network activity.
1015

11-
OpenShell is built agent-first. The project ships with agent skills for everything from cluster debugging to policy generation, and we expect contributors to use them.
16+
> **Fork status: active development.** The Apple Container migration is in progress. Security hardening has landed across 8 merged PRs. This fork tracks upstream and periodically syncs.
17+
18+
## Fork Development Status
19+
20+
### Merged
21+
22+
| Area | Branch | Summary |
23+
|------|--------|---------|
24+
| Security | `security/secure-defaults` | Localhost bind, enforce mode, Apple Container backend |
25+
| Security | `security/ci-hardening` | Fix shell injection in GitHub Actions workflows |
26+
| Security | `security/pki-hardening` | Constrain CA, fail-hard secrets, 365-day cert TTL |
27+
| Security | `security/ssh-host-key` | SSH host key verification when gateway provides fingerprint |
28+
| Security | `security/gateway-auth` | Insecure-mode guard, cross-sandbox credential theft fix |
29+
| Security | `security/misc-hardening` | PID locking, forward-spec warning, non-root container |
30+
| Security | `security/dead-code-removal` | Remove Kubernetes/Docker dead code from config and server |
31+
| Security | `security/fix-ssh-host-key-verification` | Hostname format, tempfile dep, TempDir leak fixes |
32+
| CI | `ci/trigger-macos-e2e` | macOS e2e validation with Apple Container install |
33+
| CI | `fix/release-auto-tag-signing` | Sign auto-tags via GitHub API, handle missing seed tag |
1234

13-
> **Alpha software — single-player mode.** OpenShell is proof-of-life: one developer, one environment, one gateway. We are building toward multi-tenant enterprise deployments, but the starting point is getting your own environment up and running. Expect rough edges. Bring your agent.
35+
### In Progress
36+
37+
| Area | Branch | Summary |
38+
|------|--------|---------|
39+
| Runtime | `feat/apple-container` | Core Apple Container integration (21 commits ahead) |
40+
| CI | `fix/ci-swift-bridge-dependency` | Clone Apple Container for Swift bridge build |
1441

1542
## Quickstart
1643

1744
### Prerequisites
1845

19-
- **Docker**Docker Desktop (or a Docker daemon) must be running.
46+
- **Apple Container**[github.com/apple/container](https://github.com/apple/container). Requires Apple silicon, macOS 15+, and Xcode 26. See the Apple Container [build instructions](https://github.com/apple/container/blob/main/BUILDING.md) to install from source.
2047

2148
### Install
2249

@@ -32,7 +59,7 @@ curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh |
3259
uv tool install -U openshell
3360
```
3461

35-
Both methods install the latest stable release by default. To install a specific version, set `OPENSHELL_VERSION` (binary) or pin the version with `uv tool install openshell==<version>`. A [`dev` release](https://github.com/NVIDIA/OpenShell/releases/tag/dev) is also available that tracks the latest commit on `main`.
62+
Both methods install the latest stable release from upstream by default. To install a specific version, set `OPENSHELL_VERSION` (binary) or pin the version with `uv tool install openshell==<version>`.
3663

3764
### Create a sandbox
3865

@@ -99,7 +126,7 @@ OpenShell isolates each sandbox in its own container with policy-enforced egress
99126
| **Policy Engine** | Enforces filesystem, network, and process constraints from application layer down to kernel. |
100127
| **Privacy Router** | Privacy-aware LLM routing that keeps sensitive context on sandbox compute. |
101128

102-
Under the hood, all these components run as a [K3s](https://k3s.io/) Kubernetes cluster inside a single Docker container — no separate K8s install required. The `openshell gateway` commands take care of provisioning the container and cluster.
129+
Under the hood, all these components run as a [K3s](https://k3s.io/) Kubernetes cluster inside a container — no separate K8s install required. On this fork, the container runtime is [Apple Container](https://github.com/apple/container) on macOS (replacing the upstream Docker dependency). The `openshell gateway` commands take care of provisioning the container and cluster.
103130

104131
## Protection Layers
105132

@@ -128,9 +155,9 @@ OpenShell can pass host GPUs into sandboxes for local inference, fine-tuning, or
128155
openshell sandbox create --gpu --from [gpu-enabled-sandbox] -- claude
129156
```
130157

131-
The CLI auto-bootstraps a GPU-enabled gateway on first use, auto-selecting CDI when available and otherwise falling back to Docker's NVIDIA GPU request path (`--gpus all`). GPU intent is also inferred automatically for community images with `gpu` in the name.
158+
The CLI auto-bootstraps a GPU-enabled gateway on first use, auto-selecting CDI when available. GPU intent is also inferred automatically for community images with `gpu` in the name.
132159

133-
**Requirements:** NVIDIA drivers and the [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) must be installed on the host. The sandbox image itself must include the appropriate GPU drivers and libraries for your workload — the default `base` image does not. See the [BYOC example](https://github.com/NVIDIA/OpenShell/tree/main/examples/bring-your-own-container) for building a custom sandbox image with GPU support.
160+
**Requirements:** NVIDIA drivers and the [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) must be installed on the host. The sandbox image must include the appropriate GPU drivers and libraries for your workload — the default `base` image does not. See the [BYOC example](https://github.com/NVIDIA/OpenShell/tree/main/examples/bring-your-own-container) for building a custom sandbox image with GPU support.
134161

135162
## Supported Agents
136163

@@ -187,10 +214,10 @@ See the [community sandboxes](https://github.com/NVIDIA/OpenShell/blob/main/docs
187214

188215
## Explore with Your Agent
189216

190-
Clone the repo and point your coding agent at it. The project includes agent skills that can answer questions, walk you through workflows, and diagnose problems — no issue filing required.
217+
Clone the fork and point your coding agent at it. The project includes agent skills that can answer questions, walk you through workflows, and diagnose problems — no issue filing required.
191218

192219
```bash
193-
git clone https://github.com/NVIDIA/OpenShell.git # or git@github.com:NVIDIA/OpenShell.git
220+
git clone https://github.com/persimmon16/OpenShell.git
194221
cd OpenShell
195222
# Point your agent here — it will discover the skills in .agents/skills/ automatically
196223
```
@@ -208,27 +235,42 @@ OpenShell is developed using the same agent-driven workflows it enables. The `.a
208235

209236
All implementation work is human-gated — agents propose plans, humans approve, agents build. See [AGENTS.md](AGENTS.md) for the full workflow chain documentation.
210237

238+
## Architecture
239+
240+
| Component | Crate | Purpose |
241+
|-----------|-------|---------|
242+
| CLI | `crates/openshell-cli/` | User-facing command-line interface |
243+
| Gateway | `crates/openshell-server/` | Control-plane API, sandbox lifecycle, auth boundary |
244+
| Sandbox | `crates/openshell-sandbox/` | Container supervision, policy-enforced egress routing |
245+
| Policy Engine | `crates/openshell-policy/` | Filesystem, network, process, and inference constraints |
246+
| Privacy Router | `crates/openshell-router/` | Privacy-aware LLM routing |
247+
| Bootstrap | `crates/openshell-bootstrap/` | Cluster setup, image loading, mTLS PKI |
248+
| Core | `crates/openshell-core/` | Shared types, configuration, error handling |
249+
| Providers | `crates/openshell-providers/` | Credential provider backends |
250+
| TUI | `crates/openshell-tui/` | Ratatui-based terminal dashboard |
251+
| Python SDK | `python/openshell/` | Python bindings and CLI packaging |
252+
253+
See [architecture/](architecture/) for detailed design documents.
254+
211255
## Getting Help
212256

213-
- **Questions and discussion:** [GitHub Discussions](https://github.com/NVIDIA/OpenShell/discussions)
214-
- **Bug reports:** [GitHub Issues](https://github.com/NVIDIA/OpenShell/issues) — use the bug report template
257+
- **Upstream discussions:** [GitHub Discussions](https://github.com/NVIDIA/OpenShell/discussions)
258+
- **Fork issues:** [persimmon16/OpenShell Issues](https://github.com/persimmon16/OpenShell/issues)
259+
- **Upstream bugs:** [NVIDIA/OpenShell Issues](https://github.com/NVIDIA/OpenShell/issues) — use the bug report template
215260
- **Security vulnerabilities:** See [SECURITY.md](SECURITY.md) — do not use GitHub Issues
216261
- **Agent-assisted help:** Clone the repo and use the agent skills in `.agents/skills/` for self-service diagnostics
217262

218263
## Learn More
219264

220-
- [Full Documentation](https://docs.nvidia.com/openshell/latest/index.html) — overview, architecture, tutorials, and reference
221-
- [Quickstart](https://github.com/NVIDIA/OpenShell/blob/main/docs/get-started/quickstart.md) — detailed install and first sandbox walkthrough
222-
- [GitHub Sandbox Tutorial](https://github.com/NVIDIA/OpenShell/blob/main/docs/tutorials/github-sandbox.md) — end-to-end scoped GitHub repo access
223-
- [Architecture](https://github.com/NVIDIA/OpenShell/tree/main/architecture) — detailed architecture docs and design decisions
224-
- [Support Matrix](https://github.com/NVIDIA/OpenShell/blob/main/docs/reference/support-matrix.md) — platforms, versions, and kernel requirements
225-
- [Brev Launchable](https://brev.nvidia.com/launchable/deploy/now?launchableID=env-3Ap3tL55zq4a8kew1AuW0FpSLsg) — try OpenShell on cloud compute without local setup
265+
- [Full Documentation](https://docs.nvidia.com/openshell/latest/index.html) — upstream overview, architecture, tutorials, and reference
266+
- [Architecture](architecture/) — detailed architecture docs and design decisions
267+
- [Apple Container](https://github.com/apple/container) — the macOS container runtime this fork targets
226268
- [Agent Instructions](AGENTS.md) — system prompt and workflow documentation for agent contributors
227269

228270
## Contributing
229271

230-
OpenShell is built agent-first — your agent is your first collaborator. Before opening issues or submitting code, point your agent at the repo and let it use the skills in `.agents/skills/` to investigate, diagnose, and prototype. See [CONTRIBUTING.md](CONTRIBUTING.md) for the full agent skills table, contribution workflow, and development setup.
272+
This fork is built agent-first — your agent is your first collaborator. See [CONTRIBUTING.md](CONTRIBUTING.md) for the full agent skills table, contribution workflow, and development setup. For upstream contributions, open PRs against [NVIDIA/OpenShell](https://github.com/NVIDIA/OpenShell).
231273

232274
## License
233275

234-
This project is licensed under the [Apache License 2.0](https://github.com/NVIDIA/OpenShell/blob/main/LICENSE).
276+
This project is licensed under the [Apache License 2.0](LICENSE).

0 commit comments

Comments
 (0)