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.
- git_worklog/__init__.py +58 -0
- git_worklog/__main__.py +10 -0
- git_worklog/analysis/__init__.py +48 -0
- git_worklog/analysis/commits.py +118 -0
- git_worklog/analysis/coverage.py +149 -0
- git_worklog/analysis/history.py +339 -0
- git_worklog/analysis/manifest.py +432 -0
- git_worklog/analysis/reconcile.py +211 -0
- git_worklog/analysis/refs.py +178 -0
- git_worklog/analysis/results.py +871 -0
- git_worklog/analysis/worktree.py +114 -0
- git_worklog/cli/__init__.py +414 -0
- git_worklog/cli/analyze.py +340 -0
- git_worklog/cli/apply.py +61 -0
- git_worklog/cli/coverage.py +62 -0
- git_worklog/cli/doctor.py +348 -0
- git_worklog/cli/migrate.py +43 -0
- git_worklog/cli/models.py +112 -0
- git_worklog/cli/preview.py +124 -0
- git_worklog/cli/refs.py +55 -0
- git_worklog/cli/reindex.py +72 -0
- git_worklog/cli/report.py +227 -0
- git_worklog/cli/validate.py +252 -0
- git_worklog/cli/version.py +47 -0
- git_worklog/cli/view.py +218 -0
- git_worklog/config.py +79 -0
- git_worklog/data/provider_models.json +34 -0
- git_worklog/dates.py +237 -0
- git_worklog/language.py +295 -0
- git_worklog/markers.py +765 -0
- git_worklog/mdhtml.py +266 -0
- git_worklog/migrate.py +305 -0
- git_worklog/paths.py +85 -0
- git_worklog/preview.py +776 -0
- git_worklog/providers.py +337 -0
- git_worklog/viewer.py +1198 -0
- git_worklog/viewserver.py +120 -0
- git_worklog/writer.py +420 -0
- git_worklog-1.6.0.dist-info/METADATA +352 -0
- git_worklog-1.6.0.dist-info/RECORD +44 -0
- git_worklog-1.6.0.dist-info/WHEEL +5 -0
- git_worklog-1.6.0.dist-info/entry_points.txt +2 -0
- git_worklog-1.6.0.dist-info/licenses/LICENSE +21 -0
- 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
|
+
[](https://github.com/g761007/git-worklog/actions/workflows/ci.yml)
|
|
56
|
+
[](https://github.com/g761007/git-worklog/releases/latest)
|
|
57
|
+
[](LICENSE)
|
|
58
|
+

|
|
59
|
+

|
|
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
|
+

|
|
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
|
+

|
|
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
|
+

|
|
216
|
+
|
|
217
|
+

|
|
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,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
|