Skip to content

refactor(cmd): rename devsy pro command to devsy platform with pro alias - #1632

Merged
skevetter merged 1 commit into
mainfrom
refactor/rename-pro-command-to-platform
Oct 21, 2026
Merged

skevetter merged 1 commit into
mainfrom
refactor/rename-pro-command-to-platform

Conversation

@skevetter

@skevetter skevetter commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Renames the devsy pro command to devsy platform. pro stays as a cobra alias, so existing invocations, provider YAML, and scripts keep working.

  • cmd/pro/pro.go: Use: "platform", Aliases: []string{"pro"}.
  • User-facing usage, examples, and error messages now say devsy platform.
  • hack/pro/provider.yaml and providers/pro/provider.yaml now invoke platform. The alias keeps old callers working.
  • Test: cmd/pro/pro_test.go covers Name(), pro resolving to the same command, and nested subcommand resolution via both names. cmd/env_flags_test.go paths updated to platform.

Why

Command naming should match the product name. The alias keeps the rename backward compatible.

Tier

Rename. The DEVSY_PRO_ENABLED gate in cmd/root.go is kept as-is (skill T2 exception), so root.go is untouched and does not conflict with #1581 / #1588.

Not changed (deliberately): Go package and import paths, cmd/pro directory, env vars, provider IDs (pro, devsy-pro), --skip-pro, pro.json, workflows, ghcr image, helm names.

Validation

  • go build ./...: ok
  • GOOS=windows go vet on cmd/..., pkg/devsyconfig/..., pkg/daemon/...: ok
  • mise run cli:format, mise run cli:lint:ci: ok (0 issues)
  • go test ./cmd/ ./cmd/pro/... ./pkg/devsyconfig/... ./pkg/daemon/platform/...: ok
  • go test ./cmd/workspace/: hangs/times out. Same result on base commit 4107c5fdb, so pre-existing and unrelated.
  • Smoke, DEVSY_PRO_ENABLED=true: devsy platform --help, devsy pro --help, devsy pro login --help all work.
  • YAML parse of both provider files: ok.

CodeRabbit CLI

Failed: coderabbit review --agent --committed returned rate_limit twice (free OSS quota exhausted, no on-demand review available). No findings were produced. Re-run needed once quota resets.

Auto-merge

Not enabled. Draft PR for human review.

Remaining

  • cmd/workspace test hang predates this change.
  • Old pro alias removal is a later cleanup, after clients move to platform.

Next

Human review of the draft. Remove the alias in a follow-up once devsy pro usage is gone.

Summary by CodeRabbit

  • New Features

    • The CLI now uses devsy platform as the primary command namespace, while retaining devsy pro as an alias.
    • Platform subcommands, including provider, workspace, project, template, user, and daemon operations, are accessible through the new namespace.
    • Environment-based host and project settings are supported across platform commands, with command-line values taking precedence.
  • Documentation

    • Help text, usage examples, setup messages, and error guidance now reference devsy platform commands.

@skevetter skevetter added the rename Loft/Pro rename label Oct 20, 2026
@netlify

netlify Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for devsydev canceled.

Name Link
🔨 Latest commit f0bf7b3
🔍 Latest deploy log https://app.netlify.com/projects/devsydev/deploys/6ad8d76d29238aee5a6f8d28

@coderabbitai

coderabbitai Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 115a0ff2-9463-4c85-ac4b-1c5e2bffb527
📥 Commits

Reviewing files that changed from the base of the PR and between 71037ca and f0bf7b3.

📒 Files selected for processing: 19
  • cmd/env_flags_test.go
  • cmd/pro/cluster/cluster.go
  • cmd/pro/login.go
  • cmd/pro/pro.go
  • cmd/pro/pro_test.go
  • cmd/pro/project/project.go
  • cmd/pro/proutil/proutil.go
  • cmd/pro/start.go
  • cmd/pro/start_docker.go
  • cmd/pro/template/template.go
  • cmd/pro/user/reset_password.go
  • cmd/pro/user/user.go
  • cmd/pro/workspace/import.go
  • cmd/pro/workspace/sleep.go
  • cmd/pro/workspace/workspace.go
  • hack/pro/provider.yaml
  • pkg/daemon/platform/error.go
  • pkg/devsyconfig/config.go
  • providers/pro/provider.yaml

Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 1 remain after this review.

📝 Walkthrough

The CLI now uses platform as its primary command name and keeps pro as an alias. Provider mappings, login invocation, tests, and user-facing command references use the platform namespace.

Changes: Platform command rename

Layer / File(s) Summary
Command name and coverage
cmd/pro/pro.go, cmd/pro/pro_test.go, cmd/env_flags_test.go
The command name changes to platform, with pro retained as an alias. Command-resolution and environment-flag tests target the platform command hierarchy.
Provider and login routing
cmd/pro/login.go, hack/pro/provider.yaml, providers/pro/provider.yaml, pkg/devsyconfig/config.go
Fallback provider mappings and daemon commands use the platform namespace. The login invocation and its failure messages refer to platform login.
Command references
cmd/pro/cluster/cluster.go, cmd/pro/project/project.go, cmd/pro/proutil/proutil.go, cmd/pro/start.go, cmd/pro/start_docker.go, cmd/pro/template/template.go, cmd/pro/user/reset_password.go, cmd/pro/user/user.go, cmd/pro/workspace/import.go, cmd/pro/workspace/sleep.go, cmd/pro/workspace/workspace.go, pkg/daemon/platform/error.go
Command comments, examples, prompts, usage text, and daemon error text use the platform namespace.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Refactor

Possibly related issues

  • devsy-org/devsy issue 1551 tracks the Pro-to-Platform rename and identifies this pull request as implementing the command rename while retaining pro as a compatibility alias.
Merge Risk: ⚪ Minimal · up to f0bf7

The command rename preserves backward compatibility and presents no established merge-blocking risk.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 59.09% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 22 functions across 17 files. (2 skipped:… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Title check Passed The title clearly and concisely describes renaming devsy pro to devsy platform while retaining the pro alias.
Description check Passed The description clearly explains the change, rationale, compatibility behavior, scope, validation results, known test issue, and review status. It does not follow the provided template fully because i…
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.
Full details: Description check

Explanation

The description clearly explains the change, rationale, compatibility behavior, scope, validation results, known test issue, and review status. It does not follow the provided template fully because it omits explicit issue, type, AI-assistance, checklist, and integration-test declarations.

Full details: Docstring Coverage

Explanation

Docstring coverage is 59.09% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 22 functions across 17 files. (2 skipped: 2 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

✨ Finishing Touches
✨ Simplify code
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@netlify

netlify Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for images-devsy-sh canceled.

Name Link
🔨 Latest commit f0bf7b3
🔍 Latest deploy log https://app.netlify.com/projects/images-devsy-sh/deploys/6ad8d76d95b04087a1ae77e0

@skevetter

Copy link
Copy Markdown
Contributor Author

Rename bot: head fc1de2c. All checks pass except Build CLI Binary (ubuntu: goreleaser 'disk quota exceeded' on the runner; windows: job cancelled at ~9-11 min). Reproduced 4 times across reruns and also on #1630 (ubuntu), so it looks like runner infra, not this diff (no workflow/goreleaser/go.mod change). Left as draft; rerun again when runners recover, then ready + CodeRabbit gates.

@skevetter
skevetter force-pushed the refactor/rename-pro-command-to-platform branch from fc1de2c to 3bc449f Compare October 21, 2026 08:17
@skevetter

Copy link
Copy Markdown
Contributor Author

Rename bot: rebased (head 3bc449f). All checks pass except 'Test integration on ubuntu-latest', which 404s on devsy-org/devsy-provider-ssh releases/latest/download/provider.yaml (v1.1.45 and v1.1.46 were published with 0 assets because that repo's Release workflow failed with ubuntu 'disk quota exceeded'). Not caused by this diff. Staying draft until the ssh provider release is fixed and integration passes; then ready + CodeRabbit gates.

Rename the cobra command Use from "pro" to "platform" and keep "pro" as an alias so existing invocations keep working. Update user-facing usage strings, examples, and provider YAML to the new name. Packages and import paths are unchanged.
@skevetter
skevetter force-pushed the refactor/rename-pro-command-to-platform branch from 3bc449f to f0bf7b3 Compare October 21, 2026 15:09
@skevetter
skevetter marked this pull request as ready for review October 21, 2026 16:48
@mergify

mergify Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

This pull request does not currently match the merge queue conditions, so it cannot be queued from here. The box comes back if it matches again.

@skevetter
skevetter merged commit 06dad0d into main Oct 21, 2026
127 of 129 checks passed
@skevetter
skevetter deleted the refactor/rename-pro-command-to-platform branch October 21, 2026 16:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rename Loft/Pro rename size/l

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant