git-worklog 1.6.0__py3-none-any.whl

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 (44) hide show
  1. git_worklog/__init__.py +58 -0
  2. git_worklog/__main__.py +10 -0
  3. git_worklog/analysis/__init__.py +48 -0
  4. git_worklog/analysis/commits.py +118 -0
  5. git_worklog/analysis/coverage.py +149 -0
  6. git_worklog/analysis/history.py +339 -0
  7. git_worklog/analysis/manifest.py +432 -0
  8. git_worklog/analysis/reconcile.py +211 -0
  9. git_worklog/analysis/refs.py +178 -0
  10. git_worklog/analysis/results.py +871 -0
  11. git_worklog/analysis/worktree.py +114 -0
  12. git_worklog/cli/__init__.py +414 -0
  13. git_worklog/cli/analyze.py +340 -0
  14. git_worklog/cli/apply.py +61 -0
  15. git_worklog/cli/coverage.py +62 -0
  16. git_worklog/cli/doctor.py +348 -0
  17. git_worklog/cli/migrate.py +43 -0
  18. git_worklog/cli/models.py +112 -0
  19. git_worklog/cli/preview.py +124 -0
  20. git_worklog/cli/refs.py +55 -0
  21. git_worklog/cli/reindex.py +72 -0
  22. git_worklog/cli/report.py +227 -0
  23. git_worklog/cli/validate.py +252 -0
  24. git_worklog/cli/version.py +47 -0
  25. git_worklog/cli/view.py +218 -0
  26. git_worklog/config.py +79 -0
  27. git_worklog/data/provider_models.json +34 -0
  28. git_worklog/dates.py +237 -0
  29. git_worklog/language.py +295 -0
  30. git_worklog/markers.py +765 -0
  31. git_worklog/mdhtml.py +266 -0
  32. git_worklog/migrate.py +305 -0
  33. git_worklog/paths.py +85 -0
  34. git_worklog/preview.py +776 -0
  35. git_worklog/providers.py +337 -0
  36. git_worklog/viewer.py +1198 -0
  37. git_worklog/viewserver.py +120 -0
  38. git_worklog/writer.py +420 -0
  39. git_worklog-1.6.0.dist-info/METADATA +352 -0
  40. git_worklog-1.6.0.dist-info/RECORD +44 -0
  41. git_worklog-1.6.0.dist-info/WHEEL +5 -0
  42. git_worklog-1.6.0.dist-info/entry_points.txt +2 -0
  43. git_worklog-1.6.0.dist-info/licenses/LICENSE +21 -0
  44. git_worklog-1.6.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,352 @@
1
+ Metadata-Version: 2.4
2
+ Name: git-worklog
3
+ Version: 1.6.0
4
+ Summary: Generate evidence-based engineering worklogs, reports, changelogs, handoff summaries, contribution reports, and technical-debt reviews from actual Git history and source-code changes.
5
+ Author: Daniel Hsieh
6
+ License: MIT License
7
+
8
+ Copyright (c) 2026 Daniel Hsieh
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+
28
+ Project-URL: Homepage, https://github.com/g761007/git-worklog
29
+ Project-URL: Repository, https://github.com/g761007/git-worklog
30
+ Project-URL: Changelog, https://github.com/g761007/git-worklog/blob/main/CHANGELOG.md
31
+ Keywords: git,worklog,changelog,release-notes,handoff
32
+ Classifier: Development Status :: 4 - Beta
33
+ Classifier: Intended Audience :: Developers
34
+ Classifier: License :: OSI Approved :: MIT License
35
+ Classifier: Programming Language :: Python :: 3.9
36
+ Classifier: Programming Language :: Python :: 3.12
37
+ Classifier: Programming Language :: Python :: 3.13
38
+ Classifier: Programming Language :: Python :: 3.14
39
+ Classifier: Topic :: Software Development :: Version Control :: Git
40
+ Requires-Python: >=3.9
41
+ Description-Content-Type: text/markdown
42
+ License-File: LICENSE
43
+ Dynamic: license-file
44
+
45
+ <div align="center">
46
+
47
+ # Git Worklog
48
+
49
+ **Your Git history already knows what the team did. Git Worklog writes it down.**
50
+
51
+ An agent skill that reads the real diffs — not the commit messages — and keeps a
52
+ per-day project worklog inside your repository. Then it answers questions from
53
+ it: weekly summaries, release changelogs, handoffs, outstanding tech debt.
54
+
55
+ [![CI](https://github.com/g761007/git-worklog/actions/workflows/ci.yml/badge.svg)](https://github.com/g761007/git-worklog/actions/workflows/ci.yml)
56
+ [![Release](https://img.shields.io/github/v/release/g761007/git-worklog)](https://github.com/g761007/git-worklog/releases/latest)
57
+ [![License: MIT](https://img.shields.io/github/license/g761007/git-worklog)](LICENSE)
58
+ ![Python 3.9+](https://img.shields.io/badge/python-3.9%2B-blue)
59
+ ![Dependencies: none](https://img.shields.io/badge/dependencies-none-brightgreen)
60
+
61
+ **English** · [繁體中文](README.zh-TW.md)
62
+
63
+ **[Live demo](https://g761007.github.io/git-worklog/)** — this repository's own worklog, rendered by `git-worklog view`
64
+
65
+ ![The worklog viewer: the overview, one day's work items, a commit opened from its hash, and search](docs/images/view-demo.gif)
66
+
67
+ </div>
68
+
69
+ ## Why
70
+
71
+ - **Commit messages are a poor record.** `fix`, `wip` and `address review` say
72
+ nothing about what the code does now. The diff does.
73
+ - **Summarising `git log` only rephrases it.** Hand an LLM a list of commit
74
+ messages and it returns the same messages in nicer prose — and fills the gaps
75
+ with guesses.
76
+ - **Reports get written from memory.** The weekly update, the release notes and
77
+ the handoff document are all reconstructed by hand, usually late, usually
78
+ from whatever someone remembers.
79
+
80
+ Git Worklog reads each day's patches and the code around them, writes down what
81
+ actually changed and why it matters, and checks its own work before showing it
82
+ to you. Nothing reaches your repository until you have read the preview and said
83
+ yes.
84
+
85
+ ## Quick start
86
+
87
+ **1. Install.** Paste this line into Claude Code, Codex, Gemini or any agent that
88
+ can run shell commands:
89
+
90
+ ```text
91
+ Install the git-worklog agent skill for me: download https://github.com/g761007/git-worklog/releases/latest/download/skill.zip, unzip it, and move the git-worklog/ folder inside into your user-level skills directory (for Claude Code, ~/.claude/skills/); if a git-worklog skill is already there, ask me before replacing it.
92
+ ```
93
+
94
+ The link always resolves to the newest release, so the same line upgrades an
95
+ existing install. Prefer to do it by hand? Unzip
96
+ [`skill.zip`](https://github.com/g761007/git-worklog/releases/latest/download/skill.zip)
97
+ and copy the `git-worklog/` folder into `~/.claude/skills/`. Nothing is installed
98
+ and nothing is compiled — the engine sits in that folder and runs on the Python
99
+ standard library alone.
100
+
101
+ On Claude Code you can install it as a plugin instead:
102
+
103
+ ```text
104
+ /plugin marketplace add g761007/git-worklog
105
+ /plugin install git-worklog@git-worklog
106
+ ```
107
+
108
+ A plugin's skills are namespaced, so the command is then
109
+ `/git-worklog:git-worklog` rather than `/git-worklog`.
110
+
111
+ **2. Run it** inside any Git repository:
112
+
113
+ ```text
114
+ /git-worklog
115
+ ```
116
+
117
+ **3. Pick from the menu**, or just say what you want:
118
+
119
+ ```text
120
+ /git-worklog days=7
121
+ /git-worklog from=2026-07-01 to=2026-07-10
122
+ /git-worklog last week, including what I have not committed yet
123
+ ```
124
+
125
+ **4. Read the preview and confirm.** Every request ends in a dry-run showing
126
+ exactly what would be written. Only after you confirm do the files land:
127
+
128
+ ```
129
+ .git-worklog/
130
+ ├── index.md # every day, newest first, one-line summary each
131
+ └── days/
132
+ ├── 2026-07-15.md # exactly one day per file
133
+ └── ...
134
+ ```
135
+
136
+ ![A real session: /git-worklog, the menu, option 1, the dry-run preview, then apply](docs/images/skill-demo.gif)
137
+
138
+ *A real Claude Code session on a three-commit sample repository whose commit
139
+ messages are `fix`, `wip` and `address review`. Waiting time is shortened.*
140
+
141
+ You type `/git-worklog` yourself — the skill never starts on its own because of
142
+ something you said in passing.
143
+
144
+ ## What a day looks like
145
+
146
+ One work item from this repository's
147
+ [own worklog](.git-worklog/days/2026-08-07.md) (translated from zh-TW and
148
+ trimmed; the [index](.git-worklog/index.md) lists every day):
149
+
150
+ > ### Git golden rule clarified: what is forbidden is acting on its own initiative
151
+ >
152
+ > - **What changed:** `SKILL.md` §0 used to say "never run git
153
+ > add/commit/push/…", which read literally blocked even a user asking, in
154
+ > their own words, to commit the result — but that is the user's decision
155
+ > about their own repo, not something this skill is entitled to veto.
156
+ > - **Code behaviour:** The wording becomes "never … on your own initiative".
157
+ > What it really has to stop is the "the worklog is written, so I should
158
+ > commit it while I am here" kind of self-directed reasoning.
159
+ > - **Impact:** An agent no longer has to choose between doing what the user
160
+ > asked and obeying the skill. A clarification, not a relaxation: the skill
161
+ > itself still never touches git state unprompted.
162
+ > - **Files:** `git-worklog/SKILL.md`, `README.md`, `CHANGELOG.md`
163
+ > - **Commits:** 4265dde (Daniel Hsieh) docs(skill): the git rule is "never on
164
+ > your own initiative", not "never"
165
+
166
+ The commit message was one line. The entry says what the rule used to block,
167
+ what it blocks now, and why — because it was written from the diff.
168
+
169
+ ## What it does
170
+
171
+ ### Generate — a worklog built from diffs
172
+
173
+ - **One file per day**, covering the whole project and every author, with a
174
+ summary, the work items, the files and commits behind each, and the risks and
175
+ follow-ups worth remembering.
176
+ - **Today, a date, the last 7 or 30 days, or a custom range** — up to 30 days
177
+ per run, optionally including uncommitted changes.
178
+ - **Written in your language.** The worklog follows the language you ask in, not
179
+ the language of the repository: English commits and an English codebase still
180
+ produce a zh-TW or ja worklog if that is how you asked.
181
+ - **Your notes survive.** Each day file and the index have a `MANUAL` region
182
+ that is preserved verbatim on every re-run.
183
+
184
+ ### Report — ask instead of digging
185
+
186
+ Once days are logged, ask questions. Reports are read-only — the answer comes
187
+ back in the conversation and nothing is written.
188
+
189
+ ```text
190
+ /git-worklog summarise last week's work
191
+ /git-worklog changelog for v1.0.1
192
+ /git-worklog I am handing this project over — key points and open items from the last month
193
+ /git-worklog what did Daniel work on last month
194
+ /git-worklog how did member search evolve
195
+ /git-worklog what tech debt and follow-ups are outstanding
196
+ ```
197
+
198
+ - **Release scopes are resolved by commit set, not by date** — `v1.0.1` means
199
+ `git log v1.0.0..v1.0.1`, so cherry-picks and commits that straddle a release
200
+ land in the right changelog.
201
+ - **Gaps are reported, not papered over.** If a date in the range has commits
202
+ but no worklog, the skill says so and offers to fill it in first. It never
203
+ quietly falls back to summarising commit messages.
204
+ - **Report language is independent of the worklog's** — zh-TW day files can
205
+ produce an English release note. Reports cover up to 90 days.
206
+
207
+ ### View — the worklog as one page
208
+
209
+ `git-worklog view` renders the worklog into a single self-contained HTML page:
210
+ an overview with an activity calendar, every day with a table of contents and
211
+ collapsible work-item cards, search across all of it, and light and dark themes.
212
+ Click a commit hash and a drawer opens with its message, files and — under
213
+ `--serve` — each file's diff.
214
+
215
+ ![One day: its summary, a table of contents, and every work item as a card](docs/images/view-day.png)
216
+
217
+ ![A commit opened from its hash: message, files changed, and one file's diff](docs/images/view-commit.png)
218
+
219
+ The viewer is part of the optional CLI — see [CLI reference](docs/cli.md).
220
+
221
+ ## How it works
222
+
223
+ ```
224
+ 1. prepare CLI decides what each day is answerable for
225
+ 2. analyse agent one subagent per day reads the patches and the code
226
+ 3. collect CLI checks every answer before believing it
227
+ 4. preview CLI freezes the exact final text of every file
228
+ 5. confirm you read it, then say yes
229
+ 6. apply CLI writes those bytes — or refuses
230
+ ```
231
+
232
+ The deterministic work — date math, Git collection, Markdown surgery, preview
233
+ integrity — is plain Python. The judgement work — reading code and deciding what
234
+ changed — is done by the agent you are already running, which is why **no model
235
+ API key is needed**.
236
+
237
+ The split is what makes the result checkable. `collect` verifies that every
238
+ prepared day came back, that every evidence citation resolves against the tree
239
+ of the commit it names, and that no source file the day changed went
240
+ undescribed. A day whose analysis never arrived is reported as `missing`, never
241
+ as a day where nothing happened.
242
+
243
+ ## Why you can trust it
244
+
245
+ - **Dry-run first, always.** Nothing is written without explicit confirmation.
246
+ - **What you approved is what gets written.** `apply` accepts a preview id and
247
+ nothing else, so no re-render can reach the disk.
248
+ - **It refuses rather than guesses.** If HEAD, a day file, the index or the
249
+ analysis moved after the preview, the apply is rejected and tells you which.
250
+ - **Writes are transactional.** A failed run never leaves some days updated and
251
+ others not.
252
+ - **It never touches Git on its own.** No `git add`, `commit` or `push` unless
253
+ you separately ask your agent for it.
254
+
255
+ The full list is in the [safety model](docs/safety-model.md).
256
+
257
+ ## Requirements
258
+
259
+ - **Python 3.9+** — standard library only, no third-party packages.
260
+ - **Git 2.37+**.
261
+ - An agent host that loads skills — see below.
262
+
263
+ ### Agent hosts
264
+
265
+ | Host | Skills folder | How you start it | Status |
266
+ |---|---|---|---|
267
+ | Claude Code | `~/.claude/skills/` | `/git-worklog` | Developed and tested here |
268
+ | Codex | `~/.agents/skills/` | `$git-worklog`, or pick it from `/skills` | Experimental |
269
+ | Gemini CLI | `~/.gemini/skills/` | Ask for a worklog; the model activates the skill | Experimental |
270
+
271
+ The skill is plain `SKILL.md` plus Python, so it loads anywhere the Agent Skills
272
+ format does. Only Claude Code is exercised end to end on every release; on the
273
+ other hosts the folder and the invocation above come from each host's
274
+ documentation, and a full run has not been verified. Reports of what works and
275
+ what does not are welcome in
276
+ [Discussions](https://github.com/g761007/git-worklog/discussions).
277
+
278
+ ## The CLI (optional)
279
+
280
+ The same engine ships a `git-worklog` command for terminals and CI. The skill
281
+ does not need it; install it when you want the viewer, validation or the
282
+ pipeline on its own:
283
+
284
+ ```bash
285
+ uv tool install "git+https://github.com/g761007/git-worklog@v1.6.0"
286
+
287
+ git-worklog view # read the worklog as one web page
288
+ git-worklog doctor # is this environment able to run the tool?
289
+ git-worklog validate # is the worklog on disk well-formed?
290
+ ```
291
+
292
+ Every command, the install options and the `analyze` → `preview` → `apply`
293
+ pipeline are in the [CLI reference](docs/cli.md).
294
+
295
+ ## FAQ
296
+
297
+ **Do I need an API key?**
298
+ No. The analysis runs on the agent host you invoke the skill from.
299
+
300
+ **Does my code go anywhere new?**
301
+ The engine makes no network calls. The only thing that reads your code is the
302
+ agent you are already using, under whatever terms you already use it.
303
+
304
+ **What does it cost?**
305
+ Each day is analysed by a subagent on a cost-first model by default (Claude
306
+ Haiku 4.5 / GPT-6 Luna / Gemini 3.8 Flash). The table is a file of your own and
307
+ you can change it — see [Configuration](docs/configuration.md).
308
+
309
+ **Will it commit or push for me?**
310
+ No. It writes the day files and stops.
311
+
312
+ **Should `.git-worklog/` be committed?**
313
+ That is up to you. It is plain Markdown designed to live in the repository, so
314
+ the team shares one worklog and reports work for everyone who clones it.
315
+
316
+ **Can I edit a day file by hand?**
317
+ Write inside its `MANUAL` region and it is kept on every re-run. The generated
318
+ region is overwritten when that day is re-analysed.
319
+
320
+ **I already keep a single `docs/PROJECT_WORKLOG.md`.**
321
+ `/git-worklog migrate` splits it into day files once, previews first and never
322
+ deletes the original.
323
+
324
+ ## Documentation
325
+
326
+ | | |
327
+ |---|---|
328
+ | [Usage](docs/usage.md) | The menu, invocation arguments, reporting, legacy migration |
329
+ | [CLI reference](docs/cli.md) | Installing the CLI, every command, the viewer |
330
+ | [Configuration](docs/configuration.md) | Language, timezone, subagent models, the state directory |
331
+ | [Safety model](docs/safety-model.md) | Every guarantee about what is written, and when it is refused |
332
+ | [Development](docs/development.md) | Repository layout, tests, building the release archive |
333
+ | [Changelog](CHANGELOG.md) | What changed in each release |
334
+
335
+ ## Contributing
336
+
337
+ Issues and pull requests are welcome — [CONTRIBUTING.md](CONTRIBUTING.md) has
338
+ the ground rules. Questions and ideas go to
339
+ [Discussions](https://github.com/g761007/git-worklog/discussions); security
340
+ reports go through [SECURITY.md](SECURITY.md).
341
+
342
+ The test suite is standard-library `unittest` and needs nothing installed:
343
+
344
+ ```bash
345
+ python3 -m unittest discover -s tests -v
346
+ ```
347
+
348
+ See [Development](docs/development.md) for the layout and the release build.
349
+
350
+ ## License
351
+
352
+ Released under the [MIT License](LICENSE).
@@ -0,0 +1,44 @@
1
+ git_worklog/__init__.py,sha256=J-6XiIem2n77w838kIc5Cgm9u_PZXtSrztTbT95IzHs,3104
2
+ git_worklog/__main__.py,sha256=-Z12QNt1OB9oP10xPc98M_fnBwwkzVqebr72mAofmTk,292
3
+ git_worklog/config.py,sha256=qdoqZ0dzwu9lEe_WZ5NZR5rz-mHI7zo6Km7K3qUpQhU,2933
4
+ git_worklog/dates.py,sha256=7Zi6dyVh8ptb75DiPNauQcXq9XwYko498IE3bQZAr2A,9702
5
+ git_worklog/language.py,sha256=WNcV9dfgJuRKq_1X9IMQYcRd4roamducR3FG_2XwU0k,11288
6
+ git_worklog/markers.py,sha256=2m_y86CKusujPTTom2-a-6T1ugXA8tWfnX8vtHiMWTk,29849
7
+ git_worklog/mdhtml.py,sha256=SdKdjCRFTMtfxIxKv2GLmbT8KZFjCPh8xgYbH6_dlKo,10837
8
+ git_worklog/migrate.py,sha256=83GwtEjN8OjJeKsg-geFC-_TZePtgjpNvFaopA_gMdg,13443
9
+ git_worklog/paths.py,sha256=JTIrgcn-YjTJzjuUEf1sGjXn-pbApzRRwzXYgsflMx0,2994
10
+ git_worklog/preview.py,sha256=udUkly1UuyA2i23yeQqUWseVgMSY-DS9VtKpSCQweFw,32897
11
+ git_worklog/providers.py,sha256=gnDSjNm0vUzQKxLBzOS_Ly-5OuD4L0XUKrLK0xigzWI,13995
12
+ git_worklog/viewer.py,sha256=b0ThHctksyb_zyTiQ7xOMEwiu51K_BoGZif-u9WNBBE,53744
13
+ git_worklog/viewserver.py,sha256=9BUhpTuSwpGf67f1MkkOtAsW1jGULgzgSvdO6u_FfO8,4978
14
+ git_worklog/writer.py,sha256=LAjInl9jpvEf4mPRYTEaUOWC9dvSPlphxcjttPM4c9M,17692
15
+ git_worklog/analysis/__init__.py,sha256=NfFqhK0JyucE38ITqpCIuR_IwTHSHL1dkfcXnSZlwsU,2123
16
+ git_worklog/analysis/commits.py,sha256=OCUSYAAqR17too9169GbnaWMPEsvBimGiL0easjk-yA,4932
17
+ git_worklog/analysis/coverage.py,sha256=oqvwFRJ6DOhu5NJINSolplpreCjHz2ROgkBle3gqN9g,6816
18
+ git_worklog/analysis/history.py,sha256=WBEmpUxSxgwKUpI7OXQ_3Qvp4OD-Pju1ulUvo_71rks,13384
19
+ git_worklog/analysis/manifest.py,sha256=zD21xEeYyTfEoG1dEe5c500ms_PxcAz6kqhVXGAvh5w,17896
20
+ git_worklog/analysis/reconcile.py,sha256=mWELYtYP35HzEfY_YHOFQs9weDTHwzeD7ryIdz-RvVc,9255
21
+ git_worklog/analysis/refs.py,sha256=XK0TKR3j3odT9TQrslvF4OeEyYJeMy6Mq4TnlznYKJc,7808
22
+ git_worklog/analysis/results.py,sha256=g-Aeig8XQ9hFZFFXBKpgicWE6QRgXy6wBrecjxG_KwI,38867
23
+ git_worklog/analysis/worktree.py,sha256=HV13N7BN5PvEcV6r1LlRiVbh3kEfiK7OYqXEVAHTJb4,4592
24
+ git_worklog/cli/__init__.py,sha256=ATx98qoQ7oVw9EJVmsoNSG7-pXQY9yCppsK-Ts6QIME,24434
25
+ git_worklog/cli/analyze.py,sha256=AG0xSTSgjDA1Ul4NTwFs6A_d6ICj6K6efDBztqrxWNE,15620
26
+ git_worklog/cli/apply.py,sha256=GqeK4vxO_Zr5ZkH-EpAX6ylI6Oe_H3f3Sjp4qkxPHic,2536
27
+ git_worklog/cli/coverage.py,sha256=mc1DhNib1lQ20ybtyE9km1bMgqDC3G-mbBdRDB-w0uY,2911
28
+ git_worklog/cli/doctor.py,sha256=Fe6bVpbIlpWZX-zZTClcJpCQRuJhYX4nxRD38QSJzeE,15307
29
+ git_worklog/cli/migrate.py,sha256=XB89NPaUBU1jC7DTK8lX9NJwtDSro9Wk55o6hx33ffA,1708
30
+ git_worklog/cli/models.py,sha256=zgzpzTyN3ogE7eUdEpAE4mDMI7wUizLICxB8UWyFErQ,5331
31
+ git_worklog/cli/preview.py,sha256=ZCC3nDCMrjLkGjmvEXwROd1AaMsL8hIz2nzS6aS5Kp0,4813
32
+ git_worklog/cli/refs.py,sha256=GIE91ptaJruuIyH1qNeX8cousNHynBifj1UKjxagq1w,2243
33
+ git_worklog/cli/reindex.py,sha256=XmMRt8zxruxlj-PpgnuH2mmT1XNdqtG4fqf7jUK77A8,3092
34
+ git_worklog/cli/report.py,sha256=2-Oh7ODz1hzyrPk7oSQvekZmFfPv9osr2oIE4KiLUGM,10854
35
+ git_worklog/cli/validate.py,sha256=9s5rcD-clPs9LSJLyxF-_j8Fui4cVkdSAMrMOvFa7mU,10771
36
+ git_worklog/cli/version.py,sha256=gByN51yJRvc_6z7yZfwtC8UAimspfxjxh5267GPM-2M,1900
37
+ git_worklog/cli/view.py,sha256=wI7VNttDkJ-9Um4sj4373S4_RDxOjeZWHXBhzZbR4b4,8803
38
+ git_worklog/data/provider_models.json,sha256=RPmFBILi2jjLBq53RIMQgSVA0XG-qj1igu0ZXjCZnpM,1537
39
+ git_worklog-1.6.0.dist-info/licenses/LICENSE,sha256=Oj205bl3xPWohsudVWoalbqx404gSnPGR8jefgERmxc,1069
40
+ git_worklog-1.6.0.dist-info/METADATA,sha256=C9rz_rZoju7qg9PweaRS0X2UxTWoX9YhpqF9eMZMiZw,15535
41
+ git_worklog-1.6.0.dist-info/WHEEL,sha256=mOdXR9C3wMVov7cSY8PY-XCzo3SmmWCHvGQr5csJoao,91
42
+ git_worklog-1.6.0.dist-info/entry_points.txt,sha256=vup6_MdIxxserm8um7FVLBvnq2YpEldmROTZ1J_dOrY,53
43
+ git_worklog-1.6.0.dist-info/top_level.txt,sha256=aQpLMSKsCw8XXXo3TBS6_zdBgXHD0vvCDUN1p8T4ykY,12
44
+ git_worklog-1.6.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (84.2.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ git-worklog = git_worklog.cli:main
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Daniel Hsieh
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ git_worklog