task: improve self-hosting DX for fork-and-clone and clone-and-own
Surface scripts/install.sh local-run detection as three equal-weight install paths (upstream / fork-and-clone / clone-and-own) in README, installation.md, and quickstart.md. No script changes — the installer already handled both self-hosting flows; docs were the only gap. Closes #331 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
4f0ca99de7
commit
84777e5ee6
4 files changed
+64
-10
No files matched your search
@@ -14,6 +14,7 @@ Update policy and release automation live in [`.claude/rules/git.md`](.claude/ru
|
|||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- All 15 skills in `.claude/skills/` now sourced from and version-pinned to `github.com/mifunedev/skills` (commit `c559c100`) via `.mifune/skills.lock`; `interview` and `render-html` contributed upstream and added to the lock ([#327](https://github.com/ryaneggz/open-harness/issues/327)).
|
- All 15 skills in `.claude/skills/` now sourced from and version-pinned to `github.com/mifunedev/skills` (commit `c559c100`) via `.mifune/skills.lock`; `interview` and `render-html` contributed upstream and added to the lock ([#327](https://github.com/ryaneggz/open-harness/issues/327)).
|
||||||
|
- `README.md`, `docs/installation.md`, and `docs/quickstart.md` restructured to surface fork-and-clone and clone-and-own as first-class install paths alongside the upstream one-liner; `scripts/install.sh` local-run detection is now the documented bootstrap for self-hosters ([#331](https://github.com/ryaneggz/open-harness/issues/331)).
|
||||||
- Skill `LICENSE` files updated to `Copyright (c) 2026 Mifune Dev (mifune.dev)` to match upstream correction.
|
- Skill `LICENSE` files updated to `Copyright (c) 2026 Mifune Dev (mifune.dev)` to match upstream correction.
|
||||||
### Fixed
|
### Fixed
|
||||||
### Removed
|
### Removed
|
||||||
|
|||||||
@@ -13,28 +13,41 @@
|
|||||||
|
|
||||||
## 📦 Install
|
## 📦 Install
|
||||||
|
|
||||||
|
**Option A — Upstream (try it without any setup):**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://oh.mifune.dev/install.sh | bash
|
curl -fsSL https://oh.mifune.dev/install.sh | bash
|
||||||
```
|
```
|
||||||
|
|
||||||
The installer clones into `~/.openharness`, offers to share your host
|
Clones into `~/.openharness`, offers to share your host `gh` token, writes `.devcontainer/.env`, and builds the image (~10 min cold, ~30s warm). Only host dependency: [Docker](https://docs.docker.com/get-docker/).
|
||||||
`gh` token, writes `.devcontainer/.env`, and builds the image (~10 min
|
|
||||||
cold, ~30s warm). Only host dependency: [Docker](https://docs.docker.com/get-docker/).
|
|
||||||
|
|
||||||
### 📦 For forks / self-host
|
**Option B — Fork and clone (recommended for self-hosting):**
|
||||||
|
|
||||||
> **Forking this repo?** The block above pulls upstream code. Use the block below to install your fork instead.
|
```bash
|
||||||
|
# 1. Fork on GitHub, then clone YOUR fork:
|
||||||
|
git clone https://github.com/<your-org>/<your-fork>.git && cd <your-fork>
|
||||||
|
# 2. Bootstrap — installer auto-detects the local clone, no env vars needed:
|
||||||
|
bash scripts/install.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
**Option C — Clone upstream, then re-point to your repo:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/ryaneggz/open-harness.git my-harness && cd my-harness
|
||||||
|
git remote set-url origin https://github.com/<your-org>/<your-repo>.git
|
||||||
|
bash scripts/install.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
<details><summary>Advanced: install directly from your fork without cloning first</summary>
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
OH_GITHUB_REPO=<your-org>/<your-fork> curl -fsSL \
|
OH_GITHUB_REPO=<your-org>/<your-fork> curl -fsSL \
|
||||||
https://raw.githubusercontent.com/<your-org>/<your-fork>/main/scripts/install.sh | bash
|
https://raw.githubusercontent.com/<your-org>/<your-fork>/main/scripts/install.sh | bash
|
||||||
```
|
```
|
||||||
|
|
||||||
If your fork uses a default branch other than `main`, set `OH_GITHUB_REF=<branch>` and replace `main` in the URL.
|
If your fork uses a default branch other than `main`, set `OH_GITHUB_REF=<branch>` and replace `main` in the URL. See [Installation docs](https://oh.mifune.dev/docs/installation) for all environment overrides.
|
||||||
|
|
||||||
`curl | bash` from a branch HEAD is mutable — pin to a tag/SHA for production installs.
|
</details>
|
||||||
|
|
||||||
> **Note:** Forks restructuring `.devcontainer/` should also patch the local-run detection in `scripts/install.sh` (the `-f .devcontainer/docker-compose.yml` check near line 173) — update the paths to match the new layout.
|
|
||||||
|
|
||||||
## 🚀 Use it
|
## 🚀 Use it
|
||||||
|
|
||||||
|
|||||||
+39
-1
@@ -16,7 +16,45 @@ Open Harness is a Docker-based sandbox image. Installation is `docker compose` a
|
|||||||
|
|
||||||
That is the entire host requirement. Node.js, pnpm, and any AI CLI live inside the sandbox.
|
That is the entire host requirement. Node.js, pnpm, and any AI CLI live inside the sandbox.
|
||||||
|
|
||||||
## One-line installer (recommended)
|
## Self-hosting: I already have a clone
|
||||||
|
|
||||||
|
If you've already cloned your fork — or cloned upstream and re-pointed the remote — run the installer from inside the directory. It auto-detects the local repo and skips any network clone:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd <your-clone>
|
||||||
|
bash scripts/install.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
The installer prompts for `SANDBOX_NAME`, writes `.devcontainer/.env`, and starts the sandbox. No `OH_GITHUB_REPO` environment variable required.
|
||||||
|
|
||||||
|
### Fork-and-clone
|
||||||
|
|
||||||
|
1. Fork `ryaneggz/open-harness` on GitHub.
|
||||||
|
2. Clone your fork:
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/<your-org>/<your-fork>.git && cd <your-fork>
|
||||||
|
```
|
||||||
|
3. Run the installer — it detects the local clone automatically:
|
||||||
|
```bash
|
||||||
|
bash scripts/install.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### Clone-and-own (re-point)
|
||||||
|
|
||||||
|
1. Clone upstream:
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/ryaneggz/open-harness.git my-harness && cd my-harness
|
||||||
|
```
|
||||||
|
2. Re-point origin to your repo:
|
||||||
|
```bash
|
||||||
|
git remote set-url origin https://github.com/<your-org>/<your-repo>.git
|
||||||
|
```
|
||||||
|
3. Run the installer:
|
||||||
|
```bash
|
||||||
|
bash scripts/install.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
## One-line installer (upstream only)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://oh.mifune.dev/install.sh | bash
|
curl -fsSL https://oh.mifune.dev/install.sh | bash
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ Install Docker with the Compose plugin: [docs.docker.com/get-docker](https://doc
|
|||||||
curl -fsSL https://oh.mifune.dev/install.sh | bash
|
curl -fsSL https://oh.mifune.dev/install.sh | bash
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> **Self-hosting?** If you've already cloned your fork or re-pointed origin, skip the curl command above and run `bash scripts/install.sh` from inside the directory instead — the installer detects the local clone automatically.
|
||||||
|
|
||||||
The installer clones into `~/.openharness`, prompts to share your host
|
The installer clones into `~/.openharness`, prompts to share your host
|
||||||
`gh` token, writes `.devcontainer/.env` with safe defaults, and brings
|
`gh` token, writes `.devcontainer/.env` with safe defaults, and brings
|
||||||
the sandbox up via `docker compose`.
|
the sandbox up via `docker compose`.
|
||||||
|
|||||||
Reference in new issue
Block a user