Skip to content

feat(dist): add Homebrew + curl install paths#1250

Merged
gfargo merged 1 commit into
mainfrom
feat/install-paths
Jun 13, 2026
Merged

feat(dist): add Homebrew + curl install paths#1250
gfargo merged 1 commit into
mainfrom
feat/install-paths

Conversation

@gfargo

@gfargo gfargo commented Jun 13, 2026

Copy link
Copy Markdown
Owner

Adds two lower-friction install methods beyond npm install -g git-coco, part of the distribution push (see specs/HANDOFF.md).

What's here

  • install.sh (POSIX sh) — checks for Node 22+, installs git-coco with whatever package manager is present (npm/pnpm/yarn), prints next steps. Pin a version with COCO_VERSION. Intended to be served at coco.griffen.codes/install.sh.
    curl -fsSL https://coco.griffen.codes/install.sh | sh
  • packaging/homebrew/coco.rb — canonical Homebrew formula. Homebrew brings Node along as a dependency, so this is the zero-prerequisite path. Pinned to 0.71.0's real sha256.
    brew install gfargo/coco/coco
  • bin/genHomebrewFormula.mjs — regenerates the formula's url + sha256 from a published npm tarball.
  • packaging/README.md — one-time tap setup + per-release distribution checklist.

Follow-ups (not in this PR)

  • Create the public gfargo/homebrew-coco tap repo (steps in packaging/README.md) — brew install won't resolve until it exists.
  • Deploy .www so /install.sh is reachable (the served mirror lives in the separate .www repo).
  • Smoke-test both paths on clean macOS + Linux.

Validation

yarn lint (0 errors), yarn test, yarn build all green on the combined branch before splitting. bash -n install.sh and node --check on the new .mjs pass.

Add two zero-to-low-friction install methods beyond `npm install -g`:

- `install.sh` (POSIX): checks for Node 22+, installs `git-coco` with the
  available package manager (npm/pnpm/yarn), prints next steps. Version pin
  via COCO_VERSION. Served at coco.griffen.codes/install.sh.
- `packaging/homebrew/coco.rb`: canonical Homebrew formula (pulls Node as a
  dependency = no prerequisites), pinned to 0.71.0's sha256.
- `bin/genHomebrewFormula.mjs`: regenerates the formula's url + sha256 from a
  published npm tarball.
- `packaging/README.md`: tap setup + per-release distribution checklist.
@gfargo gfargo merged commit 30fcc7f into main Jun 13, 2026
15 checks passed
@gfargo gfargo deleted the feat/install-paths branch June 13, 2026 11:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant