Skip to content

v0.2.0

Latest

Choose a tag to compare

@AfonsoNeto AfonsoNeto released this 27 Sep 16:35
· 3 commits to master since this release

This version is focused on making the local-LLM integration accurate and reliable.

API layer

  • Switch from Ollama's proprietary /api/generate to the standard OpenAI-compatible /v1/chat/completions endpoint — now genuinely works with Ollama, LM Studio, llama.cpp llama-server and vLLM
  • URL normalization: accepts base URLs with or without /v1 and trailing slashes
  • Enforce TLS with certificate verification for https endpoints
  • HTTP timeouts (5s open / 120s read), HTTP status checks and typed errors (ConnectionError, ApiError) with friendly messages
  • Strip ANSI escape sequences from model output (prevents terminal escape injection via prompt-injected diffs)
  • 2048-token budget so thinking models (qwen3) finish reasoning before answering; inline <think> blocks stripped
  • Output cleaning: code fences, quotes and multi-suggestion replies reduced to a single 72-char subject line

CLI

  • commit now commits by default after a y/n confirmation (closed stdin counts as "no" so non-interactive runs never auto-commit)
  • New --message-only flag replaces print-only behavior; --conventional for Conventional Commits format; --length for subject length
  • New models command lists models from the server; config picks from that list when reachable
  • Fixed options.length collision that truncated every generated message to 3-4 characters
  • Fixed option resolution where explicitly passed --url/--model were ignored
  • Skip the LLM call when nothing is staged; cap diff size at 12k chars; handle detached HEAD

Housekeeping

  • Default model → qwen3:8b
  • Minitest suite (23 tests) with a dependency-free mock HTTP server
  • GitHub Actions CI (Ruby 3.1–3.4) with tests and bundler-audit dependency scanning
  • MIT license, gemspec cleanup, README rewrite with a terminal demo GIF (regenerable via docs/generate_demo.py)

Full Changelog: v0.1.2...v0.2.0