bmad-plus 0.22.0 → 0.23.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 +19 -0
- package/README.md +23 -13
- package/SECURITY.md +1 -1
- package/package.json +4 -1
- package/readme-international/README.de.md +23 -13
- package/readme-international/README.es.md +23 -13
- package/readme-international/README.fr.md +23 -13
- package/src/bmad-plus/agents/agent-orchestrator/SKILL.md +5 -1
- package/src/bmad-plus/data/role-triggers.yaml +34 -0
- package/src/bmad-plus/module-help.csv +2 -0
- package/src/bmad-plus/module.yaml +21 -0
- package/src/bmad-plus/packs/pack-design/SKILL.md +72 -0
- package/src/bmad-plus/packs/pack-design/bmad-skill-manifest.yaml +13 -0
- package/src/bmad-plus/packs/pack-design/design-engine.md +126 -0
- package/src/bmad-plus/packs/pack-design/intake.yaml +105 -0
- package/src/bmad-plus/skills/bmad-plus-autopilot/SKILL.md +7 -0
- package/src/bmad-plus/skills/bmad-plus-intake/SKILL.md +87 -0
- package/src/bmad-plus/skills/bmad-plus-intake/ref/intake-format.md +112 -0
- package/src/bmad-plus/skills/bmad-plus-parallel/SKILL.md +18 -0
- package/src/bmad-plus/skills/bmad-plus-swarm/SKILL.md +115 -0
- package/src/bmad-plus/skills/bmad-plus-swarm/ref/definition.md +188 -0
- package/tools/build/adapters.config.js +2 -0
- package/tools/build/generate-adapters.js +25 -1
- package/tools/build/generate.js +269 -7
- package/tools/build/intake-contract.js +522 -0
- package/tools/cli/bmad-plus-cli.js +2 -0
- package/tools/cli/commands/install.js +28 -1
- package/tools/cli/commands/intake.js +124 -0
- package/tools/cli/commands/swarm.js +119 -0
- package/tools/cli/commands/uninstall.js +17 -0
- package/tools/cli/i18n.js +20 -0
- package/tools/cli/lib/intake.js +202 -0
- package/tools/cli/lib/pack-copy.js +95 -5
- package/tools/cli/lib/packs.js +97 -7
- package/tools/cli/lib/swarm-deal.js +116 -0
- package/tools/cli/lib/swarm-defaults.js +6 -0
- package/tools/cli/lib/swarm-tally.js +195 -0
- package/tools/cli/lib/swarm-validate.js +589 -0
- package/tools/cli/lib/swarm.js +712 -0
- package/tools/cli/lib/update-transaction.js +8 -4
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,25 @@ 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.23.0] - 2026-10-17
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **Pack intake** (`bmad-plus intake check|plan|record|render`, skill `bmad-plus-intake`). A pack declares the questions it needs answered before it acts (`intake.yaml`: sections, kinds, must-haves with the risk of not knowing, defaults, the artifact each answer feeds). `plan` says what is still missing and the next batch to ask, must-haves first and a few at a time; `record` writes only what the user gave, marks what they do not know, and never invents; `render` writes the brief that becomes the contract for everything the pack does next. The build validates every declared intake with the same contract the CLI uses.
|
|
13
|
+
- **Swarm runtime** (`bmad-plus swarm init|briefs|check|save|tally|inspect|plan`, skill `bmad-plus-swarm`). A pack declares a swarm (a panel dealt deterministically from a profile, a jury of listed lenses, or a fanout of units with disjoint write scopes); the CLI deals the cards under a seed, renders one brief per unit, validates each sub-agent's answer file, tallies rates, counts, verbatim quotes and numbers over valid answers only, and exports a fanout as a durable Nexus plan. A new `swarm` block in `_bmad/config.yaml` sets the budget of sub-agents a run may use before the host asks (26 by default) and keeps paid media generation out of any budget. The host spawns the sub-agents; the CLI never calls a model and never answers for a unit.
|
|
14
|
+
- **Skill packs in the registry.** `uses_skills` names the skills an agent drives (rendered on its roster line as `drives:`); `external_module` takes a pack's skills from a pinned npm package the installer copies into `.agents/skills/` with a version check; `pipelines` declares ordered workflow or agent steps with a checkpoint gate each, rendered step by step in the generated instructions; `intake` names the pack's intake file. All four are validated at build time.
|
|
15
|
+
- **Design pack (Atelier).** The design engine published as `design-skill` (three skills: `design`, `design-review`, `redesign`, with their reference modules) joins every installation as a referenced package, driven by the Atelier persona through an intake first. The pack ships a sealed evaluation, a shipping test and its trigger block; `pack-animated` stays until the brand-site pack supersedes it.
|
|
16
|
+
- **Trigger gate** (`npm run check:triggers`, Platform workflow). `role-triggers.yaml` may only name Core agents, pack personas and declared pipelines; a role needs patterns, and a pattern repeated within one agent is refused.
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- Nexus runs a pack's declared pipeline after its intake and runs swarms through `bmad-plus swarm` within the configured budget; autopilot's Discovery starts with the intake of every pack involved. The generated instructions tell an agent to read the `SKILL.md` of every skill it drives before acting.
|
|
21
|
+
- `bmad-plus install` lists every selected pack's files before writing any, so an unresolvable external module leaves the project untouched.
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
|
|
25
|
+
- `bmad-plus uninstall` removes the skills copied from an external module (found by the 0.23.0 acceptance run: the three Atelier skills stayed in `.agents/skills/` after uninstall). Edited copies stay, as for every other managed file, and nothing is removed when the package can no longer be compared.
|
|
26
|
+
|
|
8
27
|
## [0.22.0] - 2026-09-29
|
|
9
28
|
|
|
10
29
|
### 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.23.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.23.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.
|
|
@@ -98,6 +98,7 @@ Read the changes and test results. The assistant follows the permissions and cap
|
|
|
98
98
|
| Dev Studio | Specialized roles and workflows for product planning, design, engineering and documentation. |
|
|
99
99
|
| Backup | Instructions and utilities for timestamped backups, restoration and rotation. |
|
|
100
100
|
| Animated | A focused workflow for creating video-driven scrolling websites. |
|
|
101
|
+
| Design | Atelier, the design engine: build, audit and redesign interfaces under checkable rules, with an intake first. |
|
|
101
102
|
|
|
102
103
|
## Examples
|
|
103
104
|
|
|
@@ -151,6 +152,16 @@ Zecher, update this project’s memory from the changes and checks we actually c
|
|
|
151
152
|
|
|
152
153
|
Expected result: a concise current context, a dated session handoff and a restart prompt that identifies the next unfinished task.
|
|
153
154
|
|
|
155
|
+
### Design a screen with Atelier
|
|
156
|
+
|
|
157
|
+
Use with the optional Design pack installed. Atelier asks its questions first, then follows checkable rules.
|
|
158
|
+
|
|
159
|
+
```text
|
|
160
|
+
Atelier, run the design read for the invoice list of my app, build the screen, and end with the pre-flight verdict.
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Expected result: the recorded design read, the screen with every state covered, and the pre-flight verdict quoted as the last line.
|
|
164
|
+
|
|
154
165
|
### Read a test run without guessing
|
|
155
166
|
|
|
156
167
|
Use when a person has completed or stopped an acceptance run.
|
|
@@ -171,18 +182,17 @@ Read AGENTS.md and the available project memory. Summarize the last verified sta
|
|
|
171
182
|
|
|
172
183
|
Expected result: a short, evidence-based restart. Project notes are useful context and still need to be checked against the current work.
|
|
173
184
|
|
|
174
|
-
## What’s new in 0.
|
|
185
|
+
## What’s new in 0.23.0
|
|
175
186
|
|
|
176
|
-
|
|
187
|
+
Ask first, then swarm
|
|
177
188
|
|
|
178
|
-
|
|
189
|
+
A pack now declares the questions it needs answered before it acts, and Nexus can run a swarm of sub-agents, a simulated panel or a jury, within a budget you set. Atelier, the design engine, joins as the tenth pack. Installing and updating work as before.
|
|
179
190
|
|
|
180
|
-
-
|
|
181
|
-
-
|
|
182
|
-
- The
|
|
183
|
-
-
|
|
184
|
-
-
|
|
185
|
-
- The MCP server closes SSE streams cleanly when a client leaves or the server stops, and accepts token dates with a time-zone offset.
|
|
191
|
+
- bmad-plus intake asks a pack’s questions a few at a time, marks the must-haves, proposes defaults, records what you do not know with its risk, and renders the brief that becomes the contract for what the pack does next. Nothing in it is invented.
|
|
192
|
+
- bmad-plus swarm deals simulated units from a profile under a seed, writes one brief per sub-agent, validates every answer file, counts only valid answers, and states that simulated buyers are not customers. The swarm block in _bmad/config.yaml sets how many sub-agents run before the assistant asks you; paid media generation always asks.
|
|
193
|
+
- The registry now records which skills an agent drives, which npm package a pack’s skills come from, which pipeline steps and gates a pack declares and which intake it runs. The generated instructions carry all of it, so nothing is typed twice.
|
|
194
|
+
- Design pack: Atelier, built from the design-skill package, interviews you with a design read, then builds, audits or redesigns an interface under checkable rules. The installer copies its three skills with their reference modules, and doctor checks them.
|
|
195
|
+
- A trigger gate refuses auto-activation rules that name an agent or a pipeline the registry does not know, and the installer writes nothing when a pack’s files cannot all be listed first.
|
|
186
196
|
|
|
187
197
|
## Version History
|
|
188
198
|
|
|
@@ -190,9 +200,9 @@ These dates identify reviewed CHANGELOG notes, not npm publication dates. The we
|
|
|
190
200
|
|
|
191
201
|
| Version | Release-notes date | Reviewed summary |
|
|
192
202
|
| --- | --- | --- |
|
|
203
|
+
| 0.23.0 | 2026-10-17 | A pack now declares the questions it needs answered before it acts, and Nexus can run a swarm of sub-agents, a simulated panel or a jury, within a budget you set. Atelier, the design engine, joins as the tenth pack. Installing and updating work as before. |
|
|
193
204
|
| 0.22.0 | 2026-09-29 | BMAD+ now declares every way it sends data or starts a process, and its CI refuses anything undeclared. The recipe page and the SEO report load nothing from other sites, OSINT calls are HTTPS-only, and Shield gains an evidence-bound assurance case and an AI processing register. Nothing changes in how you install or update. |
|
|
194
205
|
| 0.21.0 | 2026-09-28 | A review now records why it stopped and what it used, writes a check a CI step can read, and resumes on the scope it sealed. The SEO fetcher connects only to addresses it has validated, and the MCP server moves to the official SDK on Python 3.12. Nothing changes in how you install or update. |
|
|
195
|
-
| 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. |
|
|
196
206
|
|
|
197
207
|
[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)
|
|
198
208
|
|
package/SECURITY.md
CHANGED
|
@@ -65,7 +65,7 @@ Security researchers who report valid vulnerabilities will be credited in the CH
|
|
|
65
65
|
- Production npm dependencies are audited before each release; high and critical findings block publication
|
|
66
66
|
- Maintained Python requirements are audited in CI and block publication on known findings
|
|
67
67
|
- The private legacy MCP ML stack has a separate, visible advisory audit and migration backlog; its findings do not describe the npm runtime
|
|
68
|
-
- Minimal dependency footprint (
|
|
68
|
+
- Minimal dependency footprint (7 runtime dependencies; `design-skill` contributes the skill files BMAD+ copies at install and a linker CLI that BMAD+ never runs)
|
|
69
69
|
- Bundled source notices are included in [THIRD-PARTY-LICENSES.md](THIRD-PARTY-LICENSES.md); npm runtime dependency licenses are recorded in the release SBOM
|
|
70
70
|
|
|
71
71
|
### Distribution Security
|
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.23.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": [
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"tools/build/adapters.config.js",
|
|
31
31
|
"tools/build/generate-adapters.js",
|
|
32
32
|
"tools/build/generate.js",
|
|
33
|
+
"tools/build/intake-contract.js",
|
|
33
34
|
"tools/build/module.template.yaml",
|
|
34
35
|
"tools/build/pack-delivery.js",
|
|
35
36
|
"src/bmad-plus",
|
|
@@ -49,6 +50,7 @@
|
|
|
49
50
|
"build": "node tools/build/generate.js --out tools/cli/lib/packs.js --module-out src/bmad-plus/module.yaml",
|
|
50
51
|
"build:check": "node tools/build/generate.js --check",
|
|
51
52
|
"check:counts": "node tools/build/check-counts.js",
|
|
53
|
+
"check:triggers": "node tools/build/check-triggers.js",
|
|
52
54
|
"check:counts:full": "jest --coverage=false --silent --json --outputFile=coverage/jest-report.json && node tools/build/check-counts.js --jest-report coverage/jest-report.json",
|
|
53
55
|
"uat:spec": "node src/bmad-plus/skills/bmad-plus-uat/templates/uat-spec-present.mjs --dir recettes",
|
|
54
56
|
"uat:gate": "node src/bmad-plus/skills/bmad-plus-uat/templates/uat-release-gate.mjs --dir recettes --cli tools/cli/bmad-plus-cli.js",
|
|
@@ -66,6 +68,7 @@
|
|
|
66
68
|
"dependencies": {
|
|
67
69
|
"@clack/prompts": "^1.4.0",
|
|
68
70
|
"commander": "^14.0.0",
|
|
71
|
+
"design-skill": "0.2.1",
|
|
69
72
|
"fs-extra": "^11.3.6",
|
|
70
73
|
"js-yaml": "^5.2.2",
|
|
71
74
|
"picocolors": "^1.1.1",
|
|
@@ -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.23.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.23.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.
|
|
@@ -102,6 +102,7 @@ Lies die Änderungen und Testergebnisse. Der Assistent arbeitet innerhalb der Re
|
|
|
102
102
|
| Dev Studio | Spezialisierte Rollen und Workflows für Produktplanung, Design, Entwicklung und Dokumentation. |
|
|
103
103
|
| Backup | Anweisungen und Hilfsprogramme für datierte Sicherungen, Wiederherstellung und Rotation. |
|
|
104
104
|
| Animated | Ein gezielter Workflow für Websites mit videobasierten Scrolleffekten. |
|
|
105
|
+
| Design | Atelier, die Design-Engine: Oberflächen nach prüfbaren Regeln bauen, auditieren und überarbeiten, mit einem Briefing zuerst. |
|
|
105
106
|
|
|
106
107
|
## Beispiele
|
|
107
108
|
|
|
@@ -175,18 +176,27 @@ Lies AGENTS.md und die verfügbare Projekterinnerung. Fasse den letzten geprüft
|
|
|
175
176
|
|
|
176
177
|
Erwartetes Ergebnis: ein kurzer, belegter Wiedereinstieg. Projektnotizen liefern Kontext und müssen mit dem aktuellen Stand abgeglichen werden.
|
|
177
178
|
|
|
178
|
-
|
|
179
|
+
### Einen Bildschirm mit Atelier gestalten
|
|
179
180
|
|
|
180
|
-
|
|
181
|
+
Nutze dies mit dem optionalen Design-Pack. Atelier stellt zuerst seine Fragen und folgt dann prüfbaren Regeln.
|
|
181
182
|
|
|
182
|
-
|
|
183
|
+
```text
|
|
184
|
+
Atelier, führe die Design-Analyse für die Rechnungsliste meiner App durch, baue den Bildschirm und schließe mit dem Preflight-Urteil ab.
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
Erwartetes Ergebnis: die festgehaltene Design-Analyse, der Bildschirm mit allen abgedeckten Zuständen und das Preflight-Urteil als letzte Zeile.
|
|
188
|
+
|
|
189
|
+
## Neu in 0.23.0
|
|
190
|
+
|
|
191
|
+
Erst fragen, dann schwärmen
|
|
192
|
+
|
|
193
|
+
Ein Pack erklärt jetzt, welche Fragen beantwortet sein müssen, bevor es handelt, und Nexus kann einen Schwarm von Unteragenten, ein simuliertes Panel oder eine Jury innerhalb eines von dir gesetzten Budgets ausführen. Atelier, die Design-Engine, kommt als zehntes Pack hinzu. Installation und Update bleiben wie bisher.
|
|
183
194
|
|
|
184
|
-
-
|
|
185
|
-
-
|
|
186
|
-
-
|
|
187
|
-
-
|
|
188
|
-
-
|
|
189
|
-
- Der MCP-Server schließt SSE-Streams sauber, wenn ein Client geht oder der Server stoppt, und akzeptiert Token-Daten mit Zeitzonenversatz.
|
|
195
|
+
- bmad-plus intake stellt die Fragen eines Packs in kleinen Gruppen, markiert die Pflichtangaben, schlägt Standardwerte vor, hält fest, was du nicht weißt, samt Risiko, und erzeugt das Briefing, das zum Vertrag für alles Weitere wird. Nichts darin wird erfunden.
|
|
196
|
+
- bmad-plus swarm zieht simulierte Einheiten aus einem Profil mit einem Seed, schreibt ein Briefing pro Unteragent, prüft jede Antwortdatei, zählt nur gültige Antworten und sagt klar, dass simulierte Käufer keine Kunden sind. Der Block swarm in _bmad/config.yaml legt fest, wie viele Unteragenten laufen, bevor der Assistent dich fragt; bezahlte Mediengenerierung fragt immer.
|
|
197
|
+
- Die Registry hält jetzt fest, welche Skills ein Agent führt, aus welchem npm-Paket die Skills eines Packs stammen, welche Pipeline-Schritte und Freigaben ein Pack erklärt und welches Briefing es durchführt. Die erzeugten Anweisungen tragen all das, nichts wird zweimal getippt.
|
|
198
|
+
- Design-Pack: Atelier, gebaut aus dem Paket design-skill, befragt dich mit einer Design-Analyse und baut, prüft oder überarbeitet dann eine Oberfläche nach prüfbaren Regeln. Der Installer kopiert seine drei Skills mit ihren Referenzmodulen, und doctor prüft sie.
|
|
199
|
+
- Ein Trigger-Gate lehnt Regeln zur automatischen Aktivierung ab, die einen der Registry unbekannten Agenten oder eine unbekannte Pipeline nennen, und der Installer schreibt nichts, wenn sich die Dateien eines Packs nicht vorher vollständig auflisten lassen.
|
|
190
200
|
|
|
191
201
|
## Versionsverlauf
|
|
192
202
|
|
|
@@ -194,9 +204,9 @@ Diese Daten bezeichnen geprüfte CHANGELOG-Einträge, nicht die Veröffentlichun
|
|
|
194
204
|
|
|
195
205
|
| Version | Datum der Notizen | Geprüfte Zusammenfassung |
|
|
196
206
|
| --- | --- | --- |
|
|
207
|
+
| 0.23.0 | 2026-10-17 | Ein Pack erklärt jetzt, welche Fragen beantwortet sein müssen, bevor es handelt, und Nexus kann einen Schwarm von Unteragenten, ein simuliertes Panel oder eine Jury innerhalb eines von dir gesetzten Budgets ausführen. Atelier, die Design-Engine, kommt als zehntes Pack hinzu. Installation und Update bleiben wie bisher. |
|
|
197
208
|
| 0.22.0 | 2026-09-29 | BMAD+ erklärt jetzt jede Datenübertragung und jeden Prozess, den es startet, und seine CI lehnt alles Unerklärte ab. Die Abnahmeseite und der SEO-Bericht laden nichts mehr von anderen Websites, OSINT-Aufrufe laufen nur über HTTPS, und Shield erhält einen Sicherheitsnachweis aus ausgeführten Prüfungen und ein Verzeichnis der KI-Verarbeitungen. An Installation und Update ändert sich nichts. |
|
|
198
209
|
| 0.21.0 | 2026-09-28 | Ein Review hält jetzt fest, warum es angehalten hat und was es verbraucht hat, schreibt eine Prüfung, die ein CI-Schritt lesen kann, und wird auf dem versiegelten Umfang fortgesetzt. Der SEO-Abruf verbindet sich nur mit Adressen, die er geprüft hat, und der MCP-Server wechselt zum offiziellen SDK unter Python 3.12. An Installation und Update ändert sich nichts. |
|
|
199
|
-
| 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. |
|
|
200
210
|
|
|
201
211
|
[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)
|
|
202
212
|
|
|
@@ -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.23.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.23.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.
|
|
@@ -102,6 +102,7 @@ Lee los cambios y los resultados de las pruebas. El asistente sigue los permisos
|
|
|
102
102
|
| Dev Studio | Roles y flujos especializados en producto, diseño, ingeniería y documentación. |
|
|
103
103
|
| Backup | Instrucciones y utilidades para copias con fecha, restauración y rotación. |
|
|
104
104
|
| Animated | Un flujo centrado en crear sitios cuyo desplazamiento utiliza vídeo. |
|
|
105
|
+
| Design | Atelier, el motor de diseño: construir, auditar y rediseñar interfaces con reglas verificables, empezando por una entrevista. |
|
|
105
106
|
|
|
106
107
|
## Ejemplos
|
|
107
108
|
|
|
@@ -175,18 +176,27 @@ Lee AGENTS.md y la memoria de proyecto disponible. Resume el último estado veri
|
|
|
175
176
|
|
|
176
177
|
Resultado esperado: una reanudación breve y fundamentada. Las notas aportan contexto que debe contrastarse con el trabajo actual.
|
|
177
178
|
|
|
178
|
-
|
|
179
|
+
### Diseñar una pantalla con Atelier
|
|
179
180
|
|
|
180
|
-
|
|
181
|
+
Úsalo con el paquete opcional Design instalado. Atelier hace primero sus preguntas y luego sigue reglas comprobables.
|
|
181
182
|
|
|
182
|
-
|
|
183
|
+
```text
|
|
184
|
+
Atelier, haz la lectura de diseño de la lista de facturas de mi aplicación, construye la pantalla y termina con el veredicto de la comprobación previa.
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
Resultado esperado: la lectura de diseño registrada, la pantalla con todos sus estados cubiertos y el veredicto de la comprobación previa citado como última línea.
|
|
188
|
+
|
|
189
|
+
## Novedades de la 0.23.0
|
|
190
|
+
|
|
191
|
+
Preguntar primero, luego el enjambre
|
|
192
|
+
|
|
193
|
+
Un paquete declara ahora las preguntas que necesita respondidas antes de actuar, y Nexus puede lanzar un enjambre de subagentes, un panel simulado o un jurado, dentro de un presupuesto que tú fijas. Atelier, el motor de diseño, se incorpora como décimo paquete. Instalar y actualizar funcionan como antes.
|
|
183
194
|
|
|
184
|
-
-
|
|
185
|
-
-
|
|
186
|
-
-
|
|
187
|
-
-
|
|
188
|
-
-
|
|
189
|
-
- El servidor MCP cierra limpiamente los flujos SSE cuando un cliente se va o el servidor se detiene, y acepta fechas de token con desfase horario.
|
|
195
|
+
- bmad-plus intake hace las preguntas de un paquete de pocas en pocas, marca las imprescindibles, propone valores por defecto, anota lo que no sabes con su riesgo y redacta el brief que se convierte en el contrato de todo lo que el paquete hace después. Nada en él se inventa.
|
|
196
|
+
- bmad-plus swarm reparte unidades simuladas a partir de un perfil con una semilla, escribe un brief por subagente, valida cada archivo de respuesta, cuenta solo las respuestas válidas y deja claro que los compradores simulados no son clientes. El bloque swarm de _bmad/config.yaml fija cuántos subagentes se lanzan antes de que el asistente te pregunte; la generación de medios de pago siempre pregunta.
|
|
197
|
+
- El registro anota ahora qué habilidades conduce un agente, de qué paquete npm proceden las habilidades de un paquete, qué pasos de pipeline y qué puertas declara y qué cuestionario ejecuta. Las instrucciones generadas lo recogen todo, así que nada se escribe dos veces.
|
|
198
|
+
- Paquete Design: Atelier, construido a partir del paquete design-skill, te entrevista con una lectura de diseño y luego construye, audita o rediseña una interfaz con reglas comprobables. El instalador copia sus tres habilidades con sus módulos de referencia, y doctor las comprueba.
|
|
199
|
+
- Una puerta de disparadores rechaza las reglas de activación automática que nombran un agente o un pipeline que el registro no conoce, y el instalador no escribe nada cuando los archivos de un paquete no pueden listarse todos primero.
|
|
190
200
|
|
|
191
201
|
## Historial de versiones
|
|
192
202
|
|
|
@@ -194,9 +204,9 @@ Estas fechas identifican las notas revisadas del CHANGELOG, no las fechas de pub
|
|
|
194
204
|
|
|
195
205
|
| Versión | Fecha de las notas | Resumen revisado |
|
|
196
206
|
| --- | --- | --- |
|
|
207
|
+
| 0.23.0 | 2026-10-17 | Un paquete declara ahora las preguntas que necesita respondidas antes de actuar, y Nexus puede lanzar un enjambre de subagentes, un panel simulado o un jurado, dentro de un presupuesto que tú fijas. Atelier, el motor de diseño, se incorpora como décimo paquete. Instalar y actualizar funcionan como antes. |
|
|
197
208
|
| 0.22.0 | 2026-09-29 | BMAD+ declara ahora cada envío de datos y cada proceso que inicia, y su CI rechaza todo lo que no esté declarado. La página de aceptación y el informe SEO ya no cargan nada de otros sitios, las llamadas OSINT van solo por HTTPS, y Shield incorpora un caso de seguridad basado en pruebas ejecutadas y un registro de tratamientos de IA. Nada cambia en la instalación ni en la actualización. |
|
|
198
209
|
| 0.21.0 | 2026-09-28 | Una revisión registra ahora por qué se detuvo y qué consumió, escribe un control que un paso de CI puede leer y se reanuda sobre el alcance que selló. El descargador SEO solo se conecta a direcciones que ha validado, y el servidor MCP pasa al SDK oficial con Python 3.12. Nada cambia en la instalación ni en la actualización. |
|
|
199
|
-
| 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. |
|
|
200
210
|
|
|
201
211
|
[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)
|
|
202
212
|
|
|
@@ -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.23.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.23.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.
|
|
@@ -102,6 +102,7 @@ Relisez les changements et les résultats des tests. L’assistant suit les auto
|
|
|
102
102
|
| Dev Studio | Des rôles et workflows spécialisés en produit, design, ingénierie et documentation. |
|
|
103
103
|
| Backup | Des instructions et utilitaires pour les sauvegardes horodatées, la restauration et la rotation. |
|
|
104
104
|
| Animated | Un workflow dédié à la création de sites dont le défilement s’appuie sur la vidéo. |
|
|
105
|
+
| Design | Atelier, le moteur de design : construire, auditer et refondre des interfaces selon des règles vérifiables, interview d’abord. |
|
|
105
106
|
|
|
106
107
|
## Exemples
|
|
107
108
|
|
|
@@ -175,18 +176,27 @@ Lis AGENTS.md et la mémoire de projet disponible. Résume le dernier état vér
|
|
|
175
176
|
|
|
176
177
|
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
178
|
|
|
178
|
-
|
|
179
|
+
### Concevoir un écran avec Atelier
|
|
179
180
|
|
|
180
|
-
|
|
181
|
+
À utiliser avec le pack Design facultatif installé. Atelier pose d’abord ses questions, puis suit des règles vérifiables.
|
|
181
182
|
|
|
182
|
-
|
|
183
|
+
```text
|
|
184
|
+
Atelier, fais la lecture design de la liste des factures de mon application, construis l’écran et termine par le verdict de pré-vol.
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
Résultat attendu : la lecture design enregistrée, l’écran avec tous ses états couverts, et le verdict de pré-vol cité en dernière ligne.
|
|
188
|
+
|
|
189
|
+
## Nouveautés de la 0.23.0
|
|
190
|
+
|
|
191
|
+
Demander d’abord, puis lancer l’essaim
|
|
192
|
+
|
|
193
|
+
Un pack déclare désormais les questions auxquelles il lui faut une réponse avant d’agir, et Nexus peut lancer un essaim de sous-agents, un panel simulé ou un jury, dans un budget que vous fixez. Atelier, le moteur de design, devient le dixième pack. Installation et mise à jour ne changent pas.
|
|
183
194
|
|
|
184
|
-
-
|
|
185
|
-
-
|
|
186
|
-
-
|
|
187
|
-
-
|
|
188
|
-
-
|
|
189
|
-
- Le serveur MCP ferme proprement les flux SSE quand un client part ou que le serveur s’arrête, et accepte les dates de jeton avec un décalage horaire.
|
|
195
|
+
- bmad-plus intake pose les questions d’un pack par petits lots, marque les indispensables, propose des valeurs par défaut, note ce que vous ignorez avec le risque associé, et rédige le brief qui devient le contrat de tout ce que le pack fait ensuite. Rien n’y est inventé.
|
|
196
|
+
- bmad-plus swarm tire des unités simulées à partir d’un profil sous une graine, écrit un brief par sous-agent, valide chaque fichier de réponse, ne compte que les réponses valides, et rappelle que des acheteurs simulés ne sont pas des clients. Le bloc swarm de _bmad/config.yaml fixe le nombre de sous-agents lancés avant que l’assistant ne vous demande ; la génération de médias payante demande toujours.
|
|
197
|
+
- Le registre enregistre désormais quelles compétences un agent pilote, de quel paquet npm viennent les compétences d’un pack, quelles étapes de pipeline et quelles portes un pack déclare et quel questionnaire il joue. Les instructions générées portent tout cela, rien n’est tapé deux fois.
|
|
198
|
+
- Pack Design : Atelier, construit à partir du paquet design-skill, vous interroge avec une lecture design, puis construit, audite ou refond une interface selon des règles vérifiables. L’installateur copie ses trois compétences et leurs modules de référence, et doctor les vérifie.
|
|
199
|
+
- Une porte de déclencheurs refuse les règles d’activation automatique qui nomment un agent ou un pipeline inconnu du registre, et l’installateur n’écrit rien quand les fichiers d’un pack ne peuvent pas tous être listés d’abord.
|
|
190
200
|
|
|
191
201
|
## Historique des versions
|
|
192
202
|
|
|
@@ -194,9 +204,9 @@ Ces dates identifient les notes relues du CHANGELOG, pas les dates de publicatio
|
|
|
194
204
|
|
|
195
205
|
| Version | Date des notes | Résumé relu |
|
|
196
206
|
| --- | --- | --- |
|
|
207
|
+
| 0.23.0 | 2026-10-17 | Un pack déclare désormais les questions auxquelles il lui faut une réponse avant d’agir, et Nexus peut lancer un essaim de sous-agents, un panel simulé ou un jury, dans un budget que vous fixez. Atelier, le moteur de design, devient le dixième pack. Installation et mise à jour ne changent pas. |
|
|
197
208
|
| 0.22.0 | 2026-09-29 | BMAD+ déclare désormais chaque envoi de données et chaque processus qu’il lance, et sa CI refuse tout ce qui n’est pas déclaré. La page de recette et le rapport SEO ne chargent plus rien depuis d’autres sites, les appels OSINT passent uniquement en HTTPS, et Shield gagne un dossier de sécurité fondé sur des preuves exécutées et un registre des traitements IA. Rien ne change dans l’installation ou la mise à jour. |
|
|
198
209
|
| 0.21.0 | 2026-09-28 | Une revue enregistre désormais pourquoi elle s’est arrêtée et ce qu’elle a consommé, écrit un contrôle lisible par une étape de CI, et reprend sur le périmètre qu’elle a scellé. Le récupérateur SEO ne se connecte qu’aux adresses qu’il a validées, et le serveur MCP passe au SDK officiel sous Python 3.12. Rien ne change dans l’installation ou la mise à jour. |
|
|
199
|
-
| 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. |
|
|
200
210
|
|
|
201
211
|
[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)
|
|
202
212
|
|
|
@@ -73,6 +73,8 @@ authorization and completed work when changing depth.
|
|
|
73
73
|
|
|
74
74
|
Read `execution_mode` and `checkpoints` from `_bmad/config.yaml` before starting the pipeline. The checkpoint keys are `discovery`, `architecture`, `story`, and `delivery`.
|
|
75
75
|
|
|
76
|
+
**Pack pipelines.** When the request or the context names a pack that declares `pipelines` in the registry (the spine's facts section counts them on the pack's line and lists each pipeline's steps on a `- Pipelines (<pack>)` line; read the steps there), run that pipeline instead of the generic phases for that pack: its steps in order, each step's `workflow` or `agent` from the pack, each step's `gate` applied with the checkpoint behavior below. When the pack also declares an `intake`, run it first with the `bmad-plus-intake` skill and do not start the first step while a must-have is neither answered nor marked unknown with its risk; the rendered brief is the input of every step.
|
|
77
|
+
|
|
76
78
|
**Checkpoint behavior** (configurable):
|
|
77
79
|
- `require_approval` (🔴 STOP): Check whether the existing user authorization covers the concrete next action. If approval is still required, present the reviewable checkpoint and wait; do not ask again for an action already authorized. If an external channel is configured and sending is authorized, also notify through it.
|
|
78
80
|
- `notify_only` (🟡 INFO): Report progress in the session and continue. If an external channel is configured and sending is authorized, also notify through it.
|
|
@@ -101,7 +103,9 @@ Focuses on: detecting parallelizable tasks, launching agents in parallel, confli
|
|
|
101
103
|
- **Reallocate**: Agent finishes early → assign next available task
|
|
102
104
|
- **Escalate**: A task exhausts its attempt limit or cannot be reconciled → report the condition, current evidence and preserved changes. Continue independent authorized work when possible. An external notification still needs configuration and authorization.
|
|
103
105
|
|
|
104
|
-
|
|
106
|
+
**Swarms.** A pack that ships a swarm definition (a panel of simulated units, a jury of lenses, a fanout of disjoint scopes) is run through `bmad-plus swarm` and the `bmad-plus-swarm` skill, one wave of session sub-agents at a time, each reading its brief as its whole instruction; a fanout can instead be exported as a Nexus plan for durable host attempts. Stay within `swarm.budget` from `_bmad/config.yaml`; beyond it, ask the user before `init --approved`. Paid media generation is never covered by that budget.
|
|
107
|
+
|
|
108
|
+
> 💡 **Auto-activates** when: multiple independent stories are queued, when `{parallel_execution}` is enabled and batch work is detected, or when a pack's swarm is declared or a panel is requested.
|
|
105
109
|
|
|
106
110
|
When auto-activating a role, **announce it**: "💡 I'm switching to [Role] mode — [reason]. Say 'skip' to stay in current mode."
|
|
107
111
|
|
|
@@ -211,6 +211,7 @@ orchestrator:
|
|
|
211
211
|
contexts:
|
|
212
212
|
- "new_project_idea"
|
|
213
213
|
- "execution_mode_autopilot"
|
|
214
|
+
- "pack_pipeline_declared"
|
|
214
215
|
|
|
215
216
|
parallel-supervisor:
|
|
216
217
|
patterns:
|
|
@@ -223,6 +224,8 @@ orchestrator:
|
|
|
223
224
|
- "independent_stories_detected"
|
|
224
225
|
- "multi_task_queue"
|
|
225
226
|
- "parallel_execution_enabled"
|
|
227
|
+
- "swarm_declared"
|
|
228
|
+
- "panel_requested"
|
|
226
229
|
reasoning:
|
|
227
230
|
- "stories_have_no_shared_dependencies"
|
|
228
231
|
- "workload_can_be_distributed"
|
|
@@ -278,3 +281,34 @@ seo:
|
|
|
278
281
|
- "competitive_gap_analysis"
|
|
279
282
|
reasoning:
|
|
280
283
|
- "findings_need_prioritized_scoring"
|
|
284
|
+
|
|
285
|
+
design:
|
|
286
|
+
default_role: design-engine
|
|
287
|
+
auto_triggers:
|
|
288
|
+
design-engine:
|
|
289
|
+
# Level 1 — Pattern matching (keywords in user request). The persona picks its
|
|
290
|
+
# role (Builder, Reviewer, Redesigner) from the request; the pack has one agent.
|
|
291
|
+
# The vocabulary is the pack's own: bare "design", "UI" or "interface" belong to
|
|
292
|
+
# Forge's architect role and Sentinel's UX review, which coexist with this pack.
|
|
293
|
+
patterns:
|
|
294
|
+
- "Atelier"
|
|
295
|
+
- "/design"
|
|
296
|
+
- "design tokens"
|
|
297
|
+
- "maquette"
|
|
298
|
+
- "wireframe"
|
|
299
|
+
- "landing page"
|
|
300
|
+
- "make it look good"
|
|
301
|
+
- "accessibilité"
|
|
302
|
+
- "accessibility"
|
|
303
|
+
- "refonte"
|
|
304
|
+
- "redesign"
|
|
305
|
+
# Level 2 — Contextual (situations detected during work)
|
|
306
|
+
contexts:
|
|
307
|
+
- "frontend_changes"
|
|
308
|
+
- "new_page"
|
|
309
|
+
- "new_component"
|
|
310
|
+
- "design_tokens_missing"
|
|
311
|
+
# Level 3 — Reasoning chain (discoveries during execution)
|
|
312
|
+
reasoning:
|
|
313
|
+
- "ui_looks_generic"
|
|
314
|
+
- "accessibility_unverified"
|
|
@@ -9,3 +9,5 @@ bmad-plus-agent-shadow,"Talk to Shadow — your OSINT Intelligence Analyst. Inve
|
|
|
9
9
|
bmad-plus-sync,"Synchronize BMAD+ with upstream BMAD-METHOD. Check for updates, analyze changes via AI, and merge compatible updates. Uses VPS MCP Server for git operations."
|
|
10
10
|
bmad-plus-agent-maker,"Talk to Maker — your Agent Creator. Designs, builds, and packages new BMAD+ compatible agents from a natural language description. Outputs ready-to-integrate packages."
|
|
11
11
|
bmad-plus-uat,"Human acceptance recipes (recette): turn a delivery into a step-by-step page a person plays, read their run, classify every failure, and gate the delivery on it."
|
|
12
|
+
bmad-plus-intake,"Pack intake: ask the questions a pack needs before it acts, in the user's language and a few at a time, record each answer, default or unknown, and render the brief the pack works from."
|
|
13
|
+
bmad-plus-swarm,"Run a swarm of sub-agents under a budget: deal simulated buyers or a jury, brief one sub-agent per unit, file and check their answers, tally them with the disclosure first. Use for panels, juries and fanouts."
|
|
@@ -35,6 +35,10 @@ install_packs:
|
|
|
35
35
|
label: 🗂️ Universal Backup — Timestamped ZIP backup with smart exclusions.
|
|
36
36
|
- value: animated
|
|
37
37
|
label: 🎬 Animated Website — Luxury scroll-driven website from video.
|
|
38
|
+
- value: design
|
|
39
|
+
label: >-
|
|
40
|
+
🎨 Design — Atelier builds, audits and redesigns interfaces under checkable rules: intake first,
|
|
41
|
+
semantic tokens, WCAG AA, every state covered, pre-flight before delivery.
|
|
38
42
|
- value: all
|
|
39
43
|
label: Tout installer
|
|
40
44
|
- value: none
|
|
@@ -116,8 +120,10 @@ packs:
|
|
|
116
120
|
- agent-orchestrator
|
|
117
121
|
skills:
|
|
118
122
|
- bmad-plus-autopilot
|
|
123
|
+
- bmad-plus-intake
|
|
119
124
|
- bmad-plus-parallel
|
|
120
125
|
- bmad-plus-sync
|
|
126
|
+
- bmad-plus-swarm
|
|
121
127
|
- bmad-plus-uat
|
|
122
128
|
data:
|
|
123
129
|
- role-triggers.yaml
|
|
@@ -332,3 +338,18 @@ packs:
|
|
|
332
338
|
skills: []
|
|
333
339
|
packDir: pack-animated
|
|
334
340
|
packSrcDir: packs
|
|
341
|
+
design:
|
|
342
|
+
name: Design
|
|
343
|
+
icon: 🎨
|
|
344
|
+
description: >-
|
|
345
|
+
Atelier builds, audits and redesigns interfaces under checkable rules: intake first, semantic tokens,
|
|
346
|
+
WCAG AA, every state covered, pre-flight before delivery.
|
|
347
|
+
required: false
|
|
348
|
+
agents:
|
|
349
|
+
- design-engine
|
|
350
|
+
skills: []
|
|
351
|
+
cohabitation_warning: >-
|
|
352
|
+
Overlaps Sentinel's UX-review role and Dev Studio's Rachel (UX Designer); when this pack is installed
|
|
353
|
+
its rules govern visual design and accessibility, and the others hand those over.
|
|
354
|
+
packDir: pack-design
|
|
355
|
+
packSrcDir: packs
|