mjolnir-qa 2.1.0 → 4.0.0
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.
- package/CHANGELOG.md +410 -2
- package/README.ar.md +58 -29
- package/README.bn.md +58 -29
- package/README.br.md +58 -29
- package/README.bs.md +58 -29
- package/README.da.md +59 -30
- package/README.de.md +59 -30
- package/README.es.md +58 -29
- package/README.fr.md +59 -30
- package/README.gr.md +58 -29
- package/README.he.md +58 -29
- package/README.it.md +58 -29
- package/README.ja.md +58 -29
- package/README.ko.md +58 -29
- package/README.md +95 -56
- package/README.no.md +58 -29
- package/README.pl.md +58 -29
- package/README.ru.md +58 -29
- package/README.th.md +58 -29
- package/README.tr.md +58 -29
- package/README.uk.md +58 -29
- package/README.vi.md +58 -29
- package/README.zh.md +58 -29
- package/README.zht.md +58 -29
- package/dist/cli.d.mts +232 -16
- package/dist/cli.mjs +2035 -1262
- package/dist/mcp/stdio.mjs +1559 -517
- package/dist/scan-pipeline-Bg-46cLS.mjs +2 -0
- package/dist/{scan-pipeline-MQGUSey3.mjs → scan-pipeline-CCJdEKNa.mjs} +1722 -718
- package/package.json +59 -8
- package/dist/scan-pipeline-C_Rs4u8N.mjs +0 -2
package/README.fr.md
CHANGED
|
@@ -18,7 +18,7 @@ puis évalue jusqu'où le résultat mérite confiance, avec la preuve de chaque
|
|
|
18
18
|
[](https://nodejs.org)
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
|
-
npx mjolnir-qa@
|
|
21
|
+
npx mjolnir-qa@3.0.0
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
[Le voir à l'œuvre](#le-voir-à-lœuvre) · [Démarrage rapide](#démarrage-rapide) · [Ce qu'il trouve](#ce-que-mjölnir-trouve) · [Score](#le-score-de-fiabilité) · [Preuves](#le-modèle-de-preuves) · [Forensique](#forensique-dexécution) · [CI](#intégrité-de-la-ci) · [Agents](#agents-ia) · [Sécurité](#confiance-et-sécurité) · [Limites](#ce-que-mjölnir-ne-peut-pas-vous-dire) · [Docs](#documentation)
|
|
@@ -28,9 +28,9 @@ npx mjolnir-qa@latest
|
|
|
28
28
|
|
|
29
29
|
[English](README.md) | [简体中文](README.zh.md) | [繁體中文](README.zht.md) | [한국어](README.ko.md) | [Deutsch](README.de.md) | [Español](README.es.md) | Français | [Italiano](README.it.md) | [Dansk](README.da.md) | [日本語](README.ja.md) | [Polski](README.pl.md) | [Русский](README.ru.md) | [Norsk](README.no.md) | [Português (Brasil)](README.br.md) | [ไทย](README.th.md) | [Türkçe](README.tr.md) | [Українська](README.uk.md) | [বাংলা](README.bn.md) | [Ελληνικά](README.gr.md) | [Tiếng Việt](README.vi.md) | [עברית](README.he.md) | [العربية](README.ar.md) | [Bosanski](README.bs.md)
|
|
30
30
|
|
|
31
|
-
> 🤖 Machine-assisted translation. The [English README](README.md) is canonical. Last synced: 2026-09-
|
|
31
|
+
> 🤖 Machine-assisted translation. The [English README](README.md) is canonical. Last synced: 2026-09-26.
|
|
32
32
|
|
|
33
|
-
<!-- Source hash:
|
|
33
|
+
<!-- Source hash: `de04dfb1677b` -->
|
|
34
34
|
|
|
35
35
|
</details>
|
|
36
36
|
|
|
@@ -38,6 +38,20 @@ npx mjolnir-qa@latest
|
|
|
38
38
|
|
|
39
39
|
<br />
|
|
40
40
|
|
|
41
|
+
## Release status (English canonical)
|
|
42
|
+
|
|
43
|
+
The published line is `3.0.0`; this working tree is the `4.0.0-rc.1`
|
|
44
|
+
candidate. `3.0.0` must not be republished or retagged. The M26–M50 program is
|
|
45
|
+
tracked in
|
|
46
|
+
[`docs/ROADMAP.yaml`](docs/ROADMAP.yaml); provisional capability contracts
|
|
47
|
+
are not automatically enabled or certified. Repository-owned checks pass, but
|
|
48
|
+
Trust certification remains `NOT_CERTIFIED` until the protected holdout,
|
|
49
|
+
real-world, platform/consumer, remote-workflow, support-matrix, and corpus
|
|
50
|
+
evidence gates pass. Run `npm run m26:readiness` before treating any candidate
|
|
51
|
+
as releasable. This document does not publish a tag or authorize a release.
|
|
52
|
+
|
|
53
|
+
> Machine-assisted canonical text. Translate this block before treating it as localized copy.
|
|
54
|
+
|
|
41
55
|
## Une coche verte est une affirmation, pas une preuve
|
|
42
56
|
|
|
43
57
|
Une coche verte signifie que le pipeline n'a pas échoué. Elle ne signifie pas que les tests ont tourné, ni qu'ils auraient pu échouer. Chacun de ces cas passe au vert :
|
|
@@ -58,7 +72,7 @@ Aucun ne fait passer le pipeline au rouge, et chacun semble délibéré en revue
|
|
|
58
72
|
|
|
59
73
|
<sub>Chaque constat que le scan de démonstration a rapporté pour ce workflow, à la ligne rapportée. Généré par `npm run docs:readme-brand` à partir de [`demo-report.json`](assets/readme/demo-report.json) et verrouillé contre toute dérive en CI.</sub>
|
|
60
74
|
|
|
61
|
-
**Mode strict.** Les détections les plus agressives — `.only`, `continue-on-error`, tests vides, abus de retry — vivent dans le niveau quarantaine. Elles ne tournent qu'avec `--strict` et sont limitées à la sévérité `info` : elles signalent, ne bloquent jamais. Le scan par défaut (`npx mjolnir-qa@
|
|
75
|
+
**Mode strict.** Les détections les plus agressives — `.only`, `continue-on-error`, tests vides, abus de retry — vivent dans le niveau quarantaine. Elles ne tournent qu'avec `--strict` et sont limitées à la sévérité `info` : elles signalent, ne bloquent jamais. Le scan par défaut (`npx mjolnir-qa@3.0.0` sans `--strict`) ne couvre que les règles core et extended. Ajoutez `--strict` quand vous voulez aussi la couche consultative.
|
|
62
76
|
|
|
63
77
|
Mjölnir lit la suite, les workflows CI et, si vous en avez un, le rapport d'une exécution réelle. Il n'exécute pas vos tests, n'installe pas vos dépendances et n'exécute pas le code qu'il analyse. Et quand il n'a pas de preuve, il le dit au lieu d'inventer de la confiance :
|
|
64
78
|
|
|
@@ -93,7 +107,7 @@ Un vrai scan de [`examples/demo-repo`](examples/demo-repo), une petite suite Pla
|
|
|
93
107
|
|
|
94
108
|
<p align="center">
|
|
95
109
|
<a href="assets/video/mjolnir-demo.mp4">
|
|
96
|
-
<img src="assets/video/mjolnir-demo-poster.png" alt="Une image de l'enregistrement de démonstration : npx mjolnir-qa@
|
|
110
|
+
<img src="assets/video/mjolnir-demo-poster.png" alt="Une image de l'enregistrement de démonstration : npx mjolnir-qa@3.0.0 analysant le dépôt de démonstration dans une fenêtre de terminal" width="900" />
|
|
97
111
|
</a>
|
|
98
112
|
</p>
|
|
99
113
|
|
|
@@ -162,7 +176,7 @@ Voilà l'unité de valeur : un endroit où la CI rapporte une réussite qu'elle
|
|
|
162
176
|
## Démarrage rapide
|
|
163
177
|
|
|
164
178
|
```bash
|
|
165
|
-
npx mjolnir-qa@
|
|
179
|
+
npx mjolnir-qa@3.0.0
|
|
166
180
|
```
|
|
167
181
|
|
|
168
182
|
Il analyse le répertoire courant et affiche le Trust Report : ce qu'il a trouvé, jusqu'où vous pouvez vous y fier, pourquoi, et quoi faire ensuite. Il sort avec `0` quand rien n'a été trouvé au niveau de la barrière ou au-dessus.
|
|
@@ -170,24 +184,39 @@ Il analyse le répertoire courant et affiche le Trust Report : ce qu'il a trouv
|
|
|
170
184
|
En CI, n'analysez que ce que la branche a introduit, pour qu'une suite historique ne noie pas votre première pull request :
|
|
171
185
|
|
|
172
186
|
```bash
|
|
173
|
-
npx mjolnir-qa@
|
|
187
|
+
npx mjolnir-qa@3.0.0 --scope changed
|
|
174
188
|
```
|
|
175
189
|
|
|
176
|
-
`mjolnir ci install` l'écrit sous forme de workflow GitHub Actions, en utilisant l'[action](https://github.com/Sergey-Bar/Mjolnir#readme) épinglée sur le tag majeur `
|
|
177
|
-
|
|
178
|
-
| Commande
|
|
179
|
-
|
|
|
180
|
-
| `mjolnir`
|
|
181
|
-
| `mjolnir --scope changed`
|
|
182
|
-
| `mjolnir ci install`
|
|
183
|
-
| `mjolnir
|
|
184
|
-
| `mjolnir
|
|
185
|
-
| `mjolnir
|
|
186
|
-
| `mjolnir
|
|
187
|
-
| `mjolnir
|
|
188
|
-
| `mjolnir
|
|
189
|
-
| `mjolnir
|
|
190
|
-
| `mjolnir --
|
|
190
|
+
`mjolnir ci install` l'écrit sous forme de workflow GitHub Actions, en utilisant l'[action](https://github.com/Sergey-Bar/Mjolnir#readme) épinglée sur le tag majeur `v3` (ou un simple `npx` avec `--no-action`). Il reste consultatif jusqu'à ce que vous décidiez qu'il doit bloquer.
|
|
191
|
+
|
|
192
|
+
| Commande | Ce qu'elle fait |
|
|
193
|
+
| --------------------------------------------- | ----------------------------------------------------------------------- |
|
|
194
|
+
| `mjolnir` | Trust Report : verdict, confiance, prochaine action |
|
|
195
|
+
| `mjolnir --scope changed` | Uniquement ce que votre branche a introduit (la forme CI) |
|
|
196
|
+
| `mjolnir ci install` | Génère le workflow de PR consultatif (basé sur l'action) |
|
|
197
|
+
| `mjolnir business-case` | ROI estimate: projected savings per finding |
|
|
198
|
+
| `mjolnir release-report` | Release readiness: GO, CONDITIONAL GO, or NO-GO |
|
|
199
|
+
| `mjolnir release-trust` | 12-dimension release assurance verdict |
|
|
200
|
+
| `mjolnir report` | Generate a Playwright-compatible report |
|
|
201
|
+
| `mjolnir trend` | Record, show, or diff local quality snapshots |
|
|
202
|
+
| `mjolnir policy` | Initialize, validate, or check policy gates |
|
|
203
|
+
| `mjolnir quarantine` | Review deterministic proposals (prototype) |
|
|
204
|
+
| `mjolnir analyze --cross-file` | Bounded cross-file analysis |
|
|
205
|
+
| `mjolnir ci-adapter github .` | Generate CI templates for supported providers |
|
|
206
|
+
| `mjolnir dashboard` | Generate a self-contained quality dashboard |
|
|
207
|
+
| `mjolnir exec-report` | Executive KPIs and recommendations (advisory) |
|
|
208
|
+
| `mjolnir enterprise` | Self-hosted templates (prototype) |
|
|
209
|
+
| `mjolnir maturity` | Assess maturity or display maturity levels |
|
|
210
|
+
| `mjolnir mutation tests/mutation-report.json` | Analyze mutation reports; never promotes trust |
|
|
211
|
+
| `mjolnir mcp` | Read-only MCP tools over stdio |
|
|
212
|
+
| `mjolnir explain QA-CI-001` | Quoi, pourquoi et correctif, plus le taux de FP mesuré |
|
|
213
|
+
| `mjolnir why src/a.spec.ts:42` | Pourquoi cette ligne précise a été signalée. Ne bloque jamais. |
|
|
214
|
+
| `mjolnir forensics ./test-results/` | Preuves d'exécution tirées d'une exécution réelle |
|
|
215
|
+
| `mjolnir trust-report` | Trust Artifact autonome (md + json) |
|
|
216
|
+
| `mjolnir handoff` | Plan de remédiation pour un agent de code |
|
|
217
|
+
| `mjolnir --json` / `--format sarif` | Sortie lisible par machine, GitHub Code Scanning |
|
|
218
|
+
| `mjolnir --format codequality` | Rapport GitLab Code Quality (artefact du widget de MR) |
|
|
219
|
+
| `mjolnir --strict` | Exécute aussi les règles du niveau quarantine (risque de FP plus élevé) |
|
|
191
220
|
|
|
192
221
|
<details>
|
|
193
222
|
<summary><strong>Toutes les autres commandes</strong> — tri des tests instables, rapports, gouvernance</summary>
|
|
@@ -452,18 +481,18 @@ mjolnir ci install
|
|
|
452
481
|
Ou ajoutez l'action du Marketplace à un workflow existant :
|
|
453
482
|
|
|
454
483
|
```yaml
|
|
455
|
-
- uses: Sergey-Bar/Mjolnir@
|
|
484
|
+
- uses: Sergey-Bar/Mjolnir@v3
|
|
456
485
|
with:
|
|
457
486
|
scope: changed
|
|
458
487
|
fail-on: error
|
|
459
488
|
```
|
|
460
489
|
|
|
461
|
-
Épinglez `@
|
|
490
|
+
Épinglez `@v3` pour suivre la ligne majeure, ou un tag exact (`@v0.5.32`) pour une barrière reproductible. [docs/DISTRIBUTION-KIT.md](docs/DISTRIBUTION-KIT.md) couvre le Marketplace, Smithery et les registres MCP.
|
|
462
491
|
|
|
463
492
|
Pour envoyer les constats dans GitHub Code Scanning, téléversez le SARIF (nécessite `security-events: write` au niveau du workflow ou du job) :
|
|
464
493
|
|
|
465
494
|
```yaml
|
|
466
|
-
- run: npx mjolnir-qa@
|
|
495
|
+
- run: npx mjolnir-qa@3.0.0 --format sarif > mjolnir.sarif
|
|
467
496
|
continue-on-error: true
|
|
468
497
|
- uses: github/codeql-action/upload-sarif@v3
|
|
469
498
|
if: ${{ !cancelled() }}
|
|
@@ -476,7 +505,7 @@ Sur GitLab, `--format codequality` écrit le rapport Code Quality que lisent le
|
|
|
476
505
|
### Attribution sur le périmètre modifié
|
|
477
506
|
|
|
478
507
|
```bash
|
|
479
|
-
npx mjolnir-qa@
|
|
508
|
+
npx mjolnir-qa@3.0.0 --scope changed
|
|
480
509
|
```
|
|
481
510
|
|
|
482
511
|
Les constats sont attribués aux lignes ajoutées par votre branche, mesurées par rapport à la **merge-base**. Le périmètre est le même ensemble de fichiers qu'un scan complet découvre (specs TS/JS et configurations d'adaptateurs, `test_*.py`, `*Test.java`, `*Tests.cs`, `.github/workflows/*.yml`), plus les modifications non commitées et non suivies, si bien que cela fonctionne avant le commit. La base est résolue selon `main → master → origin/main → origin/master → origin/HEAD` ; remplacez-la avec `--base <ref>`.
|
|
@@ -504,7 +533,7 @@ SCAN → EVIDENCE → HANDOFF → AGENT → RE-SCAN → PROOF
|
|
|
504
533
|
Ajoutez-le à un client qui fournit sa propre CLI :
|
|
505
534
|
|
|
506
535
|
```bash
|
|
507
|
-
claude mcp add mjolnir -- npx -y mjolnir-qa@
|
|
536
|
+
claude mcp add mjolnir -- npx -y mjolnir-qa@3.0.0 mcp
|
|
508
537
|
```
|
|
509
538
|
|
|
510
539
|
Ou à tout client qui accepte un bloc `mcpServers` :
|
|
@@ -512,7 +541,7 @@ Ou à tout client qui accepte un bloc `mcpServers` :
|
|
|
512
541
|
```json
|
|
513
542
|
{
|
|
514
543
|
"mcpServers": {
|
|
515
|
-
"mjolnir": { "command": "npx", "args": ["-y", "mjolnir-qa@
|
|
544
|
+
"mjolnir": { "command": "npx", "args": ["-y", "mjolnir-qa@3.0.0", "mcp"] }
|
|
516
545
|
}
|
|
517
546
|
}
|
|
518
547
|
```
|
|
@@ -584,7 +613,7 @@ Le site de documentation complet se trouve sur <https://sergey-bar.github.io/Mjo
|
|
|
584
613
|
|
|
585
614
|
### Statut
|
|
586
615
|
|
|
587
|
-
**Version
|
|
616
|
+
**Version 3.0.0.** Le schéma JSON et les codes de sortie sont des contrats figés. TypeScript et Python ont la couverture mesurée la plus large. Java et C# sont plus récents ; lisez-les à travers le [tableau de maturité](https://sergey-bar.github.io/Mjolnir/reference/rule-lifecycle). La suite, sans dates inventées : [la feuille de route publique](https://sergey-bar.github.io/Mjolnir/reference/roadmap).
|
|
588
617
|
|
|
589
618
|
### Contribuer
|
|
590
619
|
|
|
@@ -603,7 +632,7 @@ L'environnement de développement, les commandes des barrières permanentes et l
|
|
|
603
632
|
<img src="assets/readme/closing.svg" alt="Lancez-le sur votre dépôt." width="100%" />
|
|
604
633
|
|
|
605
634
|
```bash
|
|
606
|
-
npx mjolnir-qa@
|
|
635
|
+
npx mjolnir-qa@3.0.0
|
|
607
636
|
```
|
|
608
637
|
|
|
609
638
|
[Lire le guide](https://sergey-bar.github.io/Mjolnir/guide/getting-started) · [Site de documentation](https://sergey-bar.github.io/Mjolnir/) · [npm](https://www.npmjs.com/package/mjolnir-qa)
|
package/README.gr.md
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
[](https://nodejs.org)
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
|
-
npx mjolnir-qa@
|
|
21
|
+
npx mjolnir-qa@3.0.0
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
[Δείτε το σε δράση](#δείτε-το-σε-δράση) · [Γρήγορη εκκίνηση](#γρήγορη-εκκίνηση) · [Τι βρίσκει](#τι-βρίσκει-το-mjölnir) · [Βαθμολογία](#η-βαθμολογία-αξιοπιστίας) · [Τεκμήρια](#το-μοντέλο-τεκμηρίωσης) · [Ανάλυση εκτελέσεων](#ανάλυση-εκτελέσεων-τεστ) · [CI](#ακεραιότητα-ci) · [Πράκτορες](#πράκτορες-τν) · [Ασφάλεια](#εμπιστοσύνη-και-ασφάλεια) · [Όρια](#τι-δεν-μπορεί-να-σας-πει-το-mjölnir) · [Τεκμηρίωση](#τεκμηρίωση)
|
|
@@ -28,9 +28,9 @@ npx mjolnir-qa@latest
|
|
|
28
28
|
|
|
29
29
|
[English](README.md) | [简体中文](README.zh.md) | [繁體中文](README.zht.md) | [한국어](README.ko.md) | [Deutsch](README.de.md) | [Español](README.es.md) | [Français](README.fr.md) | [Italiano](README.it.md) | [Dansk](README.da.md) | [日本語](README.ja.md) | [Polski](README.pl.md) | [Русский](README.ru.md) | [Norsk](README.no.md) | [Português (Brasil)](README.br.md) | [ไทย](README.th.md) | [Türkçe](README.tr.md) | [Українська](README.uk.md) | [বাংলা](README.bn.md) | Ελληνικά | [Tiếng Việt](README.vi.md) | [עברית](README.he.md) | [العربية](README.ar.md) | [Bosanski](README.bs.md)
|
|
30
30
|
|
|
31
|
-
> 🤖 Machine-assisted translation. The [English README](README.md) is canonical. Last synced: 2026-09-
|
|
31
|
+
> 🤖 Machine-assisted translation. The [English README](README.md) is canonical. Last synced: 2026-09-26.
|
|
32
32
|
|
|
33
|
-
<!-- Source hash:
|
|
33
|
+
<!-- Source hash: `de04dfb1677b` -->
|
|
34
34
|
|
|
35
35
|
</details>
|
|
36
36
|
|
|
@@ -38,6 +38,20 @@ npx mjolnir-qa@latest
|
|
|
38
38
|
|
|
39
39
|
<br />
|
|
40
40
|
|
|
41
|
+
## Release status (English canonical)
|
|
42
|
+
|
|
43
|
+
The published line is `3.0.0`; this working tree is the `4.0.0-rc.1`
|
|
44
|
+
candidate. `3.0.0` must not be republished or retagged. The M26–M50 program is
|
|
45
|
+
tracked in
|
|
46
|
+
[`docs/ROADMAP.yaml`](docs/ROADMAP.yaml); provisional capability contracts
|
|
47
|
+
are not automatically enabled or certified. Repository-owned checks pass, but
|
|
48
|
+
Trust certification remains `NOT_CERTIFIED` until the protected holdout,
|
|
49
|
+
real-world, platform/consumer, remote-workflow, support-matrix, and corpus
|
|
50
|
+
evidence gates pass. Run `npm run m26:readiness` before treating any candidate
|
|
51
|
+
as releasable. This document does not publish a tag or authorize a release.
|
|
52
|
+
|
|
53
|
+
> Machine-assisted canonical text. Translate this block before treating it as localized copy.
|
|
54
|
+
|
|
41
55
|
## Ένα πράσινο τικ είναι ισχυρισμός, όχι απόδειξη
|
|
42
56
|
|
|
43
57
|
Ένα πράσινο τικ σημαίνει ότι το pipeline δεν απέτυχε. Δεν σημαίνει ότι τα τεστ εκτελέστηκαν ή ότι θα μπορούσαν να αποτύχουν. Κάθε ένα από αυτά περνά πράσινο:
|
|
@@ -58,7 +72,7 @@ npx mjolnir-qa@latest
|
|
|
58
72
|
|
|
59
73
|
<sub>Κάθε εύρημα που ανέφερε η σάρωση επίδειξης για αυτό το workflow, στη γραμμή που ανέφερε. Δημιουργείται με `npm run docs:readme-brand` από το [`demo-report.json`](assets/readme/demo-report.json) και κλειδώνεται έναντι αποκλίσεων στο CI.</sub>
|
|
60
74
|
|
|
61
|
-
**Αυστηρή λειτουργία.** Οι πιο επιθετικές ανιχνεύσεις — `.only`, `continue-on-error`, κενά τεστ, κατάχρηση επανάληψης — ζουν στο επίπεδο καραντίνας. Τρέχουν μόνο με `--strict` και περιορίζονται σε σοβαρότητα `info`: ειδοποιούν, δεν μπλοκάρουν ποτέ. Η προεπιλεγμένη σάρωση (`npx mjolnir-qa@
|
|
75
|
+
**Αυστηρή λειτουργία.** Οι πιο επιθετικές ανιχνεύσεις — `.only`, `continue-on-error`, κενά τεστ, κατάχρηση επανάληψης — ζουν στο επίπεδο καραντίνας. Τρέχουν μόνο με `--strict` και περιορίζονται σε σοβαρότητα `info`: ειδοποιούν, δεν μπλοκάρουν ποτέ. Η προεπιλεγμένη σάρωση (`npx mjolnir-qa@3.0.0` χωρίς `--strict`) καλύπτει μόνο βασικούς και εκτεταμένους κανόνες. Προσθέστε `--strict` όταν θέλετε και το επίπεδο συμβουλών.
|
|
62
76
|
|
|
63
77
|
Το Mjölnir διαβάζει τη σουίτα, τα CI workflows και, αν υπάρχει, την αναφορά μιας πραγματικής εκτέλεσης. Δεν εκτελεί τα τεστ σας, δεν εγκαθιστά τις εξαρτήσεις σας και δεν εκτελεί τον κώδικα που σαρώνει. Κι όταν δεν έχει τεκμήρια, το λέει αντί να επινοεί βεβαιότητα:
|
|
64
78
|
|
|
@@ -93,7 +107,7 @@ npx mjolnir-qa@latest
|
|
|
93
107
|
|
|
94
108
|
<p align="center">
|
|
95
109
|
<a href="assets/video/mjolnir-demo.mp4">
|
|
96
|
-
<img src="assets/video/mjolnir-demo-poster.png" alt="Ένα καρέ της εγγραφής επίδειξης: το npx mjolnir-qa@
|
|
110
|
+
<img src="assets/video/mjolnir-demo-poster.png" alt="Ένα καρέ της εγγραφής επίδειξης: το npx mjolnir-qa@3.0.0 σαρώνει το αποθετήριο επίδειξης σε ένα παράθυρο τερματικού" width="900" />
|
|
97
111
|
</a>
|
|
98
112
|
</p>
|
|
99
113
|
|
|
@@ -162,7 +176,7 @@ Docs: mjolnir rules --md (full catalog, this rule included)
|
|
|
162
176
|
## Γρήγορη εκκίνηση
|
|
163
177
|
|
|
164
178
|
```bash
|
|
165
|
-
npx mjolnir-qa@
|
|
179
|
+
npx mjolnir-qa@3.0.0
|
|
166
180
|
```
|
|
167
181
|
|
|
168
182
|
Σαρώνει τον τρέχοντα κατάλογο και τυπώνει το Trust Report: τι βρήκε, πόσο μπορείτε να το εμπιστευτείτε, γιατί και τι να κάνετε μετά. Τερματίζει με `0` όταν δεν βρέθηκε τίποτα στο επίπεδο της πύλης ή πάνω από αυτό.
|
|
@@ -170,24 +184,39 @@ npx mjolnir-qa@latest
|
|
|
170
184
|
Στο CI, σαρώστε μόνο ό,τι εισήγαγε το branch, ώστε μια παλιά σουίτα να μη πνίξει το πρώτο σας pull request:
|
|
171
185
|
|
|
172
186
|
```bash
|
|
173
|
-
npx mjolnir-qa@
|
|
187
|
+
npx mjolnir-qa@3.0.0 --scope changed
|
|
174
188
|
```
|
|
175
189
|
|
|
176
|
-
Το `mjolnir ci install` το γράφει ως GitHub Actions workflow, χρησιμοποιώντας το [action](https://github.com/Sergey-Bar/Mjolnir#readme) καρφιτσωμένο στο κύριο tag `
|
|
177
|
-
|
|
178
|
-
| Εντολή
|
|
179
|
-
|
|
|
180
|
-
| `mjolnir`
|
|
181
|
-
| `mjolnir --scope changed`
|
|
182
|
-
| `mjolnir ci install`
|
|
183
|
-
| `mjolnir
|
|
184
|
-
| `mjolnir
|
|
185
|
-
| `mjolnir
|
|
186
|
-
| `mjolnir
|
|
187
|
-
| `mjolnir
|
|
188
|
-
| `mjolnir
|
|
189
|
-
| `mjolnir
|
|
190
|
-
| `mjolnir --
|
|
190
|
+
Το `mjolnir ci install` το γράφει ως GitHub Actions workflow, χρησιμοποιώντας το [action](https://github.com/Sergey-Bar/Mjolnir#readme) καρφιτσωμένο στο κύριο tag `v3` (ή απλό `npx` με `--no-action`). Παραμένει συμβουλευτικό μέχρι να αποφασίσετε ότι πρέπει να μπλοκάρει.
|
|
191
|
+
|
|
192
|
+
| Εντολή | Τι κάνει |
|
|
193
|
+
| --------------------------------------------- | ------------------------------------------------------------------- |
|
|
194
|
+
| `mjolnir` | Trust Report: ετυμηγορία, βεβαιότητα, επόμενη ενέργεια |
|
|
195
|
+
| `mjolnir --scope changed` | Μόνο ό,τι εισήγαγε το branch σας (η μορφή για CI) |
|
|
196
|
+
| `mjolnir ci install` | Δημιουργεί το συμβουλευτικό workflow για PR (βασισμένο στο action) |
|
|
197
|
+
| `mjolnir business-case` | ROI estimate: projected savings per finding |
|
|
198
|
+
| `mjolnir release-report` | Release readiness: GO, CONDITIONAL GO, or NO-GO |
|
|
199
|
+
| `mjolnir release-trust` | 12-dimension release assurance verdict |
|
|
200
|
+
| `mjolnir report` | Generate a Playwright-compatible report |
|
|
201
|
+
| `mjolnir trend` | Record, show, or diff local quality snapshots |
|
|
202
|
+
| `mjolnir policy` | Initialize, validate, or check policy gates |
|
|
203
|
+
| `mjolnir quarantine` | Review deterministic proposals (prototype) |
|
|
204
|
+
| `mjolnir analyze --cross-file` | Bounded cross-file analysis |
|
|
205
|
+
| `mjolnir ci-adapter github .` | Generate CI templates for supported providers |
|
|
206
|
+
| `mjolnir dashboard` | Generate a self-contained quality dashboard |
|
|
207
|
+
| `mjolnir exec-report` | Executive KPIs and recommendations (advisory) |
|
|
208
|
+
| `mjolnir enterprise` | Self-hosted templates (prototype) |
|
|
209
|
+
| `mjolnir maturity` | Assess maturity or display maturity levels |
|
|
210
|
+
| `mjolnir mutation tests/mutation-report.json` | Analyze mutation reports; never promotes trust |
|
|
211
|
+
| `mjolnir mcp` | Read-only MCP tools over stdio |
|
|
212
|
+
| `mjolnir explain QA-CI-001` | Τι, γιατί και διόρθωση, συν το μετρημένο ποσοστό FP |
|
|
213
|
+
| `mjolnir why src/a.spec.ts:42` | Γιατί σημειώθηκε ακριβώς αυτή η γραμμή. Δεν μπλοκάρει ποτέ. |
|
|
214
|
+
| `mjolnir forensics ./test-results/` | Τεκμήρια χρόνου εκτέλεσης από πραγματική εκτέλεση |
|
|
215
|
+
| `mjolnir trust-report` | Αυτόνομο Trust Artifact (md + json) |
|
|
216
|
+
| `mjolnir handoff` | Σχέδιο αποκατάστασης για πράκτορα κώδικα |
|
|
217
|
+
| `mjolnir --json` / `--format sarif` | Έξοδος αναγνώσιμη από μηχανές, GitHub Code Scanning |
|
|
218
|
+
| `mjolnir --format codequality` | Αναφορά GitLab Code Quality (artifact του widget του MR) |
|
|
219
|
+
| `mjolnir --strict` | Εκτελεί επίσης κανόνες επιπέδου quarantine (υψηλότερος κίνδυνος FP) |
|
|
191
220
|
|
|
192
221
|
<details>
|
|
193
222
|
<summary><strong>Όλες οι υπόλοιπες εντολές</strong> — διαλογή ασταθών τεστ, αναφορές, διακυβέρνηση</summary>
|
|
@@ -452,18 +481,18 @@ mjolnir ci install
|
|
|
452
481
|
Ή προσθέστε το action του Marketplace σε ένα workflow που ήδη έχετε:
|
|
453
482
|
|
|
454
483
|
```yaml
|
|
455
|
-
- uses: Sergey-Bar/Mjolnir@
|
|
484
|
+
- uses: Sergey-Bar/Mjolnir@v3
|
|
456
485
|
with:
|
|
457
486
|
scope: changed
|
|
458
487
|
fail-on: error
|
|
459
488
|
```
|
|
460
489
|
|
|
461
|
-
Καρφιτσώστε το `@
|
|
490
|
+
Καρφιτσώστε το `@v3` για να ακολουθείτε την κύρια γραμμή, ή ένα ακριβές tag (`@v0.5.32`) για αναπαραγώγιμη πύλη. Το [docs/DISTRIBUTION-KIT.md](docs/DISTRIBUTION-KIT.md) καλύπτει το Marketplace, το Smithery και τα μητρώα MCP.
|
|
462
491
|
|
|
463
492
|
Για να στείλετε τα ευρήματα στο GitHub Code Scanning, ανεβάστε SARIF (απαιτεί `security-events: write` σε επίπεδο workflow ή job):
|
|
464
493
|
|
|
465
494
|
```yaml
|
|
466
|
-
- run: npx mjolnir-qa@
|
|
495
|
+
- run: npx mjolnir-qa@3.0.0 --format sarif > mjolnir.sarif
|
|
467
496
|
continue-on-error: true
|
|
468
497
|
- uses: github/codeql-action/upload-sarif@v3
|
|
469
498
|
if: ${{ !cancelled() }}
|
|
@@ -476,7 +505,7 @@ mjolnir ci install
|
|
|
476
505
|
### Απόδοση στο εύρος των αλλαγών
|
|
477
506
|
|
|
478
507
|
```bash
|
|
479
|
-
npx mjolnir-qa@
|
|
508
|
+
npx mjolnir-qa@3.0.0 --scope changed
|
|
480
509
|
```
|
|
481
510
|
|
|
482
511
|
Τα ευρήματα αποδίδονται στις γραμμές που πρόσθεσε το branch σας, μετρημένες ως προς το **merge-base**. Το εύρος είναι το ίδιο σύνολο αρχείων που ανακαλύπτει μια πλήρης σάρωση (specs TS/JS και ρυθμίσεις adapters, `test_*.py`, `*Test.java`, `*Tests.cs`, `.github/workflows/*.yml`), συν τις αλλαγές χωρίς commit και τις μη παρακολουθούμενες, οπότε λειτουργεί πριν κάνετε commit. Η βάση επιλύεται με τη σειρά `main → master → origin/main → origin/master → origin/HEAD`· αντικαταστήστε τη με `--base <ref>`.
|
|
@@ -504,7 +533,7 @@ SCAN → EVIDENCE → HANDOFF → AGENT → RE-SCAN → PROOF
|
|
|
504
533
|
Προσθέστε το σε έναν client που έχει δικό του CLI:
|
|
505
534
|
|
|
506
535
|
```bash
|
|
507
|
-
claude mcp add mjolnir -- npx -y mjolnir-qa@
|
|
536
|
+
claude mcp add mjolnir -- npx -y mjolnir-qa@3.0.0 mcp
|
|
508
537
|
```
|
|
509
538
|
|
|
510
539
|
Ή σε οποιονδήποτε client δέχεται ένα μπλοκ `mcpServers`:
|
|
@@ -512,7 +541,7 @@ claude mcp add mjolnir -- npx -y mjolnir-qa@latest mcp
|
|
|
512
541
|
```json
|
|
513
542
|
{
|
|
514
543
|
"mcpServers": {
|
|
515
|
-
"mjolnir": { "command": "npx", "args": ["-y", "mjolnir-qa@
|
|
544
|
+
"mjolnir": { "command": "npx", "args": ["-y", "mjolnir-qa@3.0.0", "mcp"] }
|
|
516
545
|
}
|
|
517
546
|
}
|
|
518
547
|
```
|
|
@@ -603,7 +632,7 @@ mjolnir create-rule QA-PW-140 --title "Screenshot without diff bound"
|
|
|
603
632
|
<img src="assets/readme/closing.svg" alt="Τρέξτε το στο αποθετήριό σας." width="100%" />
|
|
604
633
|
|
|
605
634
|
```bash
|
|
606
|
-
npx mjolnir-qa@
|
|
635
|
+
npx mjolnir-qa@3.0.0
|
|
607
636
|
```
|
|
608
637
|
|
|
609
638
|
[Διαβάστε τον οδηγό](https://sergey-bar.github.io/Mjolnir/guide/getting-started) · [Ιστότοπος τεκμηρίωσης](https://sergey-bar.github.io/Mjolnir/) · [npm](https://www.npmjs.com/package/mjolnir-qa)
|
package/README.he.md
CHANGED
|
@@ -18,7 +18,7 @@ Mjölnir מוצא בדיקות שלא יכולות להיכשל וצינורות
|
|
|
18
18
|
[](https://nodejs.org)
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
|
-
npx mjolnir-qa@
|
|
21
|
+
npx mjolnir-qa@3.0.0
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
[ראו את זה עובד](#ראו-את-זה-עובד) · [התחלה מהירה](#התחלה-מהירה) · [מה הוא מוצא](#מה-mjölnir-מוצא) · [ציון](#ציון-הראוּיוּת) · [ראיות](#מודל-הראיות) · [ניתוח ריצות](#ניתוח-ריצות-בדיקה) · [CI](#שלמות-ci) · [סוכנים](#סוכני-ai) · [אבטחה](#אמון-ואבטחה) · [מגבלות](#מה-mjölnir-לא-יכול-להגיד-לכם) · [תיעוד](#תיעוד)
|
|
@@ -28,9 +28,9 @@ npx mjolnir-qa@latest
|
|
|
28
28
|
|
|
29
29
|
[English](README.md) | [简体中文](README.zh.md) | [繁體中文](README.zht.md) | [한국어](README.ko.md) | [Deutsch](README.de.md) | [Español](README.es.md) | [Français](README.fr.md) | [Italiano](README.it.md) | [Dansk](README.da.md) | [日本語](README.ja.md) | [Polski](README.pl.md) | [Русский](README.ru.md) | [Norsk](README.no.md) | [Português (Brasil)](README.br.md) | [ไทย](README.th.md) | [Türkçe](README.tr.md) | [Українська](README.uk.md) | [বাংলা](README.bn.md) | [Ελληνικά](README.gr.md) | [Tiếng Việt](README.vi.md) | עברית | [العربية](README.ar.md) | [Bosanski](README.bs.md)
|
|
30
30
|
|
|
31
|
-
> 🤖 Machine-assisted translation. The [English README](README.md) is canonical. Last synced: 2026-09-
|
|
31
|
+
> 🤖 Machine-assisted translation. The [English README](README.md) is canonical. Last synced: 2026-09-26.
|
|
32
32
|
|
|
33
|
-
<!-- Source hash:
|
|
33
|
+
<!-- Source hash: `de04dfb1677b` -->
|
|
34
34
|
|
|
35
35
|
</details>
|
|
36
36
|
|
|
@@ -38,6 +38,20 @@ npx mjolnir-qa@latest
|
|
|
38
38
|
|
|
39
39
|
<br />
|
|
40
40
|
|
|
41
|
+
## Release status (English canonical)
|
|
42
|
+
|
|
43
|
+
The published line is `3.0.0`; this working tree is the `4.0.0-rc.1`
|
|
44
|
+
candidate. `3.0.0` must not be republished or retagged. The M26–M50 program is
|
|
45
|
+
tracked in
|
|
46
|
+
[`docs/ROADMAP.yaml`](docs/ROADMAP.yaml); provisional capability contracts
|
|
47
|
+
are not automatically enabled or certified. Repository-owned checks pass, but
|
|
48
|
+
Trust certification remains `NOT_CERTIFIED` until the protected holdout,
|
|
49
|
+
real-world, platform/consumer, remote-workflow, support-matrix, and corpus
|
|
50
|
+
evidence gates pass. Run `npm run m26:readiness` before treating any candidate
|
|
51
|
+
as releasable. This document does not publish a tag or authorize a release.
|
|
52
|
+
|
|
53
|
+
> Machine-assisted canonical text. Translate this block before treating it as localized copy.
|
|
54
|
+
|
|
41
55
|
## וי ירוק הוא טענה, לא הוכחה
|
|
42
56
|
|
|
43
57
|
וי ירוק אומר שהצינור לא נכשל. הוא לא אומר שהבדיקות רצו, או שהן יכלו להיכשל. כל אחד מאלה עובר בירוק:
|
|
@@ -58,7 +72,7 @@ npx mjolnir-qa@latest
|
|
|
58
72
|
|
|
59
73
|
<sub>כל ממצא שסריקת ההדגמה דיווחה עבור ה-workflow הזה, בשורה שדווחה. נוצר על ידי `npm run docs:readme-brand` מתוך [`demo-report.json`](assets/readme/demo-report.json) ונעול מפני סטייה ב-CI.</sub>
|
|
60
74
|
|
|
61
|
-
**מצב קפדני.** הגילויים התוקפניים ביותר — `.only`, `continue-on-error`, בדיקות ריקות, ניצול חוזר לרעה — חיים בשכבה בהסגר. הם פועלים רק תחת `--strict` ומוגבלים לחומרת `info`: הם מסמנים, אף פעם לא חוסמים. הסריקה ברירת המחדל (`npx mjolnir-qa@
|
|
75
|
+
**מצב קפדני.** הגילויים התוקפניים ביותר — `.only`, `continue-on-error`, בדיקות ריקות, ניצול חוזר לרעה — חיים בשכבה בהסגר. הם פועלים רק תחת `--strict` ומוגבלים לחומרת `info`: הם מסמנים, אף פעם לא חוסמים. הסריקה ברירת המחדל (`npx mjolnir-qa@3.0.0` ללא `--strict`) מכסה רק כללים בסיסיים ומורחבים. הוסף `--strict` כשאתה רוצה גם את שכבת הייעוץ.
|
|
62
76
|
|
|
63
77
|
Mjölnir קורא את חבילת הבדיקות, את ה-workflows של ה-CI, ואם יש לכם, גם את הדוח של ריצה אמיתית. הוא לא מריץ את הבדיקות שלכם, לא מתקין תלויות ולא מריץ את הקוד שהוא סורק. וכשאין לו ראיות, הוא אומר את זה במקום להמציא ביטחון:
|
|
64
78
|
|
|
@@ -93,7 +107,7 @@ Mjölnir קורא את חבילת הבדיקות, את ה-workflows של ה-CI,
|
|
|
93
107
|
|
|
94
108
|
<p align="center">
|
|
95
109
|
<a href="assets/video/mjolnir-demo.mp4">
|
|
96
|
-
<img src="assets/video/mjolnir-demo-poster.png" alt="פריים מהקלטת ההדגמה: npx mjolnir-qa@
|
|
110
|
+
<img src="assets/video/mjolnir-demo-poster.png" alt="פריים מהקלטת ההדגמה: npx mjolnir-qa@3.0.0 סורק את מאגר ההדגמה בחלון טרמינל" width="900" />
|
|
97
111
|
</a>
|
|
98
112
|
</p>
|
|
99
113
|
|
|
@@ -162,7 +176,7 @@ Docs: mjolnir rules --md (full catalog, this rule included)
|
|
|
162
176
|
## התחלה מהירה
|
|
163
177
|
|
|
164
178
|
```bash
|
|
165
|
-
npx mjolnir-qa@
|
|
179
|
+
npx mjolnir-qa@3.0.0
|
|
166
180
|
```
|
|
167
181
|
|
|
168
182
|
הוא סורק את התיקייה הנוכחית ומדפיס את ה-Trust Report: מה נמצא, עד כמה אפשר לסמוך על זה, למה, ומה לעשות הלאה. הוא יוצא עם `0` כשלא נמצא דבר ברמת השער או מעליה.
|
|
@@ -170,24 +184,39 @@ npx mjolnir-qa@latest
|
|
|
170
184
|
ב-CI, סרקו רק את מה שהענף הכניס, כדי שחבילת בדיקות ישנה לא תטביע את ה-pull request הראשון שלכם:
|
|
171
185
|
|
|
172
186
|
```bash
|
|
173
|
-
npx mjolnir-qa@
|
|
187
|
+
npx mjolnir-qa@3.0.0 --scope changed
|
|
174
188
|
```
|
|
175
189
|
|
|
176
|
-
`mjolnir ci install` כותב את זה כ-workflow של GitHub Actions, עם ה-[action](https://github.com/Sergey-Bar/Mjolnir#readme) מקובע לתגית הראשית `
|
|
177
|
-
|
|
178
|
-
| פקודה
|
|
179
|
-
|
|
|
180
|
-
| `mjolnir`
|
|
181
|
-
| `mjolnir --scope changed`
|
|
182
|
-
| `mjolnir ci install`
|
|
183
|
-
| `mjolnir
|
|
184
|
-
| `mjolnir
|
|
185
|
-
| `mjolnir
|
|
186
|
-
| `mjolnir
|
|
187
|
-
| `mjolnir
|
|
188
|
-
| `mjolnir
|
|
189
|
-
| `mjolnir
|
|
190
|
-
| `mjolnir --
|
|
190
|
+
`mjolnir ci install` כותב את זה כ-workflow של GitHub Actions, עם ה-[action](https://github.com/Sergey-Bar/Mjolnir#readme) מקובע לתגית הראשית `v3` (או `npx` רגיל עם `--no-action`). הוא נשאר מייעץ עד שתחליטו שהוא צריך לחסום.
|
|
191
|
+
|
|
192
|
+
| פקודה | מה היא עושה |
|
|
193
|
+
| --------------------------------------------- | -------------------------------------------------- |
|
|
194
|
+
| `mjolnir` | Trust Report: פסק דין, רמת ביטחון, הצעד הבא |
|
|
195
|
+
| `mjolnir --scope changed` | רק מה שהענף שלכם הכניס (הצורה ל-CI) |
|
|
196
|
+
| `mjolnir ci install` | יוצר את ה-workflow המייעץ ל-PR (מבוסס action) |
|
|
197
|
+
| `mjolnir business-case` | ROI estimate: projected savings per finding |
|
|
198
|
+
| `mjolnir release-report` | Release readiness: GO, CONDITIONAL GO, or NO-GO |
|
|
199
|
+
| `mjolnir release-trust` | 12-dimension release assurance verdict |
|
|
200
|
+
| `mjolnir report` | Generate a Playwright-compatible report |
|
|
201
|
+
| `mjolnir trend` | Record, show, or diff local quality snapshots |
|
|
202
|
+
| `mjolnir policy` | Initialize, validate, or check policy gates |
|
|
203
|
+
| `mjolnir quarantine` | Review deterministic proposals (prototype) |
|
|
204
|
+
| `mjolnir analyze --cross-file` | Bounded cross-file analysis |
|
|
205
|
+
| `mjolnir ci-adapter github .` | Generate CI templates for supported providers |
|
|
206
|
+
| `mjolnir dashboard` | Generate a self-contained quality dashboard |
|
|
207
|
+
| `mjolnir exec-report` | Executive KPIs and recommendations (advisory) |
|
|
208
|
+
| `mjolnir enterprise` | Self-hosted templates (prototype) |
|
|
209
|
+
| `mjolnir maturity` | Assess maturity or display maturity levels |
|
|
210
|
+
| `mjolnir mutation tests/mutation-report.json` | Analyze mutation reports; never promotes trust |
|
|
211
|
+
| `mjolnir mcp` | Read-only MCP tools over stdio |
|
|
212
|
+
| `mjolnir explain QA-CI-001` | מה, למה ואיך מתקנים, וגם שיעור ה-FP הנמדד |
|
|
213
|
+
| `mjolnir why src/a.spec.ts:42` | למה סומנה בדיוק השורה הזו. אף פעם לא חוסם. |
|
|
214
|
+
| `mjolnir forensics ./test-results/` | ראיות זמן ריצה מריצה אמיתית |
|
|
215
|
+
| `mjolnir trust-report` | Trust Artifact עצמאי (md + json) |
|
|
216
|
+
| `mjolnir handoff` | תוכנית תיקון לסוכן קוד |
|
|
217
|
+
| `mjolnir --json` / `--format sarif` | פלט קריא למכונה, GitHub Code Scanning |
|
|
218
|
+
| `mjolnir --format codequality` | דוח GitLab Code Quality (ארטיפקט לווידג'ט של ה-MR) |
|
|
219
|
+
| `mjolnir --strict` | מריץ גם כללים ברמת quarantine (סיכון FP גבוה יותר) |
|
|
191
220
|
|
|
192
221
|
<details>
|
|
193
222
|
<summary><strong>כל שאר הפקודות</strong> — מיון בדיקות לא יציבות, דיווח, ממשל</summary>
|
|
@@ -452,18 +481,18 @@ mjolnir ci install
|
|
|
452
481
|
או הוסיפו את ה-action מה-Marketplace ל-workflow שכבר יש לכם:
|
|
453
482
|
|
|
454
483
|
```yaml
|
|
455
|
-
- uses: Sergey-Bar/Mjolnir@
|
|
484
|
+
- uses: Sergey-Bar/Mjolnir@v3
|
|
456
485
|
with:
|
|
457
486
|
scope: changed
|
|
458
487
|
fail-on: error
|
|
459
488
|
```
|
|
460
489
|
|
|
461
|
-
קבעו את `@
|
|
490
|
+
קבעו את `@v3` כדי לעקוב אחרי הקו הראשי, או תגית מדויקת (`@v0.5.32`) לשער שניתן לשחזר. [docs/DISTRIBUTION-KIT.md](docs/DISTRIBUTION-KIT.md) מכסה את ה-Marketplace, את Smithery ואת רישומי ה-MCP.
|
|
462
491
|
|
|
463
492
|
כדי להכניס ממצאים ל-GitHub Code Scanning, העלו SARIF (דורש `security-events: write` ברמת workflow או job):
|
|
464
493
|
|
|
465
494
|
```yaml
|
|
466
|
-
- run: npx mjolnir-qa@
|
|
495
|
+
- run: npx mjolnir-qa@3.0.0 --format sarif > mjolnir.sarif
|
|
467
496
|
continue-on-error: true
|
|
468
497
|
- uses: github/codeql-action/upload-sarif@v3
|
|
469
498
|
if: ${{ !cancelled() }}
|
|
@@ -476,7 +505,7 @@ mjolnir ci install
|
|
|
476
505
|
### ייחוס בהיקף השינויים
|
|
477
506
|
|
|
478
507
|
```bash
|
|
479
|
-
npx mjolnir-qa@
|
|
508
|
+
npx mjolnir-qa@3.0.0 --scope changed
|
|
480
509
|
```
|
|
481
510
|
|
|
482
511
|
ממצאים מיוחסים לשורות שהענף שלכם הוסיף, ביחס ל-**merge-base**. ההיקף הוא אותה קבוצת קבצים שסריקה מלאה מגלה (קבצי spec של TS/JS ותצורות adapter, `test_*.py`, `*Test.java`, `*Tests.cs`, `.github/workflows/*.yml`), וגם שינויים שלא בוצע להם commit ושאינם במעקב, כך שזה עובד עוד לפני ה-commit. הבסיס נקבע בסדר `main → master → origin/main → origin/master → origin/HEAD`; אפשר לדרוס אותו עם `--base <ref>`.
|
|
@@ -504,7 +533,7 @@ SCAN → EVIDENCE → HANDOFF → AGENT → RE-SCAN → PROOF
|
|
|
504
533
|
הוסיפו אותו ללקוח שמגיע עם CLI משלו:
|
|
505
534
|
|
|
506
535
|
```bash
|
|
507
|
-
claude mcp add mjolnir -- npx -y mjolnir-qa@
|
|
536
|
+
claude mcp add mjolnir -- npx -y mjolnir-qa@3.0.0 mcp
|
|
508
537
|
```
|
|
509
538
|
|
|
510
539
|
או לכל לקוח שמקבל בלוק `mcpServers`:
|
|
@@ -512,7 +541,7 @@ claude mcp add mjolnir -- npx -y mjolnir-qa@latest mcp
|
|
|
512
541
|
```json
|
|
513
542
|
{
|
|
514
543
|
"mcpServers": {
|
|
515
|
-
"mjolnir": { "command": "npx", "args": ["-y", "mjolnir-qa@
|
|
544
|
+
"mjolnir": { "command": "npx", "args": ["-y", "mjolnir-qa@3.0.0", "mcp"] }
|
|
516
545
|
}
|
|
517
546
|
}
|
|
518
547
|
```
|
|
@@ -603,7 +632,7 @@ mjolnir create-rule QA-PW-140 --title "Screenshot without diff bound"
|
|
|
603
632
|
<img src="assets/readme/closing.svg" alt="הריצו אותו על המאגר שלכם." width="100%" />
|
|
604
633
|
|
|
605
634
|
```bash
|
|
606
|
-
npx mjolnir-qa@
|
|
635
|
+
npx mjolnir-qa@3.0.0
|
|
607
636
|
```
|
|
608
637
|
|
|
609
638
|
[לקריאת המדריך](https://sergey-bar.github.io/Mjolnir/guide/getting-started) · [אתר התיעוד](https://sergey-bar.github.io/Mjolnir/) · [npm](https://www.npmjs.com/package/mjolnir-qa)
|