mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-11-04 13:07:11 +00:00
fix(cli): no auto-update across 0.x minors; install skills at the CLI's release tag (#7013)
* fix(cli): no auto-update across 0.x minors; install skills at the CLI's release tag - autoUpdate: before 1.0 a minor bump counts as a major one, so 0.8.x -> 0.9.x is a notice, not a silent background install. From 1.0 on, the major alone. - skills: `skills update` / bare `skills` / `init` install from heygen-com/hyperframes#v<VERSION>, and `skills check` plus the background freshness nudge read the manifest at the same tag. A build the repo has no tag for (dev build) falls back to main, as before. - skills: run the upstream installer as `npx skills@1.7.4` instead of an unpinned `npx skills`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(cli): keep the comment share of the touched files from rising Comment ratchet: trim the comments added in the previous commit. No code change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(cli): pass the CLI version into the skills check instead of importing it scripts/clawhub-unlist-retired.mjs loads skillsManifest.ts from source under plain node, which cannot resolve a relative `../version.js` import. Callers now pass `cliVersion` (and skillsSourceRef takes it as an argument), so the module keeps importing only node builtins. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(cli): read skills at the CLI's tag without a probe; pin skills@1.5.13 - A release build reads the manifest at its own tag directly (publish pushes the tag before npm publish). Only a 404 for that manifest falls back to main; a timeout, missing git or proxy error now surfaces instead of quietly comparing against main, so the background nudge can't cache a false "outdated" count. - checkSkills returns the ref it read, and skills update installs from that same ref, so check and install can't disagree within one run. - Pin skills@1.5.13 (it parses `#<ref>` too) so the pin matches the version agentDirs.generated.ts and the lock-path notes were checked against. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * refactor(cli): split the tag and main manifest fetches Fallow flagged fetchRemoteManifest's CRAP score (31.6 > 30). The tag fetch (404 is the only fallback to main) and the SHA-pinned main fetch are now their own functions. No behaviour change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(cli): never auto-upgrade a Homebrew install `brew upgrade hyperframes` installs whatever formula the tap holds, so a background run scheduled for an allowed patch could still cross a 0.x minor. Homebrew installs now only get the update notice naming `brew upgrade`. A new test drives the scheduler through the real installer detection and installer script: no spawn on Homebrew, a versioned npm install for a patch. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
35753f3821
commit
b2acef5869
@@ -107,10 +107,12 @@ their final line, on stderr.
|
||||
`2` means the command line itself is wrong: an unknown command or flag, or a
|
||||
missing or invalid value.
|
||||
|
||||
**Version notices.** An owned install (npm, bun, pnpm, brew) updates itself
|
||||
**Version notices.** An owned install (npm, bun, pnpm) updates itself
|
||||
quietly in the background and prints one line on the next run:
|
||||
`hyperframes auto-updated to v0.1.5`. It never crosses a major version. Anywhere
|
||||
it cannot install — `npx`, an unknown installer — you get a notice instead:
|
||||
`hyperframes auto-updated to v0.1.5`. It never crosses a major version (before
|
||||
1.0, a minor version: 0.8 to 0.9 is a notice, not an install). Anywhere
|
||||
it cannot install — Homebrew (run `brew upgrade hyperframes` yourself), `npx`, an
|
||||
unknown installer — you get a notice instead:
|
||||
|
||||
```
|
||||
Update available: 0.1.4 → 0.1.5
|
||||
@@ -2193,7 +2195,9 @@ Set `HYPERFRAMES_SKIP_SKILLS=1` when something else manages the skills (CI, test
|
||||
or an install pinned to one commit). `skills update` and bare `skills` then exit 0
|
||||
with a one-line notice and leave the installed skills unchanged.
|
||||
|
||||
The CLI installs from the current HyperFrames GitHub source and links the global
|
||||
The CLI installs the skills from the HyperFrames release tag that matches its own
|
||||
version (`v<version>`), and `check` compares against that same tag, so the skills
|
||||
match the CLI that runs them; a development build uses `main`. It links the global
|
||||
bundles into whichever compatible agents it finds. After scaffolding, `init`
|
||||
installs the core set if it is missing. It never refreshes or removes a skill you already have; run `skills update` for that.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user