ghost_git_writer

Crates.ioghost_git_writer
lib.rsghost_git_writer
version0.15.1
created_at2025-07-24 10:01:56.362783+00
updated_at2025-09-16 12:47:06.30998+00
descriptionwrite a git commit message, README or Diff Summary by LLM services.
homepage
repositoryhttps://github.com/Uliboooo/ghost_git_writer
max_upload_size
id1765872
size117,411
Uliboooo(うりぼう) (Uliboooo)

documentation

README

ghost writer - ggw

made-with-Rust

⚠️ beta ⚠️ and this doc is unstable to updating now...

installing

cargo install ghost_git_writer

set api key in enviroment variables

  • Gemini
    • GGW_GEMINI_API
  • Anthropic
    • GGW_ANTHROPIC_API
  • OpenAI
    • GGW_OPENAI_API
  • Deepseek
    • GGW_DEEPSEEK_API

usage

ggw <COMMAND> [Options]
  • Sub Commands
    • commit: generate a git commit message from git diff by llm
    • readme: generate a README from codebase.
    • sumdiff: generate a summry of changes from git diff
    • which-sem: in Sem Ver, Output which field should be incremented.
  • Global Options(mainly)
    • -m --model: model sepcific tag. there are tow pattern to specific model.
    • -p --path: specific woek path. if it's empty, set current dir path.
    • -l --lang: change output language.(default=english). e.g. -l japanese
    • -e --extra: extra prompt. if you need to append order to llm.
    • --config: config file path. if you need to locate other than ~/.config/ggw/config.toml or ~/.ggw.toml.
    • --oneline: output only llm's return for cli pipes
  • Options for commit
    • --auto-commit: allow auto git commit by generated message
    • -D --diff <DIFF_COMMIT>: specify commit hash or tag or git symbolic ref(e.g. 'HEAD')
  • Options for readme
    • -s --source <source file list>: source files path. A list of file paths separated by ','.
    • -d --directory <source dir>: souce file folder
    • --merge-readme: allow merge to existing README.md
  • Options for sumdiff
    • -D --diff <DIFF_COMMIT>: specify commit hash or tag or git symbolic ref(e.g. 'HEAD')
  • Options for which-sem
    • -D --diff <DIFF_COMMIT>: specify commit hash or tag or git symbolic ref(e.g. 'HEAD')

Examples

# give `git diff` to command
ggw commit -m gemini/gemini-2.0-flash

# gice `git diff 76fd1d0` to command
ggw sumdiff -D 76fd1d0 -m gemini/gemini-2.5-pro
Commit count: 165

cargo fmt