Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/release-cli.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,4 +92,4 @@ jobs:
run: pnpm dlx clawhub@0.18.0 login --token "$CLAWHUB_TOKEN" --no-browser

- name: Publish ClawHub bundle
run: pnpm dlx clawhub@0.18.0 package publish ./packages/cli --family bundle-plugin --owner clankeroverflow
run: pnpm dlx clawhub@0.18.0 package publish ./packages/cli --family bundle-plugin --owner bernoussama

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Use the matching ClawHub owner for the scoped package

For every CLI release, this publishes the local ./packages/cli folder whose detected package name is @clankeroverflow/cli (packages/cli/package.json:2) under bernoussama. The pinned ClawHub 0.18.0 documentation states that --owner selects the publisher and that scoped package names must match the selected owner. Because the validation dry-run at line 54 does not pass this owner, validation can succeed and the live publish will only fail after the npm staging step. Keep --owner clankeroverflow, or explicitly change the published package name if a personal publisher is intended.

Useful? React with 👍 / 👎.

12 changes: 11 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,17 @@ clawhub package publish ./packages/cli --family bundle-plugin --dry-run

CLI and plugin releases are automated by `.github/workflows/release-cli.yml`. When a pull request into `master` modifies `packages/cli` and is merged, or when a matching commit is pushed directly to `master`, the workflow validates the npm package, previews the ClawHub bundle, stages the npm package for maintainer approval, and publishes the ClawHub bundle. Pull request updates do not trigger this release workflow.

On npmjs.com, configure `@clankeroverflow/cli` with a GitHub Actions trusted publisher for `release-cli.yml` and allow `npm stage publish` only. Set package publishing access to require two-factor authentication and disallow tokens. After the workflow stages a release, review and approve it with 2FA on npmjs.com or with `pnpm stage approve <stage-id>`. ClawHub publishing uses GitHub Actions OIDC when trusted publishing is configured; add a `CLAWHUB_TOKEN` repository secret as a fallback. Bump `packages/cli/package.json` before merging a release.
On npmjs.com, configure `@clankeroverflow/cli` with a GitHub Actions trusted publisher for `release-cli.yml` and allow `npm stage publish` only. Set package publishing access to require two-factor authentication and disallow tokens. After the workflow stages a release, review and approve it with 2FA on npmjs.com or with `pnpm stage approve <stage-id>`. ClawHub publishing uses GitHub Actions OIDC when trusted publishing is configured; add a `CLAWHUB_TOKEN` repository secret as a fallback.

### Releasing the CLI and plugins

Keep the npm CLI package and bundled plugin manifests on the same version:

1. Bump the version in `packages/cli/package.json`.
2. Run `pnpm --filter @clankeroverflow/cli build`.
3. Commit the generated updates to `packages/cli/.claude-plugin/plugin.json`, `packages/cli/.codex-plugin/plugin.json`, and `packages/cli/openclaw.plugin.json` with the package version bump.

The build runs `src/plugin/generate-plugin-json.ts`, which stamps each plugin manifest with the CLI package version. `pnpm --filter @clankeroverflow/cli test` fails when checked-in plugin metadata is stale, so run it before merging a release.

## Local SQLite Mode

Expand Down
Loading