Fix claude-specific references in agents, skills and references

This commit is contained in:
nunziati
2026-04-10 19:24:57 +02:00
parent 1e797224d8
commit bb5ef7c489
38 changed files with 453 additions and 234 deletions

View File

@@ -206,35 +206,42 @@ test_enumerate_hooks() {
[[ "$count" == "2" ]] || { echo "expected 2, got $count"; return 1; }
}
test_rewrite_framework_paths_opencode() {
local file; file="$(mktemp)"
printf 'See .claude/agents/ and .claude/references/foo.md\nAlso CLAUDE.md here.\n' > "$file"
rewrite_framework_paths "$file" "opencode" "AGENTS.md"
local result; result="$(cat "$file")"
rm "$file"
[[ "$result" == *".opencode/agents/"* ]] || { echo "agents/ not rewritten: $result"; return 1; }
[[ "$result" == *".opencode/references/"* ]] || { echo "references/ not rewritten: $result"; return 1; }
[[ "$result" == *"AGENTS.md"* ]] || { echo "AGENTS.md not present: $result"; return 1; }
[[ "$result" != *".claude/"* ]] || { echo ".claude/ still present: $result"; return 1; }
[[ "$result" != *"CLAUDE.md"* ]] || { echo "CLAUDE.md still present: $result"; return 1; }
test_rewrite_platform_paths_replaces_both() {
local tmp; tmp="$(mktemp)"
cat > "$tmp" <<'HEREDOC'
See .platform/references/agent-orchestration.md for details.
The dispatcher (DISPATCHER.md) handles routing.
Files live in .platform/agents/ directory.
HEREDOC
rewrite_platform_paths "$tmp" "claude" "CLAUDE.md"
local result=0
grep -q '\.claude/references/agent-orchestration.md' "$tmp" || { echo ".platform/ not rewritten"; result=1; }
grep -q 'CLAUDE.md' "$tmp" || { echo "DISPATCHER.md not rewritten"; result=1; }
grep -q '\.claude/agents/' "$tmp" || { echo "second .platform/ not rewritten"; result=1; }
grep -q '\.platform/' "$tmp" && { echo ".platform/ still present"; result=1; }
grep -q 'DISPATCHER\.md' "$tmp" && { echo "DISPATCHER.md still present"; result=1; }
rm -f "$tmp"
return $result
}
test_rewrite_framework_paths_noop_for_claude_code() {
local file; file="$(mktemp)"
local content='.claude/agents/ and CLAUDE.md'
printf '%s\n' "$content" > "$file"
rewrite_framework_paths "$file" "claude" "CLAUDE.md"
local result; result="$(cat "$file")"
rm "$file"
[[ "$result" == "$content" ]] || { echo "content was changed unexpectedly: $result"; return 1; }
test_rewrite_platform_paths_opencode() {
local tmp; tmp="$(mktemp)"
echo 'See .platform/references/agents.md and DISPATCHER.md' > "$tmp"
rewrite_platform_paths "$tmp" "opencode" "AGENTS.md"
local result=0
grep -q '\.opencode/references/agents.md' "$tmp" || { echo "not rewritten to .opencode/"; result=1; }
grep -q 'AGENTS.md' "$tmp" || { echo "not rewritten to AGENTS.md"; result=1; }
rm -f "$tmp"
return $result
}
test_rewrite_framework_paths_preserves_product_name() {
local file; file="$(mktemp)"
printf 'Claude Code auto-loads agents from .claude/agents/\n' > "$file"
rewrite_framework_paths "$file" "opencode" "AGENTS.md"
local result; result="$(cat "$file")"
rm "$file"
[[ "$result" == *"Claude Code auto-loads"* ]] || { echo "product name was altered: $result"; return 1; }
[[ "$result" == *".opencode/agents/"* ]] || { echo "path not rewritten: $result"; return 1; }
test_rewrite_platform_paths_gemini() {
local tmp; tmp="$(mktemp)"
echo 'See .platform/agents/scribe.md and DISPATCHER.md' > "$tmp"
rewrite_platform_paths "$tmp" "gemini" "GEMINI.md"
local result=0
grep -q '\.gemini/agents/scribe.md' "$tmp" || { echo "not rewritten to .gemini/"; result=1; }
grep -q 'GEMINI.md' "$tmp" || { echo "not rewritten to GEMINI.md"; result=1; }
rm -f "$tmp"
return $result
}

View File

@@ -9,7 +9,7 @@ test_oc_translate_dispatcher_renames_to_agents_md() {
local dst; dst="$(mktemp -d)"
cat > "$src/DISPATCHER.md" <<'EOF'
# Dispatcher
See .claude/agents/ for agents. Consult CLAUDE.md for rules.
See .platform/agents/ for agents. Consult DISPATCHER.md for rules.
EOF
adapter_translate_dispatcher "$src/DISPATCHER.md" "$dst"
local result=0
@@ -42,7 +42,7 @@ test_oc_translate_references_rewrites_paths() {
local src; src="$(mktemp -d)"
local dst; dst="$(mktemp -d)"
mkdir -p "$src/references"
printf 'See .claude/agents/ and CLAUDE.md for details.\n' > "$src/references/guide.md"
printf 'See .platform/agents/ and DISPATCHER.md for details.\n' > "$src/references/guide.md"
adapter_translate_references "$src/references" "$dst"
local content; content="$(cat "$dst/.opencode/references/guide.md")"
local result=0
@@ -88,7 +88,7 @@ test_oc_translate_skills_rewrites_paths() {
name: create-agent
description: Create a new agent
---
Save to .claude/agents/ and update CLAUDE.md.
Save to .platform/agents/ and update DISPATCHER.md.
SKILLEOF
adapter_translate_skills "$src/skills" "$dst"
local content; content="$(cat "$dst/.opencode/skills/create-agent/SKILL.md")"
@@ -161,7 +161,7 @@ model: sonnet
capabilities: [read, write]
---
See .claude/references/agents.md and CLAUDE.md for context.
See .platform/references/agents.md and DISPATCHER.md for context.
EOF
adapter_translate_agents "$src/agents" "$dst"
local out="$dst/.opencode/agents/scribe.md"