You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
One-line install: curl -fsSL …/releases/latest/download/install.sh | bash installs the newest release pinned to it, with git-filter-repo, and checks the machine (v1.0.1) #564
Goal: installing openRepoShape is one command on any machine, and the installed command stays on the release it installed.
Decision. Brett Heap, 2026-10-14:
At 22:50:40Z: "we need it to be more simple to install. i will wait for the tag, but we need a very simple install. … now and after, we need a simple install process".
Installing takes several steps, and the result is not pinned.
The installed openRepoShape reads OPENREPOSHAPE_REF at every run and defaults to main (openRepoShape:31). Its scaffold and doctor runs fetch the standard at that ref (openRepoShape:381-389 and 672-674).
From v1.0.0 on, main carries v1.1.0 work, so a plain install drifts off the release within hours.
Staying on a release today means exporting OPENREPOSHAPE_REF in a shell profile.
git-filter-repo is a separate install on every machine. adopt-project.py refuses filter-repo-missing without it.
The change
install.sh at the repository root, attached to every release, so this one line always installs the newest release: curl -fsSL https://github.com/opensoft/openRepoShape/releases/latest/download/install.sh | bash
It does four things:
It finds the newest release from the releases/latest redirect on github.com, with no gh needed, or takes the one named: … | bash -s -- v1.0.1.
It fetches that release's openRepoShape and runs its --install, pinned to the release.
It handles git-filter-repo: if it is already on PATH, it says so. If not and pipx is on PATH, it installs git-filter-repo==2.47.0 with pipx and says so. Otherwise it prints the one command for this machine.
It ends with openRepoShape --preflight.
Running the same line again upgrades to the newest release.
The launcher's --install records the ref it installed at, and the installed command uses it. It must reach every place that today honours only an exported OPENREPOSHAPE_REF: the doctor's clone (openRepoShape:381-389) and setup.sh's --shape-ref (openRepoShape:674). OPENREPOSHAPE_REF still overrides it for one run, and --version prints it.
README's install section leads with the one line. The gh api … | bash -s -- --install form stays as the manual way.
Constraints
It runs on macOS's bash 3.2, Linux, and Git Bash on Windows.
It needs no gh auth login, because the repository is public.
It installs only git-filter-repo, says every step, and never uses sudo.
CLAIMED — lane openRepoShape-3, session b30e8b49-f249-4668-adb1-1dbfa93c09e1@Eagle, 2026-10-14T22:57:48Z, for #564
Logged in lanes/log/openRepoShape-3.md at 242bd501ffa1ea8a08a5240ed95669cfacc30db7.
The three reads (lane-collision-protocol Rule 1):
1. existing `CLAIMED —` comments on opensoft/openRepoShape#564:
none
2. `gh pr list --repo opensoft/openRepoShape --state all --search "#564"`, kept where the row or its body names `#564`:
none
3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `564` as a whole token:
none
The one line:curl -fsSL https://github.com/opensoft/openRepoShape/releases/latest/download/install.sh | bash. Checked twice: it redirects to …/releases/download/v1.0.1/install.sh, and the file it serves is byte for byte v1.0.1:install.sh.
Activity
brettheap commentedon Oct 14, 2026
CLAIMED — lane openRepoShape-3, session b30e8b49-f249-4668-adb1-1dbfa93c09e1@Eagle, 2026-10-14T22:57:48Z, for #564
Logged in
lanes/log/openRepoShape-3.mdat242bd501ffa1ea8a08a5240ed95669cfacc30db7.The three reads (lane-collision-protocol Rule 1):
openRepoShape and install.sh, the fix round on #577: `--install` reco…
README.md, docs/handbook.html, AGENTS.md and the v1.0.1 release notes…
docs/release-notes/v1.0.1.md: the "Before tagging" steps are safe to …
Merge remote-tracking branch 'origin/main' into l3-564-carry-to-main
README.md: the NOTE says the preflight installs nothing without the t…
docs/handbook.html: the consent rules say install.sh asks nothing bef…
install.sh and openRepoShape --install: one line, `curl -fsSL https:/…
brettheap commentedon Oct 15, 2026
(lane openRepoShape-3, 2026-10-15T14:21:29Z) Released in v1.0.1.
curl -fsSL https://github.com/opensoft/openRepoShape/releases/latest/download/install.sh | bash, installs the newest release pinned to it, with git-filter-repo, and ends with the preflight, and the installed command stays on its release (#564) #577 landed inrelease/v1.0as8cda13970f2cb03fb3e2d4d4d6f79bd895ef40d4. Its tree is the tree of the head that passed tests, tests-macos, tests-windows and SonarCloud.v1.0.1points at that commit (14:20:49Z).install.shattached.curl -fsSL https://github.com/opensoft/openRepoShape/releases/latest/download/install.sh | bash. Checked twice: it redirects to…/releases/download/v1.0.1/install.sh, and the file it serves is byte for bytev1.0.1:install.sh.curl -fsSL https://github.com/opensoft/openRepoShape/releases/latest/download/install.sh | bashinstalls the newest release's command pinned to that release, installs git-filter-repo with pipx where it can, and ends with the preflight (#564) #587, for v1.1.0, which is reviewed READY and in its three-OS run.Closed by hand, because a PR into a non-default base does not close its issue.
install.sh and openRepoShape --install, carried into main from v1.0.1 (…
Merge main 396c0ff (#598's install.sh, 3fb21d9, and four more) into f…
tests: a tests-git-bash job runs the launcher's and install.sh's suit…
tests/test_repo_hygiene.py and tests/test_release_workflow.py: the on…