gitglimpse 0.1.2__tar.gz → 0.1.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. gitglimpse-0.1.4/PKG-INFO +391 -0
  2. gitglimpse-0.1.4/README.md +366 -0
  3. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/pyproject.toml +3 -2
  4. gitglimpse-0.1.4/src/gitglimpse/__init__.py +1 -0
  5. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/src/gitglimpse/cli.py +348 -237
  6. gitglimpse-0.1.4/src/gitglimpse/commands/pr.md +39 -0
  7. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/src/gitglimpse/commands/report.md +4 -2
  8. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/src/gitglimpse/commands/standup.md +5 -3
  9. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/src/gitglimpse/commands/week.md +4 -2
  10. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/src/gitglimpse/config.py +1 -0
  11. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/src/gitglimpse/estimation.py +1 -1
  12. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/src/gitglimpse/formatters/json.py +3 -0
  13. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/src/gitglimpse/formatters/markdown.py +6 -1
  14. gitglimpse-0.1.4/src/gitglimpse/formatters/pr.py +162 -0
  15. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/src/gitglimpse/formatters/template.py +7 -4
  16. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/src/gitglimpse/git.py +83 -5
  17. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/src/gitglimpse/grouping.py +107 -2
  18. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/src/gitglimpse/providers/base.py +75 -3
  19. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/src/gitglimpse/providers/claude.py +4 -0
  20. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/src/gitglimpse/providers/gemini.py +4 -0
  21. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/src/gitglimpse/providers/local.py +11 -0
  22. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/src/gitglimpse/providers/openai.py +4 -0
  23. gitglimpse-0.1.2/PKG-INFO +0 -23
  24. gitglimpse-0.1.2/src/gitglimpse/__init__.py +0 -1
  25. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/.gitignore +0 -0
  26. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/LICENSE +0 -0
  27. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/src/gitglimpse/commands/__init__.py +0 -0
  28. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/src/gitglimpse/formatters/__init__.py +0 -0
  29. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/src/gitglimpse/onboarding.py +0 -0
  30. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/src/gitglimpse/providers/__init__.py +0 -0
  31. {gitglimpse-0.1.2 → gitglimpse-0.1.4}/src/gitglimpse/py.typed +0 -0
@@ -0,0 +1,391 @@
1
+ Metadata-Version: 2.4
2
+ Name: gitglimpse
3
+ Version: 0.1.4
4
+ Summary: Extract structured context from your git history — PR descriptions, standups, weekly reports, and LLM-ready JSON.
5
+ Project-URL: Homepage, https://github.com/dino/gitglimpse
6
+ Project-URL: Repository, https://github.com/dino/gitglimpse
7
+ Project-URL: Bug Tracker, https://github.com/dino/gitglimpse/issues
8
+ Author: Dino
9
+ License: MIT
10
+ License-File: LICENSE
11
+ Keywords: cli,developer-tools,git,standup
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Requires-Python: >=3.11
17
+ Requires-Dist: inquirerpy>=0.3.4
18
+ Requires-Dist: platformdirs>=4.0
19
+ Requires-Dist: rich>=13.0
20
+ Requires-Dist: tomli-w>=1.2
21
+ Requires-Dist: typer[all]>=0.9.0
22
+ Provides-Extra: llm
23
+ Requires-Dist: httpx>=0.27; extra == 'llm'
24
+ Description-Content-Type: text/markdown
25
+
26
+ <div align="center">
27
+
28
+ <img src="docs/gitglimpse.png" alt="gitglimpse" width="120">
29
+
30
+ # gitglimpse
31
+
32
+ **Extract structured context from your git history. Standups, PR descriptions, weekly reports, and LLM-ready JSON — from one command.**
33
+
34
+ 50KB of raw diffs → 1KB of structured signal. Less noise, fewer tokens, better output.
35
+
36
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-3776AB?logo=python&logoColor=white)](https://python.org)
37
+ [![License: MIT](https://img.shields.io/badge/license-MIT-F59E0B)](LICENSE)
38
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen)](CONTRIBUTING.md)
39
+
40
+ <br>
41
+
42
+ </div>
43
+
44
+ ---
45
+
46
+ ## Why gitglimpse?
47
+
48
+ Modern development (especially with AI) creates **more changes across more files than ever**.
49
+
50
+ Git tracks *what changed* — but not in a way that's easy to understand quickly.
51
+
52
+ gitglimpse bridges that gap.
53
+
54
+ It turns raw git history into:
55
+
56
+ - 🧠 **Structured context (JSON)** for LLMs and tools
57
+ - 📝 **Standups & reports** for humans
58
+ - 🔍 **Clean summaries** without opening diffs or PRs
59
+
60
+ > Think of it as a **context extraction layer for your codebase**.
61
+
62
+ ---
63
+
64
+ ## ✨ Demo
65
+
66
+ <!-- TODO: Replace with real GIF -->
67
+ ![Standup Demo](docs/demo-standup.gif)
68
+
69
+ ---
70
+
71
+ ## Quick Start
72
+
73
+ ```bash
74
+ pip install gitglimpse
75
+ cd your-project
76
+ glimpse standup
77
+ ````
78
+
79
+ That’s it. No API keys, no setup required.
80
+
81
+ ---
82
+
83
+ ## Core Idea
84
+
85
+ gitglimpse is not just a “standup generator”.
86
+
87
+ It’s a **Git → Structured Context engine**.
88
+
89
+ ```bash
90
+ glimpse standup --json | your-llm
91
+ ```
92
+
93
+ Instead of dumping raw diffs into an LLM, you give it:
94
+
95
+ * grouped tasks
96
+ * extracted tickets
97
+ * filtered noise
98
+ * optional diffs
99
+ * structured JSON
100
+
101
+ ---
102
+
103
+ ## 🚀 Commands
104
+
105
+ ### `glimpse pr`
106
+
107
+ Generate PR summaries from your branch.
108
+
109
+ ```bash
110
+ glimpse pr
111
+ glimpse pr --json
112
+ glimpse pr --base develop
113
+ ```
114
+
115
+ ---
116
+
117
+ ### `glimpse standup`
118
+
119
+ Generate a daily summary or structured context.
120
+
121
+ ```bash
122
+ glimpse standup
123
+ glimpse standup --json
124
+ glimpse standup --since "3 days ago"
125
+ glimpse standup --format markdown
126
+ ```
127
+
128
+ Example:
129
+
130
+ ```
131
+ Yesterday:
132
+ • Add rate limiting middleware (AUTH-42, ~1.5h)
133
+ • Fix pagination bug (BUG-87, ~1h)
134
+
135
+ Estimated effort: 2.5h
136
+ ```
137
+
138
+ ---
139
+
140
+ ### `glimpse week`
141
+
142
+ Weekly breakdown grouped by day.
143
+
144
+ ```bash
145
+ glimpse week
146
+ glimpse week --json
147
+ ```
148
+
149
+ ---
150
+
151
+ ### `glimpse init`
152
+
153
+ Install Claude Code / Cursor slash commands.
154
+
155
+ ```bash
156
+ glimpse init
157
+ ```
158
+
159
+ Then in your editor:
160
+
161
+ ```
162
+ /standup
163
+ /pr
164
+ /week
165
+ ```
166
+
167
+ ---
168
+
169
+ ### `glimpse config`
170
+
171
+ View or edit configuration.
172
+
173
+ ```bash
174
+ glimpse config show
175
+ glimpse config setup
176
+ ```
177
+
178
+ ---
179
+
180
+ ## 🧩 Output Modes
181
+
182
+ | Mode | Description |
183
+ | ------------- | ------------------------------- |
184
+ | **Template** | Fast, deterministic, no LLM |
185
+ | **Local LLM** | Uses Ollama (privacy-first) |
186
+ | **Cloud API** | OpenAI / Anthropic / Gemini |
187
+ | **JSON** | Structured output for pipelines |
188
+
189
+ ---
190
+
191
+ ## 🔥 What Makes It Different
192
+
193
+ ### 1. Noise Filtering (by default)
194
+
195
+ Removes:
196
+
197
+ * merge commits
198
+ * lock files
199
+ * formatting changes
200
+
201
+ So you only see meaningful work.
202
+
203
+ ---
204
+
205
+ ### 2. Task Grouping
206
+
207
+ Commits → grouped into **real tasks**:
208
+
209
+ ```
210
+ 3 commits → 1 task
211
+ ```
212
+
213
+ ---
214
+
215
+ ### 3. Ticket Extraction
216
+
217
+ Automatically parses:
218
+
219
+ ```
220
+ feature/AUTH-42-login → AUTH-42
221
+ ```
222
+
223
+ ---
224
+
225
+ ### 4. Works Without LLMs
226
+
227
+ No AI required.
228
+
229
+ * Good commits → good summaries
230
+ * Bad commits → fallback heuristics
231
+ * LLM → optional enhancement
232
+
233
+ ---
234
+
235
+ ### 5. Built for LLM Workflows
236
+
237
+ Instead of:
238
+
239
+ ```bash
240
+ git diff | llm
241
+ ```
242
+
243
+ You do:
244
+
245
+ ```bash
246
+ glimpse standup --json | llm
247
+ ```
248
+
249
+ Cleaner input → better output.
250
+
251
+ ---
252
+
253
+ ## 🤖 Claude Code Integration
254
+
255
+ <!-- TODO: Add GIF showing /standup usage -->
256
+
257
+ ```bash
258
+ glimpse init
259
+ git add .claude/commands/
260
+ git commit -m "add glimpse commands"
261
+ ```
262
+
263
+ Now every dev on your team gets:
264
+
265
+ ```
266
+ /standup
267
+ /pr
268
+ /week
269
+ ```
270
+
271
+ 📌 The repo becomes the distribution channel.
272
+
273
+ ---
274
+
275
+ ## GitHub Action
276
+
277
+ Add automatic PR context to your repository:
278
+
279
+ ```yaml
280
+ - uses: dino-zecevic/gitglimpse@main
281
+ with:
282
+ github-token: ${{ secrets.GITHUB_TOKEN }}
283
+ ```
284
+
285
+ Every pull request gets a structured summary with changes, ticket IDs, and effort estimates. The comment updates on each push.
286
+
287
+ See [action/README.md](action/README.md) for full configuration options.
288
+
289
+ ---
290
+
291
+ ## 🧠 Multi-Project Mode
292
+
293
+ Run from a parent folder:
294
+
295
+ ```bash
296
+ cd ~/projects
297
+ glimpse standup
298
+ ```
299
+
300
+ gitglimpse will:
301
+
302
+ * detect repos automatically
303
+ * merge timelines
304
+ * group by project or task
305
+
306
+ <!-- TODO: Add multi-project GIF -->
307
+
308
+ ---
309
+
310
+ ## ⚙️ Configuration
311
+
312
+ ```bash
313
+ glimpse config setup
314
+ ```
315
+
316
+ Stored in:
317
+
318
+ ```
319
+ ~/.config/gitglimpse/config.toml
320
+ ```
321
+
322
+ Supports:
323
+
324
+ * local models (Ollama)
325
+ * cloud APIs
326
+ * context modes (`commits`, `diffs`, `both`)
327
+
328
+ ---
329
+
330
+ ## Philosophy
331
+
332
+ * **Privacy-first** — works fully offline
333
+ * **LLM-optional** — useful without AI
334
+ * **Developer-first** — not a manager tool
335
+ * **Composable** — JSON output for pipelines
336
+ * **Honest** — no fake precision (effort is approximate)
337
+
338
+ ---
339
+
340
+ ## When It’s Actually Useful
341
+
342
+ * Weekly summaries across repos
343
+ * PR descriptions
344
+ * Feeding context into coding agents
345
+ * Remembering what you did yesterday
346
+
347
+ ---
348
+
349
+ ## ⚠️ Limitations
350
+
351
+ * Only sees **code changes** (not meetings, docs, etc.)
352
+ * Effort estimation is **heuristic, not accurate**
353
+ * Depends on git history quality
354
+
355
+ ---
356
+
357
+ ## Installation
358
+
359
+ ```bash
360
+ pip install gitglimpse
361
+ ```
362
+
363
+ Requirements:
364
+
365
+ * Python 3.11+
366
+ * git
367
+ * (optional) Ollama or API key
368
+
369
+ ---
370
+
371
+ ## Contributing
372
+
373
+ PRs welcome — especially for:
374
+
375
+ * better effort estimation
376
+ * smarter task grouping
377
+ * improved noise filtering
378
+
379
+ ---
380
+
381
+ ## License
382
+
383
+ MIT
384
+
385
+ ---
386
+
387
+ <div align="center">
388
+
389
+ Built by Dino
390
+
391
+ </div>