Skip to content

1.4.0 - Make interactive commit message generation deterministic and reviewed before committing

Choose a tag to compare

@allanmcarvalho allanmcarvalho released this 28 Aug 16:27
· 34 commits to 1.x since this release

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.