AI commit messages

Drafting a message from what you have staged, on your Mac or through a CLI you already use.

In the message field’s top right corner is a button that writes a first draft from the changes you have staged. It is a draft: it goes into the field where you can edit it, and nothing is committed until you say so.

What it reads

Only the staged diff. That is the point — a message generated from everything you have changed would describe a commit you are not making.

Along with the diff it uses the name of the branch you are on and the subjects of recent commits, so a repository with a house style tends to get more of it.

Styles

Five, chosen in Settings:

  • Imperative — “Add the scanner”, the style Git’s own documentation uses.
  • Conventionalfeat:, fix:, and the rest of Conventional Commits.
  • Gitmoji — the emoji prefix convention.
  • Descriptive — a sentence rather than a command.
  • Match repository — look at what this repository already does and do that. Where the recent subjects have no clear pattern it falls back to imperative.

Where the drafting happens

On your Mac, through Apple Intelligence, when your Mac supports it. Nothing leaves the machine.

Through a CLI you already have — Claude Code or OpenAI Codex — in the Direct build, and only after you have explicitly agreed to it. Innesta finds the CLI on your PATH or takes the path you give it, and lets you choose which model each one uses. Requests have a timeout, the output is sanitised before it reaches the message field, and the staged diff is passed with the mitigations you would want against a repository whose contents are trying to talk to the model rather than to you.

See AI settings for choosing the provider, the style and the model.