crapkit 0.4.13__tar.gz → 0.4.14__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.
- {crapkit-0.4.13/src/crapkit.egg-info → crapkit-0.4.14}/PKG-INFO +8 -5
- {crapkit-0.4.13 → crapkit-0.4.14}/README.md +7 -4
- {crapkit-0.4.13 → crapkit-0.4.14}/pyproject.toml +1 -1
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/__init__.py +1 -1
- {crapkit-0.4.13 → crapkit-0.4.14/src/crapkit.egg-info}/PKG-INFO +8 -5
- {crapkit-0.4.13 → crapkit-0.4.14}/LICENSE +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/setup.cfg +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/__main__.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/_pygdefer.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/analyze.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/cache.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/churn.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/churn_cache.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/churn_log.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/cli/__init__.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/cli/_shared.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/cli/admin.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/cli/analyses.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/cli/claude_hook.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/cli/parser.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/cli/queue.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/cli/ratchet_cmds.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/cli/reports.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/cli/scoring.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/cli/verifying.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/config.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/coupling.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/coupling_cache.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/coverage_istanbul.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/coverage_py.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/covstream.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/diffparse.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/digest.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/discover.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/doctor.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/dup.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/errors.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/gitio.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/hook.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/invocation.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/junitparse.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/keys.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/lanes.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/lizardcognitive.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/lizardpowershell.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/lizardrust.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/lizardshell.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/mcp_server.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/merge.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/mutate.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/mutate_pool.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/override.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/packet.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/procs.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/ratchet.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/ratchet_report.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/report.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/sarif.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/sarifio.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/scaffold.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/score.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/snapshot.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/store.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/uncovered.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/universe.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/verify.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/watch.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit/worklist.py +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit.egg-info/SOURCES.txt +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit.egg-info/dependency_links.txt +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit.egg-info/entry_points.txt +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit.egg-info/requires.txt +0 -0
- {crapkit-0.4.13 → crapkit-0.4.14}/src/crapkit.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crapkit
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.14
|
|
4
4
|
Summary: Scores every function on complexity times uncovered risk, ranks the worst, and blocks commits that add more.
|
|
5
5
|
Author: Jean-Francois Gagne
|
|
6
6
|
License: MIT
|
|
@@ -39,6 +39,8 @@ Dynamic: license-file
|
|
|
39
39
|
|
|
40
40
|
# crapkit
|
|
41
41
|
|
|
42
|
+
<!-- mcp-name: io.github.jeanfrancoisgagne/crapkit -->
|
|
43
|
+
|
|
42
44
|
[](https://github.com/JeanFrancoisGagne/crapkit/actions/workflows/ci.yml)
|
|
43
45
|
[](https://pypi.org/project/crapkit/)
|
|
44
46
|
[](https://pypi.org/project/crapkit/)
|
|
@@ -166,7 +168,7 @@ leaves the box
|
|
|
166
168
|
|
|
167
169
|
```
|
|
168
170
|
$ crapkit --version
|
|
169
|
-
crapkit 0.4.
|
|
171
|
+
crapkit 0.4.14
|
|
170
172
|
```
|
|
171
173
|
|
|
172
174
|
`python -m crapkit` works identically to the console script and is what to use from a
|
|
@@ -396,7 +398,7 @@ crapkit ships a `.pre-commit-hooks.yaml` declaring `id: crapkit-gate`. In your
|
|
|
396
398
|
repos:
|
|
397
399
|
- repo: https://github.com/JeanFrancoisGagne/crapkit
|
|
398
400
|
# crapkit's release step rewrites this line to the tag it just cut
|
|
399
|
-
rev: v0.4.
|
|
401
|
+
rev: v0.4.14
|
|
400
402
|
hooks:
|
|
401
403
|
- id: crapkit-gate
|
|
402
404
|
```
|
|
@@ -502,7 +504,7 @@ to a workflow, and every input has a default:
|
|
|
502
504
|
- uses: actions/checkout@v4
|
|
503
505
|
with:
|
|
504
506
|
fetch-depth: 0
|
|
505
|
-
- uses: JeanFrancoisGagne/crapkit@v0.4.
|
|
507
|
+
- uses: JeanFrancoisGagne/crapkit@v0.4.14
|
|
506
508
|
```
|
|
507
509
|
|
|
508
510
|
The whole job those four lines sit in:
|
|
@@ -522,7 +524,7 @@ jobs:
|
|
|
522
524
|
with:
|
|
523
525
|
python-version: "3.12" # the interpreter the install below lands in
|
|
524
526
|
- run: pip install -e ".[dev]" # whatever your lanes need to run
|
|
525
|
-
- uses: JeanFrancoisGagne/crapkit@v0.4.
|
|
527
|
+
- uses: JeanFrancoisGagne/crapkit@v0.4.14
|
|
526
528
|
with:
|
|
527
529
|
gate: "false"
|
|
528
530
|
```
|
|
@@ -1190,6 +1192,7 @@ that block is advisory unless `diff_uncovered_max` is set
|
|
|
1190
1192
|
| [docs/lanes.md](https://github.com/JeanFrancoisGagne/crapkit/blob/main/docs/lanes.md) | The lane model, vitest and jest and pytest recipes, artifact reuse, flake retest, containers. |
|
|
1191
1193
|
| [docs/ratchet.md](https://github.com/JeanFrancoisGagne/crapkit/blob/main/docs/ratchet.md) | Seeding, pruning, the git merge driver, metric stamps, debt policy, overrides. |
|
|
1192
1194
|
| [docs/agent-json.md](https://github.com/JeanFrancoisGagne/crapkit/blob/main/docs/agent-json.md) | The machine surface: `schema`, every payload field, real captured examples. |
|
|
1195
|
+
| [docs/comparison.md](https://github.com/JeanFrancoisGagne/crapkit/blob/main/docs/comparison.md) | Where crapkit sits next to radon, xenon, wily, coverage.py and SonarQube, and how they run together. |
|
|
1193
1196
|
| [AGENTS.md](https://github.com/JeanFrancoisGagne/crapkit/blob/main/AGENTS.md) | The burn-down loop an agent runs, and the rules for changing crapkit itself. |
|
|
1194
1197
|
| [plugin/](https://github.com/JeanFrancoisGagne/crapkit/tree/main/plugin) | The Claude Code plugin: three skills, the read-side MCP server, and the advisory PostToolUse hook. |
|
|
1195
1198
|
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# crapkit
|
|
2
2
|
|
|
3
|
+
<!-- mcp-name: io.github.jeanfrancoisgagne/crapkit -->
|
|
4
|
+
|
|
3
5
|
[](https://github.com/JeanFrancoisGagne/crapkit/actions/workflows/ci.yml)
|
|
4
6
|
[](https://pypi.org/project/crapkit/)
|
|
5
7
|
[](https://pypi.org/project/crapkit/)
|
|
@@ -127,7 +129,7 @@ leaves the box
|
|
|
127
129
|
|
|
128
130
|
```
|
|
129
131
|
$ crapkit --version
|
|
130
|
-
crapkit 0.4.
|
|
132
|
+
crapkit 0.4.14
|
|
131
133
|
```
|
|
132
134
|
|
|
133
135
|
`python -m crapkit` works identically to the console script and is what to use from a
|
|
@@ -357,7 +359,7 @@ crapkit ships a `.pre-commit-hooks.yaml` declaring `id: crapkit-gate`. In your
|
|
|
357
359
|
repos:
|
|
358
360
|
- repo: https://github.com/JeanFrancoisGagne/crapkit
|
|
359
361
|
# crapkit's release step rewrites this line to the tag it just cut
|
|
360
|
-
rev: v0.4.
|
|
362
|
+
rev: v0.4.14
|
|
361
363
|
hooks:
|
|
362
364
|
- id: crapkit-gate
|
|
363
365
|
```
|
|
@@ -463,7 +465,7 @@ to a workflow, and every input has a default:
|
|
|
463
465
|
- uses: actions/checkout@v4
|
|
464
466
|
with:
|
|
465
467
|
fetch-depth: 0
|
|
466
|
-
- uses: JeanFrancoisGagne/crapkit@v0.4.
|
|
468
|
+
- uses: JeanFrancoisGagne/crapkit@v0.4.14
|
|
467
469
|
```
|
|
468
470
|
|
|
469
471
|
The whole job those four lines sit in:
|
|
@@ -483,7 +485,7 @@ jobs:
|
|
|
483
485
|
with:
|
|
484
486
|
python-version: "3.12" # the interpreter the install below lands in
|
|
485
487
|
- run: pip install -e ".[dev]" # whatever your lanes need to run
|
|
486
|
-
- uses: JeanFrancoisGagne/crapkit@v0.4.
|
|
488
|
+
- uses: JeanFrancoisGagne/crapkit@v0.4.14
|
|
487
489
|
with:
|
|
488
490
|
gate: "false"
|
|
489
491
|
```
|
|
@@ -1151,6 +1153,7 @@ that block is advisory unless `diff_uncovered_max` is set
|
|
|
1151
1153
|
| [docs/lanes.md](https://github.com/JeanFrancoisGagne/crapkit/blob/main/docs/lanes.md) | The lane model, vitest and jest and pytest recipes, artifact reuse, flake retest, containers. |
|
|
1152
1154
|
| [docs/ratchet.md](https://github.com/JeanFrancoisGagne/crapkit/blob/main/docs/ratchet.md) | Seeding, pruning, the git merge driver, metric stamps, debt policy, overrides. |
|
|
1153
1155
|
| [docs/agent-json.md](https://github.com/JeanFrancoisGagne/crapkit/blob/main/docs/agent-json.md) | The machine surface: `schema`, every payload field, real captured examples. |
|
|
1156
|
+
| [docs/comparison.md](https://github.com/JeanFrancoisGagne/crapkit/blob/main/docs/comparison.md) | Where crapkit sits next to radon, xenon, wily, coverage.py and SonarQube, and how they run together. |
|
|
1154
1157
|
| [AGENTS.md](https://github.com/JeanFrancoisGagne/crapkit/blob/main/AGENTS.md) | The burn-down loop an agent runs, and the rules for changing crapkit itself. |
|
|
1155
1158
|
| [plugin/](https://github.com/JeanFrancoisGagne/crapkit/tree/main/plugin) | The Claude Code plugin: three skills, the read-side MCP server, and the advisory PostToolUse hook. |
|
|
1156
1159
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "crapkit"
|
|
7
|
-
version = "0.4.
|
|
7
|
+
version = "0.4.14"
|
|
8
8
|
description = "Scores every function on complexity times uncovered risk, ranks the worst, and blocks commits that add more."
|
|
9
9
|
readme = { file = "README.md", content-type = "text/markdown" }
|
|
10
10
|
license = { text = "MIT" }
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"""crapkit: deterministic CRAP-score framework."""
|
|
2
|
-
__version__ = "0.4.
|
|
2
|
+
__version__ = "0.4.14"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crapkit
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.14
|
|
4
4
|
Summary: Scores every function on complexity times uncovered risk, ranks the worst, and blocks commits that add more.
|
|
5
5
|
Author: Jean-Francois Gagne
|
|
6
6
|
License: MIT
|
|
@@ -39,6 +39,8 @@ Dynamic: license-file
|
|
|
39
39
|
|
|
40
40
|
# crapkit
|
|
41
41
|
|
|
42
|
+
<!-- mcp-name: io.github.jeanfrancoisgagne/crapkit -->
|
|
43
|
+
|
|
42
44
|
[](https://github.com/JeanFrancoisGagne/crapkit/actions/workflows/ci.yml)
|
|
43
45
|
[](https://pypi.org/project/crapkit/)
|
|
44
46
|
[](https://pypi.org/project/crapkit/)
|
|
@@ -166,7 +168,7 @@ leaves the box
|
|
|
166
168
|
|
|
167
169
|
```
|
|
168
170
|
$ crapkit --version
|
|
169
|
-
crapkit 0.4.
|
|
171
|
+
crapkit 0.4.14
|
|
170
172
|
```
|
|
171
173
|
|
|
172
174
|
`python -m crapkit` works identically to the console script and is what to use from a
|
|
@@ -396,7 +398,7 @@ crapkit ships a `.pre-commit-hooks.yaml` declaring `id: crapkit-gate`. In your
|
|
|
396
398
|
repos:
|
|
397
399
|
- repo: https://github.com/JeanFrancoisGagne/crapkit
|
|
398
400
|
# crapkit's release step rewrites this line to the tag it just cut
|
|
399
|
-
rev: v0.4.
|
|
401
|
+
rev: v0.4.14
|
|
400
402
|
hooks:
|
|
401
403
|
- id: crapkit-gate
|
|
402
404
|
```
|
|
@@ -502,7 +504,7 @@ to a workflow, and every input has a default:
|
|
|
502
504
|
- uses: actions/checkout@v4
|
|
503
505
|
with:
|
|
504
506
|
fetch-depth: 0
|
|
505
|
-
- uses: JeanFrancoisGagne/crapkit@v0.4.
|
|
507
|
+
- uses: JeanFrancoisGagne/crapkit@v0.4.14
|
|
506
508
|
```
|
|
507
509
|
|
|
508
510
|
The whole job those four lines sit in:
|
|
@@ -522,7 +524,7 @@ jobs:
|
|
|
522
524
|
with:
|
|
523
525
|
python-version: "3.12" # the interpreter the install below lands in
|
|
524
526
|
- run: pip install -e ".[dev]" # whatever your lanes need to run
|
|
525
|
-
- uses: JeanFrancoisGagne/crapkit@v0.4.
|
|
527
|
+
- uses: JeanFrancoisGagne/crapkit@v0.4.14
|
|
526
528
|
with:
|
|
527
529
|
gate: "false"
|
|
528
530
|
```
|
|
@@ -1190,6 +1192,7 @@ that block is advisory unless `diff_uncovered_max` is set
|
|
|
1190
1192
|
| [docs/lanes.md](https://github.com/JeanFrancoisGagne/crapkit/blob/main/docs/lanes.md) | The lane model, vitest and jest and pytest recipes, artifact reuse, flake retest, containers. |
|
|
1191
1193
|
| [docs/ratchet.md](https://github.com/JeanFrancoisGagne/crapkit/blob/main/docs/ratchet.md) | Seeding, pruning, the git merge driver, metric stamps, debt policy, overrides. |
|
|
1192
1194
|
| [docs/agent-json.md](https://github.com/JeanFrancoisGagne/crapkit/blob/main/docs/agent-json.md) | The machine surface: `schema`, every payload field, real captured examples. |
|
|
1195
|
+
| [docs/comparison.md](https://github.com/JeanFrancoisGagne/crapkit/blob/main/docs/comparison.md) | Where crapkit sits next to radon, xenon, wily, coverage.py and SonarQube, and how they run together. |
|
|
1193
1196
|
| [AGENTS.md](https://github.com/JeanFrancoisGagne/crapkit/blob/main/AGENTS.md) | The burn-down loop an agent runs, and the rules for changing crapkit itself. |
|
|
1194
1197
|
| [plugin/](https://github.com/JeanFrancoisGagne/crapkit/tree/main/plugin) | The Claude Code plugin: three skills, the read-side MCP server, and the advisory PostToolUse hook. |
|
|
1195
1198
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|