Files
Alex Verkhovsky 665643bbc4 feat(dev-auto): restore skill-entry renderer with fail-early hardening
Reinstates the bmad-dev-auto template renderer temporarily reverted in
#2598, hardened. SKILL.md becomes a thin dispatch stub (uv run
render.py) and the workflow/step files are rendered at skill entry with
central-config values, the resolved [workflow] customization block, and
absolute sibling cross-references baked in — no runtime config loading
or resolve_customization.py call remains.

Fail-early contract: anything the renderer can detect wrong HALTs on
stdout with an error informative enough for the presiding inference to
act on — missing, empty, or non-string config keys referenced by the
sources; unknown or malformed [workflow] values (including non-scalar
layer fields); unreadable or non-UTF-8 sources; and failed publish
swaps. A publish swap lost to a concurrent renderer that already
published byte-identical content remains a success (rendering is
deterministic), and the last-good render is preserved for the next run
on any other swap failure.

Both render.py copies (dev-auto, quick-dev) change in lockstep; a drift
test pins them byte-for-byte modulo skill names. New
test/test-dev-auto-renderer.js covers rendering, overrides, review-layer
materialization, every HALT path, and injected-rename publish failures;
the quick-dev suite gains the no-op re-render and dispatch-line pins.
2026-07-17 08:51:51 -07:00
..

Test Suite

Tests for the BMAD-METHOD tooling infrastructure.

Quick Start

# Run all quality checks
npm run quality

# Run individual test suites
npm run test:install    # Installation component tests
npm run test:refs       # File reference CSV tests
npm run validate:refs   # File reference validation (strict)

Test Scripts

Installation Component Tests

File: test/test-installation-components.js

Validates that the installer compiles and assembles agents correctly.

File Reference Tests

File: test/test-file-refs-csv.js

Tests the CSV-based file reference validation logic.

Test Fixtures

Located in test/fixtures/:

test/fixtures/
└── file-refs-csv/    # Fixtures for file reference CSV tests