Skip to content

docs: correct Node.js requirement, add core-ts README, bootstrap 0.1.2 release#52

Merged
27Bslash6 merged 1 commit into
mainfrom
chore/release-0.1.2-recovery
May 17, 2026
Merged

docs: correct Node.js requirement, add core-ts README, bootstrap 0.1.2 release#52
27Bslash6 merged 1 commit into
mainfrom
chore/release-0.1.2-recovery

Conversation

@27Bslash6
Copy link
Copy Markdown
Contributor

@27Bslash6 27Bslash6 commented May 17, 2026

Summary

Two real documentation fixes that double as the trigger commit for the 0.1.2 recovery release.

packages/cachekit/README.md

packages/cachekit-core-ts/README.md (new)

Every npm-published package should have a README. This one didn't. Added a minimal one covering:

  • What the package is and that consumers shouldn't install it directly
  • The 5 prebuilt platform packages and how optionalDependencies selects one
  • A summary of the public N-API surface
  • The same 0.1.0 → 0.1.2 version note

Why this is the bootstrap commit for 0.1.2

The commit touches both packages/cachekit/ and packages/cachekit-core-ts/ paths so release-please picks both packages up for a coordinated release. The Release-As: 0.1.2 trailer 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. The Release-As: trailer is what triggers the release, not the type.

What happens after this merges

  1. release-please.yml fires on push to main
  2. release-please scans commits since the last published manifest, sees the Release-As: 0.1.2 trailer and the path touches → opens a release PR titled chore: release main proposing 0.1.2 for both packages
  3. Merging that release PR cuts tags cachekit-v0.1.2 and cachekit-core-ts-v0.1.2
  4. release-please.yml publish-cachekit runs (auth fix from PR fix: pnpm publish auth — write .npmrc explicitly #45 is in place) → publishes @cachekit-io/cachekit@0.1.2
  5. The core-ts 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 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_TOKEN repo secret after the next OIDC-based release confirms the loop

Fallback if release-please ignores Release-As: on a docs: commit

If release-please's defaults don't pick up Release-As: from a non-releasing commit type, the fallback is to:

  • Bump both package.json files to 0.1.2 directly
  • Update .release-please-manifest.json to 0.1.2 for both packages
  • Manually create and push the tags

I'd open that as a follow-up PR if needed — keeping the doc-fix and the release-trigger separate.

Test plan

  • Local validation via prek (no hooks affected by markdown-only changes)
  • CI green on this PR
  • After merge: confirm release-please opens a 0.1.2 PR within a few minutes
  • Merge the release PR and watch both publish workflows go green

Summary by CodeRabbit

  • Documentation
    • Added comprehensive documentation for the native binding package, including installation guidance and platform support details
    • Updated minimum Node.js version requirement to 22+
    • Clarified version and release information

Review Change Stack

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
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 17, 2026

📝 Walkthrough

Walkthrough

Documentation is added for the new @cachekit-io/cachekit-core-ts native binding package, and the main cachekit README is updated with a version/publishing clarification and a minimum Node.js version bump from 18+ to 22+.

Changes

Documentation and Requirements

Layer / File(s) Summary
cachekit-core-ts package documentation
packages/cachekit-core-ts/README.md
New README documents the Rust/N-API native binding package, its purpose, installation as a peer dependency, supported platform binaries, exported API surface, Node.js 22+ requirement, and MIT license.
cachekit main package updates
packages/cachekit/README.md
Version note added clarifying that npm version 0.1.1 was tagged but not published, with releases jumping to 0.1.2. Minimum Node.js requirement updated from 18+ to 22+.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 Docs bloom in the garden, so tidy and bright,
Native bindings unveiled, Node twenty-two's right!
From core-ts to cachekit, the story now clear,
Requirements refined, version gaps disappear! 🎉

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly addresses all three main changes: correcting Node.js requirement from 18+ to 22+, adding the new core-ts README, and bootstrapping the 0.1.2 release with the version history note.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 6883563 and b634181.

📒 Files selected for processing (2)
  • packages/cachekit-core-ts/README.md
  • packages/cachekit/README.md

Comment thread packages/cachekit-core-ts/README.md
@27Bslash6 27Bslash6 merged commit 6c9fadb into main May 17, 2026
14 checks passed
@27Bslash6 27Bslash6 deleted the chore/release-0.1.2-recovery branch May 17, 2026 03:05
27Bslash6 added a commit that referenced this pull request May 17, 2026
## 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 -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](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 -->
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