Compare commits

..

6 Commits

Author SHA1 Message Date
Jérôme Revillard 89d1bd571e
Merge 8d253353bb into e36f219c81 2026-05-04 07:52:34 +00:00
Jerome Revillard 8d253353bb fix(skills): update config resolution in SKILL.md files migrated from workflow.md
The 5 skills whose workflow.md was absorbed into SKILL.md by PR #2308
still had the old config.yaml loading instruction. Updated them to use
resolve_config.py like all other skills.
2026-05-04 09:52:19 +02:00
Jerome Revillard c0647908e0 fix(skills): use resolve_config.py instead of reading config.yaml directly
Skills were reading _bmad/bmm|core/config.yaml directly, bypassing the
TOML merge mechanism. Now they call resolve_config.py first, with a
fallback to read the merge logic and apply it manually.
2026-05-04 09:52:19 +02:00
Jerome Revillard 63fe2af4cd fix: update argparse descriptions to match actual layer count 2026-05-04 09:52:19 +02:00
Jerome Revillard 4195c6fc72 fix(config): correct global layer priority — overrides installer defaults
The global user layer was lowest priority, meaning installer-generated
defaults in _bmad/config.user.toml always shadowed it. Reorder so
global user preferences override installer defaults but are still
overridden by hand-authored project customizations.

New order for resolve_config.py:
  base_team → base_user → global_user → custom_team → custom_user

New order for resolve_customization.py:
  defaults → global_user → team → user
2026-05-04 09:52:19 +02:00
Jerome Revillard a0aec0d7b0 feat(config): add per-user global config layer at ~/.bmad/config/
Users working across multiple worktrees or repos no longer need to
re-enter personal settings (user_name, communication_language,
user_skill_level) in every project. A global user layer at
~/.bmad/config/config.user.toml is merged as the lowest-priority
fallback in both resolve_config.py (5-layer) and
resolve_customization.py (4-layer). Project-level overrides always
win. Missing global dir is fully backward-compatible.

Closes #2338
2026-05-04 09:52:19 +02:00

Diff Content Not Available