docs: correct Node.js requirement, add core-ts README, bootstrap 0.1.2 release#52
Conversation
packages/cachekit/README.md: - "Requirements: Node.js 18+" was stale; PR #47 bumped engines.node to >=22.0.0. README now matches. - Added a version-history note explaining 0.1.0 → 0.1.2 on npm so consumers don't think 0.1.1 is missing or yanked. packages/cachekit-core-ts/README.md (new): - Every npm-published package should have a README; this one had none. Added a minimal one describing platform packages, API surface, and the same 0.1.0 → 0.1.2 version note. This commit touches both packages/ paths so release-please picks them up as a coordinated release. The Release-As: 0.1.2 footer skips 0.1.1 (which exists as a git tag but never reached npm due to bugs fixed in PR #45 and PR #51) and goes straight to 0.1.2 — keeping version monotonicity between the manifest, git tags, and npm. Release-As: 0.1.2
📝 WalkthroughWalkthroughDocumentation is added for the new ChangesDocumentation and Requirements
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/cachekit-core-ts/README.md`:
- Around line 9-10: The README's wording incorrectly calls
packages/cachekit-core-ts a "peer" of `@cachekit-io/cachekit`; update the sentence
to reflect the actual relationship by replacing "peer" with "dependency" (or
phrase as "a dependency of `@cachekit-io/cachekit`") and clarify that installing
the main SDK pulls in the platform binary automatically so readers aren't misled
about installation.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: f317a5eb-8a2f-46bd-9b46-93f62a255195
📒 Files selected for processing (2)
packages/cachekit-core-ts/README.mdpackages/cachekit/README.md
## Summary Manually applies what release-please would have done if the docs-only trigger commit in #52 had been a "user-facing" type. Release-please skips `docs`/`chore`/`ci`/etc. commits even when `Release-As:` is present — `Release-As:` overrides the *version*, not the release-trigger *gate*. Rather than fake a `fix:` commit (which would have been dishonest, per the feedback on #52's earlier draft), this PR bypasses release-please entirely for the one-time recovery. Future releases use the normal release-please flow. ## What changes | File | Change | |---|---| | `.release-please-manifest.json` | Both packages bumped to `0.1.2` so release-please future runs treat 0.1.2 as the last released state | | `packages/cachekit/package.json` | `version: 0.1.1 → 0.1.2` | | `packages/cachekit-core-ts/package.json` | `version: 0.1.1 → 0.1.2` | | `packages/cachekit/CHANGELOG.md` | New `## [0.1.2]` section explaining the 0.1.1 → 0.1.2 history | | `packages/cachekit-core-ts/CHANGELOG.md` | Same | ## Manual steps after this merges 1. Tag the merge commit and push: ```bash git checkout main && git pull git tag cachekit-v0.1.2 -m "@cachekit-io/cachekit 0.1.2" git tag cachekit-core-ts-v0.1.2 -m "@cachekit-io/cachekit-core-ts 0.1.2" git push origin cachekit-v0.1.2 cachekit-core-ts-v0.1.2 ``` 2. The `cachekit-core-ts-v0.1.2` tag triggers `build-native.yml` → publishes `@cachekit-io/cachekit-core-ts@0.1.2` + creates all 5 platform packages on npm (napi flag fix from #51 is in place). 3. `workflow_dispatch release-please.yml` with `force_release: true` → publishes `@cachekit-io/cachekit@0.1.2`. The release-please job inside will skip (no user-facing commits since 0.1.1), but the `publish-cachekit` job has `force_release == 'true'` as a fire condition and will check out `github.sha` (main HEAD, now 0.1.2) and publish. 4. Verify all 7 packages exist on npm: ```bash for pkg in @cachekit-io/cachekit @cachekit-io/cachekit-core-ts \ @cachekit-io/cachekit-core-ts-linux-x64-gnu \ @cachekit-io/cachekit-core-ts-linux-arm64-gnu \ @cachekit-io/cachekit-core-ts-darwin-x64 \ @cachekit-io/cachekit-core-ts-darwin-arm64 \ @cachekit-io/cachekit-core-ts-win32-x64-msvc; do echo "$pkg: $(npm view "$pkg" version 2>&1)" done ``` 5. Configure trusted publishers on npmjs.com for each of the 7 packages. 6. Take #50 out of draft and merge it. Next release uses OIDC; no `NPM_TOKEN` needed. 7. Delete the `NPM_TOKEN` repo secret. ## Why this isn't tagged by release-please Release-please reads the manifest to know what was last released and proposes the next version from commit history. Once the manifest claims 0.1.2 is already released, release-please will look for commits *after* this PR for the next release. No release PR will be generated for 0.1.2 — that's the whole point of the manual bootstrap. ## Test plan - [x] `pnpm install` confirms lockfile already in sync (workspace deps use `workspace:*`) - [x] CI green on this PR - [ ] After merge: manually tag + push (step 1 above) - [ ] Verify `build-native.yml` run on the tag succeeds end-to-end (including the previously-broken artifact-move step) - [ ] Verify `workflow_dispatch` release-please publish-cachekit succeeds - [ ] Verify all 7 packages on npm at 0.1.2 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes * **Chores** * Released version 0.1.2 for cachekit and cachekit-core-ts packages. * Updated minimum Node.js requirement to version 22+. * **Documentation** * Added documentation covering platform packages and N-API surface. * Updated changelog entries with release details and version jump explanation. <!-- review_stack_entry_start --> [](https://app.coderabbit.ai/change-stack/cachekit-io/cachekit-ts/pull/53?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack) <!-- review_stack_entry_end --> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Summary
Two real documentation fixes that double as the trigger commit for the 0.1.2 recovery release.
packages/cachekit/README.mdRequirements: Node.js 18+was stale. PR chore: scaffold prek pre-commit hooks for local quality gates #47 bumpedengines.nodeto>=22.0.0across all packages. README now matches:Node.js 22+.0.1.0 → 0.1.2jump on npm so consumers don't think 0.1.1 is missing or yanked.packages/cachekit-core-ts/README.md(new)Every npm-published package should have a README. This one didn't. Added a minimal one covering:
optionalDependenciesselects oneWhy this is the bootstrap commit for 0.1.2
The commit touches both
packages/cachekit/andpackages/cachekit-core-ts/paths so release-please picks both packages up for a coordinated release. TheRelease-As: 0.1.2trailer skips 0.1.1 (which exists as a git tag but never reached npm) and forces release-please to propose 0.1.2 directly.Type is
docs:because that's what the changes honestly are — no code behavior changes. TheRelease-As:trailer is what triggers the release, not the type.What happens after this merges
Release-As: 0.1.2trailer and the path touches → opens a release PR titledchore: release mainproposing 0.1.2 for both packagescachekit-v0.1.2andcachekit-core-ts-v0.1.2release-please.yml publish-cachekitruns (auth fix from PR fix: pnpm publish auth — write .npmrc explicitly #45 is in place) → publishes@cachekit-io/cachekit@0.1.2build-native.yml→ publishes@cachekit-io/cachekit-core-ts@0.1.2+ creates all 5 platform packages on npm (napi flag fix from PR fix(ci): use --output-dir instead of removed --artifacts-dir napi flag #51 is in place)After step 5, all 7 packages exist on npm — at which point you can:
6. Configure trusted publishers on npmjs.com for each
7. Take PR #50 out of draft and merge it
8. Delete the
NPM_TOKENrepo secret after the next OIDC-based release confirms the loopFallback if release-please ignores
Release-As:on adocs:commitIf release-please's defaults don't pick up
Release-As:from a non-releasing commit type, the fallback is to:package.jsonfiles to 0.1.2 directly.release-please-manifest.jsonto 0.1.2 for both packagesI'd open that as a follow-up PR if needed — keeping the doc-fix and the release-trigger separate.
Test plan
Summary by CodeRabbit