feat(cli): add upgrade paths, locations, and billing links to account plan [AI-72]#1264
Merged
thebiglabasky merged 11 commits intomainfrom Mar 19, 2026
Merged
feat(cli): add upgrade paths, locations, and billing links to account plan [AI-72]#1264thebiglabasky merged 11 commits intomainfrom
thebiglabasky merged 11 commits intomainfrom
Conversation
…lan formatters Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
…nt plan Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
- Deduplicate REQUIRED UPGRADE column definition into a shared `upgradeColumn` constant used by all three table types - Extract `getAccountAppUrl()` to rest/api.ts as a shared utility for constructing account-scoped app URLs (same base URL pattern as getTestSessionUrl in reporters/util.ts) Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
…de path Disabled entitlements with no requiredPlan/requiredAddon now show "Contact sales" in the REQUIRED UPGRADE column and link to checklyhq.com/contact-sales instead of the billing checkout page. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Plan header now shows both links: - Self-service upgrade: billing checkout URL - For Enterprise: checklyhq.com/contact-sales/ Detail view uses contact sales URL for CONTRACT entitlements. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
- Cyan bold labels for Plan, Locations, Add-ons, Metered entitlements - Magenta highlight on full rows for disabled entitlements in tables - Green/magenta bold counts in the summary line - Dim location names for subtlety - Hardcode production URL (https://app.checklyhq.com) instead of deriving from API base URL - Remove unused getAccountAppUrl from api.ts Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Each disabled entitlement now includes an upgradeUrl field in JSON: - Self-serve features: billing checkout URL - Enterprise/CONTRACT features: contact sales URL - Enabled features: no upgradeUrl (clean) Top-level JSON also includes both upgradeUrl and contactSalesUrl. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
- Extract shared getEntitlementUpgradeUrl() from formatter, used by both detail view and JSON enrichment (was duplicated) - Export CONTACT_SALES_URL from formatter, remove duplicate in command - Rename top-level JSON key from upgradeUrl to checkoutUrl for clarity - Simplify withUpgradeUrl to delegate to shared function Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
MichaelHogers
approved these changes
Mar 19, 2026
Contributor
MichaelHogers
left a comment
There was a problem hiding this comment.
it works for me, i didn't look closely into the rendering code since it is mostly rendering and i don't have the time atm, tested the CLI locally and it functioned well
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
checkly account planwith upgrade path info from the entitlements API (monorepo#1026)--disabledflag — filter to only show entitlements not on your plan (composable with--typeand--search)upgradeUrlpointing to checkout or contact sales depending on plan typeDetails
New types:
RequiredAddon,Location,AccountLocations+ extendedEntitlementandAccountPlanNew helpers:
formatUpgradePath(),formatLocations(),getEntitlementUpgradeUrl(),upgradeLabel(),highlightDisabledRows()Files changed:
src/rest/entitlements.ts— typessrc/formatters/account-plan.ts— formatters + helperssrc/commands/account/plan.ts—--disabledflag, URL construction, JSON enrichmentTest plan
🤖 Generated with Claude Code