Single source of truth for duplicated scripts (merge-config x5, merge-help-csv x5, cleanup-legacy x3, scanners x2)

Abierto
#133 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
49/100
Tipo de issue
Refactorización
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
javascript, node.js, python
Área
tooling

Línea de trabajo

Start by reading test_canon_sync.py and comparing the duplicated scripts named in the issue, especially the scanner copies that have already drifted. Decide whether to add the canonical-copy table there or create tools/sync-vendored.mjs with a CI drift check; the issue leaves that direction open. Done means one canonical source is defined for each listed script and drift is detected or copies are generated consistently.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Describe your idea

Keep one canonical copy of each duplicated script, and generate or verify the others.

Why is this needed?

merge-config.py and merge-help-csv.py each exist as 5 byte-identical copies (bmb-setup, the two module-builder templates, two samples), and cleanup-legacy.py as 3. The scanners already drifted: scan-path-standards.py differs by 51 diff lines between builders (#115), and a self-detection fix landed only in the agent-builder scan-scripts.py. Every fix has to be applied 3–5 times, and some get missed.

How should it work?

Either:

  • a tools/sync-vendored.mjs that copies from a canonical location at release time (and a CI check that fails on drift), or
  • extend test_canon_sync.py into a table of (canonical, [copies]) covering all of the above.

The first is less error-prone; the second needs no build step.

PR

Happy to help implement this if the direction is agreed.

Lenguaje dominante
Python
Estrellas
220
Forks
54
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de bmad-code-org/bmad-builder

Todos los issues de bmad-code-org/bmad-builder

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.