refactor: rename --framework to --platform across all scripts and tests

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
nunziati
2026-04-10 11:50:55 +00:00
parent 9673bca7c2
commit 9a93cd4aa5
7 changed files with 59 additions and 59 deletions

View File

@@ -7,7 +7,7 @@
# Claude Code expects in the user's vault.
# =============================================================================
CC_FRAMEWORK="claude-code"
CC_PLATFORM="claude-code"
# Capability → CC tools mapping. Each capability expands into one or more
# Claude Code tool names. The expansion is order-preserving.
@@ -146,7 +146,7 @@ adapter_translate_hooks() {
while IFS= read -r yaml; do
[[ -z "$yaml" ]] && continue
should_include "$yaml" "$CC_FRAMEWORK" || continue
should_include "$yaml" "$CC_PLATFORM" || continue
local meta; meta="$(parse_hook_yaml "$yaml")"
local name; name="$(echo "$meta" | grep '^name=' | head -1 | cut -d= -f2- || true)"
local script; script="$(echo "$meta" | grep '^script=' | head -1 | cut -d= -f2- || true)"
@@ -205,7 +205,7 @@ adapter_translate_agents() {
while IFS= read -r agent; do
[[ -z "$agent" ]] && continue
should_include "$agent" "$CC_FRAMEWORK" || continue
should_include "$agent" "$CC_PLATFORM" || continue
local name; name="$(parse_frontmatter "$agent" name)"
local model; model="$(parse_frontmatter "$agent" model)"
local caps; caps="$(parse_capabilities "$agent")"
@@ -250,7 +250,7 @@ adapter_translate_skills() {
[[ -d "$src" ]] || return 0
for skill_dir in "$src"/*/; do
[[ -f "${skill_dir}SKILL.md" ]] || continue
should_include "${skill_dir}SKILL.md" "$CC_FRAMEWORK" || continue
should_include "${skill_dir}SKILL.md" "$CC_PLATFORM" || continue
local name; name="$(basename "$skill_dir")"
local out="$dst/.claude/skills/$name"
mkdir -p "$out"
@@ -267,7 +267,7 @@ adapter_translate_references() {
mkdir -p "$out"
for f in "$src"/*.md; do
[[ -f "$f" ]] || continue
should_include "$f" "$CC_FRAMEWORK" || continue
should_include "$f" "$CC_PLATFORM" || continue
cp "$f" "$out/"
done
}

View File

@@ -7,7 +7,7 @@
# opencode expects in the user's vault.
# =============================================================================
OC_FRAMEWORK="opencode"
OC_PLATFORM="opencode"
OC_FW_DIR="opencode"
OC_DISPATCHER="AGENTS.md"
@@ -88,7 +88,7 @@ adapter_translate_references() {
mkdir -p "$out"
for f in "$src"/*.md; do
[[ -f "$f" ]] || continue
should_include "$f" "$OC_FRAMEWORK" || continue
should_include "$f" "$OC_PLATFORM" || continue
cp "$f" "$out/"
rewrite_framework_paths "$out/$(basename "$f")" "$OC_FW_DIR" "$OC_DISPATCHER"
done
@@ -102,7 +102,7 @@ adapter_translate_skills() {
[[ -d "$src" ]] || return 0
for skill_dir in "$src"/*/; do
[[ -f "${skill_dir}SKILL.md" ]] || continue
should_include "${skill_dir}SKILL.md" "$OC_FRAMEWORK" || continue
should_include "${skill_dir}SKILL.md" "$OC_PLATFORM" || continue
local name; name="$(basename "$skill_dir")"
local out="$dst/.opencode/skills/$name"
mkdir -p "$out"
@@ -123,7 +123,7 @@ adapter_translate_agents() {
while IFS= read -r agent; do
[[ -f "$agent" ]] || continue
should_include "$agent" "$OC_FRAMEWORK" || continue
should_include "$agent" "$OC_PLATFORM" || continue
local model_raw; model_raw="$(parse_frontmatter "$agent" model)"
local mode_raw; mode_raw="$(parse_frontmatter "$agent" mode)"
@@ -178,7 +178,7 @@ _oc_hook_registry_json() {
local entries='[]'
while IFS= read -r yaml; do
[[ -f "$yaml" ]] || continue
should_include "$yaml" "$OC_FRAMEWORK" || continue
should_include "$yaml" "$OC_PLATFORM" || continue
local meta; meta="$(parse_hook_yaml "$yaml")"
local name; name="$(echo "$meta" | grep '^name=' | head -1 | cut -d= -f2-)"
local script; script="$(echo "$meta" | grep '^script=' | head -1 | cut -d= -f2-)"
@@ -222,7 +222,7 @@ adapter_translate_hooks() {
local have_any=0
while IFS= read -r yaml; do
[[ -f "$yaml" ]] || continue
should_include "$yaml" "$OC_FRAMEWORK" || continue
should_include "$yaml" "$OC_PLATFORM" || continue
local meta; meta="$(parse_hook_yaml "$yaml")"
local script; script="$(echo "$meta" | grep '^script=' | head -1 | cut -d= -f2-)"
[[ -f "$src/$script" ]] || continue

View File

@@ -1,9 +1,9 @@
#!/usr/bin/env bash
# =============================================================================
# scripts/build.sh — Run the framework adapter to populate dist/<framework>/
# scripts/build.sh — Run the platform adapter to populate dist/<platform>/
# =============================================================================
# Usage: bash scripts/build.sh --framework <name>
# Discovers available frameworks by listing adapters/ subdirectories.
# Usage: bash scripts/build.sh --platform <name>
# Discovers available platforms by listing adapters/ subdirectories.
# =============================================================================
set -eo pipefail
@@ -13,18 +13,18 @@ REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
source "$SCRIPT_DIR/lib.sh"
# ── Parse args ─────────────────────────────────────────────────────────────
FRAMEWORK="claude-code"
PLATFORM="claude-code"
while [[ $# -gt 0 ]]; do
case "$1" in
--framework) FRAMEWORK="$2"; shift 2 ;;
--platform) PLATFORM="$2"; shift 2 ;;
*) die "Unknown argument: $1" ;;
esac
done
# ── Validate framework ─────────────────────────────────────────────────────
if [[ ! -d "$REPO_ROOT/adapters/$FRAMEWORK" ]]; then
# ── Validate platform ─────────────────────────────────────────────────────
if [[ ! -d "$REPO_ROOT/adapters/$PLATFORM" ]]; then
AVAILABLE="$(ls "$REPO_ROOT/adapters/" 2>/dev/null | grep -v '^lib.sh$' | tr '\n' ' ')"
die "Unknown framework: $FRAMEWORK. Available: $AVAILABLE"
die "Unknown platform: $PLATFORM. Available: $AVAILABLE"
fi
# ── Check dependencies ─────────────────────────────────────────────────────
@@ -34,10 +34,10 @@ command -v jq >/dev/null 2>&1 || die "jq is required for the build (install via
# shellcheck source=adapters/lib.sh
source "$REPO_ROOT/adapters/lib.sh"
# shellcheck source=/dev/null
source "$REPO_ROOT/adapters/$FRAMEWORK/adapter.sh"
source "$REPO_ROOT/adapters/$PLATFORM/adapter.sh"
# ── Run the build ──────────────────────────────────────────────────────────
DIST_DIR="$REPO_ROOT/dist/$FRAMEWORK"
info "Building $FRAMEWORK$DIST_DIR"
DIST_DIR="$REPO_ROOT/dist/$PLATFORM"
info "Building $PLATFORM$DIST_DIR"
adapter_build "$REPO_ROOT" "$DIST_DIR"
success "Build complete"

View File

@@ -11,7 +11,7 @@
# .claude/ directory.
#
# Options:
# --framework <name> Framework to build for (default: claude-code)
# --platform <name> Platform to build for (default: claude-code)
# --target <path> Override the vault destination path
# =============================================================================
@@ -24,13 +24,13 @@ source "$SCRIPT_DIR/lib.sh"
resolve_paths "${BASH_SOURCE[0]}"
# ── Parse args ─────────────────────────────────────────────────────────────
FRAMEWORK="claude-code"
PLATFORM="claude-code"
TARGET_OVERRIDE=""
while [[ $# -gt 0 ]]; do
case "$1" in
--framework) FRAMEWORK="$2"; shift 2 ;;
--platform) PLATFORM="$2"; shift 2 ;;
--target) TARGET_OVERRIDE="$2"; shift 2 ;;
*) die "Unknown argument: $1 (use --framework <name> or --target <path>)" ;;
*) die "Unknown argument: $1 (use --platform <name> or --target <path>)" ;;
esac
done
[[ -n "$TARGET_OVERRIDE" ]] && VAULT_DIR="$TARGET_OVERRIDE"
@@ -88,14 +88,14 @@ fi
echo ""
# ── Build the framework dist ───────────────────────────────────────────────
info "Building $FRAMEWORK adapter..."
bash "$SCRIPT_DIR/build.sh" --framework "$FRAMEWORK"
DIST_DIR="$REPO_DIR/dist/$FRAMEWORK"
# ── Build the platform dist ───────────────────────────────────────────────
info "Building $PLATFORM adapter..."
bash "$SCRIPT_DIR/build.sh" --platform "$PLATFORM"
DIST_DIR="$REPO_DIR/dist/$PLATFORM"
[[ -d "$DIST_DIR" ]] || die "Build did not produce $DIST_DIR"
# ── Framework-specific install layout ────────────────────────────────────────
case "$FRAMEWORK" in
# ── Platform-specific install layout ────────────────────────────────────────
case "$PLATFORM" in
claude-code)
DIST_COMPONENTS_DIR="$DIST_DIR/.claude"
VAULT_COMPONENTS_DIR="$VAULT_DIR/.claude"
@@ -115,10 +115,10 @@ case "$FRAMEWORK" in
HAS_PLUGINS=1
;;
*)
die "Unknown framework: $FRAMEWORK (install layout not defined)"
die "Unknown platform: $PLATFORM (install layout not defined)"
;;
esac
FRAMEWORK_VAULT_DIR="$VAULT_COMPONENTS_DIR"
PLATFORM_VAULT_DIR="$VAULT_COMPONENTS_DIR"
# ── Migrate legacy manifests (if any) ────────────────────────────────────────
manifest_migrate
@@ -237,7 +237,7 @@ if [[ $DEP_COUNT -gt 0 ]]; then
fi
echo ""
echo -e " ${BOLD}Next steps:${NC}"
if [[ "$FRAMEWORK" == "opencode" ]]; then
if [[ "$PLATFORM" == "opencode" ]]; then
echo -e " 1. Open opencode in your vault folder"
else
echo -e " 1. Open Claude Code in your vault folder"

View File

@@ -161,13 +161,13 @@ merge_marked_file() {
# Single unified manifest at $VAULT_DIR/.{framework}/.mbifc-manifest
# Format: INI-style with [section] headers, one entry per line.
#
# FRAMEWORK_VAULT_DIR must be set before calling these functions (e.g.
# PLATFORM_VAULT_DIR must be set before calling these functions (e.g.
# $VAULT_DIR/.claude for claude-code, $VAULT_DIR/.opencode for opencode).
# Defaults to $VAULT_DIR/.claude for backwards compatibility.
manifest_read() {
local section="$1"
local file="${FRAMEWORK_VAULT_DIR:-$VAULT_DIR/.claude}/.mbifc-manifest"
local file="${PLATFORM_VAULT_DIR:-$VAULT_DIR/.claude}/.mbifc-manifest"
[[ -f "$file" ]] || return 0
awk -v sec="[$section]" '
$0 == sec { found=1; next }
@@ -179,7 +179,7 @@ manifest_read() {
manifest_write() {
local section="$1"; shift
local entries=("$@")
local file="${FRAMEWORK_VAULT_DIR:-$VAULT_DIR/.claude}/.mbifc-manifest"
local file="${PLATFORM_VAULT_DIR:-$VAULT_DIR/.claude}/.mbifc-manifest"
mkdir -p "$(dirname "$file")"
local tmpfile; tmpfile="$(mktemp)"
local in_section=0 section_written=0
@@ -215,7 +215,7 @@ manifest_write() {
manifest_remove() {
local section="$1" name="$2"
local file="${FRAMEWORK_VAULT_DIR:-$VAULT_DIR/.claude}/.mbifc-manifest"
local file="${PLATFORM_VAULT_DIR:-$VAULT_DIR/.claude}/.mbifc-manifest"
[[ -f "$file" ]] || return 0
local tmpfile; tmpfile="$(mktemp)"
local in_section=0
@@ -231,7 +231,7 @@ manifest_remove() {
# Converts legacy per-directory .core-manifest files to the unified format.
# Runs only when legacy files are present; idempotent thereafter.
manifest_migrate() {
local _fw_dir="${FRAMEWORK_VAULT_DIR:-$VAULT_DIR/.claude}"
local _fw_dir="${PLATFORM_VAULT_DIR:-$VAULT_DIR/.claude}"
local agents_mf="$_fw_dir/agents/.core-manifest"
local refs_mf="$_fw_dir/references/.core-manifest"
[[ -f "$agents_mf" ]] || [[ -f "$refs_mf" ]] || return 0
@@ -259,7 +259,7 @@ manifest_migrate() {
# deprecate_removed <section> <src_dir> <dst_dir>
# Moves files listed in the manifest for <section> that no longer exist in
# <src_dir> to $FRAMEWORK_VAULT_DIR/deprecated/, prepending a DEPRECATED header.
# <src_dir> to $PLATFORM_VAULT_DIR/deprecated/, prepending a DEPRECATED header.
# Prints the count of deprecated files to stdout.
deprecate_removed() {
local section="$1" src_dir="$2" dst_dir="$3"
@@ -273,7 +273,7 @@ deprecate_removed() {
[[ "$name" == *"-DEPRECATED"* ]] && continue # already deprecated
local dep_name="${name%.md}-DEPRECATED.md"
local dep_dir="${FRAMEWORK_VAULT_DIR:-$VAULT_DIR/.claude}/deprecated"
local dep_dir="${PLATFORM_VAULT_DIR:-$VAULT_DIR/.claude}/deprecated"
mkdir -p "$dep_dir"
[[ -f "$dep_dir/$dep_name" ]] && continue # already done in a prior run
@@ -284,7 +284,7 @@ deprecate_removed() {
mv "$dep_dir/$dep_name.tmp" "$dep_dir/$dep_name"
manifest_remove "$section" "$name"
warn "Deprecated: $name$(basename "${FRAMEWORK_VAULT_DIR:-$VAULT_DIR/.claude}")/deprecated/$dep_name"
warn "Deprecated: $name$(basename "${PLATFORM_VAULT_DIR:-$VAULT_DIR/.claude}")/deprecated/$dep_name"
count=$((count + 1))
done < <(manifest_read "$section")

View File

@@ -9,7 +9,7 @@
# bash scripts/updateme.sh
#
# Options:
# --framework <name> Framework to build for (default: claude-code)
# --platform <name> Platform to build for (default: claude-code)
# --target <path> Override the vault destination path
# =============================================================================
@@ -22,11 +22,11 @@ source "$SCRIPT_DIR/lib.sh"
resolve_paths "${BASH_SOURCE[0]}"
# ── Parse args ─────────────────────────────────────────────────────────────
FRAMEWORK="claude-code"
PLATFORM="claude-code"
TARGET_OVERRIDE=""
while [[ $# -gt 0 ]]; do
case "$1" in
--framework) FRAMEWORK="$2"; shift 2 ;;
--platform) PLATFORM="$2"; shift 2 ;;
--target) TARGET_OVERRIDE="$2"; shift 2 ;;
*) die "Unknown argument: $1" ;;
esac
@@ -37,16 +37,16 @@ done
print_banner "Update "
# ── Check vault has been set up ───────────────────────────────────────────────
case "$FRAMEWORK" in
case "$PLATFORM" in
claude-code) _SETUP_CHECK="$VAULT_DIR/.claude/agents" ;;
opencode) _SETUP_CHECK="$VAULT_DIR/.opencode/agents" ;;
*) _SETUP_CHECK="$VAULT_DIR/.claude/agents" ;;
esac
[[ -d "$_SETUP_CHECK" ]] \
|| die "No agents/ found in $VAULT_DIR for framework '$FRAMEWORK' — run launchme.sh first"
|| die "No agents/ found in $VAULT_DIR for platform '$PLATFORM' — run launchme.sh first"
# ── Confirm ───────────────────────────────────────────────────────────────────
case "$FRAMEWORK" in
case "$PLATFORM" in
opencode) _DISP_NAME="AGENTS.md"; _FW_DIR_NAME="opencode" ;;
*) _DISP_NAME="CLAUDE.md"; _FW_DIR_NAME="claude" ;;
esac
@@ -63,14 +63,14 @@ if [[ ! "$ANSWER" =~ ^[Cc]$ ]]; then
fi
echo ""
# ── Build the framework dist ───────────────────────────────────────────────
info "Building $FRAMEWORK adapter..."
bash "$SCRIPT_DIR/build.sh" --framework "$FRAMEWORK"
DIST_DIR="$REPO_DIR/dist/$FRAMEWORK"
# ── Build the platform dist ───────────────────────────────────────────────
info "Building $PLATFORM adapter..."
bash "$SCRIPT_DIR/build.sh" --platform "$PLATFORM"
DIST_DIR="$REPO_DIR/dist/$PLATFORM"
[[ -d "$DIST_DIR" ]] || die "Build did not produce $DIST_DIR"
# ── Framework-specific install layout ────────────────────────────────────────
case "$FRAMEWORK" in
# ── Platform-specific install layout ────────────────────────────────────────
case "$PLATFORM" in
claude-code)
DIST_COMPONENTS_DIR="$DIST_DIR/.claude"
VAULT_COMPONENTS_DIR="$VAULT_DIR/.claude"
@@ -90,10 +90,10 @@ case "$FRAMEWORK" in
HAS_PLUGINS=1
;;
*)
die "Unknown framework: $FRAMEWORK (install layout not defined)"
die "Unknown platform: $PLATFORM (install layout not defined)"
;;
esac
FRAMEWORK_VAULT_DIR="$VAULT_COMPONENTS_DIR"
PLATFORM_VAULT_DIR="$VAULT_COMPONENTS_DIR"
# ── Migrate legacy manifests (if any) ────────────────────────────────────────
manifest_migrate
@@ -146,5 +146,5 @@ else
[[ $DEP_COUNT -gt 0 ]] && warn "$DEP_COUNT file(s) deprecated (moved to deprecated/)"
fi
echo ""
echo -e " ${DIM}Restart $FRAMEWORK to pick up the changes.${NC}"
echo -e " ${DIM}Restart $PLATFORM to pick up the changes.${NC}"
echo ""

View File

@@ -10,7 +10,7 @@ SNAPSHOT_DIR="$SCRIPT_DIR/snapshot"
[[ -d "$SNAPSHOT_DIR" ]] || { echo "no snapshot at $SNAPSHOT_DIR — run take-snapshot.sh before refactoring"; exit 1; }
# Build claude-code
bash "$REPO_DIR/scripts/build.sh" --framework claude-code
bash "$REPO_DIR/scripts/build.sh" --platform claude-code
DIST_DIR="$REPO_DIR/dist/claude-code"
[[ -d "$DIST_DIR" ]] || { echo "build did not produce $DIST_DIR"; exit 1; }