Compare commits

..

6 Commits

Author SHA1 Message Date
Jérôme Revillard 8914b2dddb
Merge 4a0c59ff8b into e36f219c81 2026-05-02 09:58:35 +07:00
Jerome Revillard 4a0c59ff8b 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-04-29 16:02:08 +02:00
Jerome Revillard 7859186032 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-04-29 16:02:08 +02:00
Jerome Revillard 834b89a841 fix: update argparse descriptions to match actual layer count 2026-04-29 16:02:08 +02:00
Jerome Revillard 294a03db3a 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-04-29 16:02:08 +02:00
Jerome Revillard bfd602de62 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-04-29 16:02:08 +02:00

Diff Content Not Available