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

オープン
#133 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
49/100
issue の種類
リファクタリング
明瞭さ
おおむね明確
活発さ
活発
技術スタック
javascript, node.js, python
領域
tooling

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
Python
スター
220
フォーク
54
PR マージ指標
30日以内にマージされた PR はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

bmad-code-org/bmad-builder のほかの issue

bmad-code-org/bmad-builder の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。