feat: play integration#3
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit cd8a40c. Configure here.
| } | ||
| if (isQuietMode(command)) { | ||
| return; | ||
| } |
There was a problem hiding this comment.
Quiet mode suppresses printData JSON output incorrectly
Medium Severity
The printData function now returns early when isQuietMode is true, before rendering non-JSON structured output. However, the docstring for isQuietMode explicitly states that "JSON-mode output is independent — printData continues to emit JSON to stdout even when --quiet is on." While the JSON-mode check comes first, users who haven't set --json but rely on printData for programmatic data output will get silenced. More critically, there's an asymmetry: printTable also guards with isQuietMode, but the intent described in the comment suggests data output functions like printData differ from chatter.
Reviewed by Cursor Bugbot for commit cd8a40c. Configure here.


Note
Medium Risk
Adds a large new
bags playfeature surface with networked Play API interactions (auth, publish/patch, runs/deployments admin actions) plus new global CLI flags that affect output behavior. Risk is mainly behavioral regressions in CLI UX/output (quiet/no-color/json) and new API error-handling paths rather than changes to existing Bags trading/auth flows.Overview
Introduces Bags Play integration by adding a new
bags playcommand group (apps, runs, deployments, plugins, publish/patch/verify, init scaffolding, and awhoami/artinfo command), backed by a new Play API client usinghono/clientand Play-specific auth/key validation.Adds shell completion support via a hidden root
__completedispatcher plusbags play completiongenerators/installers for bash/zsh/fish.Updates the CLI runtime/UX: new global flags (
--quiet,--no-color,--play-api,--bags-api), quiet-mode suppression for human output, early argv parsing to disable color beforechalkloads, and an extractedmergeJsonInputArgshelper.Adds a build-time step to embed Play project templates (
scripts/embed-play-templates.ts) and updates dependencies/lockfile to include Play workspace packages and new libraries (cron-parser,smol-toml,nats,tsx,@hono/zod-openapi, etc.).Reviewed by Cursor Bugbot for commit cd8a40c. Bugbot is set up for automated code reviews on this repo. Configure here.