Repository navigation
docs: cover shorebird metrics, releases delete, and --yes for deletes - #728
Conversation
|
Adversarial review (separate agent): Tier 2: 5 docs files, about 50 changed lines, each claim checked against shorebird CLI main.
Verified on CLI main: |
|
Addressed in 0c52a0b: agent-instructions.txt now says deletes prompt in a terminal, |
AbhishekDoshi26
left a comment
There was a problem hiding this comment.
Reviewed at 7b1b1b7.
Verdict: No findings. Every claim in the diff matches shorebird origin/main and _shorebird origin/main, and the lint checks pass.
Checked
- The two existing review comments. The
agent-instructions.txtdelete line has been rewritten. Theapi_code/detailsparagraph now has the "after 1.6.128" marker. The JSON command table is left to #714, and CLI changelog entries ship with the release notes. These were not raised again. - Delete confirmation. Checked in
packages/shorebird_cli/lib/src/commands/confirm_delete.dart:releases deleteandchannels deleteask a y/N question and take-y, --yes. They still accept--confirm-name, but it is hidden and prints a deprecation warning.apps deletemakes you type the app's display name and only takes--confirm-name. It has no--yes.- When the command can't prompt,
reportErrorreturnsExitCode.usage(64, inshorebird_command.dart:203-215) and nothing is deleted. - Whether it can prompt is
_canPrompt = isInteractive && canAcceptUserInput: stdout and stdin must both be terminals, not CI, and not--json(interactive_mode.dart,shorebird_env.dart:322). That matches "Without a terminal, in CI, or with--json" inscripting.mdx,tracks.mdxandagent-instructions.txt.
apps delete. The warning text ("its releases and their patches, its channels and its collaborators. Devices running it stop getting patches") and the--confirm-name "<name>"example matchapps/apps_delete_command.dart. The app ID falls back toshorebird.yamlthroughAppScopedCommand.channels delete.- The
tracks.mdxwording matches the command description and warning inchannels/channels_delete_command.dart: deleting a track removes it and its promotion history, and its patches stay on their releases and other tracks. --nameis mandatory, and the example--name qa --yesis valid.- The built-in
stable,betaandstagingtracks are refused.
- The
releases delete.- The
release.mdxtext matchesreleases/releases_delete_command.dart: "Devices on this release get no new patches", and--platformremoves only that platform's release artifacts and patch files and keeps the release. --release-versionis mandatory.- The command is registered in
releases_command.dart:11. - The
--yes --jsonexample inscripting.mdxmatches the command's own JSON hint.
- The
metrics.- Registered in
shorebird_cli_command_runner.dart:100. The command description says the console shows these as "Insights". - The console app page has an "Insights" tab (
web/apps/console/app/routes/orgs.$orgId.apps.$appId.tsx:92). - In
metrics_adoption_command.dart,--release-versionis optional, so the example is valid.metrics_subcommand.dartadds--app-idand theshorebird.yamlfallback, and--jsonemits the API response. - Not mentioning the plan requirement matches how
account/api.mdxalready lists Metrics.
- Registered in
error.api_code/error.details.- Present in
json_output.dart:146-156on main and absent in v1.6.128, so the version marker is correct. shorebird_plan_insufficient_tieris a real server code (packages/code_push_server/lib/src/middleware/plan_guard.dart:30).
- Present in
whoami.- Main no longer prints
Subscription:(account/whoami_command.dart:80-87). - v1.6.128 still prints it. The PR description already declares this change, and an older CLI printing one extra line does no harm.
- Main no longer prints
- Links and anchors.
/code-push/release#delete-releasesand/account/cli#delete-an-appboth resolve. The new## Metrics commandssection sits correctly between the app commands and the JSON section. - Other pages on main. No remaining "never prompt", "no confirmation prompt" or
--confirm-name-only claims outside the changelog, whose old entries are correct for their releases. - Agent entry points.
agent-instructions.txtis updated. Nothing about deletes needs changing in the astro.config.mjsdetailsblock or inagent-skills/index.json. - Lint and conventions.
- Prettier: clean.
- cspell: 0 issues in the 5 changed docs files. The 2 hits in
agent-instructions.txt(plists,tlsvon lines 15 and 18) are on lines this PR doesn't touch. - vale: 0 errors, warnings or suggestions.
- No em-dashes in added lines.
- No internal gating documented.
Findings
None.
Shorebird 1.6.129 adds commands and changes how deletes are confirmed, and a few pages now describe the old behavior. This covers the tasks a user would look for, briefly, and points at
--helpfor options rather than repeating them.shorebird metrics(account/cli.mdx): what it's for, one example, and--help.shorebird releases delete(code-push/release.mdx, linked from code-push/delete.mdx): deleting a release, or one platform, from the command line.releases deleteandchannels deleteprompt y/N in a terminal and take--yesotherwise;apps deletemakes you type the app's display name in a terminal and takes--confirm-name "<name>"otherwise, with no--yes(fix(shorebird_cli): require the app name to delete an app shorebird#4098). Each page says briefly what the delete removes, matching the CLI's new messages. tracks.mdx now says what deleting a track removes (the track and its promotion history, not its patches), matching the CLI's message, instead of describing device behavior.--json(code-push/ci/scripting.mdx):error.api_codeanderror.details.whoamiexample (account/cli.mdx): drops theSubscription:line the CLI no longer prints.New behavior is marked as needing Shorebird 1.6.129 or newer, matching #726, including the
apps deleteprompt in account/cli.mdx.1.6.129 is released, so this can land.
scripting.mdxis also edited by #714; the hunks don't overlap, but whichever lands second may need a trivial rebase.Testing: prettier, cspell, vale (0 errors on changed files), component-label lint, and
npm run build(68 pages) all pass. Facts checked againstshorebird_clion main and shorebirdtech/shorebird#4098, and against the server's delete routes (confirm_delete.dart,releases_delete_command.dart,metrics/,whoami_command.dart,json_output.dart).