Finito Commit
Commit the current Finito worktree as one coherent changeset. Inspect the actual diff first, then derive a conventional commit message from the content.
Workflow
- Inspect Git state before staging:
- Run
git status --short. - If there are no changes, report that and stop.
- If the worktree clearly mixes unrelated concerns, ask whether to split the commit instead of forcing one message.
- Read enough of the diff to understand the real change:
- Run
git diff --statandgit diff --cached --stat. - Open representative changed files or focused diffs for the main areas.
- Base the commit message on behavior and intent, not only filenames.
- Build the commit message with conventional-commit rules:
- Read ../conventional-commit/SKILL.md before composing the message.
- Follow its allowed types, imperative description style, scope guidance, and breaking-change rules.
- Prefer the narrowest useful scope, usually the Finito feature or subsystem touched by most of the diff.
- Use
refactorfor structural/internal improvements without intended behavior change,featfor new behavior,fixfor bug fixes, andchoreonly for maintenance work.
- Stage and commit non-interactively:
- Stage the intended worktree with
git add -Aunless the user requested a narrower commit. - Commit with
git commit -m "type(scope): description"when a title is enough. - If body or footer materially help, use repeated
-mflags instead of opening an editor.
- Handle failures pragmatically:
- If
git commitfails because of hooks or formatting checks, inspect the output. - Fix issues that are directly caused by the current changeset when reasonable.
- If a blocker is outside the task scope, report it clearly instead of guessing.
- Report the result:
- Return the final commit message.
- Summarize the main areas included in the commit.
- Mention any intentionally uncommitted files if the user asked for exclusions.
Guardrails
- Do not amend, rebase, squash, or rewrite commits unless the user explicitly asks.
- Do not use interactive Git flows.
- Do not commit when the user asked only for review or for a proposed message.
- Do not silently exclude relevant untracked files from the current changeset.
- Do not invent a generic commit message before inspecting the diff.
Source: finitoapp/finito — distributed by TomeVault.