Skip to content

Explain plugin version ranges where authors choose them - #6045

Open
alexandre-vl wants to merge 2 commits into
get-bb:mainfrom
alexandre-vl:plugin-range-docs
Open

alexandre-vl wants to merge 2 commits into
get-bb:mainfrom
alexandre-vl:plugin-range-docs

Conversation

@alexandre-vl

Copy link
Copy Markdown
Contributor

Human comments

What was wrong

The skills that author, release and submit plugins never explain how bb reads a version range. On 0.x a caret range stops before the next minor (^0.6.1 admits only 0.6.x). An install keeps the range it was installed with, so a range edited later in a marketplace entry reaches new installs only. Most Community entries use ^0.y.z (367 of 420), so authors ship 0.7.0 and nobody receives it (#5570).

What changed

Docs only, in the bundled skills.

File Change
plugins/bb-guide/skills/submit-a-plugin/references/plugin-release.md New "Choose the range" section: what ^1.2.3, ^0.6.1, >=0.6.1 <1.0.0 and unbounded >= admit; prereleases are skipped; the range is the author's decision; a range change reaches new installs only. The release approval now includes the range.
…/submit-a-plugin/references/marketplace-entry.md "Set the source": keep the author's range, and state the limit of a ^0.y.z or unbounded range before submitting. New quality-check line: you stated the range's limit and the author confirmed it.
…/submit-a-plugin/references/pull-request.md A range warning from the marketplace build (get-bb/marketplace#637) does not fail it; report it to the author and keep their range.
…/submit-a-plugin/SKILL.md A release outside the entry's range needs a range change, which reaches new installs only. Existing installs move with bb plugin track.
plugins/bb-guide/skills/bb-plugin-authoring/references/distribution.md Range rules in "Releasing a git plugin with semver tags". "Publishing your own marketplace": an install copies its range, and a refresh never changes it.

The second commit only adds the bb plugin track mentions. Merge after #6043, which adds that command. If this lands first, drop that commit.

How you verified

  • pnpm exec turbo run test --filter=@bb/server -- test/skills/: Tests 95 passed (95).
  • pnpm exec turbo run test --filter=bb-plugin-bb-guide: Tests 7 passed (7).
  • The semver claims were checked against bb's own resolver (selectGitSemverTag): ^0.6.1 → v0.6.4, >=0.6.1 <1.0.0 → v0.12.3, ^1.0.0 → v1.4.2, >=0.6.1 → v2.0.0. They were also checked against semver 7.7.4: "^0.6.1" => ">=0.6.1 <0.7.0-0".
  • An independent review checked every statement against the resolver and the marketplace README. Its contradiction about unbounded ranges is fixed: the guidance warns and never rewrites.

Part of #5570

AGENT GENERATED

The submit-a-plugin skill and the plugin authoring distribution guide only
showed ^1.2.3, so 0.x plugins copied a caret range that admits patch releases
only. State how bb matches ranges (npm semver rules), what ^0.y.z,
>=0.y.z <1.0.0, ^X.y.z and an unbounded >= admit, and that a range change in
a marketplace entry reaches new installs only because each install keeps the
range it was installed with.

The range stays the author's decision: the skill states the range's limit to
the author, submits the author's range, and reports a marketplace range
warning to the author because it does not fail the build. Marketplace
maintainers point out a narrow or unbounded range to the author instead of
rewriting it.
An existing install keeps the range it was installed with until its user
changes it with bb plugin track, so the skill says so where it explains
ranges. Requires bb plugin track. The plugin authoring distribution guide
leaves that explanation to its Updates section.
@alexandre-vl
alexandre-vl marked this pull request as ready for review October 21, 2026 16:09

This branch has not been deployed

No deployments
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