Files
BMAD-METHOD/tools/installer/install-messages.yaml
T
Brian ade7a966e9 fix(installer,skills): make uv a real requirement and stop assuming a system Python (#2704)
The installer told users uv was optional while bmad-build had already made
it mandatory. uv-check.js called it "becoming the de facto standard",
install-messages.yaml led with HEADS UP, and installer.js printed a Tip
inside a box titled "BMAD is ready to use!" — while bmad-build and
bmad-build-auto HALT on activation without `uv run`. The probe's result
was discarded (`await checkUvEnvironment();`), so nothing branched on it.

Messaging now names the consequence, and the post-install summary repeats
the warning when it applies — the pre-install probe fires before every
prompt, so by then it is far up the scrollback. Still warn-don't-block:
core-only, docs-only, and CI installs never render a skill, so a missing
uv must not fail the run.

Adds a python3 probe used only when uv is absent, since that is the only
case where the interpreter on PATH matters. It reports whether the
direct-interpreter skills still work (3.11+) or nothing Python-backed will
(below 3.11, or no python3 at all).

Separately, 25 call sites still ran resolve_customization.py under a bare
`python3`. That script requires 3.11+ for tomllib, so on macOS without
Homebrew or Ubuntu 22.04 they fell through to their "if the script fails"
path and hand-merged the TOML in-context — no error surfaced. All 25 now
use `uv run`, which provisions a matching interpreter from the script's
own requires-python.

Four more spawned Python purely to open an HTML file:

  python3 -c "import webbrowser, pathlib; webbrowser.open(...)"

Replaced with the platform opener bmad-brainstorming already uses — open /
xdg-open / start. src/ now contains no bare Python invocation at all, so
"Python 3.11+" leaves the user contract: uv provisions its own.

docs/how-to/customize-bmad.md described a transition that this ends.

Test suite 46 grows from 12 to 29 assertions: Python parsing, the 3.11
boundary in both directions, that uv-present skips the python3 probe, and
all three missing-uv sub-branches.
2026-08-09 18:25:48 -05:00

38 lines
1.8 KiB
YAML

# BMAD Installer Messages
# These messages are displayed during installation
# Edit this file to change what users see during the install process
# Display at the START of installation (after logo, before prompts)
startMessage: |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Agile AI-Driven Development. Powered by BMad Core and a growing module ecosystem.
Install official and community modules during setup to customize your experience.
🌟 100% free. 100% open source. Always.
No paywalls. No gated content. Knowledge shared, not sold.
🐍 REQUIRED: uv (https://docs.astral.sh/uv/) runs the Python scripts BMAD
skills rely on (`uv run <script>`) and provisions the interpreter itself.
Without it, bmad-build and bmad-build-auto halt on activation.
If it's not set up yet, ask your AI agent to "install and set up uv for me".
🌐 CONNECT:
Website: https://bmadcode.com/
Discord: https://discord.gg/gk8jAdXWmj
YouTube: https://www.youtube.com/@BMadCode
X: https://x.com/BMadCode
Facebook: https://facebook.com/@BMadCode
⭐ SUPPORT THE PROJECT:
Star us: https://github.com/bmad-code-org/BMAD-METHOD/
Donate: https://buymeacoffee.com/bmad
Corporate sponsorship and speaking inquiries: contact@bmadcode.com
Docs, blog, and latest updates: https://bmadcode.com/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# No end message - install summary and next steps are rendered by the installer
endMessage: ""