Skip to content

chore: bump publishable packages to 0.1.0-beta.0 for npm pre-release dogfood#73

Merged
naorsabag merged 1 commit into
masterfrom
chore/bump-to-beta
May 5, 2026
Merged

chore: bump publishable packages to 0.1.0-beta.0 for npm pre-release dogfood#73
naorsabag merged 1 commit into
masterfrom
chore/bump-to-beta

Conversation

@naorsabag
Copy link
Copy Markdown
Owner

@naorsabag naorsabag commented May 5, 2026

Summary

Bumps the three publishable packages to a semver pre-release version so we can dogfood the real npx openhop install path without burning the launch-day v0.1.0 narrative.

  • openhop (CLI), @openhop/server, @openhop/web0.1.0-beta.0
  • CLI's deps block pins both internal packages exactly (@openhop/server: 0.1.0-beta.0, @openhop/web: 0.1.0-beta.0).
  • Three hardcoded version strings updated to match: CLI's program.version(), server's OpenAPI info.version, and server's GET /health response body.
  • openhop-monorepo (root) and @openhop/shared left at their current versions — both private: true, never published.

Why

We haven't actually exercised the published npx openhop demo cold-start path on a fresh machine yet. Once we publish, every bug we find will normally cost us a version bump. If we publish as 0.1.0 straight off, by launch day we're at 0.1.4 or whatever and the HN/PH narrative ("v0.1.0 is out") is gone.

Pre-release tags solve this cleanly:

  • npm publish --tag beta (per package, run interactively after this merges) puts the artifact on npm under the beta dist-tag, not latest.
  • npx openhop demo from a random user (which resolves latest by default) still fetches nothing — perfect, the repo is private and we don't want strangers landing on a half-baked pre-release.
  • The dogfood loop becomes npx openhop@beta demo. One asterisk to remember.
  • Bug fixes during dogfood are beta.0beta.1beta.2. The clean 0.1.0 slot stays reserved for launch day.
  • Semver pre-release ordering is correct: 0.1.0-beta.0 < 0.1.0-beta.1 < 0.1.0. So when we eventually publish 0.1.0 to latest, anyone on @beta gets nothing weird.

Launch-day flow (after this lands)

  1. Bump three package.jsons back to 0.1.0.
  2. Same three hardcoded strings → 0.1.0.
  3. npm publish per package (defaults to --tag latest).
  4. git tag v0.1.0 && git push --tags, gh release create v0.1.0 — closes B5.

Test plan

  • npm install → lockfile updated (server + web pinned to 0.1.0-beta.0).
  • All workspaces' tests pass: shared 93/93, server 19/19, cli 83/83, web 22/22 = 217/217.
  • npm run lint --workspaces, npm run typecheck --workspaces, npm run format:check, npm run build --workspaces — all clean.
  • Both audit gates green: --omit=dev --audit-level=moderate exit 0, --audit-level=high exit 0.
  • node packages/cli/dist/index.js --version0.1.0-beta.0.

Not in this PR

  • The actual npm publish --tag beta calls. Three npm publish runs are interactive (need 2FA / npm login state) so they belong outside CI; you'll run them per package after merge.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Version updated from 0.1.0 to 0.1.0-beta.0 across CLI, server, and web packages.
    • CLI metadata/version displayed to users updated to 0.1.0-beta.0.
    • Server health endpoint and API documentation now report the new 0.1.0-beta.0 version.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 5, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 00364655-220f-479b-9497-598ffd6523b8

📥 Commits

Reviewing files that changed from the base of the PR and between fe9740b and 853aed7.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json, !package-lock.json
📒 Files selected for processing (6)
  • packages/cli/package.json
  • packages/cli/src/index.ts
  • packages/server/package.json
  • packages/server/src/index.ts
  • packages/server/src/routes.ts
  • packages/web/package.json
✅ Files skipped from review due to trivial changes (6)
  • packages/server/src/index.ts
  • packages/web/package.json
  • packages/server/package.json
  • packages/cli/src/index.ts
  • packages/cli/package.json
  • packages/server/src/routes.ts

Walkthrough

All packages (CLI, server, web) and their in-repo references were updated from version 0.1.0 to 0.1.0-beta.0; corresponding source strings (CLI program version, OpenAPI info, /health response) were changed to match.

Changes

Monorepo Version Bump to Beta

Layer / File(s) Summary
Package Manifests
packages/cli/package.json, packages/server/package.json, packages/web/package.json
Package "version" fields changed from 0.1.00.1.0-beta.0. CLI package dependency entries for @openhop/server and @openhop/web also updated to 0.1.0-beta.0.
CLI Metadata
packages/cli/src/index.ts
Commander CLI version string updated from 0.1.00.1.0-beta.0.
Server OpenAPI Metadata
packages/server/src/index.ts
Swagger/OpenAPI openapi.info.version updated from 0.1.00.1.0-beta.0.
Health Endpoint
packages/server/src/routes.ts
/health response payload and OpenAPI example version changed from 0.1.00.1.0-beta.0.

Estimated Code Review Effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Suggested Labels

dependencies, javascript

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: bumping publishable packages to a pre-release version for beta testing via npm.
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.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/bump-to-beta

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

…dogfood

Per the launch-readiness plan we want to dogfood the real npx flow
without burning a clean v0.1.0 narrative. Publishing as
0.1.0-beta.0 with `npm publish --tag beta` keeps the package off the
`latest` dist-tag, so:

  - `npm install openhop` / `npx openhop demo` (default `latest`) gets
    nothing — random users don't land on a half-tested pre-release.
  - The dogfood loop is `npx openhop@beta demo` / `npm install openhop@beta`.
  - Bug fixes during dogfood are beta.0 → beta.1 → beta.2, not 0.1.1
    → 0.1.2 → 0.1.3, so launch day stays a clean `npm publish` of
    0.1.0 + `git tag v0.1.0` (closes B5 cleanly when the time comes).

Bumped:
  - openhop (CLI) — the package users install
  - @openhop/server, @openhop/web — workspace deps the CLI pins
    exactly, so they have to move in lockstep
  - CLI's deps block: pinned both to 0.1.0-beta.0 (was 0.1.0)
  - Three hardcoded version strings: CLI's program.version(),
    server's OpenAPI info.version, server's GET /health response

Not bumped: openhop-monorepo (root, private:true) and @openhop/shared
(private:true) — neither is published.

Verified: shared 93/93, server 19/19, cli 83/83, web 22/22 = 217/217;
lint/typecheck/format:check/build clean; both audit gates green;
`node packages/cli/dist/index.js --version` → 0.1.0-beta.0.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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