lgit-cli 3.7.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.
- lgit/__init__.py +75 -0
- lgit/__main__.py +8 -0
- lgit/analysis.py +326 -0
- lgit/api.py +1077 -0
- lgit/cache.py +338 -0
- lgit/changelog.py +523 -0
- lgit/cli.py +1104 -0
- lgit/compose.py +2110 -0
- lgit/config.py +437 -0
- lgit/diffing.py +384 -0
- lgit/errors.py +137 -0
- lgit/git.py +852 -0
- lgit/map_reduce.py +508 -0
- lgit/markdown_output.py +709 -0
- lgit/models.py +924 -0
- lgit/normalization.py +411 -0
- lgit/patch.py +784 -0
- lgit/profile.py +426 -0
- lgit/py.typed +0 -0
- lgit/repo.py +287 -0
- lgit/resources/__init__.py +1 -0
- lgit/resources/commit_types.json +242 -0
- lgit/resources/prompts/analysis/default.md +237 -0
- lgit/resources/prompts/analysis/markdown.md +112 -0
- lgit/resources/prompts/changelog/default.md +89 -0
- lgit/resources/prompts/changelog/markdown.md +60 -0
- lgit/resources/prompts/compose-bind/default.md +40 -0
- lgit/resources/prompts/compose-bind/markdown.md +41 -0
- lgit/resources/prompts/compose-intent/default.md +63 -0
- lgit/resources/prompts/compose-intent/markdown.md +59 -0
- lgit/resources/prompts/fast/default.md +46 -0
- lgit/resources/prompts/fast/markdown.md +51 -0
- lgit/resources/prompts/map/default.md +67 -0
- lgit/resources/prompts/map/markdown.md +63 -0
- lgit/resources/prompts/reduce/default.md +81 -0
- lgit/resources/prompts/reduce/markdown.md +68 -0
- lgit/resources/prompts/summary/default.md +74 -0
- lgit/resources/prompts/summary/markdown.md +77 -0
- lgit/resources/validation_data.json +1 -0
- lgit/rewrite.py +392 -0
- lgit/style.py +295 -0
- lgit/templates.py +385 -0
- lgit/testing/__init__.py +62 -0
- lgit/testing/compare.py +57 -0
- lgit/testing/fixture.py +386 -0
- lgit/testing/report.py +201 -0
- lgit/testing/runner.py +256 -0
- lgit/tokens.py +90 -0
- lgit/validation.py +545 -0
- lgit_cli-3.7.0.dist-info/METADATA +288 -0
- lgit_cli-3.7.0.dist-info/RECORD +54 -0
- lgit_cli-3.7.0.dist-info/WHEEL +4 -0
- lgit_cli-3.7.0.dist-info/entry_points.txt +2 -0
- lgit_cli-3.7.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: lgit-cli
|
|
3
|
+
Version: 3.7.0
|
|
4
|
+
Summary: AI-powered git commit message generator using Claude and other LLMs via OpenAI-compatible APIs
|
|
5
|
+
Project-URL: Homepage, https://github.com/can1357/llm-git
|
|
6
|
+
Project-URL: Repository, https://github.com/can1357/llm-git
|
|
7
|
+
Project-URL: Documentation, https://github.com/can1357/llm-git
|
|
8
|
+
Project-URL: Issues, https://github.com/can1357/llm-git/issues
|
|
9
|
+
Author-email: can1357 <me@can.ac>
|
|
10
|
+
License-Expression: MIT
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Keywords: ai,claude,commit,git,llm
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Environment :: Console
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
17
|
+
Classifier: Topic :: Software Development :: Version Control :: Git
|
|
18
|
+
Classifier: Topic :: Utilities
|
|
19
|
+
Requires-Python: >=3.14
|
|
20
|
+
Requires-Dist: blake3
|
|
21
|
+
Requires-Dist: httpx
|
|
22
|
+
Requires-Dist: jinja2
|
|
23
|
+
Description-Content-Type: text/markdown
|
|
24
|
+
|
|
25
|
+
<p align="center">
|
|
26
|
+
<img src="https://raw.githubusercontent.com/can1357/llm-git/main/assets/banner.png" alt="lgit">
|
|
27
|
+
</p>
|
|
28
|
+
|
|
29
|
+
<p align="center">
|
|
30
|
+
<strong>LLM-powered git commit message generator</strong>
|
|
31
|
+
</p>
|
|
32
|
+
|
|
33
|
+
<p align="center">
|
|
34
|
+
<a href="https://github.com/can1357/llm-git/actions"><img src="https://img.shields.io/github/actions/workflow/status/can1357/llm-git/ci.yml?style=flat&colorA=222222&colorB=3FB950" alt="CI"></a>
|
|
35
|
+
<a href="https://pypi.org/project/llm-git/"><img src="https://img.shields.io/pypi/v/llm-git?style=flat&colorA=222222&colorB=3FB950" alt="PyPI"></a>
|
|
36
|
+
<a href="https://github.com/can1357/llm-git/blob/main/LICENSE"><img src="https://img.shields.io/github/license/can1357/llm-git?style=flat&colorA=222222&colorB=58A6FF" alt="License"></a>
|
|
37
|
+
<a href="https://www.python.org"><img src="https://img.shields.io/badge/Python-3.14%2B-3FB950?style=flat&colorA=222222&logo=python&logoColor=white" alt="Python"></a>
|
|
38
|
+
</p>
|
|
39
|
+
|
|
40
|
+
<p align="center">
|
|
41
|
+
Generates <a href="https://www.conventionalcommits.org">conventional commits</a> from git diffs using Claude AI or any OpenAI-compatible API.<br>
|
|
42
|
+
Automatic changelog maintenance, multi-commit composition, and full history rewriting.
|
|
43
|
+
</p>
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Features
|
|
48
|
+
|
|
49
|
+
- **Conventional commits** — Generates properly formatted commit messages with type, scope, and past-tense summary (≤72 chars)
|
|
50
|
+
- **Automatic changelogs** — Maintains `CHANGELOG.md` following [Keep a Changelog](https://keepachangelog.com) format with monorepo support
|
|
51
|
+
- **Compose mode** — Splits large staged changes into multiple logical atomic commits
|
|
52
|
+
- **Rewrite mode** — Converts entire git history to conventional commits (with automatic backup)
|
|
53
|
+
- **Map-reduce analysis** — Parallel per-file analysis for large commits without truncation
|
|
54
|
+
- **Any LLM provider** — Works with Anthropic, OpenAI, OpenRouter, or any OpenAI-compatible API
|
|
55
|
+
|
|
56
|
+
## Quick Start
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Install
|
|
60
|
+
uv tool install llm-git
|
|
61
|
+
|
|
62
|
+
# Configure (pick one)
|
|
63
|
+
export LLM_GIT_API_KEY=your_anthropic_key # Direct Anthropic
|
|
64
|
+
export LLM_GIT_API_URL=https://openrouter.ai/api/v1 # OpenRouter
|
|
65
|
+
litellm --port 4000 # Local proxy (default)
|
|
66
|
+
|
|
67
|
+
# Use
|
|
68
|
+
git add .
|
|
69
|
+
lgit # Analyze, update changelog, commit
|
|
70
|
+
lgit --dry-run # Preview without committing
|
|
71
|
+
lgit --compose # Split into multiple commits
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Usage
|
|
75
|
+
|
|
76
|
+
### Basic Commands
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
lgit # Analyze staged changes and commit
|
|
80
|
+
lgit --dry-run # Preview message without committing
|
|
81
|
+
lgit --copy # Copy message to clipboard
|
|
82
|
+
lgit -p # Commit and push
|
|
83
|
+
lgit -S # GPG sign the commit
|
|
84
|
+
lgit -s # Add Signed-off-by trailer
|
|
85
|
+
lgit --amend # Amend the previous commit
|
|
86
|
+
lgit > msg.txt # Save raw message to file (auto-detected pipe mode)
|
|
87
|
+
lgit --dry-run | git commit -F - # Generate message and commit with custom git flags
|
|
88
|
+
|
|
89
|
+
# Modes
|
|
90
|
+
lgit --mode=unstaged # Preview unstaged changes (no commit)
|
|
91
|
+
lgit --mode=commit --target=HEAD~1 # Analyze a specific commit
|
|
92
|
+
|
|
93
|
+
# Models
|
|
94
|
+
lgit -m opus # Use Opus for analysis (more capable)
|
|
95
|
+
lgit -m sonnet # Use Sonnet (default)
|
|
96
|
+
|
|
97
|
+
# Context
|
|
98
|
+
lgit Fixed regression from PR #123 # Add context via trailing text
|
|
99
|
+
lgit --fixes 123 456 # Add "Fixes #123, #456" to body
|
|
100
|
+
lgit --breaking # Mark as breaking change
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Compose Mode
|
|
104
|
+
|
|
105
|
+
Split staged changes into multiple logical commits:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
lgit --compose # Propose and create atomic commits
|
|
109
|
+
lgit --compose --compose-preview # Preview splits without committing
|
|
110
|
+
lgit --compose --compose-max-commits 5
|
|
111
|
+
lgit --compose --compose-test-after-each
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Rewrite Mode
|
|
115
|
+
|
|
116
|
+
Convert repository history to conventional commits:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
lgit --rewrite # Rewrite full history (creates backup)
|
|
120
|
+
lgit --rewrite --rewrite-preview 10 # Preview first 10 commits
|
|
121
|
+
lgit --rewrite --rewrite-dry-run # Show all changes without applying
|
|
122
|
+
lgit --rewrite --rewrite-start main~50 # Rewrite last 50 commits only
|
|
123
|
+
lgit --rewrite --rewrite-parallel 20 # 20 concurrent API calls
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Profiling Trace
|
|
127
|
+
|
|
128
|
+
Write detailed tracing spans and HTTP timing events to a JSONL file:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
lgit --trace-output /tmp/lgit-profile.jsonl --dry-run
|
|
132
|
+
LLM_GIT_TRACE_FILE=/tmp/lgit-profile.jsonl lgit --compose
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Each span close event includes busy/idle timing from `tracing-subscriber`; API events also record TTFT, total response time, status, and response size.
|
|
136
|
+
|
|
137
|
+
## Automatic Changelog
|
|
138
|
+
|
|
139
|
+
lgit automatically maintains `CHANGELOG.md` files when committing:
|
|
140
|
+
|
|
141
|
+
- **Auto-detection** — Finds all `CHANGELOG.md` files in your repository
|
|
142
|
+
- **Monorepo support** — Routes changes to the correct changelog based on file paths
|
|
143
|
+
- **Deduplication** — Skips entries semantically similar to existing ones
|
|
144
|
+
- **Category mapping** — Maps commit types to sections (Added, Fixed, Changed, etc.)
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
project/
|
|
148
|
+
├── CHANGELOG.md ← covers: src/, docs/
|
|
149
|
+
├── packages/
|
|
150
|
+
│ ├── core/
|
|
151
|
+
│ │ └── CHANGELOG.md ← covers: packages/core/**
|
|
152
|
+
│ └── cli/
|
|
153
|
+
│ └── CHANGELOG.md ← covers: packages/cli/**
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Disable with `--no-changelog` or `changelog_enabled = false` in config.
|
|
157
|
+
|
|
158
|
+
## Configuration
|
|
159
|
+
|
|
160
|
+
Create `~/.config/llm-git/config.toml`:
|
|
161
|
+
|
|
162
|
+
```toml
|
|
163
|
+
# API
|
|
164
|
+
api_base_url = "http://localhost:4000" # Default: LiteLLM proxy
|
|
165
|
+
api_key = "sk-..." # Or use LLM_GIT_API_KEY env var
|
|
166
|
+
|
|
167
|
+
# Model
|
|
168
|
+
analysis_model = "claude-sonnet-4.5" # Diff analysis / classification
|
|
169
|
+
summary_model = "claude-haiku-4-5" # Summary line generation
|
|
170
|
+
|
|
171
|
+
# Commit message limits
|
|
172
|
+
summary_guideline = 72 # Target length
|
|
173
|
+
summary_soft_limit = 96 # Triggers retry
|
|
174
|
+
summary_hard_limit = 128 # Absolute max
|
|
175
|
+
|
|
176
|
+
# Features
|
|
177
|
+
changelog_enabled = true
|
|
178
|
+
auto_fast_threshold_lines = 200 # Auto-use fast mode for small diffs; 0 disables
|
|
179
|
+
map_reduce_enabled = true # Parallel analysis for large commits
|
|
180
|
+
disable_git_background_features = true # Disables fsmonitor/untrackedCache for lgit subprocesses
|
|
181
|
+
|
|
182
|
+
# Commit signing
|
|
183
|
+
gpg_sign = false # GPG sign commits by default (-S)
|
|
184
|
+
signoff = false # Add Signed-off-by trailer by default (-s)
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Provider Examples
|
|
188
|
+
|
|
189
|
+
**Anthropic Direct:**
|
|
190
|
+
```toml
|
|
191
|
+
api_base_url = "https://api.anthropic.com/v1"
|
|
192
|
+
api_key = "sk-ant-..."
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
**OpenRouter:**
|
|
196
|
+
```toml
|
|
197
|
+
api_base_url = "https://openrouter.ai/api/v1"
|
|
198
|
+
api_key = "sk-or-..."
|
|
199
|
+
analysis_model = "anthropic/claude-sonnet-4.5"
|
|
200
|
+
summary_model = "anthropic/claude-haiku-4-5"
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
**OpenAI:**
|
|
204
|
+
```toml
|
|
205
|
+
api_base_url = "https://api.openai.com/v1"
|
|
206
|
+
api_key = "sk-..."
|
|
207
|
+
analysis_model = "gpt-4o"
|
|
208
|
+
summary_model = "gpt-4o-mini"
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
The client uses tool calling for all models, falling back to parsing JSON content from the model response when a provider ignores `tool_choice`. This works across OpenRouter, LiteLLM, Anthropic, and OpenAI endpoints.
|
|
212
|
+
|
|
213
|
+
### Commit Types
|
|
214
|
+
|
|
215
|
+
Customize commit type classification:
|
|
216
|
+
|
|
217
|
+
```toml
|
|
218
|
+
[types.feat]
|
|
219
|
+
description = "New public API or user-observable behavior change"
|
|
220
|
+
diff_indicators = ["pub fn", "pub struct", "export function"]
|
|
221
|
+
|
|
222
|
+
[types.fix]
|
|
223
|
+
description = "Fixes incorrect behavior"
|
|
224
|
+
diff_indicators = ["unwrap() → ?", "bounds check", "error handling"]
|
|
225
|
+
|
|
226
|
+
[types.refactor]
|
|
227
|
+
description = "Internal restructuring with unchanged behavior"
|
|
228
|
+
hint = "If behavior changes, use feat instead."
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### Changelog Categories
|
|
232
|
+
|
|
233
|
+
```toml
|
|
234
|
+
[[categories]]
|
|
235
|
+
name = "Breaking"
|
|
236
|
+
header = "Breaking Changes"
|
|
237
|
+
match.body_contains = ["breaking", "incompatible"]
|
|
238
|
+
|
|
239
|
+
[[categories]]
|
|
240
|
+
name = "Added"
|
|
241
|
+
match.types = ["feat"]
|
|
242
|
+
|
|
243
|
+
[[categories]]
|
|
244
|
+
name = "Fixed"
|
|
245
|
+
match.types = ["fix"]
|
|
246
|
+
|
|
247
|
+
[[categories]]
|
|
248
|
+
name = "Changed"
|
|
249
|
+
default = true
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
## Environment Variables
|
|
253
|
+
|
|
254
|
+
| Variable | Description | Default |
|
|
255
|
+
|----------|-------------|---------|
|
|
256
|
+
| `LLM_GIT_API_URL` | API endpoint | `http://localhost:4000` |
|
|
257
|
+
| `LLM_GIT_API_KEY` | API key | none |
|
|
258
|
+
| `LLM_GIT_CONFIG` | Config file path | `~/.config/llm-git/config.toml` |
|
|
259
|
+
| `LLM_GIT_VERBOSE` | Debug output | `false` |
|
|
260
|
+
| `LLM_GIT_TRACE_FILE` | JSONL profiling trace output path | none |
|
|
261
|
+
|
|
262
|
+
## Installation
|
|
263
|
+
|
|
264
|
+
### From PyPI
|
|
265
|
+
|
|
266
|
+
```bash
|
|
267
|
+
uv tool install llm-git # recommended
|
|
268
|
+
pipx install llm-git # or
|
|
269
|
+
pip install llm-git
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
### From source
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
git clone https://github.com/can1357/llm-git.git
|
|
276
|
+
cd llm-git
|
|
277
|
+
uv tool install .
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### Prerequisites
|
|
281
|
+
|
|
282
|
+
- Python 3.14+
|
|
283
|
+
- Git
|
|
284
|
+
- API access (Anthropic, OpenAI, OpenRouter, or local LiteLLM proxy)
|
|
285
|
+
|
|
286
|
+
## License
|
|
287
|
+
|
|
288
|
+
MIT
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
lgit/__init__.py,sha256=_7jJNTyZZre2Ce8oWaihORAX-2uysmkN6jxTIpaD7UQ,1766
|
|
2
|
+
lgit/__main__.py,sha256=VbaRO8-0ehWv7zA27BpyHYWTQVvt5M-aG5HnWr7ws0U,165
|
|
3
|
+
lgit/analysis.py,sha256=O-y9F9KTd2mjdYMEGShKS3Gjcm-KHC465FBnYyQsSlo,11115
|
|
4
|
+
lgit/api.py,sha256=LneFOGGFm4_8vECfnwlldb6YTzRuoq_BuR3h0WQqI1I,42899
|
|
5
|
+
lgit/cache.py,sha256=nSmQPVCYx1IJjSHeK6N7RrSvOHrTLHHOBrqvr3cLcxg,11064
|
|
6
|
+
lgit/changelog.py,sha256=prnmXTzmk1UF92OYPdRXxswKVU0Ppc8DyhZDXlAWeZg,18573
|
|
7
|
+
lgit/cli.py,sha256=zuKuKKRz3zSm9jg-FGBbspb9R_p8e7VUmgcDcDyPG5A,45309
|
|
8
|
+
lgit/compose.py,sha256=AI5Q5hRR95kiszUUK5rvfHg-J4rZS7mygpWJbNChQWE,82560
|
|
9
|
+
lgit/config.py,sha256=Rwca_jxllmthdubi8evM21yyJrfybrtsfrINkwDjQF8,14259
|
|
10
|
+
lgit/diffing.py,sha256=rak6qhGPZvs5tTitav4O6FmTEDdT2Coxp2hWC_OIK94,12882
|
|
11
|
+
lgit/errors.py,sha256=KJXkXDfy0Qy3RfqoeMrvnolIokhGnv6fVVGXByz7fFg,3266
|
|
12
|
+
lgit/git.py,sha256=u3mHYCRtokJnPQqgiJ6lA_p5VHSlyZCJj5ZCfGIWG90,29462
|
|
13
|
+
lgit/map_reduce.py,sha256=xz4wDrHrtXYhYuH6e7Ys0OdhDczem41cu-lzj5bH6cs,19862
|
|
14
|
+
lgit/markdown_output.py,sha256=4VW_omDZDtOLuKOqcV2XWqzt_xRYSQmBymxnx63cULI,26340
|
|
15
|
+
lgit/models.py,sha256=H_inXOZEDIagDyXXd6TgmWh7D10RSHZATZX8h45E8dA,29873
|
|
16
|
+
lgit/normalization.py,sha256=ki17fHAlQI24gB4LwcxeBxxWx7mMAOrz4--0TPhQN3o,11869
|
|
17
|
+
lgit/patch.py,sha256=N9zXWgb9CXa9irssZKCf1bJkGO38nskRvdHFKNoX-Bs,29506
|
|
18
|
+
lgit/profile.py,sha256=QAR5jEuS6za6iNjDapRcSjlSuREZDlYAB1gpPQOq1G0,12977
|
|
19
|
+
lgit/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
|
+
lgit/repo.py,sha256=EFV-_8O5g19v5Q3W9BkaGebddri3qSxwbl2MwqWO9Sk,8924
|
|
21
|
+
lgit/rewrite.py,sha256=9MMJlDzLMrRtLXbLSd_JhM3lHwYsWxhHfzcWcsWg0Ks,13518
|
|
22
|
+
lgit/style.py,sha256=IY7B6nfxuX85mIfnOVs4vGYzItRuoKH2lXC_4AdEvT8,7502
|
|
23
|
+
lgit/templates.py,sha256=Qd4rMEtTnAFuoU_um-HltmFiUTATySQ8Dj4zcLzkTyQ,12930
|
|
24
|
+
lgit/tokens.py,sha256=OXy6H-ooK6niZ1cNnHBN7Hhe5j1OJZzQrelNhKG2b7c,3123
|
|
25
|
+
lgit/validation.py,sha256=v0eV5YltBDM0aBDiqaCvdfbw3d1GALdMuDbHQ2GCNDE,18719
|
|
26
|
+
lgit/resources/__init__.py,sha256=w6eXZjQeAp_h24IJu_GhNIZelcSMuM3qk8GOmWLQPaQ,53
|
|
27
|
+
lgit/resources/commit_types.json,sha256=IPtUig1U8UAIFnfMVaszQFI_LOZIiaZ2yyE20J1FG1E,11900
|
|
28
|
+
lgit/resources/validation_data.json,sha256=PJ1Iocq2qPKvh-zC1V_WyPrlDFFsXyTdnIxa2bokK5I,14634
|
|
29
|
+
lgit/resources/prompts/analysis/default.md,sha256=Bna4Q4ego2EWiPmZ-ptUxVbjefMai41J0Zw95Ee3ONs,7154
|
|
30
|
+
lgit/resources/prompts/analysis/markdown.md,sha256=71iQx--s9BDlgeAAjtqdOrg5Qo4HAyfAUsxzP0SHveI,3689
|
|
31
|
+
lgit/resources/prompts/changelog/default.md,sha256=oWbGQvrMWID-t4mVIL8pyCrleIC5S4lOmihFHZ-Zk8g,2958
|
|
32
|
+
lgit/resources/prompts/changelog/markdown.md,sha256=3L4FfGt7n--J1P2QpwrNi8YeF10lvHhnpsxhTAQiMqo,2040
|
|
33
|
+
lgit/resources/prompts/compose-bind/default.md,sha256=mLnSXoawvqOxxKYRLTRTTLDEsdnNktlKsuSQenzb_5I,1425
|
|
34
|
+
lgit/resources/prompts/compose-bind/markdown.md,sha256=DEiDJjq7DdWFSov94djHPnWAwq0rjj9kNZjEq4BbFZo,836
|
|
35
|
+
lgit/resources/prompts/compose-intent/default.md,sha256=aeYNjgOhzYGsCGjqARGbkj4ZBT67kXPdULbo6xz_NmU,1976
|
|
36
|
+
lgit/resources/prompts/compose-intent/markdown.md,sha256=0FA7lq6OkmyUrsHg5H26Yme0FiZJFgRHCN7plmgvH0E,1489
|
|
37
|
+
lgit/resources/prompts/fast/default.md,sha256=1TgCxO5CmzG8w7IDlp52Md3i4vj6eXSgOpkp5_glPGA,2173
|
|
38
|
+
lgit/resources/prompts/fast/markdown.md,sha256=8SBaCmaWHebTcNSgeyzQZI-vb4FU3BEuea1DejuoHrg,2213
|
|
39
|
+
lgit/resources/prompts/map/default.md,sha256=fpRVRVbqJegPHB-rig7xh_gouknlC8_1FzwPslRBAjc,2043
|
|
40
|
+
lgit/resources/prompts/map/markdown.md,sha256=d_gBZiVtIq1uUQBqOC5ELXTqmxJAdPOLJgEkVTxJw18,2005
|
|
41
|
+
lgit/resources/prompts/reduce/default.md,sha256=Wwx8U4pxglo5XCR-YhPry1rf_vp55g7Hu9Uwxozdhus,3377
|
|
42
|
+
lgit/resources/prompts/reduce/markdown.md,sha256=ooOA4U3IAsEPUBDNfs9dAnomn2vDzEj44JGhuXXzA3g,2568
|
|
43
|
+
lgit/resources/prompts/summary/default.md,sha256=yzqzEMH83vVKEZqjH_Lkmj59n4VuP7puFxP95OBnEKw,3077
|
|
44
|
+
lgit/resources/prompts/summary/markdown.md,sha256=1piWMzRc4lrqEr6zxBtALynMb3KqXzVVhS_rg1pnA5I,3142
|
|
45
|
+
lgit/testing/__init__.py,sha256=_NQxrUIOQIQLKUP6Zerh2oNoJ7GVLAiWKFj9K2Vkhls,1373
|
|
46
|
+
lgit/testing/compare.py,sha256=jRY98uLclVPyQ7e1TMqFVz2cjUi6kwwn2dkQyR_xsgY,1834
|
|
47
|
+
lgit/testing/fixture.py,sha256=Hl8kTPuNg_I5PMTef0SvLBa4TnAAlB7v8JUYQIb9ggo,13544
|
|
48
|
+
lgit/testing/report.py,sha256=wb7YnP_lsYwsg5OIFtsIC1bMHtK42Mttul_zQcwRNpk,9036
|
|
49
|
+
lgit/testing/runner.py,sha256=yczDXUHYsN2KyTJtIQeiDuYGgQZZfHn6QT70gpsxvEg,9321
|
|
50
|
+
lgit_cli-3.7.0.dist-info/METADATA,sha256=-uPYM2Y5VagdKZ3KIKkhT_WRgWQ_8ls3kaR4TzLDX6s,9615
|
|
51
|
+
lgit_cli-3.7.0.dist-info/WHEEL,sha256=mffPy8wBnZQn2VnJUU5jE99KsxaSfiyMHV9Yt0aLVxs,87
|
|
52
|
+
lgit_cli-3.7.0.dist-info/entry_points.txt,sha256=CUSsokc0V3oVHQ2Z1ocL09wV7Krhm0SSfLZpnRMBdA0,39
|
|
53
|
+
lgit_cli-3.7.0.dist-info/licenses/LICENSE,sha256=6dqVzjngLuIcUMd4wWLXPLpv-Pi8gySZAEE3hSN5iKw,1076
|
|
54
|
+
lgit_cli-3.7.0.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 can1357 <me@can.ac>
|
|
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.
|