You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
refactor(cmd): rename Pro identifiers to Platform - #1603
Renames internal Go identifiers from Pro to Platform across cmd/, pkg/config, pkg/platform, and pkg/telemetry. 23 files; non-test changed lines: +68 / −68.
Why
Internal identifiers should name the Platform product. This is the T1 step of the rename. The pro command, env var names and values, flags, and user-facing text stay as they are.
Tier
T1: internal identifiers only. Values, flags, env var values, string literals, cobra Use/Short, JSON tags, and log/error text are unchanged.
Validation
mkdir -p dist && go build ./...: pass
GOOS=windows go vet on touched packages: pass
go test on ./cmd/..., ./pkg/platform/..., ./pkg/telemetry/..., ./pkg/config/...: pass
mise run cli:format: clean
mise run cli:lint:ci: 0 issues
CodeRabbit CLI
Not run. coderabbit review --agent --committed failed twice with WebSocket closed (connection error) before the review started.
PR #1581 also touches cmd/root.go. Its hunk is in registerSubcommands; this PR's hunks are at lines 55–78 and 435–438. The hunks don't overlap. Skipping the file would break the build, since root.go must call the renamed pro.NewPlatformCmd.
Touched files: 257 hits on origin/main, 175 in this tree.
cmd/pro/: 249 hits in this tree.
Deferred: collectProWorkspaceInfo in cmd/workspace/troubleshoot.go keeps its old name. Renaming it trips revive argument-limit (5 args, max 4). It needs a params struct, which is a separate change.
Intentionally kept: Use: "pro" and "pro" string args, DEVSY_PRO_* env values, config.ProductNamePro, names.SkipPro, DevsyProInstances, workspace.GetProInstance, package and directory names (pro), import aliases, providers.ProProvider, "Devsy Pro" in comments, and everything under cmd/workspace/up/**.
Summary by CodeRabbit
Changes
Updated command-line terminology from “Pro” to “Platform” across commands, providers, hosts, workspaces, and troubleshooting.
The feature-gated command is now presented as the platform command when enabled.
Default release, namespace, and container names now use the Platform naming convention.
Platform runner and telemetry detection use updated Platform terminology while preserving existing behavior.
Updated environment-gated command handling and related configuration names.
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: f9332df2-5a10-474a-8af5-8c66503aac01
📥 Commits
Reviewing files that changed from the base of the PR and between 2a0a202 and 150da5c.
📒 Files selected for processing: 23
cmd/env_flags_test.go
cmd/pro/list.go
cmd/pro/login.go
cmd/pro/login_test.go
cmd/pro/pro.go
cmd/pro/proutil/proutil.go
cmd/pro/proutil/proutil_test.go
cmd/pro/provider/provider.go
cmd/pro/start.go
cmd/pro/start_docker.go
cmd/pro/start_flags.go
cmd/pro/start_uninstall.go
cmd/pro/workspace/create.go
cmd/pro/workspace/import.go
cmd/pro/workspace/list.go
cmd/pro/workspace/update.go
cmd/pro/workspace/watch.go
cmd/root.go
cmd/workspace/troubleshoot.go
pkg/config/env.go
pkg/config/repo.go
pkg/platform/client.go
pkg/telemetry/collect.go
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 change replaces Pro-specific command, provider, configuration, and telemetry identifiers with platform terminology. It updates command registration, provider resolution, release-name references, runner detection, and related tests. Existing environment-variable and release-name values remain unchanged where noted.
The command and provider constructors and feature-gate identifiers use platform terminology. Command registration and environment-gated tests use the renamed command. The DEVSY_PRO_ENABLED check remains unchanged.
Provider-resolution helpers, workspace host parameters, and the troubleshooting helper use platform terminology. Related tests and JSON list construction use renamed identifiers.
Release and runner names pkg/config/env.go, pkg/config/repo.go, cmd/pro/login.go, cmd/pro/start*.go, cmd/pro/start_uninstall.go, pkg/telemetry/collect.go
Release-name and runner environment constants use platform identifiers. CLI defaults, uninstall cleanup naming, and telemetry checks reference those identifiers. The existing environment-variable and release-name values remain unchanged.
The renamed identifiers preserve the described CLI behavior and configuration values. No merge-blocking issue is established.
Security architecture risk:🔵 Low · up to 150da
Command exposure, telemetry controls and resource names are preserved. The limited architectural risk is source compatibility: integrations using the renamed exported Go identifiers may require coordinated updates.
Retained concerns
No architecture-level concerns identified.
Security review details
Security Blast Radius
inferred — The inspected changes preserve the effective command gate, host/provider selection and default deployment identity. They do not establish an expansion of attacker-controlled reachability or resource authority. This conclusion is limited to the compared paths, not an assurance about every existing command or deployment.
Trust Boundaries and Controls
observed — Runner classification is derived from the process environment using an exact true comparison. The inspected code uses it for telemetry activation and event classification; it does not establish the environment value as authenticated identity. The producer of that environment value and downstream backend handling remain unverified.
Resilience and Maintainability Implications
observed — The telemetry rename preserves collector creation, configuration opt-out replacement and the command lifecycle's failure recording and deferred flush ordering. It introduces no new collector-state transition. Backend concurrency and flush guarantees were not established by this review.
Pre-merge checks: 3 · 2
Failed checks: 2 warnings
Check name
Status
Explanation
Resolution
Description check
The description explains the scope, rationale, intentional exclusions, validation results, and deferred work. However, it omits the template's Type of change, AI assistance, Testing, Checklist, and No…
Add the required template sections or explicitly remove sections that do not apply. Mark Refactor, disclose whether AI tools were used, document testing and manual verification, and complete the checklist items.
Docstring Coverage
Docstring coverage is 64.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 25 functions across 23 files.
Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed checks: 3 passed
Check name
Status
Explanation
Title check
The title clearly and concisely describes the main change: renaming Pro identifiers to Platform.
Linked Issues check
Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check
Check skipped because no linked issues were found for this pull request.
Full details: Description check
Explanation
The description explains the scope, rationale, intentional exclusions, validation results, and deferred work. However, it omits the template's Type of change, AI assistance, Testing, Checklist, and Notes sections, including explicit refactor selection, AI-use disclosure, manual verification details, and checklist status.
Resolution
Add the required template sections or explicitly remove sections that do not apply. Mark Refactor, disclose whether AI tools were used, document testing and manual verification, and complete the checklist items.
Fix all pre-merge checks with AI
✨ 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.
Already reviewed the last commit. Use @coderabbitai full review to rerun a review of the entire changeset.
Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Renames internal Go identifiers from Pro to Platform across
cmd/,pkg/config,pkg/platform, andpkg/telemetry. 23 files; non-test changed lines: +68 / −68.Why
Internal identifiers should name the Platform product. This is the T1 step of the rename. The
procommand, env var names and values, flags, and user-facing text stay as they are.Tier
T1: internal identifiers only. Values, flags, env var values, string literals, cobra
Use/Short, JSON tags, and log/error text are unchanged.Validation
mkdir -p dist && go build ./...: passGOOS=windows go veton touched packages: passgo teston./cmd/...,./pkg/platform/...,./pkg/telemetry/...,./pkg/config/...: passmise run cli:format: cleanmise run cli:lint:ci: 0 issuesCodeRabbit CLI
Not run.
coderabbit review --agent --committedfailed twice withWebSocket closed(connection error) before the review started.Auto-merge
Eligible: yes. Non-test changed lines: 136 (68 added, 68 removed) across 20 files.
Overlap
PR #1581 also touches
cmd/root.go. Its hunk is inregisterSubcommands; this PR's hunks are at lines 55–78 and 435–438. The hunks don't overlap. Skipping the file would break the build, sinceroot.gomust call the renamedpro.NewPlatformCmd.Remaining
Pattern
\bpro\b|Pro(?=[A-Z0-9_]|\b)|(^|[^A-Za-z])pro(?=[A-Z])|DEVSY_PRO(_|$):cmd/pro/: 249 hits in this tree.collectProWorkspaceInfoincmd/workspace/troubleshoot.gokeeps its old name. Renaming it trips reviveargument-limit(5 args, max 4). It needs a params struct, which is a separate change.Intentionally kept:
Use: "pro"and"pro"string args,DEVSY_PRO_*env values,config.ProductNamePro,names.SkipPro,DevsyProInstances,workspace.GetProInstance, package and directory names (pro), import aliases,providers.ProProvider, "Devsy Pro" in comments, and everything undercmd/workspace/up/**.Summary by CodeRabbit
platformcommand when enabled.