feat: add 'app unlink' command#266
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #266 +/- ##
==========================================
+ Coverage 64.58% 64.73% +0.14%
==========================================
Files 212 213 +1
Lines 17505 17582 +77
==========================================
+ Hits 11306 11381 +75
- Misses 5131 5133 +2
Partials 1068 1068 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
zimeg
left a comment
There was a problem hiding this comment.
@srtaalej Super nice balance to the changes of the link command! This is working well for me but I'm requesting a few changes below:
- Inlining the "RunE" logic: As much as possible, I think we'd like to perform most logic within the
UnlinkCommandRunEfunction for quick parsing. - Style and outputs: Handfuls of quibble on consistent practices we're working toward but haven't solidified in documentation... I hope these comments are found well and with meaning!
- Cancelling requests: I noticed unexpected output that's perhaps related to the above points, but we'll want to make sure this case returns as expected too!
Hoping to continue testing this soon! Let me know if I can review more whenever!
| if !proceed { | ||
| clients.IO.PrintInfo(ctx, false, "\n%s", style.Sectionf(style.TextSection{ | ||
| Emoji: "thumbs_up", | ||
| Text: "Your app will not be unlinked", | ||
| })) | ||
| return types.App{}, nil | ||
| } |
There was a problem hiding this comment.
🚧 issue: The following outputs appear after selecting "no" for me:
? Are you sure you want to unlink this app? No
👍 Your app will not be unlinked
🔓 App Unlinked
Removed app from project
Team:
👁️🗨️ suggestion: Let's inline as much as possible to be within UnlinkCommandRunE to avoid jumping between functions!
Co-authored-by: Eden Zimbelman <eden.zimbelman@salesforce.com>
Co-authored-by: Eden Zimbelman <eden.zimbelman@salesforce.com>
Co-authored-by: Eden Zimbelman <eden.zimbelman@salesforce.com>
Co-authored-by: Eden Zimbelman <eden.zimbelman@salesforce.com>
Co-authored-by: Eden Zimbelman <eden.zimbelman@salesforce.com>
Co-authored-by: Eden Zimbelman <eden.zimbelman@salesforce.com>
Co-authored-by: Eden Zimbelman <eden.zimbelman@salesforce.com>
Co-authored-by: Eden Zimbelman <eden.zimbelman@salesforce.com>
Co-authored-by: Eden Zimbelman <eden.zimbelman@salesforce.com>
mwbrooks
left a comment
There was a problem hiding this comment.
✅ Fantastic work on adding your first complete command @srtaalej 👏🏻
🧪 Solid test coverage on this PR and manually testing works well, including edge-cases.
✏️ I left a few minor suggestions. After we bring them in, let's record a small video showing this feature in action.
| if !proceed { | ||
| clients.IO.PrintInfo(ctx, false, "\n%s", style.Sectionf(style.TextSection{ | ||
| Emoji: "thumbs_up", | ||
| Text: "Your app will not be unlinked", | ||
| })) | ||
| return types.App{}, nil | ||
| } |
The changes have been addressed and the reviewer is on vacation - I've confirmed that the changes look good.

Summary
This PR adds the
app unlinkcommand to the CLI.Example
Preview
2025-11-27-app-unlink.mov
Requirements