Skip to content

harness-devtools:個人設定(marketplace 位置、binary repo 路徑、組織名)改由使用者 JSON 設定檔提供(仿 .idd),工具只留通用預設 #27

Description

@kiki830621

Problem

Original text:
「3要,但 harness-devtools 應給喔是給大家用的開發工具,我自己的設定應該寫成json 像是.idd」
— Source: 使用者,2026-09-24(+08:00),回答 PsychQuant/Akashic-Library#625 的 clarity 問題「plugin-update 要認得新 marketplace,要不要到 harness-devtools 開 issue?」

harness-devtools 是給所有人用的開發工具,但它的腳本與 skill 文件混著單一使用者的個人設定(marketplace 放哪、binary repo 放哪、GitHub 帳號/組織名)。這些應該改由使用者自己的 JSON 設定檔提供——形狀比照 issue-driven-dev 的 .claude/.idd/local.json(使用者層+專案層 walk-up)——工具本身只留通用預設。

觸發案例:PsychQuant/Akashic-Library#625 會新增一個 marketplace akashic(repo 自帶 .claude-plugin/marketplace.json),plugin-update 要能找到它。

Type

refactor

量測(2026-09-24,plugins/harness-devtools/ v2.4.0 原始碼;grep 範圍 *.md *.sh *.json *.py)

個人識別 次數 檔案數
psychquant(marketplace/GitHub org 名) 38 17
che-mcps(binary repo 目錄慣例) 46 10
~/Developer、$HOME/Developer(repo 放置慣例) 45 15
che-local-plugins 26 6
che-claude-config 13 3
kiki830621 11 6
/Users/<本機使用者> 絕對路徑 7 3

scripts/resolve-marketplace.sh 的程式碼已不寫死 marketplace 名稱(v1.0.0 起改為掃描 marketplace.json,名稱只剩在註解裡),但掃描根目錄的預設 MARKETPLACE_SEARCH_ROOT="${MARKETPLACE_SEARCH_ROOT:-$HOME/Developer}" 本身就是個人慣例;其他 skill(plugin-update 的 detect_binary_repo 試 ~/Developer、~/Developer/che-mcps、~/code 等)也把個人目錄慣例寫進流程。

Expected

  1. 設定檔(比照 .idd):使用者層(例如 ~/.claude/.harness/config.json)+專案層 walk-up(.claude/.harness/local.json),近者覆蓋遠者。可能的欄位:
    • marketplace_search_roots:掃描 marketplace.json 的根目錄清單
    • marketplaces:明確列出的 marketplace(名稱 → 路徑),補掃描找不到的
    • binary_repo_roots:binary 原始碼 repo 的搜尋根目錄
  2. 工具本身只留通用預設:沒有設定檔時的行為對任何使用者都合理(例如只看 claude plugin marketplace list 已註冊的 marketplace),不假設 ~/Developer 或任何組織名
  3. 文件去個人化:skill 文件的範例改用佔位(<your-marketplace>、<org>),個人的實際值移到使用者自己的設定檔
  4. 環境變數(如 MARKETPLACE_SEARCH_ROOT)保留為單次覆寫,優先於設定檔

Actual

個人目錄慣例與組織名分散在 17+ 個檔案;別的使用者裝了 harness-devtools,預設行為是去找不存在的 ~/Developer、che-mcps。

Impact

  • 其他使用者:預設行為不適用,只能靠環境變數或改原始碼
  • 維護者自己:新增 marketplace(例如 akashic)時要確認工具找得到,而「找得到」取決於 repo 放的位置恰好符合寫死的慣例

Clarity Surface(idd-clarify run 2026-09-24T03:22:55Z)

Type Source Question for you Status
ambiguity "使用者層(例如 ~/.claude/.harness/config.json)" 使用者層設定檔要放 ~/.claude/.harness/config.json(與 .idd 同在 .claude 下),還是 ~/.config/harness-devtools/config.json? surfaced
ambiguity "沒有設定檔時的行為對任何使用者都合理" 沒有設定檔時,要保留目前「掃 ~/Developer」的行為當相容 fallback,還是直接改成只看已註冊的 marketplace? surfaced

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions