Skip to content

feat: rename CLI command from dot to playground (with pg alias)#231

Merged
UtkarshBhardwaj007 merged 1 commit into
mainfrom
feat/rename-cli-to-playground
May 29, 2026
Merged

feat: rename CLI command from dot to playground (with pg alias)#231
UtkarshBhardwaj007 merged 1 commit into
mainfrom
feat/rename-cli-to-playground

Conversation

@UtkarshBhardwaj007
Copy link
Copy Markdown
Member

What

Renames the CLI command from dot to playground, with pg as a short alias. Both names invoke the same binary, so playground init and pg init (and every other subcommand) are interchangeable. The old dot command is no longer installed.

Why

dot collides with too many existing tools and with Polkadot's own product family (tracked under the open "CLI command rename" item). playground is descriptive; pg keeps a fast-to-type alias.

How it works

  • Both commands after a curl install. install.sh downloads the (still dot-<os>-<arch>) release asset, saves it locally as ~/.polkadot/bin/playground, and symlinks pg → it in both ~/.polkadot/bin and ~/.local/bin. It also removes any legacy dot binary/symlink from a prior install so the old command stops resolving on PATH.

  • Release artifacts unchanged. GitHub release assets stay named dot-* (download source); only the installed command names changed. update.ts (detectAsset() still returns dot-*, dest is now playground) and e2e-post-release.yml agree on the playground installed filename, so self-update keeps the symlinks valid.

  • Yellow "next step" box. At the end of the curl install, a yellow rounded-border box (styled to match the TUI's phone-signing Callout) tells the user both playground init and pg init work:

    ╭─ next step ──────────────────────────────╮
    │ Run playground init or pg init to log in │
    │ with the Polkadot mobile app.            │
    │ Both commands work the same.             │
    ╰──────────────────────────────────────────╯
    
  • User-facing string sweep. Every runtime message, --help description, TUI header breadcrumb (cmd="playground …"), terminal tab title, and the version-update banner now say playground. The telemetry expected-error regex and span name were updated in lockstep, with unit + e2e assertions updated to match.

Scope notes

  • Intentionally left as-is: internal code comments/docstrings that mention dot init etc. (non-functional), and the e2e describe()/it() test titles (coupled to the CI -t filter patterns in e2e.yml/e2e-local.sh). The e2e helper invokes the CLI via bun run src/index.ts directly, so it's unaffected.
  • Pre-existing (not introduced here): isExpectedCliError only matches the double-quote form run "playground init", not the backtick form. Verified identical before/after this rename. Candidate for a separate follow-up.

Verification

  • pnpm format:check
  • pnpm lint:license
  • pnpm test ✅ 594 passed, 1 skipped
  • pnpm build ✅ compiles; playground --help / pg --version confirmed working

Includes a minor changeset.

Rename the CLI command from `dot` to `playground`, with `pg` as a short
alias. Both names invoke the same binary, so `playground init` and `pg init`
(and every other subcommand) are interchangeable.

- install.sh saves the (still `dot-*`) release asset locally as `playground`,
  symlinks `pg` into both PATH bin dirs, removes any legacy `dot` install, and
  prints a yellow rounded-border box telling the user to run `playground init`
  or `pg init`.
- update.ts self-update and e2e-post-release.yml agree on the `playground`
  installed filename; detectAsset() still resolves the `dot-*` download asset.
- Sweep all user-facing runtime strings (errors, --help descriptions, TUI
  header breadcrumbs, terminal window titles, version-update banner) from
  `dot` to `playground`, with unit/e2e assertions and the telemetry
  expected-error regex updated in lockstep.
- The old `dot` command is no longer installed.
@github-actions
Copy link
Copy Markdown
Contributor

Dev build ready — try this branch:

curl -fsSL https://raw.githubusercontent.com/paritytech/playground-cli/main/install.sh | VERSION=dev/feat/rename-cli-to-playground bash

@UtkarshBhardwaj007 UtkarshBhardwaj007 merged commit 2e57c87 into main May 29, 2026
17 of 19 checks passed
@UtkarshBhardwaj007 UtkarshBhardwaj007 deleted the feat/rename-cli-to-playground branch May 29, 2026 15:11
@github-actions
Copy link
Copy Markdown
Contributor

E2E Test Pass · ❌ FAIL

Tag: e2e-ci-pr · Branch: feat/rename-cli-to-playground · Commit: fe76481 · Run logs

Cell Result Time
pr-init-session ✅ PASS 1m48s
pr-deploy-foundry ✅ PASS 1m09s
pr-deploy-frontend ❌ FAIL 15m00s
pr-preflight ✅ PASS 2m09s
pr-deploy-cdm ✅ PASS 3m40s
pr-install ✅ PASS 0m49s
pr-mod ❌ FAIL 2m23s
${{ matrix.cell }} ⏭️ SKIP 0m-1s
${{ matrix.cell }} ⏭️ SKIP 0m-1s
❌ Failed tests (1)
  • e2e/cli/mod.test.ts › dot mod — clone &gt; full clone flow: fetches source, runs setup.sh, writes dot.json
    mod failed: playground mod · dot-cli-mod-fixture.dot · paseo next v2 v0.26.2 ──────────────────────────────────────────────────────────────────────── modding dot-cli-mod-fixture.dot ✕ fetch app metadata · download source · run setup.sh → dot-cli-mod-fixture-57be7e ✕ setup failed App "dot-cli-mod-fixture.dot" not found in registry : expected 1 to be +0 // Object.is equality

Sentry traces: view spans for this run

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