Repository navigation
1.4.0 - Make interactive commit message generation deterministic and reviewed before committing
Changed
-
Deterministic interactive prompts in tests/CI (Windows-safe)
- Refactored the commit/release title generation and commit-message editing flows used during tests to remove platform-dependent prompt fallback behavior.
- Interactive decisions for review vs. generation mode and push-to-origin are now made deterministic by explicitly injecting prompt behavior, instead of relying on OS-specific prompt resolution.
- User impact: Interactive CLI prompting becomes more predictable in test and CI environments, with no CLI surface-area changes.
-
Review generated commit messages before committing
- Added a new interactive step in the commit command: “Review the generated commit message”.
- Generated commit messages are now always routed through a reviewer UI (a textarea prompt) so users can edit the suggested message before it is finalized.
- Manual commit messages also use the same editing/review flow for consistency.
- User impact: In AI modes, commits are no longer finalized immediately after message generation; users must explicitly review/edit the suggested message.
- The commit-message editor enforces validation: the resulting message must be non-empty after trimming.
Internal Maintenance
- Refactored interactive commit flows to use injected workflow/UX services:
CommitWorkflowPrompts(for diff review, message mode selection, and push-to-origin decisions)CommitMessageReviewer(for editing and validating commit message text)
- For non-manual AI modes, commit-message generation still occurs (including any optional additional context for
AiWithContext), but the final commit message is taken from the user-reviewed/edited result rather than being used directly.
Compatibility / Migration
- No migration required.
- Behavioral difference: users will see an additional interactive prompt when generating commit messages (AI modes) to review/edit the suggested message.
- CLI/API signatures are not changed based on the provided release summary.