The tool sends the diff of your git branch against a base branch to an LLM provider. The LLM provider responds with a set of suggested commits with sensible commit messages, change groupings, and descriptions. When you explicitly accept the proposed changes, the tool re-writes the commit history on your branch to match the LLM's suggestion. Then you can force push your branch to your remote to make it match.
The default AI provider is your locally running Ollama server. Cloud providers can be explicitly configured via CLI argument or in a config file, but keeping local models as the default helps to protect against unintentional data sharing. The tool always creates a backup branch in case you need to easily revert in case of changing your mind or an error in commit re-writing. Note that re-writing commit history to a remote branch requires a force push, which is something your team/org will need to be ok with. As long as you are working on a feature branch this is usually fine, but it's always worth checking if you are not sure.
iandanforth•3h ago
CityOfThrowaway•3h ago
1. Always squash and merge 2. But have tidy commits 3. So your squashed commit has a useful list of what is in the commit
bredren•2h ago
I think the intent is that it be up to the org to decide whether they’ll accept a stream of commits to merge or squash merge after approval.
Fire-Dragon-DoL•1h ago
So,where is the noise if it can be hidden but also used to get additional information on code changes?
baq•1h ago
Fire-Dragon-DoL•1h ago
dakiol•15m ago
I couldn’t care less what changes were introduced in a particular commit (what for? Debugging? Your features should be small enough that debugging them shouldn’t be a pita anyway)
collingreen•9m ago