mirror of
https://github.com/gnekt/My-Brain-Is-Full-Crew.git
synced 2026-09-12 16:56:44 +00:00
Implement preserving config merge for opencode.
Co-Authored-By: win0na <winnie@winneon.moe> feat(opencode): config-merge.sh with formatting-preserving JSON merge Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(opencode): source config-merge.sh from adapter Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> feat(install): use oc_config_merge for opencode.json instead of overwrite Source config-merge.sh from install scripts for opencode platform so user keys in opencode.json are preserved on reinstall and update. Fix in-place merge by writing to a temp file before moving to output. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -129,6 +129,12 @@ case "$PLATFORM" in
|
||||
esac
|
||||
PLATFORM_VAULT_DIR="$VAULT_COMPONENTS_DIR"
|
||||
|
||||
# Load opencode-specific helpers when building for opencode
|
||||
if [[ "$PLATFORM" == "opencode" ]]; then
|
||||
# shellcheck source=adapters/opencode/config-merge.sh
|
||||
source "$REPO_DIR/adapters/opencode/config-merge.sh"
|
||||
fi
|
||||
|
||||
# ── Migrate legacy manifests (if any) ────────────────────────────────────────
|
||||
manifest_migrate
|
||||
|
||||
@@ -213,7 +219,12 @@ install_dispatcher "$DISPATCHER_SRC" "$DISPATCHER_DST"
|
||||
|
||||
# ── MCP / opencode.json ───────────────────────────────────────────────────────
|
||||
if [[ -f "$MCP_SRC" ]]; then
|
||||
copy_if_changed "$MCP_SRC" "$MCP_DST"
|
||||
if [[ "$PLATFORM" == "opencode" && -f "$MCP_DST" ]]; then
|
||||
oc_config_merge "$MCP_SRC" "$MCP_DST" "$MCP_DST"
|
||||
info "Merged opencode.json (user config preserved)"
|
||||
else
|
||||
copy_if_changed "$MCP_SRC" "$MCP_DST"
|
||||
fi
|
||||
fi
|
||||
|
||||
# ── Done ──────────────────────────────────────────────────────────────────────
|
||||
|
||||
@@ -106,6 +106,12 @@ case "$PLATFORM" in
|
||||
esac
|
||||
PLATFORM_VAULT_DIR="$VAULT_COMPONENTS_DIR"
|
||||
|
||||
# Load opencode-specific helpers when building for opencode
|
||||
if [[ "$PLATFORM" == "opencode" ]]; then
|
||||
# shellcheck source=adapters/opencode/config-merge.sh
|
||||
source "$REPO_DIR/adapters/opencode/config-merge.sh"
|
||||
fi
|
||||
|
||||
# ── Migrate legacy manifests (if any) ────────────────────────────────────────
|
||||
manifest_migrate
|
||||
|
||||
@@ -142,7 +148,12 @@ CLAUDE_MD_CHANGED=$_LAST_CHANGED
|
||||
|
||||
# ── MCP / opencode.json ───────────────────────────────────────────────────────
|
||||
if [[ -f "$MCP_SRC" ]]; then
|
||||
copy_if_changed "$MCP_SRC" "$MCP_DST"
|
||||
if [[ "$PLATFORM" == "opencode" && -f "$MCP_DST" ]]; then
|
||||
oc_config_merge "$MCP_SRC" "$MCP_DST" "$MCP_DST"
|
||||
info "Merged opencode.json (user config preserved)"
|
||||
else
|
||||
copy_if_changed "$MCP_SRC" "$MCP_DST"
|
||||
fi
|
||||
fi
|
||||
|
||||
# ── Summary ───────────────────────────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user