This doc covers local verification, smoke testing, packaging, and release steps for this repo itself.
Primary checks:
npm run verify
PYTHONPATH=source/src python3 -m story_automator --helpnpm run verify expands to:
npm run test:pythonnpm run pack:dry-runnpm run test:smoke
The smoke suite validates:
- installer behavior
- packed
npxinstall behavior from the generated tarball - required and optional dependency handling
- legacy backup behavior
- installed skill layout
- installed runtime policy, prompt templates, and parse contracts
- prompt-building behavior for Claude and Codex child sessions
flowchart TD
A["Edit installer, payload, or runtime"] --> B["Run npm run test:python"]
B --> C["Run npm run pack:dry-run"]
C --> D["Run npm run test:smoke"]
D --> E["Run npm run verify"]
Important package parts:
bin/bmad-story-automatorinstall.shpayload/source/README.mdref.png
The published package bundles both the install payload and the Python runtime source.
The shell wrapper used in installed projects is mirrored in this repo:
source/scripts/story-automator
It runs:
python3 -m story_automator
with PYTHONPATH pointed at source/src.
For one release cycle, fresh orchestration starts still honor:
MAX_REVIEW_CYCLESMAX_CRASH_RETRIES
Those values are resolved once during snapshot creation. Resume paths read the pinned snapshot, not the current shell env. Prefer _bmad/bmm/story-automator.policy.json for new configuration changes.
If you change:
commands/tmux.py: re-check spawn, command building, monitor behavior, Codex vs Claude handlingcommands/orchestrator.py: re-check state summary, marker behavior, sprint-status verificationinstall.sh: re-check dependency validation, copy layout, backups, shim cleanup- payload step files: re-check docs, prompts, and smoke expectations
Publish steps:
npm addusernpm publish
Recommended release checklist:
npm run verify- use $secrets for npm auth material; search exact key names, then
secrets load <KEY>into the publish shell; never print token values - inspect the package dry-run output
- confirm README and docs match shipped behavior
- publish