merge-config.py: absolute path answers become '{project-root}//abs', and user_setting values leak into shared config.yaml
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 72/100
Direzione di ricerca
Start with skills/bmad-bmb-setup/scripts/merge-config.py and trace apply_result_templates() plus the code that writes module values to config.yaml and config.user.yaml. Reproduce with the provided module.yaml and answers.json, then check the corresponding copies in the module-builder templates and samples. Done when absolute paths stay unchanged and user_setting: true values are excluded from shared config and receive the same result template in user config.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
Two issues in merge-config.py. It is byte-identical in bmad-bmb-setup, both module-builder templates and both samples. Separate from #96.
- Absolute paths get prefixed.
apply_result_templates()skips a variable'sresulttemplate only when the answer already contains{project-root}. Answering an absolute path for a"{project-root}/{value}"variable produces'{project-root}//abs/shared/reports'. user_setting: truevalues go into the shared file too, with a different value. Core user keys (user_name,communication_language) are stripped fromconfig.yaml, but module variables markeduser_setting: trueare written to both files.config.yamlgets the templated value andconfig.user.yamlgets the raw one. A personal value ends up in the committed team config, and readers see two different values for one key.
Steps to reproduce
cat > module.yaml <<'EOF'
code: demo
name: Demo
description: d
module_version: 1.0.0
output_dir:
prompt: "Where?"
default: "out"
result: "{project-root}/{value}"
api_profile:
prompt: "Your personal profile"
default: "me"
user_setting: true
result: "profiles/{value}"
EOF
echo '{"core":{"user_name":"Alex"},"module":{"output_dir":"/abs/shared/reports","api_profile":"alex-private"}}' > answers.json
uv run skills/bmad-bmb-setup/scripts/merge-config.py --config-path _bmad/config.yaml \
--user-config-path _bmad/config.user.yaml --module-yaml module.yaml --answers answers.json
cat _bmad/config.yaml # output_dir: '{project-root}//abs/shared/reports' ; api_profile: profiles/alex-private
cat _bmad/config.user.yaml # api_profile: alex-private
Expected behavior
- Leave absolute (
/,C:\,~) answers untouched when applyingresulttemplates. - Exclude
user_setting: truevariables from the module section inconfig.yaml, matching the core user keys. Apply the sameresulttemplate to the value written toconfig.user.yaml.
Environment
- Model(s) used: n/a (deterministic script)
- Agentic IDE used: n/a (scripts run directly)
- BMad version: bmad-builder
main@d4a921c(v2.2.2 + #118) - Project language: Python 3.13, Linux
- Lingua principale
- Python
- Stelle
- 220
- Fork
- 54
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di bmad-code-org/bmad-builder
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
bmad-code-org/bmad-builder#157 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
bmad-code-org/bmad-builder#153 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
bmad-code-org/bmad-builder#151 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
bmad-code-org/bmad-builder#127 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
bmad-code-org/bmad-builder#123 ·
Tutte le issue di bmad-code-org/bmad-builder
Issue simili
-
namespace
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
EclipseFdn/open-vsx.org#15604 ·
I maintainer di solito rispondono entro 1 giorno
-
app: scripts severity: low status: backlog type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
netbox-community/netbox-scripts#164 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 5 giorni
-
Public function to read participants.tsvForse già presa @bruAristimunha l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 85/100
huggingface/tau#799 ·
I maintainer di solito rispondono entro 2 giorni