| doc-type | user | ||||
|---|---|---|---|---|---|
| title | Getting Started with ace-git-commit | ||||
| purpose | Documentation for ace-git-commit/docs/getting-started.md | ||||
| ace-docs |
|
Use ace-git-commit to generate meaningful commit messages from your git diff with one command.
gem install ace-git-commitRequires Ruby 3.2+ and a configured LLM provider in your ACE setup (see ace-llm).
Run:
ace-git-commitBy default, the tool stages changes and generates a conventional commit message from your diff.
Run:
ace-git-commit -i "fix auth bug"Use -i to tell the model what you are trying to do so the message can prioritize intent, not only file changes.
Create .ace/git/commit.yml:
git:
model: role:commitYou can keep project-level defaults in .ace/ and override from your user config when needed.
Run:
ace-git-commit ace-review/README.md ace-review/docs/getting-started.mdWhen changes span multiple packages, ace-git-commit can split work by scope based on your config so commit history stays clean.
For the first ACE setup snapshot, prefer the deterministic direct-message path:
bundle exec ace-git-commit --only-staged --no-split -m "chore: set up ace tooling"This is the reliable first-use path because it commits the current staged setup files without invoking LLM-backed message generation.
If you try an LLM-backed setup commit first and provider credentials, model access, or local CLI readiness are not ready yet, inspect the current staged state and then fall back to the deterministic command:
git status
bundle exec ace-llm --list-providers
bundle exec ace-config doctor
bundle exec ace-git-commit --only-staged --no-split -m "chore: set up ace tooling"Use the flags as follows:
--only-stagedcommits only the current index and preserves any unstaged edits.--no-splitkeeps the initial setup snapshot in one commit when setup touches multiple scopes such as root docs, config, and generated agent assets.-mbypasses LLM generation entirely.
After bundle exec ace-config doctor confirms readiness, provider-backed commit generation becomes optional. Preview it
without committing by running:
bundle exec ace-git-commit --dry-run -i "set up ace tooling"| Command | What it does |
|---|---|
ace-git-commit |
Commit all changes with LLM-generated message |
ace-git-commit -i "..." |
Commit with intention context |
ace-git-commit --dry-run |
Preview message without committing |
ace-git-commit --only-staged |
Commit only staged files |
ace-git-commit path/ path/ |
Commit specific files/dirs |
Use the restarted package test model:
ace-test ace-git-commitfor deterministic fast-loop testsace-test ace-git-commit featfor deterministic feature/contract tests when presentace-test-e2e ace-git-commitfor retained workflow scenariosace-test ace-git-commit allfor complete package verification
- Usage Guide -- full command reference with all options
- Handbook Reference -- skill, workflow, Conventional Commits guide, prompts
- Runtime help:
ace-git-commit --help