Skip to content

docs(release): v3 examples refresh, upgrade guide, version 3.0.0 - #82

Merged
kjanat merged 7 commits into
masterfrom
release/v3
Jul 21, 2026
Merged

kjanat merged 7 commits into
masterfrom
release/v3

Conversation

@kjanat

@kjanat kjanat commented Jul 21, 2026

Copy link
Copy Markdown
Owner

The stable-release presentability pass. Ships rc.20's code untouched; everything here is docs, examples, and the version number.

Examples

New (all typechecked in the root project, all smoke-run):

  • flag-types.ts — url, path with create: true, date, duration, bytes, count, keyValue, string/number constraints, array separator/unique
  • parser-control.ts — .negatable(), .duplicates('error'), kebab↔camel parity
  • standard-schema.ts — Standard Schema v1 interop with a dependency-free inline schema showing the contract
  • help-config.ts — help theme, flagOrder: 'declaration', .default(cmd, { route: true }), JSON help
  • output-extras.ts — out.color, osc8 gated on isHyperlinkSupported, setExitCode

Modernized: basic.ts (function-form .example()), json-mode.ts + middleware.ts (out.status(), --quiet), transport-launcher.ts (declarative { int: true, min: 1, max: 65535 } replaces a hand-rolled check).

Audit basis: no example used removed APIs (all typecheck against dist), but zero v3 features were demonstrated anywhere.

Docs

  • New docs/guide/upgrading-v3.md: every 2.5.0 → 3.0.0 breaking change with before/after (default-command surface, finite default, createBunAdapter removal, buildConfigSearchPaths signature, npm dist resolution, array element typing, runtime version check removal) plus behavioral changes (spelling parity, expanded discovery, help output) and the new-in-v3 tour. Sidebar entry added; migration.md cross-links it.
  • README: full v3 flag-type family (drops the flag.custom URL sample superseded by flag.url()), output sample gains status/setExitCode/--quiet, completions sample covers the eager-flag form and fixes a completion typo, comparison table reflects expanded config discovery.
  • examples/AGENTS.md: inventory corrected (adds transport-launcher + the five new files), stale .cache/ references removed.

Version

3.0.0 stable. Docs-only diff on top of rc.20, so no further rc soak; the docs example-inventory test was updated for the new files (it correctly failed on them first).

Verification

  • run -s ci green (2924 tests incl. updated inventory test, docs build regenerating the five new example pages)
  • run -s smoke, schema emit, version sync green
  • Every new example executed manually: outputs, validation errors, and exit codes verified

kjanat added 2 commits July 21, 2026 08:36
Derive tsdown targets from package engine floors so emitted syntax matches
the runtimes promised by package metadata.
Five new examples cover the v3 surface (flag types, parser control,
Standard Schema, help config, output extras); existing examples move to
current idiom (function-form examples, out.status, declarative numeric
constraints). README's flag/output/completions sections updated. New
docs/guide/upgrading-v3.md documents every 2.5.0 to 3.0.0 breaking and
behavioral change. Version set to 3.0.0 stable.
@kjanat kjanat added kind: docs Docs, guides, examples, or reference content area: docs VitePress app, guides, reference pages, and docs UX area: release Release planning, versioning, changelog, and publishing area: examples Runnable examples and walkthrough package cr:review Allow CodeRabbit review labels Jul 21, 2026
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 21, 2026 •

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
dreamcli 60f516d Commit Preview URL

Branch Preview URL
Jul 21 2026, 07:44 AM

@coderabbitai

coderabbitai Bot commented Jul 21, 2026 •

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 8 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Pro

Run ID: c53b5096-62e2-43ea-a2ab-3f5d6dbbec28

📥 Commits

Reviewing files that changed from the base of the PR and between dc1fd2b and 60f516d.

📒 Files selected for processing (9)
  • CHANGELOG.md
  • skills/cli-creation/SKILL.md
  • skills/cli-creation/assets/templates/single-command.bun-test.ts.tpl
  • skills/cli-creation/assets/templates/single-command.test.ts.tpl
  • skills/cli-creation/assets/templates/single-command.ts.tpl
  • skills/cli-creation/references/consumer-workflow.md
  • skills/cli-creation/references/pattern-cookbook.md
  • src/core/testkit/index.ts
  • src/core/testkit/testkit-json.test.ts
📝 Walkthrough

Walkthrough

DreamCLI is released as version 3.0.0 with updated package metadata and engine-derived build targets. The release adds a 2.x upgrade guide, refreshed README guidance, expanded examples, and updated example inventory checks. Examples demonstrate typed flags, parser controls, schema validation, output handling, configurable help, and constrained transport ports. Documentation navigation and mobile Twoslash styling are also updated.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

Suggested labels: area: build

Poem

Arrr, version three sets sail,
With guides and examples filling the gale.
Flags grow sharp, outputs shine,
Schemas guard the harbour line—
Stable charts ahead, all hands align!


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 error, 1 warning)

Check name Status Explanation Resolution
Release Metadata Sync ❌ Error package.json and deno.json are both 3.0.0, but CHANGELOG.md still points [Unreleased] at v3.0.0-rc.17...HEAD and lacks a [3.0.0] compare link. Update CHANGELOG.md link refs so [Unreleased] compares from v3.0.0, and add/update the [3.0.0] release comparison link to the correct prior tag.
Agents.Md Documentation Updated ⚠️ Warning docs/.vitepress config/theme/data changed, but only examples/AGENTS.md was updated; docs/.vitepress/AGENTS.md was left stale. Add/update docs/.vitepress/AGENTS.md to cover the sidebar, theme, and docs-test changes under docs/.vitepress.
✅ Passed checks (9 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly matches the release docs, example refresh, upgrade guide, and version bump.
Description check ✅ Passed The description directly describes the docs, example, and version bump changes in the PR.
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.
Runtime Support Sync ✅ Passed No runtime minimums changed in this PR; package.json, support.ts, and the runtime docs/tests already agree on Node 22.22.2, Bun 1.3, and Deno 2.6.0.
No Generated Docs Artifacts ✅ Passed No files under docs/.vitepress/dist/ or docs/.vitepress/cache/ appear in the PR diff versus origin/master.
Changelog Update ✅ Passed PASS: PR changes code files (examples/tsdown/package) and CHANGELOG has new ## [3.0.0] - 2026-07-21 section with Added/Changed entries.
Semver Version Bump Validation ✅ Passed Source files changed, and package.json was bumped from 3.0.0-rc.20 to 3.0.0, which is valid SemVer for the release.

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

@pkg-pr-new

pkg-pr-new Bot commented Jul 21, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

bun add https://pkg.pr.new/@kjanat/dreamcli@82
npm i https://pkg.pr.new/@kjanat/dreamcli@82

commit: 60f516d

@socket-security

socket-security Bot commented Jul 21, 2026 •

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedtsdown@​0.22.9 ⏵ 0.22.1298 +110088 +198 +1100

View full report

The bottom-sheet CSS moved the popup inner to a fixed sheet but left the
floating-vue wrapper painting a zero-width box at the anchor, visible as
a vertical sliver, and a dismissed popper kept its backdrop over the
page. The wrapper now has no rendered box on touch devices and the
hidden state hides both sheet and backdrop.
coderabbitai[bot]

This comment was marked as low quality.

kjanat and others added 2 commits July 21, 2026 09:22
The bottom sheet collapsed to a 2px-wide sliver painted down the page.
floating-vue puts a positioning transform on the popper, making it the
containing block for fixed descendants, so the sheet's left/right
resolved against a zero-width box instead of the viewport. The popper
now drops its transform and the sheet takes an explicit viewport width.
Measured in a browser: 2x590 before, full viewport width after.

The backdrop stayed over the page after dismissal. It was only removed
when the popper left the DOM, but floating-vue keeps poppers mounted and
toggles classes, so cleanup never ran. The observer now watches class
changes and clears the backdrop when no popper is shown.

Closing a popup poisoned it permanently via an inline display:none that
floating-vue never clears. Dismissal now drives floating-vue's own
auto-hide so element and state agree.

The sheet CSS keyed off @media (hover: none) while the backdrop keyed
off the JS touch predicate; devices where those disagree got a backdrop
with no sheet. Both now key off a twoslash-touch class set by the same
predicate.
@coderabbitai coderabbitai Bot added the area: build Build, CI, release automation, scripts, and packaging label Jul 21, 2026
@kjanat kjanat self-assigned this Jul 21, 2026
…on skill

The testkit's root-flag layer knew --json but never learned --quiet, added
in rc.17, so copying a real invocation into a test failed with exit 2.
Both spellings are now stripped before parsing and set quiet verbosity;
a post-separator --quiet still reaches the command.

Found while verifying the rewritten cli-creation skill: its grounding
sources pointed at examples/standalone/ and apps/docs/, neither of which
survived the workspace refactor, and the cookbook predated the whole v3
flag/output surface. Every cookbook snippet now type-checks against the
published types, and both scaffolder modes were generated and executed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: build Build, CI, release automation, scripts, and packaging area: docs VitePress app, guides, reference pages, and docs UX area: examples Runnable examples and walkthrough package area: release Release planning, versioning, changelog, and publishing cr:review Allow CodeRabbit review kind: docs Docs, guides, examples, or reference content

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant