feat(init): built-in diff viewer and auto-commit with --yes
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- typescript
- Domain
- cli
Research direction
Start with formatResult() and buildSummaryLines() in src/lib/init/formatters.ts, then trace WizardOptions.yes and ApplyPatchsetPayload in src/lib/init/types.ts through src/lib/init/wizard-runner.ts. Verify how the wizard currently displays summaries and handles --yes. Done means patched files show colored unified diffs, --yes commits afterward, and interactive mode retains the review prompt.
Written by the indexing model from the issue text.
Description
Summary
After the init wizard applies file changes, the CLI prints a static message — "Please review the changes above before committing." — but doesn't actually show the diffs. Users have to manually inspect the working tree to understand what changed. Additionally, when running with --yes (non-interactive mode), the wizard still stops without committing, requiring manual intervention.
This issue proposes two improvements:
- Built-in diff viewer — display inline diffs of all applied patches so users can review changes without leaving the terminal
- Auto-commit with
--yes— when the user opts into non-interactive mode, automatically commit the wizard's changes after displaying the diff summary
Current Behavior
formatResult()insrc/lib/init/formatters.tsbuilds a summary of changed files (create/modify/delete) viabuildSummaryLines()and displays it withnote()- A static
log.info("Please review the changes above before committing.")message follows - The
--yesflag auto-selects prompts and confirms but does not commit the resulting changes - Full patch data (including diffs) is available in
ApplyPatchsetPayloadbut is not surfaced to the user
Proposed Behavior
- After the wizard completes, render a colored unified diff of each patched file (using the patch data already available in
ApplyPatchsetPayload) - When
--yesis set, auto-commit the changes after displaying the diff summary (skip the "please review" message) - When
--yesis not set, show the diff and keep the existing review prompt
References
src/lib/init/formatters.ts—formatResult()andbuildSummaryLines()src/lib/init/types.ts—WizardOptions.yesandApplyPatchsetPayloadsrc/lib/init/wizard-runner.ts— wizard execution flow
Originated from a review comment by @BYK.
- Dominant language
- TypeScript
- Stars
- 121
- Forks
- 14
- Avg merge
- 22h 3m
- Merged PRs (30d)
- 94
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from getsentry/cli
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
-
Difficulty 3/5 1-2 days Newbie friendliness 65/100
-
bug jared
-
jared
Difficulty 4/5 3-5 days Newbie friendliness 52/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
copse-dev/agent-pane#2953 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
calcite-components needs triage refactor
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Esri/calcite-design-system#15203 ·