@devo-bmad-custom/agent-orchestration 1.0.2 → 1.0.4
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/lib/installer.js +33 -0
- package/package.json +1 -1
- package/src/.agents/skills/audit-website/README.md +20 -20
- package/src/.agents/skills/audit-website/SKILL.md +470 -470
- package/src/.agents/skills/audit-website/agents/openai.yaml +6 -6
- package/src/.agents/skills/audit-website/assets/icon-small.svg +41 -41
- package/src/.agents/skills/audit-website/references/OUTPUT-FORMAT.md +250 -250
- package/src/.agents/skills/clean-code-standards/SKILL.md +104 -104
- package/src/.agents/skills/excalidraw-dark-standard/SKILL.md +281 -281
- package/src/.agents/skills/frontend-responsive-design-standards/SKILL.md +434 -434
- package/src/.agents/skills/java-fundamentals/SKILL.md +116 -116
- package/src/.agents/skills/java-performance/SKILL.md +119 -119
- package/src/.agents/skills/next-best-practices/SKILL.md +153 -153
- package/src/.agents/skills/next-best-practices/async-patterns.md +87 -87
- package/src/.agents/skills/next-best-practices/bundling.md +180 -180
- package/src/.agents/skills/next-best-practices/data-patterns.md +297 -297
- package/src/.agents/skills/next-best-practices/debug-tricks.md +105 -105
- package/src/.agents/skills/next-best-practices/directives.md +73 -73
- package/src/.agents/skills/next-best-practices/error-handling.md +227 -227
- package/src/.agents/skills/next-best-practices/file-conventions.md +140 -140
- package/src/.agents/skills/next-best-practices/font.md +245 -245
- package/src/.agents/skills/next-best-practices/functions.md +108 -108
- package/src/.agents/skills/next-best-practices/hydration-error.md +91 -91
- package/src/.agents/skills/next-best-practices/image.md +173 -173
- package/src/.agents/skills/next-best-practices/metadata.md +301 -301
- package/src/.agents/skills/next-best-practices/parallel-routes.md +287 -287
- package/src/.agents/skills/next-best-practices/route-handlers.md +146 -146
- package/src/.agents/skills/next-best-practices/rsc-boundaries.md +159 -159
- package/src/.agents/skills/next-best-practices/runtime-selection.md +39 -39
- package/src/.agents/skills/next-best-practices/scripts.md +141 -141
- package/src/.agents/skills/next-best-practices/self-hosting.md +371 -371
- package/src/.agents/skills/next-best-practices/suspense-boundaries.md +67 -67
- package/src/.agents/skills/nextjs-app-router-patterns/SKILL.md +537 -537
- package/src/.agents/skills/postgresql-optimization/SKILL.md +404 -404
- package/src/.agents/skills/python-backend/SKILL.md +153 -153
- package/src/.agents/skills/python-fundamentals/SKILL.md +234 -234
- package/src/.agents/skills/python-performance/SKILL.md +404 -404
- package/src/.agents/skills/react-expert/SKILL.md +335 -335
- package/src/.agents/skills/redis-best-practices/SKILL.md +438 -438
- package/src/.agents/skills/security-best-practices/SKILL.md +288 -288
- package/src/.agents/skills/security-review/LICENSE +22 -22
- package/src/.agents/skills/security-review/SKILL.md +312 -312
- package/src/.agents/skills/security-review/infrastructure/docker.md +432 -432
- package/src/.agents/skills/security-review/languages/javascript.md +388 -388
- package/src/.agents/skills/security-review/languages/python.md +363 -363
- package/src/.agents/skills/security-review/references/api-security.md +519 -519
- package/src/.agents/skills/security-review/references/authentication.md +353 -353
- package/src/.agents/skills/security-review/references/authorization.md +372 -372
- package/src/.agents/skills/security-review/references/business-logic.md +443 -443
- package/src/.agents/skills/security-review/references/cryptography.md +329 -329
- package/src/.agents/skills/security-review/references/csrf.md +398 -398
- package/src/.agents/skills/security-review/references/data-protection.md +378 -378
- package/src/.agents/skills/security-review/references/deserialization.md +410 -410
- package/src/.agents/skills/security-review/references/error-handling.md +436 -436
- package/src/.agents/skills/security-review/references/file-security.md +457 -457
- package/src/.agents/skills/security-review/references/injection.md +259 -259
- package/src/.agents/skills/security-review/references/logging.md +433 -433
- package/src/.agents/skills/security-review/references/misconfiguration.md +435 -435
- package/src/.agents/skills/security-review/references/modern-threats.md +475 -475
- package/src/.agents/skills/security-review/references/ssrf.md +415 -415
- package/src/.agents/skills/security-review/references/supply-chain.md +405 -405
- package/src/.agents/skills/security-review/references/xss.md +336 -336
- package/src/.agents/skills/subagent-driven-development/SKILL.md +275 -275
- package/src/.agents/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -26
- package/src/.agents/skills/subagent-driven-development/implementer-prompt.md +113 -113
- package/src/.agents/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -61
- package/src/.agents/skills/systematic-debugging/CREATION-LOG.md +119 -119
- package/src/.agents/skills/systematic-debugging/SKILL.md +296 -296
- package/src/.agents/skills/systematic-debugging/condition-based-waiting-example.ts +158 -158
- package/src/.agents/skills/systematic-debugging/condition-based-waiting.md +115 -115
- package/src/.agents/skills/systematic-debugging/defense-in-depth.md +122 -122
- package/src/.agents/skills/systematic-debugging/root-cause-tracing.md +169 -169
- package/src/.agents/skills/systematic-debugging/test-academic.md +14 -14
- package/src/.agents/skills/systematic-debugging/test-pressure-1.md +58 -58
- package/src/.agents/skills/systematic-debugging/test-pressure-2.md +68 -68
- package/src/.agents/skills/systematic-debugging/test-pressure-3.md +69 -69
- package/src/.agents/skills/typescript-best-practices/SKILL.md +373 -373
- package/src/.agents/skills/ui-ux-pro-custom/SKILL.md +348 -348
- package/src/.agents/skills/ui-ux-pro-custom/data/charts.csv +26 -26
- package/src/.agents/skills/ui-ux-pro-custom/data/colors.csv +97 -97
- package/src/.agents/skills/ui-ux-pro-custom/data/icons.csv +101 -101
- package/src/.agents/skills/ui-ux-pro-custom/data/jetpack-compose-expert-skill/SKILL.md +106 -106
- package/src/.agents/skills/ui-ux-pro-custom/data/jetpack-compose-expert-skill/references/accessibility.md +475 -475
- package/src/.agents/skills/ui-ux-pro-custom/data/jetpack-compose-expert-skill/references/animation.md +466 -466
- package/src/.agents/skills/ui-ux-pro-custom/data/jetpack-compose-expert-skill/references/composition-locals.md +231 -231
- package/src/.agents/skills/ui-ux-pro-custom/data/jetpack-compose-expert-skill/references/deprecated-patterns.md +323 -323
- package/src/.agents/skills/ui-ux-pro-custom/data/jetpack-compose-expert-skill/references/lists-scrolling.md +400 -400
- package/src/.agents/skills/ui-ux-pro-custom/data/jetpack-compose-expert-skill/references/modifiers.md +331 -331
- package/src/.agents/skills/ui-ux-pro-custom/data/jetpack-compose-expert-skill/references/navigation.md +416 -416
- package/src/.agents/skills/ui-ux-pro-custom/data/jetpack-compose-expert-skill/references/performance.md +446 -446
- package/src/.agents/skills/ui-ux-pro-custom/data/jetpack-compose-expert-skill/references/side-effects.md +516 -516
- package/src/.agents/skills/ui-ux-pro-custom/data/jetpack-compose-expert-skill/references/source-code/foundation-source.md +13327 -13327
- package/src/.agents/skills/ui-ux-pro-custom/data/jetpack-compose-expert-skill/references/source-code/material3-source.md +19097 -19097
- package/src/.agents/skills/ui-ux-pro-custom/data/jetpack-compose-expert-skill/references/source-code/navigation-source.md +2947 -2947
- package/src/.agents/skills/ui-ux-pro-custom/data/jetpack-compose-expert-skill/references/source-code/runtime-source.md +11316 -11316
- package/src/.agents/skills/ui-ux-pro-custom/data/jetpack-compose-expert-skill/references/source-code/ui-source.md +7896 -7896
- package/src/.agents/skills/ui-ux-pro-custom/data/jetpack-compose-expert-skill/references/state-management.md +377 -377
- package/src/.agents/skills/ui-ux-pro-custom/data/jetpack-compose-expert-skill/references/styles-experimental.md +470 -470
- package/src/.agents/skills/ui-ux-pro-custom/data/jetpack-compose-expert-skill/references/theming-material3.md +349 -349
- package/src/.agents/skills/ui-ux-pro-custom/data/jetpack-compose-expert-skill/references/view-composition.md +595 -595
- package/src/.agents/skills/ui-ux-pro-custom/data/landing.csv +31 -31
- package/src/.agents/skills/ui-ux-pro-custom/data/mobile-ui-layout.md +654 -654
- package/src/.agents/skills/ui-ux-pro-custom/data/products.csv +96 -96
- package/src/.agents/skills/ui-ux-pro-custom/data/react-performance.csv +45 -45
- package/src/.agents/skills/ui-ux-pro-custom/data/stacks/astro.csv +54 -54
- package/src/.agents/skills/ui-ux-pro-custom/data/stacks/flutter.csv +53 -53
- package/src/.agents/skills/ui-ux-pro-custom/data/stacks/html-tailwind.csv +56 -56
- package/src/.agents/skills/ui-ux-pro-custom/data/stacks/jetpack-compose.csv +53 -53
- package/src/.agents/skills/ui-ux-pro-custom/data/stacks/nextjs.csv +53 -53
- package/src/.agents/skills/ui-ux-pro-custom/data/stacks/nuxt-ui.csv +51 -51
- package/src/.agents/skills/ui-ux-pro-custom/data/stacks/nuxtjs.csv +59 -59
- package/src/.agents/skills/ui-ux-pro-custom/data/stacks/react-native.csv +56 -56
- package/src/.agents/skills/ui-ux-pro-custom/data/stacks/react.csv +54 -54
- package/src/.agents/skills/ui-ux-pro-custom/data/stacks/shadcn.csv +61 -61
- package/src/.agents/skills/ui-ux-pro-custom/data/stacks/svelte.csv +54 -54
- package/src/.agents/skills/ui-ux-pro-custom/data/stacks/swiftui.csv +51 -51
- package/src/.agents/skills/ui-ux-pro-custom/data/stacks/vue.csv +50 -50
- package/src/.agents/skills/ui-ux-pro-custom/data/styles.csv +68 -68
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/alarmkit/SKILL.md +438 -438
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/alarmkit/references/alarmkit-patterns.md +584 -584
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/app-clips/SKILL.md +436 -436
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/app-intents/SKILL.md +489 -489
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/app-intents/references/appintents-advanced.md +1076 -1076
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/app-store-review/SKILL.md +340 -340
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/app-store-review/references/privacy-manifest.md +90 -90
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/app-store-review/references/review-checklists.md +106 -106
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/apple-on-device-ai/SKILL.md +500 -500
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/apple-on-device-ai/references/coreml-conversion.md +425 -425
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/apple-on-device-ai/references/coreml-optimization.md +344 -344
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/apple-on-device-ai/references/foundation-models.md +508 -508
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/apple-on-device-ai/references/mlx-swift.md +285 -285
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/authentication/SKILL.md +496 -496
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/authentication/references/keychain-biometric.md +211 -211
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/background-processing/SKILL.md +499 -499
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/background-processing/references/background-task-patterns.md +390 -390
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/callkit-voip/SKILL.md +461 -461
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/callkit-voip/references/callkit-patterns.md +425 -425
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/cloudkit-sync/SKILL.md +492 -492
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/cloudkit-sync/references/cloudkit-patterns.md +461 -461
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/codable-patterns/SKILL.md +467 -467
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/contacts-framework/SKILL.md +425 -425
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/contacts-framework/references/contacts-patterns.md +409 -409
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/core-bluetooth/SKILL.md +491 -491
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/core-bluetooth/references/ble-patterns.md +435 -435
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/core-motion/SKILL.md +388 -388
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/core-motion/references/motion-patterns.md +405 -405
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/core-nfc/SKILL.md +495 -495
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/core-nfc/references/nfc-patterns.md +420 -420
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/coreml/SKILL.md +459 -459
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/coreml/references/coreml-swift-integration.md +765 -765
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/debugging-instruments/SKILL.md +422 -422
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/debugging-instruments/references/instruments-guide.md +387 -387
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/debugging-instruments/references/lldb-patterns.md +298 -298
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/device-integrity/SKILL.md +477 -477
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/energykit/SKILL.md +460 -460
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/energykit/references/energykit-patterns.md +541 -541
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/eventkit-calendar/SKILL.md +483 -483
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/eventkit-calendar/references/eventkit-patterns.md +326 -326
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/healthkit/SKILL.md +498 -498
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/healthkit/references/healthkit-patterns.md +602 -602
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/homekit-matter/SKILL.md +496 -496
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/homekit-matter/references/matter-commissioning.md +455 -455
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/ios-accessibility/SKILL.md +301 -301
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/ios-accessibility/references/a11y-patterns.md +140 -140
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/ios-localization/SKILL.md +418 -418
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/ios-localization/references/formatstyle-locale.md +627 -627
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/ios-localization/references/string-catalogs.md +462 -462
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/ios-networking/SKILL.md +441 -441
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/ios-networking/references/background-websocket.md +862 -862
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/ios-networking/references/lightweight-clients.md +93 -93
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/ios-networking/references/network-framework.md +563 -563
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/ios-networking/references/urlsession-patterns.md +1116 -1116
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/ios-security/SKILL.md +496 -496
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/ios-security/references/app-review-guidelines.md +174 -174
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/ios-security/references/cryptokit-advanced.md +296 -296
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/ios-security/references/file-storage-patterns.md +354 -354
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/ios-security/references/privacy-manifest.md +117 -117
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/live-activities/SKILL.md +500 -500
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/live-activities/references/live-activity-patterns.md +868 -868
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/mapkit-location/SKILL.md +485 -485
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/mapkit-location/references/corelocation-patterns.md +730 -730
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/mapkit-location/references/mapkit-patterns.md +748 -748
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/metrickit-diagnostics/SKILL.md +479 -479
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/musickit-audio/SKILL.md +395 -395
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/musickit-audio/references/musickit-patterns.md +363 -363
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/natural-language/SKILL.md +412 -412
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/natural-language/references/translation-patterns.md +311 -311
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/passkit-wallet/SKILL.md +398 -398
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/passkit-wallet/references/wallet-passes.md +254 -254
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/pencilkit-drawing/SKILL.md +387 -387
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/pencilkit-drawing/references/paperkit-integration.md +376 -376
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/pencilkit-drawing/references/pencilkit-patterns.md +302 -302
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/permissionkit/SKILL.md +446 -446
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/permissionkit/references/permissionkit-patterns.md +435 -435
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/photos-camera-media/SKILL.md +500 -500
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/photos-camera-media/references/av-playback.md +701 -701
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/photos-camera-media/references/camera-capture.md +774 -774
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/photos-camera-media/references/image-loading-caching.md +869 -869
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/photos-camera-media/references/photospicker-patterns.md +597 -597
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/push-notifications/SKILL.md +500 -500
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/push-notifications/references/notification-patterns.md +677 -677
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/push-notifications/references/rich-notifications.md +745 -745
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/realitykit-ar/SKILL.md +479 -479
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/realitykit-ar/references/realitykit-patterns.md +480 -480
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/shareplay-activities/SKILL.md +483 -483
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/shareplay-activities/references/shareplay-patterns.md +544 -544
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/speech-recognition/SKILL.md +485 -485
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/storekit/SKILL.md +478 -478
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/storekit/references/app-review-guidelines.md +58 -58
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/storekit/references/storekit-advanced.md +755 -755
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swift-charts/SKILL.md +487 -487
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swift-charts/references/charts-patterns.md +895 -895
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swift-concurrency/SKILL.md +408 -408
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swift-concurrency/references/approachable-concurrency.md +80 -80
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swift-concurrency/references/swift-6-2-concurrency.md +233 -233
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swift-concurrency/references/swiftui-concurrency.md +187 -187
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swift-concurrency/references/synchronization-primitives.md +341 -341
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swift-language/SKILL.md +498 -498
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swift-language/references/swift-patterns-extended.md +505 -505
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swift-testing/SKILL.md +467 -467
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swift-testing/references/testing-patterns.md +504 -504
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftdata/SKILL.md +334 -334
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftdata/references/core-data-coexistence.md +504 -504
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftdata/references/swiftdata-advanced.md +975 -975
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftdata/references/swiftdata-queries.md +675 -675
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-animation/SKILL.md +481 -481
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-animation/references/animation-advanced.md +804 -804
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-animation/references/core-animation-bridge.md +553 -553
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-gestures/SKILL.md +450 -450
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-gestures/references/gesture-patterns.md +425 -425
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-layout-components/SKILL.md +336 -336
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-layout-components/references/form.md +97 -97
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-layout-components/references/grids.md +69 -69
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-layout-components/references/list.md +99 -99
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-layout-components/references/scrollview.md +147 -147
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-liquid-glass/SKILL.md +325 -325
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-liquid-glass/references/liquid-glass.md +387 -387
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-navigation/SKILL.md +262 -262
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-navigation/references/deeplinks.md +207 -207
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-navigation/references/navigationstack.md +177 -177
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-navigation/references/sheets.md +169 -169
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-navigation/references/tabview.md +178 -178
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-patterns/SKILL.md +381 -381
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-patterns/references/architecture-patterns.md +486 -486
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-patterns/references/deprecated-migration.md +1097 -1097
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-patterns/references/design-polish.md +780 -780
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-patterns/references/platform-and-sharing.md +696 -696
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-performance/SKILL.md +491 -491
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-performance/references/demystify-swiftui-performance-wwdc23.md +46 -46
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-performance/references/optimizing-swiftui-performance-instruments.md +29 -29
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-performance/references/understanding-hangs-in-your-app.md +33 -33
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-performance/references/understanding-improving-swiftui-performance.md +52 -52
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-uikit-interop/SKILL.md +428 -428
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-uikit-interop/references/hosting-migration.md +534 -534
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/swiftui-uikit-interop/references/representable-recipes.md +1133 -1133
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/tipkit/SKILL.md +494 -494
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/tipkit/references/tipkit-patterns.md +782 -782
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/vision-framework/SKILL.md +475 -475
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/vision-framework/references/vision-requests.md +736 -736
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/vision-framework/references/visionkit-scanner.md +738 -738
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/weatherkit/SKILL.md +410 -410
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/weatherkit/references/weatherkit-patterns.md +567 -567
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/widgetkit/SKILL.md +497 -497
- package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/widgetkit/references/widgetkit-advanced.md +871 -871
- package/src/.agents/skills/ui-ux-pro-custom/data/typography.csv +57 -57
- package/src/.agents/skills/ui-ux-pro-custom/data/ui-reasoning.csv +101 -101
- package/src/.agents/skills/ui-ux-pro-custom/data/ux-guidelines.csv +99 -99
- package/src/.agents/skills/ui-ux-pro-custom/data/web-interface.csv +31 -31
- package/src/.agents/skills/ui-ux-pro-custom/scripts/core.py +253 -253
- package/src/.agents/skills/ui-ux-pro-custom/scripts/design_system.py +1067 -1067
- package/src/.agents/skills/ui-ux-pro-custom/scripts/search.py +114 -114
- package/src/.agents/skills/ux-audit/SKILL.md +150 -150
- package/src/.agents/skills/websocket-engineer/SKILL.md +168 -168
- package/src/.agents/skills/websocket-engineer/references/alternatives.md +391 -391
- package/src/.agents/skills/websocket-engineer/references/patterns.md +400 -400
- package/src/.agents/skills/websocket-engineer/references/protocol.md +195 -195
- package/src/.agents/skills/websocket-engineer/references/scaling.md +333 -333
- package/src/.agents/skills/websocket-engineer/references/security.md +474 -474
- package/src/.agents/skills/writing-skills/SKILL.md +655 -655
- package/src/.agents/skills/writing-skills/anthropic-best-practices.md +1150 -1150
- package/src/.agents/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -189
- package/src/.agents/skills/writing-skills/graphviz-conventions.dot +171 -171
- package/src/.agents/skills/writing-skills/persuasion-principles.md +187 -187
- package/src/.agents/skills/writing-skills/render-graphs.js +168 -168
- package/src/.agents/skills/writing-skills/testing-skills-with-subagents.md +384 -384
- package/src/.claude/commands/master-orchestrator.md +15 -0
- package/src/_memory/config.yaml +11 -11
- package/src/_memory/master-orchestrator-sidecar/instructions.md +97 -47
- package/src/_memory/skills/nimbalyst-tracking/SKILL.md +103 -103
- package/src/_memory/skills/writing-skills/SKILL.md +655 -655
- package/src/bmb/agents/agent-builder.md +59 -59
- package/src/bmb/agents/module-builder.md +60 -60
- package/src/bmb/agents/workflow-builder.md +61 -61
- package/src/bmb/config.yaml +12 -12
- package/src/bmb/module-help.csv +13 -13
- package/src/bmb/workflows/agent/data/agent-architecture.md +258 -258
- package/src/bmb/workflows/agent/data/agent-compilation.md +185 -185
- package/src/bmb/workflows/agent/data/agent-menu-patterns.md +189 -189
- package/src/bmb/workflows/agent/data/agent-metadata.md +133 -133
- package/src/bmb/workflows/agent/data/agent-validation.md +111 -111
- package/src/bmb/workflows/agent/data/brainstorm-context.md +96 -96
- package/src/bmb/workflows/agent/data/communication-presets.csv +61 -61
- package/src/bmb/workflows/agent/data/critical-actions.md +75 -75
- package/src/bmb/workflows/agent/data/persona-properties.md +252 -252
- package/src/bmb/workflows/agent/data/principles-crafting.md +142 -142
- package/src/bmb/workflows/agent/data/reference/module-examples/architect.md +68 -68
- package/src/bmb/workflows/agent/data/reference/with-sidecar/journal-keeper/journal-keeper-sidecar/entries/yy-mm-dd-entry-template.md +16 -16
- package/src/bmb/workflows/agent/data/understanding-agent-types.md +126 -126
- package/src/bmb/workflows/agent/steps-c/step-01-brainstorm.md +129 -129
- package/src/bmb/workflows/agent/steps-c/step-02-discovery.md +170 -170
- package/src/bmb/workflows/agent/steps-c/step-03-sidecar-metadata.md +309 -309
- package/src/bmb/workflows/agent/steps-c/step-04-persona.md +213 -213
- package/src/bmb/workflows/agent/steps-c/step-05-commands-menu.md +179 -179
- package/src/bmb/workflows/agent/steps-c/step-06-activation.md +278 -278
- package/src/bmb/workflows/agent/steps-c/step-07-build-agent.md +316 -316
- package/src/bmb/workflows/agent/steps-c/step-08-celebrate.md +247 -247
- package/src/bmb/workflows/agent/steps-e/e-01-load-existing.md +221 -221
- package/src/bmb/workflows/agent/steps-e/e-02-discover-edits.md +195 -195
- package/src/bmb/workflows/agent/steps-e/e-04-sidecar-metadata.md +126 -126
- package/src/bmb/workflows/agent/steps-e/e-05-persona.md +135 -135
- package/src/bmb/workflows/agent/steps-e/e-06-commands-menu.md +123 -123
- package/src/bmb/workflows/agent/steps-e/e-07-activation.md +124 -124
- package/src/bmb/workflows/agent/steps-e/e-08-edit-agent.md +197 -197
- package/src/bmb/workflows/agent/steps-e/e-09-celebrate.md +155 -155
- package/src/bmb/workflows/agent/steps-v/v-01-load-review.md +137 -137
- package/src/bmb/workflows/agent/steps-v/v-02a-validate-metadata.md +116 -116
- package/src/bmb/workflows/agent/steps-v/v-02b-validate-persona.md +124 -124
- package/src/bmb/workflows/agent/steps-v/v-02c-validate-menu.md +127 -127
- package/src/bmb/workflows/agent/steps-v/v-02d-validate-structure.md +134 -134
- package/src/bmb/workflows/agent/steps-v/v-02e-validate-sidecar.md +134 -134
- package/src/bmb/workflows/agent/steps-v/v-03-summary.md +104 -104
- package/src/bmb/workflows/agent/templates/agent-plan.template.md +5 -5
- package/src/bmb/workflows/agent/templates/agent-template.md +89 -89
- package/src/bmb/workflows/agent/workflow-create-agent.md +72 -72
- package/src/bmb/workflows/agent/workflow-edit-agent.md +75 -75
- package/src/bmb/workflows/agent/workflow-validate-agent.md +73 -73
- package/src/bmb/workflows/module/data/agent-architecture.md +179 -179
- package/src/bmb/workflows/module/data/agent-spec-template.md +79 -79
- package/src/bmb/workflows/module/data/module-standards.md +263 -263
- package/src/bmb/workflows/module/data/module-yaml-conventions.md +392 -392
- package/src/bmb/workflows/module/module-help-generate.md +254 -254
- package/src/bmb/workflows/module/steps-b/step-01-welcome.md +148 -148
- package/src/bmb/workflows/module/steps-b/step-02-spark.md +141 -141
- package/src/bmb/workflows/module/steps-b/step-03-module-type.md +149 -149
- package/src/bmb/workflows/module/steps-b/step-04-vision.md +83 -83
- package/src/bmb/workflows/module/steps-b/step-05-identity.md +97 -97
- package/src/bmb/workflows/module/steps-b/step-06-users.md +86 -86
- package/src/bmb/workflows/module/steps-b/step-07-value.md +76 -76
- package/src/bmb/workflows/module/steps-b/step-08-agents.md +97 -97
- package/src/bmb/workflows/module/steps-b/step-09-workflows.md +83 -83
- package/src/bmb/workflows/module/steps-b/step-10-tools.md +91 -91
- package/src/bmb/workflows/module/steps-b/step-11-scenarios.md +84 -84
- package/src/bmb/workflows/module/steps-b/step-12-creative.md +95 -95
- package/src/bmb/workflows/module/steps-b/step-13-review.md +105 -105
- package/src/bmb/workflows/module/steps-b/step-14-finalize.md +117 -117
- package/src/bmb/workflows/module/steps-c/step-01-load-brief.md +179 -179
- package/src/bmb/workflows/module/steps-c/step-01b-continue.md +82 -82
- package/src/bmb/workflows/module/steps-c/step-02-structure.md +105 -105
- package/src/bmb/workflows/module/steps-c/step-03-config.md +119 -119
- package/src/bmb/workflows/module/steps-c/step-04-agents.md +168 -168
- package/src/bmb/workflows/module/steps-c/step-05-workflows.md +184 -184
- package/src/bmb/workflows/module/steps-c/step-06-docs.md +401 -401
- package/src/bmb/workflows/module/steps-c/step-07-complete.md +152 -152
- package/src/bmb/workflows/module/steps-e/step-01-load-target.md +81 -81
- package/src/bmb/workflows/module/steps-e/step-02-select-edit.md +77 -77
- package/src/bmb/workflows/module/steps-e/step-03-apply-edit.md +77 -77
- package/src/bmb/workflows/module/steps-e/step-04-review.md +80 -80
- package/src/bmb/workflows/module/steps-e/step-05-confirm.md +75 -75
- package/src/bmb/workflows/module/steps-v/step-01-load-target.md +96 -96
- package/src/bmb/workflows/module/steps-v/step-02-file-structure.md +93 -93
- package/src/bmb/workflows/module/steps-v/step-03-module-yaml.md +99 -99
- package/src/bmb/workflows/module/steps-v/step-04-agent-specs.md +152 -152
- package/src/bmb/workflows/module/steps-v/step-05-workflow-specs.md +152 -152
- package/src/bmb/workflows/module/steps-v/step-06-documentation.md +143 -143
- package/src/bmb/workflows/module/steps-v/step-07-installation.md +102 -102
- package/src/bmb/workflows/module/steps-v/step-08-report.md +197 -197
- package/src/bmb/workflows/module/templates/brief-template.md +154 -154
- package/src/bmb/workflows/module/templates/workflow-spec-template.md +96 -96
- package/src/bmb/workflows/module/workflow-create-module-brief.md +71 -71
- package/src/bmb/workflows/module/workflow-create-module.md +86 -86
- package/src/bmb/workflows/module/workflow-edit-module.md +66 -66
- package/src/bmb/workflows/module/workflow-validate-module.md +66 -66
- package/src/bmb/workflows/workflow/data/architecture.md +150 -150
- package/src/bmb/workflows/workflow/data/common-workflow-tools.csv +19 -19
- package/src/bmb/workflows/workflow/data/csv-data-file-standards.md +53 -53
- package/src/bmb/workflows/workflow/data/frontmatter-standards.md +184 -184
- package/src/bmb/workflows/workflow/data/input-discovery-standards.md +191 -191
- package/src/bmb/workflows/workflow/data/intent-vs-prescriptive-spectrum.md +44 -44
- package/src/bmb/workflows/workflow/data/menu-handling-standards.md +133 -133
- package/src/bmb/workflows/workflow/data/output-format-standards.md +135 -135
- package/src/bmb/workflows/workflow/data/step-file-rules.md +235 -235
- package/src/bmb/workflows/workflow/data/step-type-patterns.md +257 -257
- package/src/bmb/workflows/workflow/data/subprocess-optimization-patterns.md +188 -188
- package/src/bmb/workflows/workflow/data/trimodal-workflow-structure.md +164 -164
- package/src/bmb/workflows/workflow/data/workflow-chaining-standards.md +222 -222
- package/src/bmb/workflows/workflow/data/workflow-examples.md +232 -232
- package/src/bmb/workflows/workflow/data/workflow-type-criteria.md +134 -134
- package/src/bmb/workflows/workflow/steps-c/step-00-conversion.md +263 -263
- package/src/bmb/workflows/workflow/steps-c/step-01-discovery.md +194 -194
- package/src/bmb/workflows/workflow/steps-c/step-01b-continuation.md +3 -3
- package/src/bmb/workflows/workflow/steps-c/step-02-classification.md +270 -270
- package/src/bmb/workflows/workflow/steps-c/step-03-requirements.md +283 -283
- package/src/bmb/workflows/workflow/steps-c/step-04-tools.md +282 -282
- package/src/bmb/workflows/workflow/steps-c/step-05-plan-review.md +243 -243
- package/src/bmb/workflows/workflow/steps-c/step-06-design.md +330 -330
- package/src/bmb/workflows/workflow/steps-c/step-07-foundation.md +239 -239
- package/src/bmb/workflows/workflow/steps-c/step-08-build-step-01.md +379 -379
- package/src/bmb/workflows/workflow/steps-c/step-09-build-next-step.md +350 -350
- package/src/bmb/workflows/workflow/steps-c/step-10-confirmation.md +322 -322
- package/src/bmb/workflows/workflow/steps-c/step-11-completion.md +191 -191
- package/src/bmb/workflows/workflow/steps-e/step-e-01-assess-workflow.md +237 -237
- package/src/bmb/workflows/workflow/steps-e/step-e-02-discover-edits.md +251 -251
- package/src/bmb/workflows/workflow/steps-e/step-e-03-fix-validation.md +254 -254
- package/src/bmb/workflows/workflow/steps-e/step-e-04-direct-edit.md +277 -277
- package/src/bmb/workflows/workflow/steps-e/step-e-05-apply-edit.md +154 -154
- package/src/bmb/workflows/workflow/steps-e/step-e-06-validate-after.md +190 -190
- package/src/bmb/workflows/workflow/steps-e/step-e-07-complete.md +206 -206
- package/src/bmb/workflows/workflow/steps-v/step-01-validate-max-mode.md +109 -109
- package/src/bmb/workflows/workflow/steps-v/step-01-validate.md +221 -221
- package/src/bmb/workflows/workflow/steps-v/step-01b-structure.md +152 -152
- package/src/bmb/workflows/workflow/steps-v/step-02-frontmatter-validation.md +199 -199
- package/src/bmb/workflows/workflow/steps-v/step-02b-path-violations.md +265 -265
- package/src/bmb/workflows/workflow/steps-v/step-03-menu-validation.md +164 -164
- package/src/bmb/workflows/workflow/steps-v/step-04-step-type-validation.md +211 -211
- package/src/bmb/workflows/workflow/steps-v/step-05-output-format-validation.md +200 -200
- package/src/bmb/workflows/workflow/steps-v/step-06-validation-design-check.md +195 -195
- package/src/bmb/workflows/workflow/steps-v/step-07-instruction-style-check.md +209 -209
- package/src/bmb/workflows/workflow/steps-v/step-08-collaborative-experience-check.md +199 -199
- package/src/bmb/workflows/workflow/steps-v/step-08b-subprocess-optimization.md +179 -179
- package/src/bmb/workflows/workflow/steps-v/step-09-cohesive-review.md +186 -186
- package/src/bmb/workflows/workflow/steps-v/step-10-report-complete.md +154 -154
- package/src/bmb/workflows/workflow/steps-v/step-11-plan-validation.md +237 -237
- package/src/bmb/workflows/workflow/templates/minimal-output-template.md +11 -11
- package/src/bmb/workflows/workflow/templates/step-01-init-continuable-template.md +241 -241
- package/src/bmb/workflows/workflow/templates/step-1b-template.md +224 -224
- package/src/bmb/workflows/workflow/templates/step-template.md +294 -294
- package/src/bmb/workflows/workflow/templates/workflow-template.md +102 -102
- package/src/bmb/workflows/workflow/workflow-create-workflow.md +79 -79
- package/src/bmb/workflows/workflow/workflow-edit-workflow.md +65 -65
- package/src/bmb/workflows/workflow/workflow-rework-workflow.md +65 -65
- package/src/bmb/workflows/workflow/workflow-validate-max-parallel-workflow.md +66 -66
- package/src/bmb/workflows/workflow/workflow-validate-workflow.md +65 -65
- package/src/bmm/agents/analyst.md +104 -104
- package/src/bmm/agents/dev.md +100 -100
- package/src/bmm/agents/qa.md +100 -90
- package/src/bmm/agents/tech-writer/tech-writer.md +94 -94
- package/src/bmm/module-help.csv +31 -31
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +115 -115
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +107 -107
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +141 -141
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +144 -144
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +147 -147
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +161 -161
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +99 -99
- package/src/bmm/workflows/1-analysis/create-product-brief/workflow.md +57 -57
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +87 -87
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +156 -156
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +165 -165
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +140 -140
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +152 -152
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +345 -345
- package/src/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +92 -92
- package/src/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +164 -164
- package/src/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +174 -174
- package/src/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +184 -184
- package/src/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +105 -105
- package/src/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +360 -360
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +87 -87
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +165 -165
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +174 -174
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +141 -141
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +159 -159
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +387 -387
- package/src/bmm/workflows/1-analysis/research/workflow-domain-research.md +54 -54
- package/src/bmm/workflows/1-analysis/research/workflow-market-research.md +54 -54
- package/src/bmm/workflows/1-analysis/research/workflow-technical-research.md +54 -54
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md +100 -100
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md +160 -160
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02b-vision.md +88 -88
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02c-executive-summary.md +99 -99
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md +169 -169
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md +156 -156
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md +136 -136
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md +176 -176
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md +184 -184
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md +174 -174
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md +175 -175
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md +189 -189
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md +162 -162
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md +79 -79
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md +183 -183
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md +149 -149
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md +187 -187
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md +192 -192
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md +108 -108
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +166 -166
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +131 -131
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +150 -150
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +118 -118
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md +155 -155
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md +170 -170
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md +158 -158
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md +147 -147
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md +182 -182
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md +202 -202
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +148 -148
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +201 -201
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md +179 -179
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +164 -164
- package/src/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md +65 -65
- package/src/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md +65 -65
- package/src/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +63 -63
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +63 -63
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +106 -106
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +111 -111
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +115 -115
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +127 -127
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +167 -167
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +143 -143
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +118 -118
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +154 -154
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +136 -136
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +165 -165
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +135 -135
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +192 -192
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +101 -101
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +45 -45
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +185 -185
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +129 -129
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +130 -130
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +93 -93
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +196 -196
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +129 -129
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +54 -54
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +82 -82
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +106 -106
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +138 -138
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +129 -129
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +166 -166
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +186 -186
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +163 -163
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +38 -38
- package/src/bmm/workflows/3-solutioning/create-architecture/workflow.md +49 -49
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +124 -124
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +122 -122
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +84 -84
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +58 -58
- package/src/bmm/workflows/4-implementation/code-review/workflow.yaml +43 -43
- package/src/bmm/workflows/4-implementation/correct-course/workflow.yaml +53 -53
- package/src/bmm/workflows/4-implementation/create-story/checklist.md +159 -159
- package/src/bmm/workflows/4-implementation/create-story/template.md +79 -79
- package/src/bmm/workflows/4-implementation/create-story/workflow.yaml +52 -52
- package/src/bmm/workflows/4-implementation/dev-story/workflow.yaml +20 -20
- package/src/bmm/workflows/4-implementation/retrospective/workflow.yaml +52 -52
- package/src/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +52 -52
- package/src/bmm/workflows/4-implementation/sprint-status/workflow.yaml +25 -25
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +158 -158
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +122 -122
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +93 -93
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +93 -93
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +87 -87
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +146 -146
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +50 -50
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +152 -152
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +123 -123
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +201 -201
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +79 -79
- package/src/bmm/workflows/document-project/workflow.yaml +22 -22
- package/src/bmm/workflows/generate-project-context/steps/step-01-discover.md +184 -184
- package/src/bmm/workflows/generate-project-context/steps/step-02-generate.md +322 -322
- package/src/bmm/workflows/generate-project-context/steps/step-03-complete.md +235 -235
- package/src/bmm/workflows/generate-project-context/workflow.md +49 -49
- package/src/bmm/workflows/qa/automate/workflow.yaml +233 -233
- package/src/bmm/workflows/qa-generate-e2e-tests/workflow.yaml +42 -42
- package/src/core/config.yaml +9 -9
- package/src/core/module-help.csv +10 -10
- package/src/core/scripts/generate-loop-report.py +72 -72
- package/src/core/tasks/editorial-review-prose.xml +101 -101
- package/src/core/tasks/editorial-review-structure.xml +207 -207
- package/src/core/tasks/help.md +86 -86
- package/src/core/tasks/index-docs.xml +64 -64
- package/src/core/tasks/review-adversarial-general.xml +66 -66
- package/src/core/tasks/review-adversarial-loop.xml +46 -46
- package/src/core/tasks/review-edge-case-hunter.xml +63 -63
- package/src/core/tasks/review-party-loop.xml +46 -46
- package/src/core/tasks/shard-doc.xml +107 -107
- package/src/core/tasks/workflow.xml +235 -235
- package/src/core/templates/review-loop-report.html +88 -88
- package/src/core/templates/review-loop-report.md +5 -5
- package/src/core/workflows/advanced-elicitation/workflow.xml +117 -117
- package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +212 -212
- package/src/core/workflows/brainstorming/steps/step-01b-continue.md +122 -122
- package/src/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -225
- package/src/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -237
- package/src/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -209
- package/src/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -264
- package/src/core/workflows/brainstorming/steps/step-02e-deep-dive.md +68 -68
- package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +403 -403
- package/src/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -303
- package/src/core/workflows/brainstorming/workflow.md +60 -60
- package/src/core/workflows/extract-trackers/workflow.md +45 -45
- package/src/core/workflows/party-mode/steps/step-01-agent-loading.md +142 -142
- package/src/core/workflows/party-mode/workflow.md +194 -194
- package/src/docs/dev/tmux/actions_popup.py +291 -291
- package/src/docs/dev/tmux/tmux-setup.md +62 -1
|
@@ -1,233 +1,233 @@
|
|
|
1
|
-
id: qa-automate
|
|
2
|
-
name: QA Automate
|
|
3
|
-
description: >
|
|
4
|
-
Playwright-first E2E test workflow. Builds a test plan from specs or diffs,
|
|
5
|
-
generates .spec.ts test files, authenticates via dev/user quick-login + Dev Kit,
|
|
6
|
-
runs tests via playwright-cli (MCP fallback), captures annotated screenshots,
|
|
7
|
-
and produces an HTML gallery report. Optionally promotes specs to tests/ for
|
|
8
|
-
permanent tracking.
|
|
9
|
-
|
|
10
|
-
phases:
|
|
11
|
-
- id: phase-0
|
|
12
|
-
name: Auth Setup
|
|
13
|
-
auth_reference: |
|
|
14
|
-
## Auth Reference
|
|
15
|
-
- Login page at localhost:3000 has TWO quick-login buttons: "Login as Dev" and "Login as User" — single click, no credentials needed
|
|
16
|
-
- Default to "Login as Dev" for most scenarios; use "Login as User" for user-perspective flows
|
|
17
|
-
- If quick-login buttons absent: fall back to manual credential login
|
|
18
|
-
- Dev Kit button (visible when logged in): (1) Emulate user — switch acting-as context, (2) Edit permissions — modify any user's permission flags, (3) Add money/XP — inject currency/XP to set preconditions
|
|
19
|
-
- Always configure preconditions via Dev Kit before scenarios requiring specific state
|
|
20
|
-
- Save auth state after login: playwright-cli state-save {feature-slug}/auth.json
|
|
21
|
-
description: >
|
|
22
|
-
Navigate to localhost:3000. Click "Login as Dev" (default) or "Login as User"
|
|
23
|
-
for user-perspective flows. If quick-login buttons are absent, fall back to
|
|
24
|
-
manual credential login (check config or prompt user).
|
|
25
|
-
After login: playwright-cli state-save _bmad-output/qa-tests/{feature-slug}/auth.json
|
|
26
|
-
Store auth state path as session variable auth_state_path.
|
|
27
|
-
Use Dev Kit (visible when logged in) to configure per-scenario preconditions:
|
|
28
|
-
- Emulate user: switch acting-as context
|
|
29
|
-
- Edit permissions: modify user permission flags
|
|
30
|
-
- Add money/XP: inject precondition values
|
|
31
|
-
outputs:
|
|
32
|
-
- _bmad-output/qa-tests/{feature-slug}/auth.json
|
|
33
|
-
|
|
34
|
-
- id: phase-1
|
|
35
|
-
name: Test Plan
|
|
36
|
-
description: >
|
|
37
|
-
Analyze plan files (PRDs, epics, stories) and/or recently edited code.
|
|
38
|
-
Derive feature-slug deterministically:
|
|
39
|
-
1. Take plan filename stem or story title
|
|
40
|
-
2. Lowercase, replace spaces/non-alphanumeric with hyphens
|
|
41
|
-
3. Truncate to 40 chars
|
|
42
|
-
4. Append - + first 4 hex chars of SHA-256 of full absolute path
|
|
43
|
-
Shell: echo -n "/full/path/to/file.md" | sha256sum | cut -c1-4
|
|
44
|
-
5. Example: user-profile-edit-a3f2
|
|
45
|
-
If no plan file: prompt user for a feature name to use as slug base.
|
|
46
|
-
Output test-plan.md using the schema below.
|
|
47
|
-
outputs:
|
|
48
|
-
- _bmad-output/qa-tests/{feature-slug}/test-plan.md
|
|
49
|
-
schema: |
|
|
50
|
-
# Test Plan: {feature-slug}
|
|
51
|
-
Generated: {ISO-8601 datetime}
|
|
52
|
-
Source: {plan file path or "manual"}
|
|
53
|
-
Auth strategy: {dev-login | user-login | state-file}
|
|
54
|
-
Auth state file: {absolute path to auth.json}
|
|
55
|
-
|
|
56
|
-
## Scenarios
|
|
57
|
-
### {n}. {Scenario Title}
|
|
58
|
-
- URL: {starting URL}
|
|
59
|
-
- Pre-conditions: {Dev Kit setup required, e.g. "set user XP to 500"}
|
|
60
|
-
- Steps: {numbered list}
|
|
61
|
-
- Expected outcome: {assertion}
|
|
62
|
-
- Screenshot triggers: {list of moments to capture}
|
|
63
|
-
|
|
64
|
-
- id: phase-2
|
|
65
|
-
name: Test File Generation
|
|
66
|
-
description: >
|
|
67
|
-
Write .spec.ts playwright test files into _bmad-output/qa-tests/{feature-slug}/tests/.
|
|
68
|
-
Each file must:
|
|
69
|
-
- Import from @playwright/test
|
|
70
|
-
- Use baseURL from playwright.config.ts (localhost:3000)
|
|
71
|
-
- Load auth state at test.use() block:
|
|
72
|
-
test.use({ storageState: '{absolute-project-root}/_bmad-output/qa-tests/{feature-slug}/auth.json' });
|
|
73
|
-
- Substitute {absolute-project-root} with resolved project root at generation time
|
|
74
|
-
outputs:
|
|
75
|
-
- _bmad-output/qa-tests/{feature-slug}/tests/*.spec.ts
|
|
76
|
-
|
|
77
|
-
- id: phase-3
|
|
78
|
-
name: Execution Preflight + Run
|
|
79
|
-
description: >
|
|
80
|
-
Preflight 1 (CLI binary): playwright-cli --version
|
|
81
|
-
- Exit 0 → playwright_tool=cli
|
|
82
|
-
- Fails → playwright_tool=mcp
|
|
83
|
-
Preflight 2 (App reachable): curl localhost:3000 with 3 retries, 3s apart, 10s timeout
|
|
84
|
-
- Unreachable → ABORT: "App not reachable at localhost:3000 — start Docker containers first."
|
|
85
|
-
Double-failure (CLI unavailable AND MCP unconfigured):
|
|
86
|
-
ABORT: "Neither playwright-cli nor playwright MCP is available.
|
|
87
|
-
Install playwright-cli or configure the playwright MCP server, then retry."
|
|
88
|
-
Run tests:
|
|
89
|
-
- playwright-cli mode: playwright-cli open localhost:3000, execute scenario steps, screenshot
|
|
90
|
-
- MCP fallback: browser_navigate, browser_click, browser_fill_form, browser_take_screenshot, browser_snapshot
|
|
91
|
-
Document playwright_tool used in report header.
|
|
92
|
-
|
|
93
|
-
- id: phase-4
|
|
94
|
-
name: Screenshots
|
|
95
|
-
description: >
|
|
96
|
-
For every screenshot taken, record a JSON entry and append to manifest.json.
|
|
97
|
-
Failure screenshots included with status: "failed" — do NOT block report.
|
|
98
|
-
outputs:
|
|
99
|
-
- _bmad-output/qa-tests/{feature-slug}/screenshots/{nn}-{step-name}.png
|
|
100
|
-
- _bmad-output/qa-tests/{feature-slug}/screenshots/manifest.json
|
|
101
|
-
manifest_entry_schema: |
|
|
102
|
-
{
|
|
103
|
-
"filename": "01-login-page.png",
|
|
104
|
-
"scenario": "{scenario title}",
|
|
105
|
-
"step": "{step description}",
|
|
106
|
-
"why": "{why this screenshot was taken}",
|
|
107
|
-
"shows": "{what is visible in the screenshot}",
|
|
108
|
-
"tests": "{what feature/assertion this screenshot proves}",
|
|
109
|
-
"status": "passed | failed",
|
|
110
|
-
"timestamp": "{ISO-8601}"
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
- id: phase-5
|
|
114
|
-
name: HTML Gallery Report
|
|
115
|
-
description: >
|
|
116
|
-
Read _bmad-output/qa-tests/{feature-slug}/screenshots/manifest.json.
|
|
117
|
-
Iterate over each entry; render one card per entry into the HTML template,
|
|
118
|
-
substituting all {placeholder} values from corresponding JSON fields.
|
|
119
|
-
Compute summary totals from manifest:
|
|
120
|
-
total = manifest.length
|
|
121
|
-
passed = count where status=passed
|
|
122
|
-
failed = count where status=failed
|
|
123
|
-
duration = last_timestamp minus first_timestamp
|
|
124
|
-
Card classes: passed entry → "card passed" + "badge pass", failed → "card failed" + "badge fail"
|
|
125
|
-
Write completed HTML to _bmad-output/qa-tests/{feature-slug}/report.html.
|
|
126
|
-
outputs:
|
|
127
|
-
- _bmad-output/qa-tests/{feature-slug}/report.html
|
|
128
|
-
|
|
129
|
-
- id: phase-6
|
|
130
|
-
name: Open Report
|
|
131
|
-
description: >
|
|
132
|
-
Detect platform:
|
|
133
|
-
if [[ "$OSTYPE" == "msys" || "$OSTYPE" == "cygwin" ]] || command -v cmd.exe &>/dev/null
|
|
134
|
-
then PLATFORM=windows
|
|
135
|
-
elif [[ "$(uname)" == "Darwin" ]]
|
|
136
|
-
then PLATFORM=mac
|
|
137
|
-
else PLATFORM=linux
|
|
138
|
-
fi
|
|
139
|
-
Open using absolute path to report.html:
|
|
140
|
-
Windows: start "" "C:\absolute\path\to\report.html"
|
|
141
|
-
Mac: open /absolute/path/to/report.html
|
|
142
|
-
Linux: xdg-open /absolute/path/to/report.html
|
|
143
|
-
Always print absolute path to terminal regardless of platform.
|
|
144
|
-
|
|
145
|
-
- id: phase-7
|
|
146
|
-
name: Promote (optional)
|
|
147
|
-
description: >
|
|
148
|
-
Present user with list of generated .spec.ts files.
|
|
149
|
-
Ask: "Which test files would you like to promote to tests/ for permanent tracking?"
|
|
150
|
-
For each selected file, before copying:
|
|
151
|
-
- Check if file exists in tests/: if [ -f "tests/{filename}" ]
|
|
152
|
-
- If exists → prompt: "[O]verwrite / [R]ename with timestamp suffix
|
|
153
|
-
(e.g. auth-flow-20260309.spec.ts) / [S]kip this file" — default: Skip
|
|
154
|
-
On successful copy: "✅ Promoted {filename} to tests/"
|
|
155
|
-
NOTE: This write to {project-root}/tests/ is explicitly exempted from the
|
|
156
|
-
_bmad-output/qa-tests/ write constraint.
|
|
157
|
-
If user skips: session complete.
|
|
158
|
-
|
|
159
|
-
html_template: |
|
|
160
|
-
<!DOCTYPE html>
|
|
161
|
-
<html lang="en">
|
|
162
|
-
<head>
|
|
163
|
-
<meta charset="UTF-8" />
|
|
164
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
165
|
-
<title>QA Report — {feature-slug}</title>
|
|
166
|
-
<style>
|
|
167
|
-
:root {
|
|
168
|
-
--pass: #22c55e; --fail: #ef4444; --bg: #0f0f11; --surface: #1a1a1f;
|
|
169
|
-
--border: #2a2a35; --text: #e2e2e8; --muted: #6b6b80; --accent: #7c3aed;
|
|
170
|
-
}
|
|
171
|
-
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
172
|
-
body { background: var(--bg); color: var(--text); font-family: 'Inter', system-ui, sans-serif; padding: 2rem; }
|
|
173
|
-
.report-header { border-bottom: 1px solid var(--border); padding-bottom: 1.5rem; margin-bottom: 2rem; }
|
|
174
|
-
.report-header h1 { font-size: 1.5rem; font-weight: 700; margin-bottom: 0.25rem; }
|
|
175
|
-
.report-header .meta { color: var(--muted); font-size: 0.875rem; }
|
|
176
|
-
.summary { display: flex; gap: 1rem; margin-bottom: 2rem; flex-wrap: wrap; }
|
|
177
|
-
.summary-card { background: var(--surface); border: 1px solid var(--border); border-radius: 0.5rem; padding: 1rem 1.5rem; min-width: 140px; }
|
|
178
|
-
.summary-card .label { font-size: 0.75rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.05em; }
|
|
179
|
-
.summary-card .value { font-size: 1.75rem; font-weight: 700; margin-top: 0.25rem; }
|
|
180
|
-
.summary-card.pass .value { color: var(--pass); }
|
|
181
|
-
.summary-card.fail .value { color: var(--fail); }
|
|
182
|
-
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 1.5rem; }
|
|
183
|
-
.card.passed { background: var(--surface); border: 1px solid var(--border); border-radius: 0.75rem; overflow: hidden; }
|
|
184
|
-
.card.failed { background: var(--surface); border: 1px solid var(--fail); border-radius: 0.75rem; overflow: hidden; }
|
|
185
|
-
.card img { width: 100%; display: block; aspect-ratio: 16/10; object-fit: cover; }
|
|
186
|
-
.img-wrap { position: relative; }
|
|
187
|
-
.badge { position: absolute; top: 0.5rem; right: 0.5rem; padding: 0.25rem 0.6rem; border-radius: 999px; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
|
|
188
|
-
.badge.pass { background: var(--pass); color: #000; }
|
|
189
|
-
.badge.fail { background: var(--fail); color: #fff; }
|
|
190
|
-
.card-body { padding: 1rem; }
|
|
191
|
-
.card-scenario { font-size: 0.7rem; color: var(--accent); text-transform: uppercase; font-weight: 600; letter-spacing: 0.05em; margin-bottom: 0.4rem; }
|
|
192
|
-
.card-step { font-size: 0.875rem; font-weight: 600; margin-bottom: 0.75rem; }
|
|
193
|
-
.card-meta { display: flex; flex-direction: column; gap: 0.5rem; }
|
|
194
|
-
.card-meta-row { display: flex; gap: 0.5rem; font-size: 0.8rem; }
|
|
195
|
-
.card-meta-row .key { color: var(--muted); min-width: 52px; flex-shrink: 0; }
|
|
196
|
-
.card-meta-row .val { color: var(--text); }
|
|
197
|
-
.timestamp { font-size: 0.7rem; color: var(--muted); margin-top: 0.75rem; }
|
|
198
|
-
</style>
|
|
199
|
-
</head>
|
|
200
|
-
<body>
|
|
201
|
-
<div class="report-header">
|
|
202
|
-
<h1>QA Report — {feature-slug}</h1>
|
|
203
|
-
<div class="meta">Run: {timestamp} | Source: {plan-file} | Tool: {playwright_tool}</div>
|
|
204
|
-
</div>
|
|
205
|
-
<div class="summary">
|
|
206
|
-
<div class="summary-card"><div class="label">Total</div><div class="value">{total}</div></div>
|
|
207
|
-
<div class="summary-card pass"><div class="label">Passed</div><div class="value">{passed}</div></div>
|
|
208
|
-
<div class="summary-card fail"><div class="label">Failed</div><div class="value">{failed}</div></div>
|
|
209
|
-
<div class="summary-card"><div class="label">Duration</div><div class="value" style="font-size:1.2rem">{duration}</div></div>
|
|
210
|
-
</div>
|
|
211
|
-
<div class="gallery">
|
|
212
|
-
<!-- FOR EACH entry in manifest.json: render one card block below.
|
|
213
|
-
passed entry: class="card passed", badge class="badge pass", label="PASSED"
|
|
214
|
-
failed entry: class="card failed", badge class="badge fail", label="FAILED" -->
|
|
215
|
-
<div class="card {passed|failed}">
|
|
216
|
-
<div class="img-wrap">
|
|
217
|
-
<img src="screenshots/{filename}" alt="{step}" loading="lazy" />
|
|
218
|
-
<span class="badge {pass|fail}">{PASSED|FAILED}</span>
|
|
219
|
-
</div>
|
|
220
|
-
<div class="card-body">
|
|
221
|
-
<div class="card-scenario">{scenario}</div>
|
|
222
|
-
<div class="card-step">{step}</div>
|
|
223
|
-
<div class="card-meta">
|
|
224
|
-
<div class="card-meta-row"><span class="key">Why</span><span class="val">{why}</span></div>
|
|
225
|
-
<div class="card-meta-row"><span class="key">Shows</span><span class="val">{shows}</span></div>
|
|
226
|
-
<div class="card-meta-row"><span class="key">Tests</span><span class="val">{tests}</span></div>
|
|
227
|
-
</div>
|
|
228
|
-
<div class="timestamp">{timestamp}</div>
|
|
229
|
-
</div>
|
|
230
|
-
</div>
|
|
231
|
-
</div>
|
|
232
|
-
</body>
|
|
233
|
-
</html>
|
|
1
|
+
id: qa-automate
|
|
2
|
+
name: QA Automate
|
|
3
|
+
description: >
|
|
4
|
+
Playwright-first E2E test workflow. Builds a test plan from specs or diffs,
|
|
5
|
+
generates .spec.ts test files, authenticates via dev/user quick-login + Dev Kit,
|
|
6
|
+
runs tests via playwright-cli (MCP fallback), captures annotated screenshots,
|
|
7
|
+
and produces an HTML gallery report. Optionally promotes specs to tests/ for
|
|
8
|
+
permanent tracking.
|
|
9
|
+
|
|
10
|
+
phases:
|
|
11
|
+
- id: phase-0
|
|
12
|
+
name: Auth Setup
|
|
13
|
+
auth_reference: |
|
|
14
|
+
## Auth Reference
|
|
15
|
+
- Login page at localhost:3000 has TWO quick-login buttons: "Login as Dev" and "Login as User" — single click, no credentials needed
|
|
16
|
+
- Default to "Login as Dev" for most scenarios; use "Login as User" for user-perspective flows
|
|
17
|
+
- If quick-login buttons absent: fall back to manual credential login
|
|
18
|
+
- Dev Kit button (visible when logged in): (1) Emulate user — switch acting-as context, (2) Edit permissions — modify any user's permission flags, (3) Add money/XP — inject currency/XP to set preconditions
|
|
19
|
+
- Always configure preconditions via Dev Kit before scenarios requiring specific state
|
|
20
|
+
- Save auth state after login: playwright-cli state-save {feature-slug}/auth.json
|
|
21
|
+
description: >
|
|
22
|
+
Navigate to localhost:3000. Click "Login as Dev" (default) or "Login as User"
|
|
23
|
+
for user-perspective flows. If quick-login buttons are absent, fall back to
|
|
24
|
+
manual credential login (check config or prompt user).
|
|
25
|
+
After login: playwright-cli state-save _bmad-output/qa-tests/{feature-slug}/auth.json
|
|
26
|
+
Store auth state path as session variable auth_state_path.
|
|
27
|
+
Use Dev Kit (visible when logged in) to configure per-scenario preconditions:
|
|
28
|
+
- Emulate user: switch acting-as context
|
|
29
|
+
- Edit permissions: modify user permission flags
|
|
30
|
+
- Add money/XP: inject precondition values
|
|
31
|
+
outputs:
|
|
32
|
+
- _bmad-output/qa-tests/{feature-slug}/auth.json
|
|
33
|
+
|
|
34
|
+
- id: phase-1
|
|
35
|
+
name: Test Plan
|
|
36
|
+
description: >
|
|
37
|
+
Analyze plan files (PRDs, epics, stories) and/or recently edited code.
|
|
38
|
+
Derive feature-slug deterministically:
|
|
39
|
+
1. Take plan filename stem or story title
|
|
40
|
+
2. Lowercase, replace spaces/non-alphanumeric with hyphens
|
|
41
|
+
3. Truncate to 40 chars
|
|
42
|
+
4. Append - + first 4 hex chars of SHA-256 of full absolute path
|
|
43
|
+
Shell: echo -n "/full/path/to/file.md" | sha256sum | cut -c1-4
|
|
44
|
+
5. Example: user-profile-edit-a3f2
|
|
45
|
+
If no plan file: prompt user for a feature name to use as slug base.
|
|
46
|
+
Output test-plan.md using the schema below.
|
|
47
|
+
outputs:
|
|
48
|
+
- _bmad-output/qa-tests/{feature-slug}/test-plan.md
|
|
49
|
+
schema: |
|
|
50
|
+
# Test Plan: {feature-slug}
|
|
51
|
+
Generated: {ISO-8601 datetime}
|
|
52
|
+
Source: {plan file path or "manual"}
|
|
53
|
+
Auth strategy: {dev-login | user-login | state-file}
|
|
54
|
+
Auth state file: {absolute path to auth.json}
|
|
55
|
+
|
|
56
|
+
## Scenarios
|
|
57
|
+
### {n}. {Scenario Title}
|
|
58
|
+
- URL: {starting URL}
|
|
59
|
+
- Pre-conditions: {Dev Kit setup required, e.g. "set user XP to 500"}
|
|
60
|
+
- Steps: {numbered list}
|
|
61
|
+
- Expected outcome: {assertion}
|
|
62
|
+
- Screenshot triggers: {list of moments to capture}
|
|
63
|
+
|
|
64
|
+
- id: phase-2
|
|
65
|
+
name: Test File Generation
|
|
66
|
+
description: >
|
|
67
|
+
Write .spec.ts playwright test files into _bmad-output/qa-tests/{feature-slug}/tests/.
|
|
68
|
+
Each file must:
|
|
69
|
+
- Import from @playwright/test
|
|
70
|
+
- Use baseURL from playwright.config.ts (localhost:3000)
|
|
71
|
+
- Load auth state at test.use() block:
|
|
72
|
+
test.use({ storageState: '{absolute-project-root}/_bmad-output/qa-tests/{feature-slug}/auth.json' });
|
|
73
|
+
- Substitute {absolute-project-root} with resolved project root at generation time
|
|
74
|
+
outputs:
|
|
75
|
+
- _bmad-output/qa-tests/{feature-slug}/tests/*.spec.ts
|
|
76
|
+
|
|
77
|
+
- id: phase-3
|
|
78
|
+
name: Execution Preflight + Run
|
|
79
|
+
description: >
|
|
80
|
+
Preflight 1 (CLI binary): playwright-cli --version
|
|
81
|
+
- Exit 0 → playwright_tool=cli
|
|
82
|
+
- Fails → playwright_tool=mcp
|
|
83
|
+
Preflight 2 (App reachable): curl localhost:3000 with 3 retries, 3s apart, 10s timeout
|
|
84
|
+
- Unreachable → ABORT: "App not reachable at localhost:3000 — start Docker containers first."
|
|
85
|
+
Double-failure (CLI unavailable AND MCP unconfigured):
|
|
86
|
+
ABORT: "Neither playwright-cli nor playwright MCP is available.
|
|
87
|
+
Install playwright-cli or configure the playwright MCP server, then retry."
|
|
88
|
+
Run tests:
|
|
89
|
+
- playwright-cli mode: playwright-cli open localhost:3000, execute scenario steps, screenshot
|
|
90
|
+
- MCP fallback: browser_navigate, browser_click, browser_fill_form, browser_take_screenshot, browser_snapshot
|
|
91
|
+
Document playwright_tool used in report header.
|
|
92
|
+
|
|
93
|
+
- id: phase-4
|
|
94
|
+
name: Screenshots
|
|
95
|
+
description: >
|
|
96
|
+
For every screenshot taken, record a JSON entry and append to manifest.json.
|
|
97
|
+
Failure screenshots included with status: "failed" — do NOT block report.
|
|
98
|
+
outputs:
|
|
99
|
+
- _bmad-output/qa-tests/{feature-slug}/screenshots/{nn}-{step-name}.png
|
|
100
|
+
- _bmad-output/qa-tests/{feature-slug}/screenshots/manifest.json
|
|
101
|
+
manifest_entry_schema: |
|
|
102
|
+
{
|
|
103
|
+
"filename": "01-login-page.png",
|
|
104
|
+
"scenario": "{scenario title}",
|
|
105
|
+
"step": "{step description}",
|
|
106
|
+
"why": "{why this screenshot was taken}",
|
|
107
|
+
"shows": "{what is visible in the screenshot}",
|
|
108
|
+
"tests": "{what feature/assertion this screenshot proves}",
|
|
109
|
+
"status": "passed | failed",
|
|
110
|
+
"timestamp": "{ISO-8601}"
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
- id: phase-5
|
|
114
|
+
name: HTML Gallery Report
|
|
115
|
+
description: >
|
|
116
|
+
Read _bmad-output/qa-tests/{feature-slug}/screenshots/manifest.json.
|
|
117
|
+
Iterate over each entry; render one card per entry into the HTML template,
|
|
118
|
+
substituting all {placeholder} values from corresponding JSON fields.
|
|
119
|
+
Compute summary totals from manifest:
|
|
120
|
+
total = manifest.length
|
|
121
|
+
passed = count where status=passed
|
|
122
|
+
failed = count where status=failed
|
|
123
|
+
duration = last_timestamp minus first_timestamp
|
|
124
|
+
Card classes: passed entry → "card passed" + "badge pass", failed → "card failed" + "badge fail"
|
|
125
|
+
Write completed HTML to _bmad-output/qa-tests/{feature-slug}/report.html.
|
|
126
|
+
outputs:
|
|
127
|
+
- _bmad-output/qa-tests/{feature-slug}/report.html
|
|
128
|
+
|
|
129
|
+
- id: phase-6
|
|
130
|
+
name: Open Report
|
|
131
|
+
description: >
|
|
132
|
+
Detect platform:
|
|
133
|
+
if [[ "$OSTYPE" == "msys" || "$OSTYPE" == "cygwin" ]] || command -v cmd.exe &>/dev/null
|
|
134
|
+
then PLATFORM=windows
|
|
135
|
+
elif [[ "$(uname)" == "Darwin" ]]
|
|
136
|
+
then PLATFORM=mac
|
|
137
|
+
else PLATFORM=linux
|
|
138
|
+
fi
|
|
139
|
+
Open using absolute path to report.html:
|
|
140
|
+
Windows: start "" "C:\absolute\path\to\report.html"
|
|
141
|
+
Mac: open /absolute/path/to/report.html
|
|
142
|
+
Linux: xdg-open /absolute/path/to/report.html
|
|
143
|
+
Always print absolute path to terminal regardless of platform.
|
|
144
|
+
|
|
145
|
+
- id: phase-7
|
|
146
|
+
name: Promote (optional)
|
|
147
|
+
description: >
|
|
148
|
+
Present user with list of generated .spec.ts files.
|
|
149
|
+
Ask: "Which test files would you like to promote to tests/ for permanent tracking?"
|
|
150
|
+
For each selected file, before copying:
|
|
151
|
+
- Check if file exists in tests/: if [ -f "tests/{filename}" ]
|
|
152
|
+
- If exists → prompt: "[O]verwrite / [R]ename with timestamp suffix
|
|
153
|
+
(e.g. auth-flow-20260309.spec.ts) / [S]kip this file" — default: Skip
|
|
154
|
+
On successful copy: "✅ Promoted {filename} to tests/"
|
|
155
|
+
NOTE: This write to {project-root}/tests/ is explicitly exempted from the
|
|
156
|
+
_bmad-output/qa-tests/ write constraint.
|
|
157
|
+
If user skips: session complete.
|
|
158
|
+
|
|
159
|
+
html_template: |
|
|
160
|
+
<!DOCTYPE html>
|
|
161
|
+
<html lang="en">
|
|
162
|
+
<head>
|
|
163
|
+
<meta charset="UTF-8" />
|
|
164
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
165
|
+
<title>QA Report — {feature-slug}</title>
|
|
166
|
+
<style>
|
|
167
|
+
:root {
|
|
168
|
+
--pass: #22c55e; --fail: #ef4444; --bg: #0f0f11; --surface: #1a1a1f;
|
|
169
|
+
--border: #2a2a35; --text: #e2e2e8; --muted: #6b6b80; --accent: #7c3aed;
|
|
170
|
+
}
|
|
171
|
+
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
172
|
+
body { background: var(--bg); color: var(--text); font-family: 'Inter', system-ui, sans-serif; padding: 2rem; }
|
|
173
|
+
.report-header { border-bottom: 1px solid var(--border); padding-bottom: 1.5rem; margin-bottom: 2rem; }
|
|
174
|
+
.report-header h1 { font-size: 1.5rem; font-weight: 700; margin-bottom: 0.25rem; }
|
|
175
|
+
.report-header .meta { color: var(--muted); font-size: 0.875rem; }
|
|
176
|
+
.summary { display: flex; gap: 1rem; margin-bottom: 2rem; flex-wrap: wrap; }
|
|
177
|
+
.summary-card { background: var(--surface); border: 1px solid var(--border); border-radius: 0.5rem; padding: 1rem 1.5rem; min-width: 140px; }
|
|
178
|
+
.summary-card .label { font-size: 0.75rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.05em; }
|
|
179
|
+
.summary-card .value { font-size: 1.75rem; font-weight: 700; margin-top: 0.25rem; }
|
|
180
|
+
.summary-card.pass .value { color: var(--pass); }
|
|
181
|
+
.summary-card.fail .value { color: var(--fail); }
|
|
182
|
+
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 1.5rem; }
|
|
183
|
+
.card.passed { background: var(--surface); border: 1px solid var(--border); border-radius: 0.75rem; overflow: hidden; }
|
|
184
|
+
.card.failed { background: var(--surface); border: 1px solid var(--fail); border-radius: 0.75rem; overflow: hidden; }
|
|
185
|
+
.card img { width: 100%; display: block; aspect-ratio: 16/10; object-fit: cover; }
|
|
186
|
+
.img-wrap { position: relative; }
|
|
187
|
+
.badge { position: absolute; top: 0.5rem; right: 0.5rem; padding: 0.25rem 0.6rem; border-radius: 999px; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
|
|
188
|
+
.badge.pass { background: var(--pass); color: #000; }
|
|
189
|
+
.badge.fail { background: var(--fail); color: #fff; }
|
|
190
|
+
.card-body { padding: 1rem; }
|
|
191
|
+
.card-scenario { font-size: 0.7rem; color: var(--accent); text-transform: uppercase; font-weight: 600; letter-spacing: 0.05em; margin-bottom: 0.4rem; }
|
|
192
|
+
.card-step { font-size: 0.875rem; font-weight: 600; margin-bottom: 0.75rem; }
|
|
193
|
+
.card-meta { display: flex; flex-direction: column; gap: 0.5rem; }
|
|
194
|
+
.card-meta-row { display: flex; gap: 0.5rem; font-size: 0.8rem; }
|
|
195
|
+
.card-meta-row .key { color: var(--muted); min-width: 52px; flex-shrink: 0; }
|
|
196
|
+
.card-meta-row .val { color: var(--text); }
|
|
197
|
+
.timestamp { font-size: 0.7rem; color: var(--muted); margin-top: 0.75rem; }
|
|
198
|
+
</style>
|
|
199
|
+
</head>
|
|
200
|
+
<body>
|
|
201
|
+
<div class="report-header">
|
|
202
|
+
<h1>QA Report — {feature-slug}</h1>
|
|
203
|
+
<div class="meta">Run: {timestamp} | Source: {plan-file} | Tool: {playwright_tool}</div>
|
|
204
|
+
</div>
|
|
205
|
+
<div class="summary">
|
|
206
|
+
<div class="summary-card"><div class="label">Total</div><div class="value">{total}</div></div>
|
|
207
|
+
<div class="summary-card pass"><div class="label">Passed</div><div class="value">{passed}</div></div>
|
|
208
|
+
<div class="summary-card fail"><div class="label">Failed</div><div class="value">{failed}</div></div>
|
|
209
|
+
<div class="summary-card"><div class="label">Duration</div><div class="value" style="font-size:1.2rem">{duration}</div></div>
|
|
210
|
+
</div>
|
|
211
|
+
<div class="gallery">
|
|
212
|
+
<!-- FOR EACH entry in manifest.json: render one card block below.
|
|
213
|
+
passed entry: class="card passed", badge class="badge pass", label="PASSED"
|
|
214
|
+
failed entry: class="card failed", badge class="badge fail", label="FAILED" -->
|
|
215
|
+
<div class="card {passed|failed}">
|
|
216
|
+
<div class="img-wrap">
|
|
217
|
+
<img src="screenshots/{filename}" alt="{step}" loading="lazy" />
|
|
218
|
+
<span class="badge {pass|fail}">{PASSED|FAILED}</span>
|
|
219
|
+
</div>
|
|
220
|
+
<div class="card-body">
|
|
221
|
+
<div class="card-scenario">{scenario}</div>
|
|
222
|
+
<div class="card-step">{step}</div>
|
|
223
|
+
<div class="card-meta">
|
|
224
|
+
<div class="card-meta-row"><span class="key">Why</span><span class="val">{why}</span></div>
|
|
225
|
+
<div class="card-meta-row"><span class="key">Shows</span><span class="val">{shows}</span></div>
|
|
226
|
+
<div class="card-meta-row"><span class="key">Tests</span><span class="val">{tests}</span></div>
|
|
227
|
+
</div>
|
|
228
|
+
<div class="timestamp">{timestamp}</div>
|
|
229
|
+
</div>
|
|
230
|
+
</div>
|
|
231
|
+
</div>
|
|
232
|
+
</body>
|
|
233
|
+
</html>
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
name: qa-generate-e2e-tests
|
|
2
|
-
description: 'Generate end to end automated tests for existing features. Use when the user says "create qa automated tests for [feature]"'
|
|
3
|
-
|
|
4
|
-
# Critical variables from config
|
|
5
|
-
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
|
6
|
-
implementation_artifacts: "{config_source}:implementation_artifacts"
|
|
7
|
-
user_name: "{config_source}:user_name"
|
|
8
|
-
communication_language: "{config_source}:communication_language"
|
|
9
|
-
document_output_language: "{config_source}:document_output_language"
|
|
10
|
-
date: system-generated
|
|
11
|
-
|
|
12
|
-
# Workflow components
|
|
13
|
-
installed_path: "{project-root}/_bmad/bmm/workflows/qa-generate-e2e-tests"
|
|
14
|
-
instructions: "{installed_path}/instructions.md"
|
|
15
|
-
validation: "{installed_path}/checklist.md"
|
|
16
|
-
template: false
|
|
17
|
-
|
|
18
|
-
# Variables and inputs
|
|
19
|
-
test_dir: "{project-root}/tests" # Root test directory
|
|
20
|
-
source_dir: "{project-root}" # Source code directory
|
|
21
|
-
|
|
22
|
-
# Output configuration
|
|
23
|
-
default_output_file: "{implementation_artifacts}/tests/test-summary.md"
|
|
24
|
-
|
|
25
|
-
# Required tools
|
|
26
|
-
required_tools:
|
|
27
|
-
- read_file # Read source code and existing tests
|
|
28
|
-
- write_file # Create test files
|
|
29
|
-
- create_directory # Create test directories
|
|
30
|
-
- list_files # Discover features
|
|
31
|
-
- search_repo # Find patterns
|
|
32
|
-
- glob # Find files
|
|
33
|
-
|
|
34
|
-
tags:
|
|
35
|
-
- qa
|
|
36
|
-
- automation
|
|
37
|
-
- testing
|
|
38
|
-
|
|
39
|
-
execution_hints:
|
|
40
|
-
interactive: false
|
|
41
|
-
autonomous: true
|
|
42
|
-
iterative: false
|
|
1
|
+
name: qa-generate-e2e-tests
|
|
2
|
+
description: 'Generate end to end automated tests for existing features. Use when the user says "create qa automated tests for [feature]"'
|
|
3
|
+
|
|
4
|
+
# Critical variables from config
|
|
5
|
+
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
|
6
|
+
implementation_artifacts: "{config_source}:implementation_artifacts"
|
|
7
|
+
user_name: "{config_source}:user_name"
|
|
8
|
+
communication_language: "{config_source}:communication_language"
|
|
9
|
+
document_output_language: "{config_source}:document_output_language"
|
|
10
|
+
date: system-generated
|
|
11
|
+
|
|
12
|
+
# Workflow components
|
|
13
|
+
installed_path: "{project-root}/_bmad/bmm/workflows/qa-generate-e2e-tests"
|
|
14
|
+
instructions: "{installed_path}/instructions.md"
|
|
15
|
+
validation: "{installed_path}/checklist.md"
|
|
16
|
+
template: false
|
|
17
|
+
|
|
18
|
+
# Variables and inputs
|
|
19
|
+
test_dir: "{project-root}/tests" # Root test directory
|
|
20
|
+
source_dir: "{project-root}" # Source code directory
|
|
21
|
+
|
|
22
|
+
# Output configuration
|
|
23
|
+
default_output_file: "{implementation_artifacts}/tests/test-summary.md"
|
|
24
|
+
|
|
25
|
+
# Required tools
|
|
26
|
+
required_tools:
|
|
27
|
+
- read_file # Read source code and existing tests
|
|
28
|
+
- write_file # Create test files
|
|
29
|
+
- create_directory # Create test directories
|
|
30
|
+
- list_files # Discover features
|
|
31
|
+
- search_repo # Find patterns
|
|
32
|
+
- glob # Find files
|
|
33
|
+
|
|
34
|
+
tags:
|
|
35
|
+
- qa
|
|
36
|
+
- automation
|
|
37
|
+
- testing
|
|
38
|
+
|
|
39
|
+
execution_hints:
|
|
40
|
+
interactive: false
|
|
41
|
+
autonomous: true
|
|
42
|
+
iterative: false
|
package/src/core/config.yaml
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# CORE Module Configuration
|
|
2
|
-
# Generated by BMAD installer
|
|
3
|
-
# Version: 6.0.4
|
|
4
|
-
# Date: 2026-03-09T16:29:06.036Z
|
|
5
|
-
|
|
6
|
-
user_name: Unnamed Developer
|
|
7
|
-
communication_language: English
|
|
8
|
-
document_output_language: English
|
|
9
|
-
output_folder: "{project-root}/_bmad-output"
|
|
1
|
+
# CORE Module Configuration
|
|
2
|
+
# Generated by BMAD installer
|
|
3
|
+
# Version: 6.0.4
|
|
4
|
+
# Date: 2026-03-09T16:29:06.036Z
|
|
5
|
+
|
|
6
|
+
user_name: Unnamed Developer
|
|
7
|
+
communication_language: English
|
|
8
|
+
document_output_language: English
|
|
9
|
+
output_folder: "{project-root}/_bmad-output"
|
package/src/core/module-help.csv
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
module,phase,name,code,sequence,workflow-file,command,required,agent,options,description,output-location,outputs
|
|
2
|
-
core,anytime,Brainstorming,BSP,,_bmad/core/workflows/brainstorming/workflow.md,bmad-brainstorming,false,analyst,,"Generate diverse ideas through interactive techniques. Use early in ideation phase or when stuck generating ideas.",{output_folder}/brainstorming/brainstorming-session-{{date}}.md,,
|
|
3
|
-
core,anytime,Party Mode,PM,,_bmad/core/workflows/party-mode/workflow.md,bmad-party-mode,false,party-mode facilitator,,"Orchestrate multi-agent discussions. Use when you need multiple agent perspectives or want agents to collaborate.",,
|
|
4
|
-
core,anytime,bmad-help,BH,,_bmad/core/tasks/help.md,bmad-help,false,,,"Get unstuck by showing what workflow steps come next or answering BMad Method questions.",,
|
|
5
|
-
core,anytime,Index Docs,ID,,_bmad/core/tasks/index-docs.xml,bmad-index-docs,false,,,"Create lightweight index for quick LLM scanning. Use when LLM needs to understand available docs without loading everything.",,
|
|
6
|
-
core,anytime,Shard Document,SD,,_bmad/core/tasks/shard-doc.xml,bmad-shard-doc,false,,,"Split large documents into smaller files by sections. Use when doc becomes too large (>500 lines) to manage effectively.",,
|
|
7
|
-
core,anytime,Editorial Review - Prose,EP,,_bmad/core/tasks/editorial-review-prose.xml,bmad-editorial-review-prose,false,,,"Review prose for clarity, tone, and communication issues. Use after drafting to polish written content.",report located with target document,"three-column markdown table with suggested fixes",
|
|
8
|
-
core,anytime,Editorial Review - Structure,ES,,_bmad/core/tasks/editorial-review-structure.xml,bmad-editorial-review-structure,false,,,"Propose cuts, reorganization, and simplification while preserving comprehension. Use when doc produced from multiple subprocesses or needs structural improvement.",report located with target document,
|
|
9
|
-
core,anytime,Adversarial Review (General),AR,,_bmad/core/tasks/review-adversarial-general.xml,bmad-review-adversarial-general,false,,,"Review content critically to find issues and weaknesses. Use for quality assurance or before finalizing deliverables. Code Review in other modules run this automatically, but its useful also for document reviews",,
|
|
10
|
-
core,anytime,Edge Case Hunter Review,ECH,,_bmad/core/tasks/review-edge-case-hunter.xml,bmad-review-edge-case-hunter,false,,,"Walk every branching path and boundary condition in code, report only unhandled edge cases. Use alongside adversarial review for orthogonal coverage - method-driven not attitude-driven.",,
|
|
1
|
+
module,phase,name,code,sequence,workflow-file,command,required,agent,options,description,output-location,outputs
|
|
2
|
+
core,anytime,Brainstorming,BSP,,_bmad/core/workflows/brainstorming/workflow.md,bmad-brainstorming,false,analyst,,"Generate diverse ideas through interactive techniques. Use early in ideation phase or when stuck generating ideas.",{output_folder}/brainstorming/brainstorming-session-{{date}}.md,,
|
|
3
|
+
core,anytime,Party Mode,PM,,_bmad/core/workflows/party-mode/workflow.md,bmad-party-mode,false,party-mode facilitator,,"Orchestrate multi-agent discussions. Use when you need multiple agent perspectives or want agents to collaborate.",,
|
|
4
|
+
core,anytime,bmad-help,BH,,_bmad/core/tasks/help.md,bmad-help,false,,,"Get unstuck by showing what workflow steps come next or answering BMad Method questions.",,
|
|
5
|
+
core,anytime,Index Docs,ID,,_bmad/core/tasks/index-docs.xml,bmad-index-docs,false,,,"Create lightweight index for quick LLM scanning. Use when LLM needs to understand available docs without loading everything.",,
|
|
6
|
+
core,anytime,Shard Document,SD,,_bmad/core/tasks/shard-doc.xml,bmad-shard-doc,false,,,"Split large documents into smaller files by sections. Use when doc becomes too large (>500 lines) to manage effectively.",,
|
|
7
|
+
core,anytime,Editorial Review - Prose,EP,,_bmad/core/tasks/editorial-review-prose.xml,bmad-editorial-review-prose,false,,,"Review prose for clarity, tone, and communication issues. Use after drafting to polish written content.",report located with target document,"three-column markdown table with suggested fixes",
|
|
8
|
+
core,anytime,Editorial Review - Structure,ES,,_bmad/core/tasks/editorial-review-structure.xml,bmad-editorial-review-structure,false,,,"Propose cuts, reorganization, and simplification while preserving comprehension. Use when doc produced from multiple subprocesses or needs structural improvement.",report located with target document,
|
|
9
|
+
core,anytime,Adversarial Review (General),AR,,_bmad/core/tasks/review-adversarial-general.xml,bmad-review-adversarial-general,false,,,"Review content critically to find issues and weaknesses. Use for quality assurance or before finalizing deliverables. Code Review in other modules run this automatically, but its useful also for document reviews",,
|
|
10
|
+
core,anytime,Edge Case Hunter Review,ECH,,_bmad/core/tasks/review-edge-case-hunter.xml,bmad-review-edge-case-hunter,false,,,"Walk every branching path and boundary condition in code, report only unhandled edge cases. Use alongside adversarial review for orthogonal coverage - method-driven not attitude-driven.",,
|