bmad-plus 0.18.0 → 0.20.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 +26 -0
- package/README.md +15 -17
- package/package.json +1 -1
- package/readme-international/README.de.md +15 -17
- package/readme-international/README.es.md +15 -17
- package/readme-international/README.fr.md +15 -17
- package/src/bmad-plus/agents/agent-quality/SKILL.md +3 -2
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-03-triage.md +15 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review.md +41 -4
- package/src/bmad-plus/skills/bmad-plus-uat/ref/uat-results.schema.json +1 -0
- package/tools/cli/bmad-plus-cli.js +17 -4
- package/tools/cli/commands/review.js +261 -0
- package/tools/cli/commands/uat.js +16 -3
- package/tools/cli/lib/glob.js +73 -0
- package/tools/cli/lib/packs.js +1 -1
- package/tools/cli/lib/redact.js +116 -0
- package/tools/cli/lib/review-rules.js +156 -0
- package/tools/cli/lib/review.js +634 -0
- package/tools/cli/lib/uat.js +17 -1
- package/tools/cli/review-rules/ci-workflows.md +7 -0
- package/tools/cli/review-rules/configuration.md +5 -0
- package/tools/cli/review-rules/containers.md +6 -0
- package/tools/cli/review-rules/general.md +10 -0
- package/tools/cli/review-rules/index.yaml +36 -0
- package/tools/cli/review-rules/javascript-typescript.md +7 -0
- package/tools/cli/review-rules/python.md +6 -0
- package/tools/cli/review-rules/shell.md +6 -0
- package/tools/cli/review-rules/sql-and-migrations.md +6 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,32 @@ All notable changes to BMAD+ will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.20.0] - 2026-09-28
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **Review rules by path.** `review scope` writes `checklist.md`: each rule that applies to the changed paths, once, with the files it covers. Eight built-in rules written for BMAD+ (general, JavaScript/TypeScript, Python, SQL and migrations, shell, CI workflows, containers, configuration); a project adds, replaces or disables rules in `_bmad/review-rules.yaml`, whose documents are confined to `_bmad/` and size-capped. The rule set is part of the scope hash. A finding may name its `rule`; one that does not apply to its path is refused. `review rules [path]` shows the effective rules.
|
|
13
|
+
- **Effort.** `review scope --effort low|medium|high` seals the depth in the scope and prints a plan: passes, refutation, survey first on large changes, parallel units when there are several.
|
|
14
|
+
- **`review compare <id> --since <earlier-id>`** sorts findings into new, persisting, refuted, resolved and not reviewed. A finding is matched by path, category and quote, never by line; renamed files are followed. A finding gone from a file the later review did not complete is not reviewed, never resolved.
|
|
15
|
+
- **Redaction floor.** Credential-like values (key blocks, URL credentials, authorization headers, credential-named assignments, well-known token shapes) become `[REDACTED]` in anchored review findings and in acceptance-run notes before `uat serve` or `uat import` writes them; references such as `process.env.X` or `${{ secrets.X }}` are kept. Each record counts its `redactions`.
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
|
|
19
|
+
- Every command gives the terminal back. In an interactive terminal the CLI kept its standard input open after the command had finished, so the shell prompt only returned after Ctrl+C. A test now runs the CLI under a pseudo-terminal whose input stays open.
|
|
20
|
+
- The release workflow tolerates a distribution remote left by an earlier run on a self-hosted runner, and always removes the distribution credential from the workspace at the end of the job.
|
|
21
|
+
|
|
22
|
+
## [0.19.0] - 2026-09-27
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
|
|
26
|
+
- **`bmad-plus review` — evidence for code review.** `review scope <id>` seals what a review must cover: files changed since the merge base (or the working tree), each excluded file with its reason (secrets first and never re-included, binaries, deletions, generated or vendored files), ordered review units and a scope hash. `review anchor <id>` locates every finding by the code it quotes, never by a line number, and reports ambiguous or unlocated quotes. `review gate <id>` derives the verdict from coverage — incomplete, findings or clean — never from the number of findings. Findings use closed enums that are refused, not coerced, when unknown. The Dev Studio code-review workflow and Sentinel use it when the CLI is available. See `docs/specs/code-review-evidence.md`.
|
|
27
|
+
- Review triage keeps a finding by default and refutes it only on a quoted ground; security, data-loss and money findings without one stay unresolved. `tools/build/verify-action-pins.js` makes CI refuse a third-party action not pinned to a full commit.
|
|
28
|
+
|
|
29
|
+
### Fixed
|
|
30
|
+
|
|
31
|
+
- `review` and `uat` read JSON written by Windows PowerShell 5.1, whose `Set-Content -Encoding utf8` adds a byte-order mark that JSON parsing refused.
|
|
32
|
+
- The release workflow accepts the one-element array current npm returns for `npm view … --json`; 0.18.0 was published intact and then wrongly reported as mismatched.
|
|
33
|
+
|
|
8
34
|
## [0.18.0] - 2026-09-25
|
|
9
35
|
|
|
10
36
|
### Added
|
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# BMAD+
|
|
2
2
|
|
|
3
|
-
[](https://www.npmjs.com/package/bmad-plus)
|
|
4
4
|
|
|
5
|
-
**Version 0.
|
|
5
|
+
**Version 0.20.0** · Node.js `>=20.0.0` · MIT
|
|
6
6
|
|
|
7
7
|
Project-local AI development workflows with clear roles, shared context, safe updates and coding-tool adapters
|
|
8
8
|
|
|
@@ -35,7 +35,7 @@ Run the installer. Select the adapters for the AI tools you use and the packs yo
|
|
|
35
35
|
**In your project terminal:**
|
|
36
36
|
|
|
37
37
|
```sh
|
|
38
|
-
npx bmad-plus@0.
|
|
38
|
+
npx bmad-plus@0.20.0 install
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
The installer creates the agent instructions, shared project spine and selected tool adapters. Optional packs may need additional runtimes or API access.
|
|
@@ -71,7 +71,7 @@ Ask Sentinel to check the change against its acceptance criteria. Ask for test e
|
|
|
71
71
|
**In your AI assistant:**
|
|
72
72
|
|
|
73
73
|
```text
|
|
74
|
-
Sentinel, review this change against the acceptance criteria. Check the main success and failure paths, report remaining issues and summarize what the next session needs to know.
|
|
74
|
+
Sentinel, review this change against the acceptance criteria. Check the main success and failure paths, report remaining issues and summarize what the next session needs to know. If the BMAD+ CLI is available, seal the scope with bmad-plus review scope, apply the rules in its checklist, quote the code of every finding, account for every selected file, then report what bmad-plus review gate answers.
|
|
75
75
|
```
|
|
76
76
|
|
|
77
77
|
Read the changes and test results. The assistant follows the permissions and capabilities of its host tool.
|
|
@@ -171,20 +171,18 @@ Read AGENTS.md and the available project memory. Summarize the last verified sta
|
|
|
171
171
|
|
|
172
172
|
Expected result: a short, evidence-based restart. Project notes are useful context and still need to be checked against the current work.
|
|
173
173
|
|
|
174
|
-
## What’s new in 0.
|
|
174
|
+
## What’s new in 0.20.0
|
|
175
175
|
|
|
176
|
-
|
|
176
|
+
Review checklists, comparisons and masked secrets
|
|
177
177
|
|
|
178
|
-
|
|
178
|
+
bmad-plus review now hands the reviewer the rules that apply to the changed files, fixes the depth of a review before it starts, compares a review with an earlier one without calling an unchecked finding fixed, and masks credentials in what it writes. Nothing changes in how you install or update.
|
|
179
179
|
|
|
180
|
-
-
|
|
181
|
-
-
|
|
182
|
-
-
|
|
183
|
-
-
|
|
184
|
-
-
|
|
185
|
-
-
|
|
186
|
-
- uat build lists the sixteen guarantees the page carries and refuses a template that lost one; uat serve refuses an older copy of a run and any host name but its own. A name with no Latin letters signs its run with a stable hash.
|
|
187
|
-
- The acceptance skill tells the agent to build the page with the command, never write it by hand, play the essential pass in a real browser before handing it over, and say which checks ran. The page strings gain twenty-two sentences in ten languages.
|
|
180
|
+
- bmad-plus review scope writes checklist.md next to the scope: the review rules that apply to the changed files, each once, with the files it covers. Eight rules ship with BMAD+: general, JavaScript and TypeScript, Python, SQL and migrations, shell, CI workflows, containers and configuration.
|
|
181
|
+
- A project adds, replaces or disables rules in _bmad/review-rules.yaml. Rule documents must stay inside _bmad/ and are size-limited, and the rule set is part of the scope hash. bmad-plus review rules followed by a path shows the rules a file gets; a finding that names a rule not applying to its file is refused.
|
|
182
|
+
- --effort low, medium or high sets the number of passes and whether findings are challenged. A large change is surveyed before reading and reviewed in parallel units.
|
|
183
|
+
- bmad-plus review compare with --since and an earlier review id sorts findings into new, persisting, refuted, resolved and not reviewed. Findings are matched by file, category and quoted code, never by line, and renamed files are followed. A finding counts as resolved only when the later review completed its file.
|
|
184
|
+
- Keys, tokens, passwords and credentials in URLs are replaced by a REDACTED marker in anchored review findings and in acceptance-run notes before they are written. References such as process.env.X are kept, and each record counts its replacements.
|
|
185
|
+
- Every command now gives the terminal back when it finishes; before, the prompt only returned after Ctrl+C.
|
|
188
186
|
|
|
189
187
|
## Version History
|
|
190
188
|
|
|
@@ -192,9 +190,9 @@ These dates identify reviewed CHANGELOG notes, not npm publication dates. The we
|
|
|
192
190
|
|
|
193
191
|
| Version | Release-notes date | Reviewed summary |
|
|
194
192
|
| --- | --- | --- |
|
|
193
|
+
| 0.20.0 | 2026-09-28 | bmad-plus review now hands the reviewer the rules that apply to the changed files, fixes the depth of a review before it starts, compares a review with an earlier one without calling an unchecked finding fixed, and masks credentials in what it writes. Nothing changes in how you install or update. |
|
|
194
|
+
| 0.19.0 | 2026-09-27 | bmad-plus review seals what a review must cover, locates every finding by the code it quotes, and derives the verdict from coverage instead of the number of findings. Review triage now keeps a finding unless a quoted ground refutes it. Nothing changes in how you install or update. |
|
|
195
195
|
| 0.18.0 | 2026-09-25 | The acceptance page now verifies every save, restores your answers on reload before anything else, keeps runs from other revisions and other tabs apart, and names sixteen guarantees the build refuses to lose. Nothing changes in how you install or update; rebuild your recipe pages to get the new page. |
|
|
196
|
-
| 0.17.1 | 2026-09-24 | Installing over a different version now stops and points to update, re-installs keep your settings, and updates remove files a version no longer ships while keeping a restorable backup. Some install behaviors changed; review your scripts before rerunning them. |
|
|
197
|
-
| 0.17.0 | 2026-09-22 | Acceptance pages now prevent silent answer loss and empty exports, recipes build by their own identifier, and project release checks work directly with Node on Windows. Guides add practical prompts for reading results and preserving project context. |
|
|
198
196
|
|
|
199
197
|
[Release history and update guide](https://bmad-plus.rochetta.fr/docs/#changelog) · [All published npm versions](https://www.npmjs.com/package/bmad-plus?activeTab=versions)
|
|
200
198
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "bmad-plus",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.20.0",
|
|
5
5
|
"description": "Project-local AI development workflows with clear roles, shared context, safe updates and coding-tool adapters",
|
|
6
6
|
"homepage": "https://bmad-plus.rochetta.fr",
|
|
7
7
|
"keywords": [
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
<a href="../README.md">English</a> | <a href="README.fr.md">Français</a> | <a href="README.es.md">Español</a> | 🌐 <b>Deutsch</b>
|
|
5
5
|
</div>
|
|
6
6
|
|
|
7
|
-
[](https://www.npmjs.com/package/bmad-plus)
|
|
8
8
|
|
|
9
|
-
**Version 0.
|
|
9
|
+
**Version 0.20.0** · Node.js `>=20.0.0` · MIT
|
|
10
10
|
|
|
11
11
|
Projektlokale KI-Entwicklungsworkflows mit klaren Rollen, gemeinsamem Kontext, sicheren Updates und Adaptern für Coding-Tools.
|
|
12
12
|
|
|
@@ -39,7 +39,7 @@ Starte das Installationsprogramm. Wähle die Adapter deiner KI-Werkzeuge und die
|
|
|
39
39
|
**Im Terminal deines Projekts:**
|
|
40
40
|
|
|
41
41
|
```sh
|
|
42
|
-
npx bmad-plus@0.
|
|
42
|
+
npx bmad-plus@0.20.0 install
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
Die Installation erstellt Agentenanweisungen, die gemeinsame Projektbasis und die gewählten Adapter. Optionale Packs können weitere Laufzeitumgebungen oder API-Zugänge benötigen.
|
|
@@ -75,7 +75,7 @@ Bitte Sentinel, die Änderung anhand der Akzeptanzkriterien zu prüfen. Fordere
|
|
|
75
75
|
**In deinem KI-Assistenten:**
|
|
76
76
|
|
|
77
77
|
```text
|
|
78
|
-
Sentinel, prüfe diese Änderung anhand der Akzeptanzkriterien. Überprüfe die wichtigsten Erfolgs- und Fehlerfälle, nenne offene Probleme und fasse zusammen, was die nächste Sitzung wissen muss.
|
|
78
|
+
Sentinel, prüfe diese Änderung anhand der Akzeptanzkriterien. Überprüfe die wichtigsten Erfolgs- und Fehlerfälle, nenne offene Probleme und fasse zusammen, was die nächste Sitzung wissen muss. Wenn das BMAD+ CLI verfügbar ist, versiegle den Umfang mit bmad-plus review scope, wende die Regeln seiner Checkliste an, zitiere den Code jedes Befunds, belege jede ausgewählte Datei und berichte, was bmad-plus review gate antwortet.
|
|
79
79
|
```
|
|
80
80
|
|
|
81
81
|
Lies die Änderungen und Testergebnisse. Der Assistent arbeitet innerhalb der Rechte und Fähigkeiten seines Host-Werkzeugs.
|
|
@@ -175,20 +175,18 @@ Lies AGENTS.md und die verfügbare Projekterinnerung. Fasse den letzten geprüft
|
|
|
175
175
|
|
|
176
176
|
Erwartetes Ergebnis: ein kurzer, belegter Wiedereinstieg. Projektnotizen liefern Kontext und müssen mit dem aktuellen Stand abgeglichen werden.
|
|
177
177
|
|
|
178
|
-
## Neu in 0.
|
|
178
|
+
## Neu in 0.20.0
|
|
179
179
|
|
|
180
|
-
|
|
180
|
+
Review-Checklisten, Vergleiche und geschwärzte Geheimnisse
|
|
181
181
|
|
|
182
|
-
|
|
182
|
+
bmad-plus review gibt der prüfenden Person jetzt die Regeln, die für die geänderten Dateien gelten, legt die Tiefe eines Reviews vor Beginn fest, vergleicht ein Review mit einem früheren, ohne einen ungeprüften Befund für behoben zu erklären, und schwärzt Zugangsdaten in dem, was es schreibt. An Installation und Update ändert sich nichts.
|
|
183
183
|
|
|
184
|
-
-
|
|
185
|
-
-
|
|
186
|
-
-
|
|
187
|
-
-
|
|
188
|
-
-
|
|
189
|
-
-
|
|
190
|
-
- uat build listet die sechzehn Garantien der Seite auf und lehnt eine Vorlage ab, die eine verloren hat; uat serve lehnt eine ältere Kopie eines Durchlaufs und jeden fremden Hostnamen ab. Ein Name ohne lateinische Buchstaben signiert seinen Durchlauf mit einem stabilen Hash.
|
|
191
|
-
- Der Abnahme-Skill weist den Agenten an, die Seite mit dem Befehl zu bauen, nie von Hand, den wesentlichen Durchgang vor der Übergabe in einem echten Browser zu spielen und zu sagen, welche Prüfungen liefen. Die Seitentexte erhalten zweiundzwanzig Sätze in zehn Sprachen.
|
|
184
|
+
- bmad-plus review scope schreibt checklist.md neben den Umfang: die Review-Regeln, die für die geänderten Dateien gelten, jede einmal, mit den Dateien, die sie abdeckt. BMAD+ liefert acht Regeln mit: allgemein, JavaScript und TypeScript, Python, SQL und Migrationen, Shell, CI-Workflows, Container und Konfiguration.
|
|
185
|
+
- Ein Projekt ergänzt, ersetzt oder deaktiviert Regeln in _bmad/review-rules.yaml. Regeldokumente müssen in _bmad/ liegen und sind größenbegrenzt, und der Regelsatz gehört zum Hash des Umfangs. bmad-plus review rules mit einem Pfad zeigt die Regeln einer Datei; ein Befund, der eine Regel nennt, die nicht für seine Datei gilt, wird abgelehnt.
|
|
186
|
+
- --effort low, medium oder high legt die Zahl der Durchgänge fest und ob Befunde angefochten werden. Eine große Änderung wird zuerst im Überblick gesichtet und dann in parallelen Einheiten geprüft.
|
|
187
|
+
- bmad-plus review compare mit --since und der Kennung eines früheren Reviews ordnet Befunde in neu, fortbestehend, widerlegt, behoben und nicht geprüft. Befunde werden über Datei, Kategorie und zitierten Code erkannt, nie über die Zeile, und umbenannte Dateien werden verfolgt. Ein Befund gilt nur als behoben, wenn das spätere Review seine Datei abgeschlossen hat.
|
|
188
|
+
- Schlüssel, Tokens, Passwörter und Zugangsdaten in URLs werden in verankerten Befunden und in Abnahmenotizen vor dem Schreiben durch eine REDACTED-Markierung ersetzt. Verweise wie process.env.X bleiben erhalten, und jeder Datensatz zählt seine Ersetzungen.
|
|
189
|
+
- Jeder Befehl gibt das Terminal jetzt zurück, sobald er fertig ist; zuvor kam die Eingabeaufforderung erst nach Strg+C zurück.
|
|
192
190
|
|
|
193
191
|
## Versionsverlauf
|
|
194
192
|
|
|
@@ -196,9 +194,9 @@ Diese Daten bezeichnen geprüfte CHANGELOG-Einträge, nicht die Veröffentlichun
|
|
|
196
194
|
|
|
197
195
|
| Version | Datum der Notizen | Geprüfte Zusammenfassung |
|
|
198
196
|
| --- | --- | --- |
|
|
197
|
+
| 0.20.0 | 2026-09-28 | bmad-plus review gibt der prüfenden Person jetzt die Regeln, die für die geänderten Dateien gelten, legt die Tiefe eines Reviews vor Beginn fest, vergleicht ein Review mit einem früheren, ohne einen ungeprüften Befund für behoben zu erklären, und schwärzt Zugangsdaten in dem, was es schreibt. An Installation und Update ändert sich nichts. |
|
|
198
|
+
| 0.19.0 | 2026-09-27 | bmad-plus review versiegelt, was ein Review abdecken muss, findet jeden Befund über den Code, den er zitiert, und leitet das Urteil aus der Abdeckung ab statt aus der Zahl der Befunde. Die Review-Sichtung behält einen Befund jetzt, solange kein zitierter Grund ihn widerlegt. An Installation und Update ändert sich nichts. |
|
|
199
199
|
| 0.18.0 | 2026-09-25 | Die Abnahmeseite prüft jetzt jedes Speichern, stellt deine Antworten beim Neuladen vor allem anderen wieder her, hält Durchläufe anderer Fassungen und anderer Tabs auseinander und benennt sechzehn Garantien, die der Build nicht verlieren darf. An Installation und Update ändert sich nichts; baue deine Rezeptseiten neu, um die neue Seite zu erhalten. |
|
|
200
|
-
| 0.17.1 | 2026-09-24 | Eine Installation über eine andere Version bricht jetzt ab und verweist auf update, eine erneute Installation behält deine Einstellungen, und Updates entfernen Dateien, die eine Version nicht mehr mitliefert, mit wiederherstellbarer Sicherung. Einige Installationsabläufe ändern sich: Prüfe deine Skripte, bevor du sie erneut ausführst. |
|
|
201
|
-
| 0.17.0 | 2026-09-22 | Abnahmeseiten verhindern jetzt unbemerkt verlorene Antworten und leere Exporte. Rezepte lassen sich anhand ihrer Kennung erzeugen, und Veröffentlichungsprüfungen verwenden unter Windows direkt Node. Die Anleitungen ergänzen Prompts für die Ergebnisprüfung und die Sicherung des Projektkontexts. |
|
|
202
200
|
|
|
203
201
|
[Versionsverlauf und Update-Anleitung](https://bmad-plus.rochetta.fr/de/docs/#changelog) · [Alle veröffentlichten Versionen auf npm](https://www.npmjs.com/package/bmad-plus?activeTab=versions)
|
|
204
202
|
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
<a href="../README.md">English</a> | <a href="README.fr.md">Français</a> | 🌐 <b>Español</b> | <a href="README.de.md">Deutsch</a>
|
|
5
5
|
</div>
|
|
6
6
|
|
|
7
|
-
[](https://www.npmjs.com/package/bmad-plus)
|
|
8
8
|
|
|
9
|
-
**Versión 0.
|
|
9
|
+
**Versión 0.20.0** · Node.js `>=20.0.0` · MIT
|
|
10
10
|
|
|
11
11
|
Flujos de desarrollo con IA propios de cada proyecto, con roles claros, contexto compartido, actualizaciones seguras y adaptadores para herramientas de programación.
|
|
12
12
|
|
|
@@ -39,7 +39,7 @@ Ejecuta el instalador. Selecciona los adaptadores de tus herramientas de IA y lo
|
|
|
39
39
|
**En la terminal del proyecto:**
|
|
40
40
|
|
|
41
41
|
```sh
|
|
42
|
-
npx bmad-plus@0.
|
|
42
|
+
npx bmad-plus@0.20.0 install
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
El instalador crea las instrucciones de los agentes, la base compartida y los adaptadores seleccionados. Algunos packs opcionales necesitan otros entornos o acceso a API.
|
|
@@ -75,7 +75,7 @@ Pide a Sentinel que compruebe el cambio según los criterios de aceptación. Sol
|
|
|
75
75
|
**En tu asistente de IA:**
|
|
76
76
|
|
|
77
77
|
```text
|
|
78
|
-
Sentinel, revisa este cambio según los criterios de aceptación. Comprueba los principales casos de éxito y fallo, informa de los problemas pendientes y resume lo que necesita saber la próxima sesión.
|
|
78
|
+
Sentinel, revisa este cambio según los criterios de aceptación. Comprueba los principales casos de éxito y fallo, informa de los problemas pendientes y resume lo que necesita saber la próxima sesión. Si el CLI de BMAD+ está disponible, sella el alcance con bmad-plus review scope, aplica las reglas de su lista de revisión, cita el código de cada hallazgo, da cuenta de cada archivo seleccionado y comunica lo que responde bmad-plus review gate.
|
|
79
79
|
```
|
|
80
80
|
|
|
81
81
|
Lee los cambios y los resultados de las pruebas. El asistente sigue los permisos y las capacidades de su herramienta anfitriona.
|
|
@@ -175,20 +175,18 @@ Lee AGENTS.md y la memoria de proyecto disponible. Resume el último estado veri
|
|
|
175
175
|
|
|
176
176
|
Resultado esperado: una reanudación breve y fundamentada. Las notas aportan contexto que debe contrastarse con el trabajo actual.
|
|
177
177
|
|
|
178
|
-
## Novedades de la 0.
|
|
178
|
+
## Novedades de la 0.20.0
|
|
179
179
|
|
|
180
|
-
|
|
180
|
+
Listas de revisión, comparaciones y secretos ocultos
|
|
181
181
|
|
|
182
|
-
|
|
182
|
+
bmad-plus review ahora entrega a quien revisa las reglas que se aplican a los archivos modificados, fija la profundidad de una revisión antes de empezar, compara una revisión con otra anterior sin dar por corregido un hallazgo no comprobado y oculta las credenciales en lo que escribe. Nada cambia en la instalación ni en la actualización.
|
|
183
183
|
|
|
184
|
-
-
|
|
185
|
-
-
|
|
186
|
-
-
|
|
187
|
-
-
|
|
188
|
-
-
|
|
189
|
-
-
|
|
190
|
-
- uat build enumera las dieciséis garantías que lleva la página y rechaza una plantilla que haya perdido una; uat serve rechaza una copia más antigua de una prueba y cualquier nombre de host distinto del suyo. Un nombre sin letras latinas firma su prueba con una huella estable.
|
|
191
|
-
- La habilidad de aceptación indica al agente que construya la página con el comando, nunca a mano, que recorra el paso esencial en un navegador real antes de entregarla y que diga qué comprobaciones se ejecutaron. Los textos de la página ganan veintidós frases en diez idiomas.
|
|
184
|
+
- bmad-plus review scope escribe checklist.md junto al alcance: las reglas de revisión que se aplican a los archivos modificados, cada una una sola vez, con los archivos que cubre. BMAD+ incluye ocho reglas: general, JavaScript y TypeScript, Python, SQL y migraciones, shell, flujos de CI, contenedores y configuración.
|
|
185
|
+
- Un proyecto añade, sustituye o desactiva reglas en _bmad/review-rules.yaml. Los documentos de reglas deben estar dentro de _bmad/ con un tamaño limitado, y el conjunto de reglas forma parte del hash del alcance. bmad-plus review rules seguido de una ruta muestra las reglas de un archivo; se rechaza un hallazgo que cite una regla que no se aplica a su archivo.
|
|
186
|
+
- --effort low, medium o high fija el número de pasadas y si los hallazgos se cuestionan. Un cambio grande se examina primero en conjunto y luego se revisa en unidades paralelas.
|
|
187
|
+
- bmad-plus review compare con --since y el identificador de una revisión anterior clasifica los hallazgos en nuevos, persistentes, refutados, resueltos y no revisados. Los hallazgos se reconocen por archivo, categoría y código citado, nunca por línea, y se siguen los archivos renombrados. Un hallazgo solo cuenta como resuelto si la revisión posterior completó su archivo.
|
|
188
|
+
- Las claves, tokens, contraseñas y credenciales en URL se sustituyen por un marcador REDACTED en los hallazgos anclados y en las notas de aceptación antes de escribirlos. Se conservan referencias como process.env.X, y cada registro cuenta sus sustituciones.
|
|
189
|
+
- Cada comando devuelve ahora el control al terminal al terminar; antes, el prompt solo volvía tras Ctrl+C.
|
|
192
190
|
|
|
193
191
|
## Historial de versiones
|
|
194
192
|
|
|
@@ -196,9 +194,9 @@ Estas fechas identifican las notas revisadas del CHANGELOG, no las fechas de pub
|
|
|
196
194
|
|
|
197
195
|
| Versión | Fecha de las notas | Resumen revisado |
|
|
198
196
|
| --- | --- | --- |
|
|
197
|
+
| 0.20.0 | 2026-09-28 | bmad-plus review ahora entrega a quien revisa las reglas que se aplican a los archivos modificados, fija la profundidad de una revisión antes de empezar, compara una revisión con otra anterior sin dar por corregido un hallazgo no comprobado y oculta las credenciales en lo que escribe. Nada cambia en la instalación ni en la actualización. |
|
|
198
|
+
| 0.19.0 | 2026-09-27 | bmad-plus review sella lo que una revisión debe cubrir, localiza cada hallazgo por el código que cita y deduce el veredicto de la cobertura en lugar del número de hallazgos. La clasificación de las revisiones conserva ahora un hallazgo mientras ningún motivo citado lo refute. Nada cambia en la instalación ni en la actualización. |
|
|
199
199
|
| 0.18.0 | 2026-09-25 | La página de aceptación ahora verifica cada guardado, restaura tus respuestas al recargar antes que nada, mantiene separadas las pruebas de otras versiones y otras pestañas, y nombra dieciséis garantías que la construcción se niega a perder. Nada cambia en la instalación ni en la actualización; reconstruye tus páginas de receta para obtener la nueva página. |
|
|
200
|
-
| 0.17.1 | 2026-09-24 | Instalar sobre otra versión ahora se detiene y remite a update, una reinstalación conserva tus ajustes y las actualizaciones eliminan los archivos que una versión ya no incluye, con una copia restaurable. Algunos comportamientos de instalación cambian: revisa tus scripts antes de volver a ejecutarlos. |
|
|
201
|
-
| 0.17.0 | 2026-09-22 | Las páginas de aceptación evitan la pérdida silenciosa de respuestas y las exportaciones vacías. Las recetas se generan por su identificador y los controles de publicación usan Node directamente en Windows. Las guías añaden prompts para revisar resultados y conservar el contexto del proyecto. |
|
|
202
200
|
|
|
203
201
|
[Historial de versiones y guía de actualización](https://bmad-plus.rochetta.fr/es/docs/#changelog) · [Todas las versiones publicadas en npm](https://www.npmjs.com/package/bmad-plus?activeTab=versions)
|
|
204
202
|
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
<a href="../README.md">English</a> | 🌐 <b>Français</b> | <a href="README.es.md">Español</a> | <a href="README.de.md">Deutsch</a>
|
|
5
5
|
</div>
|
|
6
6
|
|
|
7
|
-
[](https://www.npmjs.com/package/bmad-plus)
|
|
8
8
|
|
|
9
|
-
**Version 0.
|
|
9
|
+
**Version 0.20.0** · Node.js `>=20.0.0` · MIT
|
|
10
10
|
|
|
11
11
|
Des workflows de développement IA propres à chaque projet, avec des rôles clairs, un contexte partagé, des mises à jour sûres et des adaptateurs pour vos outils de code.
|
|
12
12
|
|
|
@@ -39,7 +39,7 @@ Lancez l’installateur. Sélectionnez les adaptateurs de vos outils IA et les p
|
|
|
39
39
|
**Dans le terminal du projet :**
|
|
40
40
|
|
|
41
41
|
```sh
|
|
42
|
-
npx bmad-plus@0.
|
|
42
|
+
npx bmad-plus@0.20.0 install
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
L’installateur crée les instructions des agents, le socle partagé et les adaptateurs sélectionnés. Certains packs facultatifs nécessitent d’autres environnements ou des accès API.
|
|
@@ -75,7 +75,7 @@ Demandez à Sentinel de contrôler le changement selon les critères d’accepta
|
|
|
75
75
|
**Dans votre assistant IA :**
|
|
76
76
|
|
|
77
77
|
```text
|
|
78
|
-
Sentinel, relis ce changement selon les critères d’acceptation. Vérifie les principaux cas de réussite et d’échec, signale les problèmes restants et résume ce que la prochaine session doit savoir.
|
|
78
|
+
Sentinel, relis ce changement selon les critères d’acceptation. Vérifie les principaux cas de réussite et d’échec, signale les problèmes restants et résume ce que la prochaine session doit savoir. Si le CLI BMAD+ est disponible, scelle le périmètre avec bmad-plus review scope, applique les règles de sa checklist, cite le code de chaque remarque, rends compte de chaque fichier retenu, puis rapporte ce que répond bmad-plus review gate.
|
|
79
79
|
```
|
|
80
80
|
|
|
81
81
|
Relisez les changements et les résultats des tests. L’assistant suit les autorisations et les capacités de son outil hôte.
|
|
@@ -175,20 +175,18 @@ Lis AGENTS.md et la mémoire de projet disponible. Résume le dernier état vér
|
|
|
175
175
|
|
|
176
176
|
Résultat attendu : une reprise courte et fondée sur des éléments vérifiés. Les notes apportent du contexte, à confronter au travail actuel.
|
|
177
177
|
|
|
178
|
-
## Nouveautés de la 0.
|
|
178
|
+
## Nouveautés de la 0.20.0
|
|
179
179
|
|
|
180
|
-
|
|
180
|
+
Checklists de revue, comparaisons et secrets masqués
|
|
181
181
|
|
|
182
|
-
|
|
182
|
+
bmad-plus review donne désormais au relecteur les règles qui s’appliquent aux fichiers modifiés, fixe la profondeur d’une revue avant qu’elle commence, compare une revue avec une précédente sans déclarer corrigée une remarque non vérifiée, et masque les identifiants dans ce qu’il écrit. Rien ne change dans l’installation ou la mise à jour.
|
|
183
183
|
|
|
184
|
-
-
|
|
185
|
-
-
|
|
186
|
-
-
|
|
187
|
-
-
|
|
188
|
-
-
|
|
189
|
-
-
|
|
190
|
-
- uat build liste les seize garanties que porte la page et refuse un gabarit qui en a perdu une ; uat serve refuse une copie plus ancienne d’un passage et tout nom d’hôte autre que le sien. Un nom sans lettre latine signe son passage par une empreinte stable.
|
|
191
|
-
- Le skill de recette demande à l’agent de construire la page avec la commande, jamais à la main, de jouer le passage essentiel dans un vrai navigateur avant de la remettre, et de dire quels contrôles ont tourné. Les textes de la page gagnent vingt-deux phrases en dix langues.
|
|
184
|
+
- bmad-plus review scope écrit checklist.md à côté du périmètre : les règles de revue qui s’appliquent aux fichiers modifiés, chacune une fois, avec les fichiers qu’elle couvre. Huit règles sont livrées avec BMAD+ : générale, JavaScript et TypeScript, Python, SQL et migrations, shell, workflows CI, conteneurs et configuration.
|
|
185
|
+
- Un projet ajoute, remplace ou désactive des règles dans _bmad/review-rules.yaml. Les documents de règles restent dans _bmad/ avec une taille limitée, et l’ensemble des règles entre dans l’empreinte du périmètre. bmad-plus review rules suivi d’un chemin montre les règles d’un fichier ; une remarque qui cite une règle ne s’appliquant pas à son fichier est refusée.
|
|
186
|
+
- --effort low, medium ou high fixe le nombre de passes et la contestation des remarques. Un changement important est d’abord survolé, puis relu en unités parallèles.
|
|
187
|
+
- bmad-plus review compare avec --since et l’identifiant d’une revue précédente range les remarques en nouvelles, persistantes, réfutées, résolues et non revues. Les remarques sont reconnues par fichier, catégorie et code cité, jamais par ligne, et les fichiers renommés sont suivis. Une remarque n’est résolue que si la nouvelle revue a terminé son fichier.
|
|
188
|
+
- Clés, jetons, mots de passe et identifiants dans les URL sont remplacés par un marqueur REDACTED dans les remarques ancrées et dans les notes de recette avant leur écriture. Les références comme process.env.X sont conservées, et chaque enregistrement compte ses remplacements.
|
|
189
|
+
- Chaque commande rend désormais la main au terminal quand elle a fini ; auparavant, l’invite ne revenait qu’après Ctrl+C.
|
|
192
190
|
|
|
193
191
|
## Historique des versions
|
|
194
192
|
|
|
@@ -196,9 +194,9 @@ Ces dates identifient les notes relues du CHANGELOG, pas les dates de publicatio
|
|
|
196
194
|
|
|
197
195
|
| Version | Date des notes | Résumé relu |
|
|
198
196
|
| --- | --- | --- |
|
|
197
|
+
| 0.20.0 | 2026-09-28 | bmad-plus review donne désormais au relecteur les règles qui s’appliquent aux fichiers modifiés, fixe la profondeur d’une revue avant qu’elle commence, compare une revue avec une précédente sans déclarer corrigée une remarque non vérifiée, et masque les identifiants dans ce qu’il écrit. Rien ne change dans l’installation ou la mise à jour. |
|
|
198
|
+
| 0.19.0 | 2026-09-27 | bmad-plus review scelle ce qu’une revue doit couvrir, retrouve chaque remarque par le code qu’elle cite, et déduit le verdict de la couverture plutôt que du nombre de remarques. Le tri des revues garde désormais une remarque tant qu’un motif cité ne la réfute pas. Rien ne change dans l’installation ou la mise à jour. |
|
|
199
199
|
| 0.18.0 | 2026-09-25 | La page de recette vérifie désormais chaque enregistrement, restaure vos réponses au rechargement avant toute autre chose, distingue les passages d’autres révisions et d’autres onglets, et nomme seize garanties que la construction refuse de perdre. Rien ne change dans l’installation ou la mise à jour ; reconstruisez vos pages de recette pour obtenir la nouvelle page. |
|
|
200
|
-
| 0.17.1 | 2026-09-24 | Installer par-dessus une autre version s’arrête désormais et renvoie vers update, une réinstallation conserve vos réglages, et les mises à jour retirent les fichiers qu’une version ne livre plus en gardant une sauvegarde restaurable. Certains comportements d’installation changent : vérifiez vos scripts avant de les relancer. |
|
|
201
|
-
| 0.17.0 | 2026-09-22 | Les pages de recette empêchent désormais la perte silencieuse des réponses et les exports vides. Une recette se construit avec son identifiant, et les contrôles de publication utilisent directement Node sous Windows. Les guides ajoutent des prompts pour relire les résultats et conserver le contexte du projet. |
|
|
202
200
|
|
|
203
201
|
[Historique des versions et guide de mise à jour](https://bmad-plus.rochetta.fr/fr/docs/#changelog) · [Toutes les versions publiées sur npm](https://www.npmjs.com/package/bmad-plus?activeTab=versions)
|
|
204
202
|
|
|
@@ -60,9 +60,10 @@ When auto-activating a role, **announce it**: "💡 I'm switching to [Role] mode
|
|
|
60
60
|
1. Establish the intended behavior, review scope and current artifact set. Read relevant project instructions, callers, tests and requirements. Treat the author's summary and worker completion messages as claims to check, not acceptance evidence. Inspect removed behavior and reachable failure paths where the change makes them relevant.
|
|
61
61
|
2. Select only the review perspectives the task needs. When independent reviewers are authorized and available, give each the same baseline and a bounded question; launch the selected reviewers before using their findings to steer another review. Preserve their identities and returned evidence. Otherwise identify sequential perspectives as one assistant's work. An absent, failed or empty required response is incomplete; distinguish it from an explicit no-findings result after inspection.
|
|
62
62
|
3. Verify each suspected issue before grouping findings. Trace its trigger through the actual caller and guards, inspect counterevidence, and reproduce it when practical. A failure in an unreachable state is not an established defect. Check every source, including a reviewer that describes its own findings as pre-verified.
|
|
63
|
-
4. Keep a compact finding record with identity, source, location, claimed consequence, evidence or refutation, disposition, relevant input identity and next action. Use confirmed, refuted or unresolved; rank confirmed defects by impact and likelihood. Preserve previous entries when their disposition changes. Group confirmed findings only when the same cause explains them, retaining each source record. Do not merge away a refutation or impose a finding quota.
|
|
63
|
+
4. Keep a compact finding record with identity, source, location, claimed consequence, evidence or refutation, disposition, relevant input identity and next action. The default disposition is keep: refute only on a quoted ground — the described construct is absent from the file, the code contradicts the claim (guard, caller or test quoted), or another entry already carries the same cause — and write the analysis before the disposition. A security, data-loss or money finding without such a quote stays unresolved. Use confirmed, refuted or unresolved; rank confirmed defects by impact and likelihood. Preserve previous entries when their disposition changes. Group confirmed findings only when the same cause explains them, retaining each source record. Do not merge away a refutation or impose a finding quota.
|
|
64
64
|
5. Inspect verification at the actual consumer. Read assertions and check how tests are selected before judging their coverage. Search relevant symbols and imports before asserting that coverage is absent. For a verification gap, name the consumer and a concrete regression or missed adoption that the current checks would fail to catch. Skipped tests, mocks that bypass the changed path and helper-only success do not prove that consumer works.
|
|
65
|
-
6.
|
|
65
|
+
6. When the BMAD+ CLI is available, back a code review with its evidence: `bmad-plus review scope <id>` before reading (its `checklist.md` holds the review rules that apply to the changed paths, and `--effort` sets the passes), then `findings.json` with every finding quoting its code verbatim and `coverage.json` accounting for every selected file, then `bmad-plus review anchor <id>` and `bmad-plus review gate <id>`. Report the gate's disposition (incomplete, findings or clean) without upgrading it. On a second review of the same work, `bmad-plus review compare <id> --since <earlier-id>`: a finding gone from a file this review did not complete is not reviewed, never fixed.
|
|
66
|
+
7. Reconcile acceptance using executed commands or direct observations against the current artifact set. Record passed, failed, skipped and unavailable checks separately. A missing required reviewer or untested criterion prevents a completed-acceptance claim, even when the remaining checks pass. A same-author review must not be described as independent verification.
|
|
66
67
|
|
|
67
68
|
## Repair and continuation
|
|
68
69
|
|
|
@@ -8,6 +8,21 @@ For each suspected issue, inspect the supporting code and counterevidence. Remov
|
|
|
8
8
|
duplicates and distinguish a behavioral defect from a style preference. Retain
|
|
9
9
|
the reason a suspicion was refuted so continuation does not repeat it.
|
|
10
10
|
|
|
11
|
+
Refutation protocol. The default disposition is keep: removing a correct finding
|
|
12
|
+
costs more than keeping a wrong one. A finding moves to refuted only on one of
|
|
13
|
+
three citable grounds, and the citation goes into the record:
|
|
14
|
+
|
|
15
|
+
- **A — absent**: the construct the finding describes is not in the subject file;
|
|
16
|
+
quote what the file contains at that place.
|
|
17
|
+
- **B — contradicted**: the code refutes the claim; quote the guard, caller or
|
|
18
|
+
test that makes the failure unreachable.
|
|
19
|
+
- **C — duplicate**: another retained entry describes the same cause; name it.
|
|
20
|
+
|
|
21
|
+
Write the analysis before the disposition. Findings on security, data loss,
|
|
22
|
+
money or access control need ground A or B quoted; without it they stay
|
|
23
|
+
unresolved, never refuted. "Unlikely", "probably handled" and style disagreement
|
|
24
|
+
are not grounds.
|
|
25
|
+
|
|
11
26
|
A retained finding needs a file/line, trigger, consequence, evidence, confidence
|
|
12
27
|
and proportionate fix direction. Set severity from actual impact and likelihood.
|
|
13
28
|
Unsupported speculation belongs in open questions.
|
|
@@ -17,9 +17,22 @@ arbitrary branch. Read the intended behavior and applicable project constraints.
|
|
|
17
17
|
|
|
18
18
|
## Procedure
|
|
19
19
|
|
|
20
|
-
1. Define the review scope and baseline.
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
1. Define the review scope and baseline. When the BMAD+ CLI is available, seal it:
|
|
21
|
+
`bmad-plus review scope <id> --base <ref>` (or `--workspace` for uncommitted
|
|
22
|
+
work) writes `_bmad-output/review/<id>/scope.json` with every selected file,
|
|
23
|
+
every excluded file and its reason (secret, binary, deleted, generated), and
|
|
24
|
+
ordered review units. Never read or quote an excluded secret file. Choose the
|
|
25
|
+
depth with `--effort low|medium|high` (one pass without refutation; two passes
|
|
26
|
+
with refutation, the default; three passes) and follow the `plan` the scope
|
|
27
|
+
prints: survey the whole change before reading when it says `planFirst`, and
|
|
28
|
+
review units in parallel when it says `parallelUnits`. Read `checklist.md`
|
|
29
|
+
beside the scope: it holds, once each, the review rules that apply to the
|
|
30
|
+
selected paths — built-in rules by language and file kind, plus the project's
|
|
31
|
+
own from `_bmad/review-rules.yaml`, which can add, replace or disable rules.
|
|
32
|
+
`bmad-plus review rules <path>` shows which rules a file gets. Inventory
|
|
33
|
+
related callers, tests and requirements. Preserve existing edits and record
|
|
34
|
+
unavailable context. A supplied diff may omit the surrounding behavior needed
|
|
35
|
+
to evaluate it.
|
|
23
36
|
2. Review the intended behavior, invariants and relevant failure boundaries.
|
|
24
37
|
Check control flow, data changes, interface compatibility and test assertions.
|
|
25
38
|
Add concurrency, permissions, input validation, recovery or UX perspectives
|
|
@@ -34,7 +47,14 @@ arbitrary branch. Read the intended behavior and applicable project constraints.
|
|
|
34
47
|
practical and within the task. Do not alter product code during a review
|
|
35
48
|
unless fixes are also authorized.
|
|
36
49
|
5. Triage the results. Remove duplicates, distinguish defects from preferences,
|
|
37
|
-
and retain the reason when a suspicion is refuted.
|
|
50
|
+
and retain the reason when a suspicion is refuted. Keep a finding by default:
|
|
51
|
+
deleting a real defect costs more than keeping a doubtful one. Refute it only
|
|
52
|
+
on a citable ground — (A) the construct it describes is absent from the file,
|
|
53
|
+
quoted from the file; (B) the claim contradicts the code, the named guard or
|
|
54
|
+
caller quoted; (C) it is a duplicate, the surviving entry named. Write the
|
|
55
|
+
analysis before the disposition. A finding on security, data loss or money
|
|
56
|
+
that meets none of these grounds stays unresolved, never refuted by judgment.
|
|
57
|
+
Doubt and taste are not grounds. For a retained issue,
|
|
38
58
|
provide file/line, trigger, consequence, supporting evidence, confidence and a
|
|
39
59
|
proportionate fix direction. Severity follows impact and likelihood, not tone.
|
|
40
60
|
6. Reconcile acceptance coverage and review limitations. Record checks actually
|
|
@@ -43,6 +63,23 @@ arbitrary branch. Read the intended behavior and applicable project constraints.
|
|
|
43
63
|
7. Deliver findings in impact order, followed by the scoped conclusion and
|
|
44
64
|
evidence limits. Zero findings is valid after inspection; it means no
|
|
45
65
|
actionable defect was found within that reviewed scope.
|
|
66
|
+
8. With a sealed scope, record the evidence the CLI can check, in the same folder:
|
|
67
|
+
`findings.json` (`bmad-plus/review-findings/1`: every finding, refuted ones
|
|
68
|
+
included, each quoting `existing_code` verbatim from the file — never a line
|
|
69
|
+
number) and `coverage.json` (`bmad-plus/review-coverage/1`: every selected file
|
|
70
|
+
as completed, failed or waived with a reason). Run `bmad-plus review anchor <id>`
|
|
71
|
+
and requote any finding it reports ambiguous or unlocated; then
|
|
72
|
+
`bmad-plus review gate <id>`. Report its disposition as it is: `incomplete`
|
|
73
|
+
when a selected file is unaccounted for or a finding is not anchored, `findings`
|
|
74
|
+
or `clean` otherwise. `clean` covers the reviewed scope only. A finding that
|
|
75
|
+
applies a checklist rule names it in `rule`; the CLI refuses a rule that does
|
|
76
|
+
not apply to that path. The anchored record replaces credential-like values
|
|
77
|
+
quoted in a finding with `[REDACTED]` and counts them.
|
|
78
|
+
9. On a second review of the same work, compare it with the earlier one:
|
|
79
|
+
`bmad-plus review compare <id> --since <earlier-id>` writes `compare.json`
|
|
80
|
+
with each finding new, persisting, refuted, resolved or not reviewed. An
|
|
81
|
+
earlier finding counts as resolved only when this review completed its file;
|
|
82
|
+
otherwise it is not reviewed, never fixed. Renamed files are followed.
|
|
46
83
|
|
|
47
84
|
## Output and acceptance
|
|
48
85
|
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
"updatedAt": { "type": "string", "format": "date-time" },
|
|
21
21
|
"finishedAt": { "type": ["string", "null"], "format": "date-time" },
|
|
22
22
|
"overallNote": { "type": "string" },
|
|
23
|
+
"redactions": { "type": "integer", "minimum": 1, "description": "Credential-like values replaced by [REDACTED] in the notes before the run was written. Absent when nothing was replaced." },
|
|
23
24
|
"carriedFrom": {
|
|
24
25
|
"type": "object",
|
|
25
26
|
"description": "Present when the page continued a run that answered another revision of the recipe. The rule is fixed: an answer travelled only when its line was identical (same step, same letter, same text); every other line was asked again. The earlier run is left untouched.",
|
|
@@ -119,6 +119,7 @@ for (const modulePath of [
|
|
|
119
119
|
'./commands/studio',
|
|
120
120
|
'./commands/nexus',
|
|
121
121
|
'./commands/uat',
|
|
122
|
+
'./commands/review',
|
|
122
123
|
]) {
|
|
123
124
|
const command = require(modulePath);
|
|
124
125
|
const configured = program.command(command.command).description(command.description);
|
|
@@ -127,8 +128,20 @@ for (const modulePath of [
|
|
|
127
128
|
configured.action(command.action);
|
|
128
129
|
}
|
|
129
130
|
|
|
131
|
+
// Stdin is resumed above so prompts work on Windows. Once the command has settled
|
|
132
|
+
// nothing reads it, and a resumed terminal would keep the process alive: the shell
|
|
133
|
+
// never got its prompt back until Ctrl+C (0.20.0 acceptance run).
|
|
134
|
+
function releaseStdin() {
|
|
135
|
+
if (!process.stdin.isTTY) return;
|
|
136
|
+
process.stdin.pause();
|
|
137
|
+
process.stdin.unref();
|
|
138
|
+
}
|
|
139
|
+
|
|
130
140
|
// Await asynchronous registry checks and updates before completing the CLI.
|
|
131
|
-
program
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
});
|
|
141
|
+
program
|
|
142
|
+
.parseAsync(process.argv)
|
|
143
|
+
.catch((error) => {
|
|
144
|
+
console.error(`BMAD+: ${error.message}`);
|
|
145
|
+
process.exitCode = 1;
|
|
146
|
+
})
|
|
147
|
+
.finally(releaseStdin);
|