AI News HubLIVE
站内改写

Show HN: GitGlimpse – CLI for understanding AI-generated Git diffs

GitGlimpse is an open-source CLI that filters noise from git history, groups commits into tasks, and generates structured outputs like PR descriptions, standups, and weekly reports. It runs offline, respects privacy, and optionally integrates with LLMs for diff analysis.

Article intelligence

EngineersIntermediate

Key points

  • Filters out noise commits (merges, lock files, formatting) automatically
  • Groups commits into tasks based on branches and 3-hour gaps
  • Supports multiple output formats: Markdown, Rich, JSON
  • Integrates with CI and editor slash commands (Claude Code, Cursor)

Why it matters

This matters because filters out noise commits (merges, lock files, formatting) automatically.

Technical impact

May affect model selection, inference cost, product capability, and evaluation benchmarks.

v0.1.7structured context for git histories→

Your AI writes the code. Yougitglimpse writes the context.

A CLI that reads your git history, filters noise, groups commits into tasks, and prints PR descriptions, standups, weekly reports, and LLM-ready JSON. No accounts. No tracking. Works offline.

Star on GitHub

● Python 3.11+● MIT license● Works offline● Local LLM ready

~/my-project

LIVE

$

The problem

Your git log knows what changed. It just doesn't tell you.

● Raw git log — noise & shortcuts

git log --oneline -10

a3f7c2dwip

f24bb01fix

9c1e8a2Merge branch 'main' into feat/auth

b8d5e3fupdate

55a09bcprettier

e7f2c4arefactor

12bc89dbump deps

aa11e5estuff

3d2a1f7format code

88cf014tests

↑ what did you actually do this week?

● glimpse standup — clean & structured

glimpse standup

grouped

$ glimpse standup

Filtered 4 noise commits. 6 commits → 3 tasks.

Yesterday:

•Refactored auth middleware to use JWT rotation~1h

•Fixed rate-limiter bypass on batch endpointsAUTH-247 ~0.5h

•Added integration tests for refresh flow~0.5h

Estimated effort: ~2h across 3 tasks

How it works

Four stages between git log and structured output.

No services, no databases, no setup. Just a Python process reading your local repository — running each commit through a deterministic pipeline before ever touching an LLM.

Input

git history

Whatever git produces — clean or chaotic.

a3f7wip

f24bprettier

9c1eMerge branch…

b8d5refactor auth

55a0fix rate limit

01

Filter noise

Drops merges, lock files, formatting commits.

02

Group tasks

Buckets by branch, splits on 3-hour gaps.

03

Extract tickets

Reads AUTH-247 and #15 from branch names.

04

Estimate effort

Heuristic from commit timing, capped at sane limits.

Output

structured tasks

Markdown, Rich, or JSON — your call.

●JWT rotation~1h

●Rate limit fix~0.5h

●Integration tests~0.5h

Five commands

One repo. Many surfaces.

Pick a command — the terminal updates with what you'd actually see in your shell. Pipe it to a file, a Slack channel, or your AI editor.

~/my-project — glimpse pr

feat/jwt-rotation

$

CI integration

Every PR gets a context comment. Automatically.

Drop the action into your workflow. The bot posts a single comment per PR and updates it on every push — no duplicates, no babysitting.

● OpenAdd JWT rotation to auth middleware#247

gitglimpse-botbotcommented 2 minutes ago · updated on push

PR Summary — AUTH-247

Refactored authentication middleware to support JWT token rotation with automatic refresh handling. Added integration tests covering the new refresh flow and fixed a rate-limiter bypass on batch endpoints.

Changes

▸JWT rotation logic in auth/middleware.py(~1h)

▸Rate limiter fix for api/limits.py batch path (~0.5h)

▸Integration tests for tests/test_auth.py refresh flow (~0.5h)

6 commits+342−28~2h estimatedposted by [email protected]

Template mode — no API key- uses: dino-zecevic/gitglimpse@main with: github-token: ${{ secrets.GITHUB_TOKEN }}

With LLM — reads your diffs- uses: dino-zecevic/gitglimpse@main with: github-token: ${{ secrets.GITHUB_TOKEN }} llm-provider: openai llm-api-key: ${{ secrets.OPENAI_API_KEY }} llm-model: gpt-4o-mini

Also runs on GitLab CI, Bitbucket Pipelines, and any shell. Supports OpenAI, Anthropic, and Gemini — or runs offline against Ollama.

Editor integration

Becomes a slash command in Claude Code & Cursor.

Run glimpse init. Commit the four generated files. Every developer who pulls the repo gets /standup, /pr, /week, and /report — no install, no docs, no onboarding.

my-project/.claude/commands/standup.md

.claude / commands

▸ standup.md

▸ report.md

▸ pr.md

▸ week.md

workspace

▸ src/

▸ tests/

▸ README.md

✻Welcome to Claude Codeconnected to my-project · type / for slash commands

↳ Try— or type one yourself.

Built-in

What you get out of the box.

Noise filtering

Merge commits, lock files, formatting changes — excluded automatically. Mixed-noise commits are kept.

Task grouping

Buckets by branch, splits on 3-hour gaps. Three commits become one task with a derived summary.

Ticket extraction

Branches like feature/AUTH-42-login or feat/gh-15 surface ticket IDs in your output and JSON.

Effort estimation

Heuristic from commit timing — gaps under 2h count, longer ones cap. Labelled as estimated, not tracked.

Multi-project mode

Run from a parent directory to aggregate work across repos. Auto-detects, merges timelines.

Diff analysis

With --context both, sends actual code diffs to the LLM. Summaries describe intent, not file names.

Privacy-first

No accounts. No telemetry. Your commits never leave your machine unless you bring your own LLM key.

PyPI + GitHub Action

pip install for the CLI. The GitHub Action wraps it as one workflow step. Both stay in lockstep.

Bring your own LLM

OpenAI, Anthropic, Gemini, or Ollama running locally on your machine. Or skip the LLM — template mode is offline.

One command. Structured context for life.

No accounts. No setup. No tracking. Just open source.

Star on GitHub PyPI ↗

gitglimpse v0.1.7 · MIT · built by dinoze.devgithub · pypi · gitglimpse.com