Özetle (TL;DR)
Bir yapay zeka ajan dosyasını 3 adımda 10 IDE'ye dönüştürün:
- YAML ön kısmını
get_field(),get_body()veto_kebab()bash fonksiyonlarıyla ayrıştırın -
convert.shile araca özel formatlara dönüştürün (Claude Code.md, Cursor.mdc, AiderCONVENTIONS.md, Windsurf.windsurfrules) -
install.shile doğru yollara kurun. Bir kez yazın, otomatik dönüştürün, her yere dağıtın.
Tek bir ajan dosyası. On IDE. The Agency projesinin tek bir Markdown dosyasını Claude Code, Cursor, Aider, Windsurf, GitHub Copilot ve 6'dan fazla diğer araçta çalışacak şekilde nasıl dönüştürdüğünü öğrenin.
Bir yapay zeka ajanı yazıyorsunuz. Şimdi onu şunlarda kullanılabilir hale getirmek istiyorsunuz:
- Claude Code (
~/.claude/agents/içindeki.mddosyaları) - Cursor (
.cursor/rules/içindeki.mdcdosyaları) - Aider (proje kök dizinindeki tek
CONVENTIONS.mddosyası) - Windsurf (tek
.windsurfrulesdosyası) - GitHub Copilot (
~/.github/agents/içindeki.mddosyaları) - Ve 5'ten fazla araç
10 farklı sürüm mü yazarsınız? Hayır. Bir kez yazarsınız, otomatik olarak dönüştürürsünüz.
The Agency projesi bunu iki bash betiğiyle çözüyor:
-
convert.sh— Ajan dosyalarını araca özel formatlara dönüştürür -
install.sh— Dönüştürülmüş dosyaları doğru yollara kopyalar
Bu rehberde, bash ile YAML ön kısım ayrıştırmasını, gövde çıkarmayı ve her araca özgü dönüştürme pipeline'larını adım adım nasıl yazacağınızı göreceksiniz.
💡 Apidog entegrasyonuyla API geliştirme iş akışları için ajanlar dağıtıyor veya özel test ajanları oluşturuyor olun, dönüştürme sistemi bunların ekibinizin tercih ettiği tüm IDE'lerde çalışmasını sağlar.
Ajan Formatı
Her ajan dosyası aynı yapıyı kullanır:
---
name: API Tester
description: "Specialized in API testing with Apidog, Postman, and automated validation"
color: purple
emoji: 🧪
vibe: Breaks APIs before users do.
---
# API Tester Agent Personality
You are **API Tester**, an expert in API validation...
## Identity & Memory
- Role: API testing specialist
- Personality: Thorough, skeptical, evidence-focused
...
İki bölüm var:
-
Ön Kısım (Frontmatter) —
---ayırıcıları arasındaki YAML meta verileri -
Gövde — İkinci
---'den sonraki Markdown içeriği
Dönüştürmede amaç: Ön kısım alanlarını çıkar, gövdeyi hedef formata dönüştür, doğru yola yaz.
Adım 1: YAML Ön Kısmını Bash ile Ayrıştırın
parse-frontmatter.sh dosyasını oluşturun:
#!/usr/bin/env bash
#
# parse-frontmatter.sh — Ajan dosyalarından YAML ön kısım alanlarını çıkarır
#
set -euo pipefail
get_field() {
local field="$1" file="$2"
awk -v f="$field" '
/^---$/ { fm++; next }
fm == 1 && $0 ~ "^" f ": " {
sub("^" f ": ", "");
print;
exit
}
' "$file"
}
get_body() {
awk 'BEGIN{fm=0} /^---$/{fm++; next} fm>=2{print}' "$1"
}
to_kebab() {
echo "$1" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | sed 's/--*/-/g'
}
if [[ "${1:-}" == "--demo" ]]; then
AGENT_FILE="${2:-test-agent.md}"
echo "Dosya: $AGENT_FILE"
echo "İsim: $(get_field 'name' "$AGENT_FILE")"
echo "Açıklama: $(get_field 'description' "$AGENT_FILE")"
echo "Slug: $(to_kebab "$(get_field 'name' "$AGENT_FILE")")"
echo "---"
echo "Gövde önizlemesi:"
get_body "$AGENT_FILE" | head -10
fi
Test etmek için:
chmod +x parse-frontmatter.sh
./parse-frontmatter.sh --demo engineering-backend-architect.md
Beklenen çıktı:
Dosya: engineering-backend-architect.md
İsim: Backend Architect
Açıklama: Senior backend architect specializing in scalable system design...
Slug: backend-architect
---
Gövde önizlemesi:
# Backend Architect Agent Personality
You are **Backend Architect**, a senior backend architect...
Adım 2: Claude Code Formatına Dönüştürün
Claude Code ham .md dosyasını kullanır. Sadece kopyalayın:
convert_claude_code() {
local agent_file="$1"
local dest="$HOME/.claude/agents/"
mkdir -p "$dest"
cp "$agent_file" "$dest/"
echo " Claude Code: $(basename "$agent_file")"
}
Adım 3: Cursor Formatına Dönüştürün
Cursor, ön kısmında bir description alanı olan .mdc dosyası ister:
convert_cursor() {
local agent_file="$1"
local name=$(get_field 'name' "$agent_file")
local description=$(get_field 'description' "$agent_file")
local slug=$(to_kebab "$name")
local body=$(get_body "$agent_file")
local output=".cursor/rules/agency-${slug}.mdc"
mkdir -p "$(dirname "$output")"
cat > "$output" << EOF
---
description: Agency agent: $description
---
$body
EOF
echo " Cursor: agency-${slug}.mdc"
}
Adım 4: Aider Formatına Dönüştürün
Aider, tüm ajanları tek bir CONVENTIONS.md dosyasında toplar:
convert_aider() {
local agent_file="$1"
local output="CONVENTIONS.md"
echo "" >> "$output"
echo "---" >> "$output"
echo "" >> "$output"
cat "$agent_file" >> "$output"
echo " Aider: $output dosyasına eklendi"
}
Tüm ajan dosyalarını birleştirmek için:
build_aider() {
local output="CONVENTIONS.md"
echo "# Aider için Agency Ajanları" > "$output"
echo "" >> "$output"
echo "Bu dosya, Aider entegrasyonu için tüm Agency ajanlarını içerir." >> "$output"
echo "" >> "$output"
for agent_file in engineering/*.md design/*.md testing/*.md; do
convert_aider "$agent_file"
done
}
Adım 5: Windsurf Formatına Dönüştürün
Windsurf, Aider gibi tek bir .windsurfrules dosyası ister:
convert_windsurf() {
local agent_file="$1"
local output=".windsurfrules"
echo "" >> "$output"
echo "---" >> "$output"
echo "" >> "$output"
cat "$agent_file" >> "$output"
echo " Windsurf: $output dosyasına eklendi"
}
Adım 6: Antigravity Formatına Dönüştürün
Antigravity (Gemini), SKILL.md adında alt dizin kullanır:
convert_antigravity() {
local agent_file="$1"
local name=$(get_field 'name' "$agent_file")
local slug=$(to_kebab "$name")
local output="integrations/antigravity/skills/agency-${slug}/SKILL.md"
mkdir -p "$(dirname "$output")"
cat > "$output" << EOF
# Agency Ajanı: $name
$(get_body "$agent_file")
EOF
echo " Antigravity: agency-${slug}/SKILL.md"
}
Adım 7: OpenClaw Formatına Dönüştürün
OpenClaw, ajan başına üç dosya üretir:
convert_openclaw() {
local agent_file="$1"
local name=$(get_field 'name' "$agent_file")
local description=$(get_field 'description' "$agent_file")
local slug=$(to_kebab "$name")
local body=$(get_body "$agent_file")
local output_dir="integrations/openclaw/agency-${slug}"
mkdir -p "$output_dir"
# SOUL.md - Ana ajan tanımı
cat > "$output_dir/SOUL.md" << EOF
# $name
$description
---
$body
EOF
# AGENTS.md - Ajan yetenekleri
cat > "$output_dir/AGENTS.md" << EOF
# Ajan Yetenekleri: $name
- Alanda uzmanlaşmış uzmanlık
- Teslimat odaklı çıktı
- Tanımlanmış başarı metrikleri
Tam tanım için SOUL.md'ye bakın.
EOF
# IDENTITY.md - Ajan kimliği
cat > "$output_dir/IDENTITY.md" << EOF
# Kimlik: $name
- İsim: $name
- Açıklama: $description
- Kaynak: The Agency (agency-agents deposu)
EOF
echo " OpenClaw: agency-${slug}/"
}
Adım 8: Tam convert.sh Betiği
Tüm ajanları tüm formatlara otomatik dönüştürmek için temel betik:
#!/usr/bin/env bash
#
# convert.sh — Tüm Agency ajanlarını araca özel formatlara dönüştürür
#
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
OUT_DIR="$REPO_ROOT/integrations"
get_field() {
local field="$1" file="$2"
awk -v f="$field" '
/^---$/ { fm++; next }
fm == 1 && $0 ~ "^" f ": " { sub("^" f ": ", ""); print; exit }
' "$file"
}
get_body() {
awk 'BEGIN{fm=0} /^---$/{fm++; next} fm>=2{print}' "$1"
}
to_kebab() {
echo "$1" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | sed 's/--*/-/g'
}
convert_claude_code() {
local agent_file="$1"
local dest="$OUT_DIR/claude-code/"
mkdir -p "$dest"
cp "$agent_file" "$dest/"
}
convert_cursor() {
local agent_file="$1"
local name=$(get_field 'name' "$agent_file")
local slug=$(to_kebab "$name")
local body=$(get_body "$agent_file")
mkdir -p "$OUT_DIR/cursor/.cursor/rules/"
cat > "$OUT_DIR/cursor/.cursor/rules/agency-${slug}.mdc" << EOF
---
description: Agency agent: $(get_field 'description' "$agent_file")
---
$body
EOF
}
convert_aider() {
local output="$OUT_DIR/aider/CONVENTIONS.md"
echo "" >> "$output"
echo "---" >> "$output"
cat "$agent_file" >> "$output"
}
convert_windsurf() {
local output="$OUT_DIR/windsurf/.windsurfrules"
echo "" >> "$output"
echo "---" >> "$output"
cat "$agent_file" >> "$output"
}
echo "Agency ajanları dönüştürülüyor..."
AGENT_DIRS=(engineering design testing marketing sales)
for dir in "${AGENT_DIRS[@]}"; do
for agent_file in "$REPO_ROOT/$dir"/*.md; do
[[ -f "$agent_file" ]] || continue
name=$(get_field 'name' "$agent_file")
echo "İşleniyor: $name"
convert_claude_code "$agent_file"
convert_cursor "$agent_file"
done
done
echo "# Aider için Agency Ajanları" > "$OUT_DIR/aider/CONVENTIONS.md"
for dir in "${AGENT_DIRS[@]}"; do
for agent_file in "$REPO_ROOT/$dir"/*.md; do
[[ -f "$agent_file" ]] || continue
convert_aider "$agent_file"
done
done
echo "# Windsurf için Agency Ajanları" > "$OUT_DIR/windsurf/.windsurfrules"
for dir in "${AGENT_DIRS[@]}"; do
for agent_file in "$REPO_ROOT/$dir"/*.md; do
[[ -f "$agent_file" ]] || continue
convert_windsurf "$agent_file"
done
done
echo "Dönüştürme tamamlandı!"
echo " Claude Code: $OUT_DIR/claude-code/"
echo " Cursor: $OUT_DIR/cursor/.cursor/rules/"
echo " Aider: $OUT_DIR/aider/CONVENTIONS.md"
echo " Windsurf: $OUT_DIR/windsurf/.windsurfrules"
Çalıştırmak için:
chmod +x convert.sh
./convert.sh
Adım 9: Her Araca Kurun
Dönüştürülmüş dosyaları araca özel yollara kopyalamak için install.sh:
#!/usr/bin/env bash
#
# install.sh — Dönüştürülmüş ajanları yerel araçlarınıza kurar
#
set -euo pipefail
install_claude_code() {
local src="$REPO_ROOT/integrations/claude-code/"
local dest="$HOME/.claude/agents/"
mkdir -p "$dest"
cp "$src"/*.md "$dest/"
echo "Claude Code: $(find "$dest" -name '*.md' | wc -l) ajan kuruldu"
}
install_cursor() {
local src="$REPO_ROOT/integrations/cursor/.cursor/rules/"
local dest="./.cursor/rules/"
mkdir -p "$dest"
cp "$src"/*.mdc "$dest/"
echo "Cursor: $(find "$dest" -name '*.mdc' | wc -l) kural kuruldu"
}
install_aider() {
local src="$REPO_ROOT/integrations/aider/CONVENTIONS.md"
local dest="./CONVENTIONS.md"
cp "$src" "$dest"
echo "Aider: CONVENTIONS.md kuruldu"
}
install_windsurf() {
local src="$REPO_ROOT/integrations/windsurf/.windsurfrules"
local dest="./.windsurfrules"
cp "$src" "$dest"
echo "Windsurf: .windsurfrules kuruldu"
}
install_all() {
if [[ -d "$HOME/.claude/agents/" ]]; then
install_claude_code
fi
if command -v cursor &>/dev/null || [[ -d "./.cursor/" ]]; then
install_cursor
fi
if command -v aider &>/dev/null; then
install_aider
fi
}
install_all
Format Karşılaştırması
| Araç | Format | Kapsam | Dönüştürme |
|---|---|---|---|
| Claude Code | .md |
Kullanıcı genelinde (~/.claude/agents/) |
Olduğu gibi kopyala |
| Cursor | .mdc |
Proje (.cursor/rules/) |
Açıklama ön kısmı ekle |
| Aider | CONVENTIONS.md |
Proje kökü | Tüm ajanları birleştir |
| Windsurf | .windsurfrules |
Proje kökü | Tüm ajanları birleştir |
| GitHub Copilot | .md |
Kullanıcı genelinde (~/.github/agents/) |
Olduğu gibi kopyala |
| Antigravity | SKILL.md |
Kullanıcı genelinde (~/.gemini/antigravity/) |
Beceri dizinine sar |
| OpenClaw |
SOUL.md + diğerleri |
Kullanıcı genelinde (~/.openclaw/) |
3 dosyaya ayır |
| Gemini CLI | Uzantı | Kullanıcı genelinde (~/.gemini/extensions/) |
Manifest + beceriler oluştur |
| OpenCode | .md |
Proje (.opencode/agents/) |
Olduğu gibi kopyala |
| Qwen Code | .md |
Proje (.qwen/agents/) |
Alt Ajan olarak kopyala |
Kendi Dönüştürme Betiğinizi Oluşturun
Yeni bir aracı desteklemek için şablon:
#!/usr/bin/env bash
convert_your_tool() {
local agent_file="$1"
local name=$(get_field 'name' "$agent_file")
local description=$(get_field 'description' "$agent_file")
local slug=$(to_kebab "$name")
local body=$(get_body "$agent_file")
local output="path/to/your/tool/agency-${slug}.ext"
mkdir -p "$(dirname "$output")"
cat > "$output" << EOF
# Aracınıza özel format
# Kullanın: $name, $description, $body
EOF
echo " YourTool: agency-${slug}.ext"
}
for agent_file in engineering/*.md; do
convert_your_tool "$agent_file"
done
Neler Yaptınız
| Bileşen | Amaç |
|---|---|
get_field() |
YAML ön kısım değerlerini çıkarır |
get_body() |
Ön kısmı çıkarır, markdown gövdesini döndürür |
to_kebab() |
İsimleri URL dostu slug'lara dönüştürür |
convert_cursor() |
.mdc formatına dönüştürür |
convert_aider() |
Tek bir dosyada birleştirir |
convert_windsurf() |
Tek bir dosyada birleştirir |
convert_antigravity() |
Beceri dizinleri oluşturur |
convert_openclaw() |
Ajan başına 3 dosyaya böler |
install.sh |
Araca özel yollara kopyalar |
Sonraki Adımlar
Betiikleri genişletin:
-
xargs -Pveya GNU parallel ile paralel dönüştürme ekleyin - Doğrulama ekleyin (gerekli ön kısım alanlarını kontrol edin)
- Deneme çalıştırma modu ekleyin (
--dry-runbayrağı)
Daha fazla araç ekleyin:
- VS Code uzantıları
- JetBrains IDE'leri
- Özel dahili araçlar
Büyük depolar için optimize edin:
- Ayrıştırılmış ön kısmı önbelleğe alın
- Güvenli dosya işleme için
findkomutunu-print0ile kullanın - 100'den fazla ajan için ilerleme çubukları ekleyin
Sık Karşılaşılan Sorun Giderme
Dönüştürme betiği "hatalı ikame" ile başarısız oluyor:
- Bash çalıştırdığınızdan emin olun, sh değil:
#!/usr/bin/env bash - Bash sürümünü kontrol edin:
bash --version(4.0+ olmalı) - Açıkça bash ile çalıştırın:
bash convert.sh - Windows satır sonlarını arayın:
sed -i 's/\r$//' convert.sh
Ön kısım alanları çıkarılamıyor:
- YAML formatının sadece
:değil,:(iki nokta üst üste boşluk) kullandığını doğrulayın - Alan adlarından önce fazladan boşluk olup olmadığını kontrol edin
- Ön kısım ayırıcılarının tam olarak
---(3 tire) olduğundan emin olun - Ayrıştırmayı manuel olarak test edin:
./parse-frontmatter.sh --demo agent.md
Slug oluşturma bozuk isimler yaratıyor:
-
to_kebab()fonksiyonunu uç durumlarla test edin - Özel karakterleri işleyin:
to_kebab() { echo "$1" | iconv -f utf8 -t ascii//translit | ... } - Boş slug'lar için yedek ekleyin:
[[ -z "$slug" ]] && slug="unknown-agent" - Hata ayıklama için orijinal isimleri günlüğe kaydedin
Cursor kuralları yüklenmiyor:
-
.mdcdosyalarınındescriptionile geçerli bir ön kısım içerdiğini doğrulayın - Cursor'ın MCP yapılandırmasını kontrol edin:
.cursor/mcp.json - Dosyaların
.cursor/agents/değil,.cursor/rules/içinde olduğundan emin olun - Yeni kuralları ekledikten sonra Cursor'ı yeniden başlatın
Aider CONVENTIONS.md çok büyük hale geliyor:
- Kategoriye göre ayırın:
CONVENTIONS-engineering.md,CONVENTIONS-design.md - Kullanımdan kaldırılmış ajanlar için otomatik budama uygulayın
- En üste içindekiler tablosu ekleyin
- Include direktifleri ile ajan başına dosyaları düşünün
Büyük Dönüştürmeler İçin Performans Optimizasyonu
Paralel İşleme:
Birden fazla ajan için GNU parallel ile hızlandırılmış dönüştürme:
#!/usr/bin/env bash
# convert-parallel.sh
export OUT_DIR="$REPO_ROOT/integrations"
export -f get_field get_body to_kebab convert_cursor convert_claude_code
find "$REPO_ROOT" -name "*.md" -type f | \
parallel -j 8 --progress '
name=$(get_field "name" {})
slug=$(to_kebab "$name")
echo "Dönüştürülüyor: $name"
convert_cursor "{}"
convert_claude_code "{}"
'
echo "Paralel dönüştürme tamamlandı!"
Artımlı Dönüştürme:
Sadece değişen dosyaları yeniden işleyin:
#!/usr/bin/env bash
# convert-incremental.sh
CACHE_FILE="$REPO_ROOT/.conversion-cache"
declare -A PREV_HASHES
if [[ -f "$CACHE_FILE" ]]; then
while IFS='=' read -r file hash; do
PREV_HASHES["$file"]="$hash"
done < "$CACHE_FILE"
fi
for agent_file in engineering/*.md; do
CURRENT_HASH=$(md5sum "$agent_file" | cut -d' ' -f1)
PREV_HASH="${PREV_HASHES[$agent_file]:-}"
if [[ "$CURRENT_HASH" != "$PREV_HASH" ]]; then
echo "Değişti: $agent_file"
convert_cursor "$agent_file"
convert_claude_code "$agent_file"
NEW_HASHES["$agent_file"]="$CURRENT_HASH"
else
echo "Değişmedi: $agent_file"
fi
done
for file in "${!NEW_HASHES[@]}"; do
echo "$file=${NEW_HASHES[$file]}"
done > "$CACHE_FILE"
İlerleme Takibi:
İlerleme çubuğu ile:
#!/usr/bin/env bash
total_files=$(find "$REPO_ROOT" -name "*.md" -type f | wc -l)
current=0
for agent_file in "$REPO_ROOT"/**/*.md; do
((current++))
percent=$((current * 100 / total_files))
filled=$((percent / 5))
empty=$((20 - filled))
bar=$(printf '%*s' "$filled" | tr ' ' '#')
spaces=$(printf '%*s' "$empty" | tr ' ' ' ')
name=$(get_field 'name' "$agent_file")
echo -ne "\r[${bar}${spaces}] ${percent}% - $name"
convert_cursor "$agent_file"
done
echo -ne "\n"
Paylaşılan Ajanlar İçin Güvenlik Hususları
Ajan Kaynaklarını Doğrulama:
Dış kaynaklardan gelen ajanları kontrol edin:
#!/usr/bin/env bash
# validate-agent.sh
validate_agent() {
local file="$1"
local name=$(get_field 'name' "$file")
local description=$(get_field 'description' "$file")
if [[ -z "$name" ]]; then
echo "HATA: '$file' dosyasında 'name' alanı eksik"
return 1
fi
if [[ -z "$description" ]]; then
echo "UYARI: '$file' dosyasında 'description' alanı eksik"
fi
local body=$(get_body "$file")
if echo "$body" | grep -q 'rm -rf\|curl.*\|wget.*\|eval\|exec'; then
echo "UYARI: '$file' dosyasında potansiyel olarak tehlikeli desenler var"
return 1
fi
echo "GEÇERLİ: $name"
return 0
}
Ajan Yürütme Korumalı Alanı (Sandboxing):
- Docker kapsayıcıları kullanın
- Salt okunur dosya sistemi bağlayın
- Ağ erişimini alan adı bazında kısıtlayın
- Ajan çıktısını günlüğe kaydedin
Tek bir ajan dosyası. On IDE. İki bash betiği.
Bir kez yazın, otomatik dönüştürün, her yere kurun.
Sıra sizde: Favori yapay zeka aracınız için dönüştürme fonksiyonu ekleyin, paylaşın, ajanlarınızı taşınabilir yapın.
Ana Çıkarımlar
- Bir kez yazın, 10'dan fazla formata dönüştürün — YAML ön kısmına sahip tek bir Markdown dosyası Claude Code, Cursor, Aider, Windsurf ve 6'dan fazla başka araca dönüşür
-
Bash ayrıştırması ön kısım çıkarılmasını yönetir —
get_field()YAML değerlerini çıkarır,get_body()ön kısmı kaldırır,to_kebab()URL dostu slug'lar oluşturur - Araca özel formatlar farklı dönüşümler gerektirir — Claude Code olduğu gibi kopyalar, Cursor açıklama ön kısmı ekler, Aider/Windsurf tüm ajanları birleştirir
-
Kurulum betikleri doğru yollara kopyalar — Kullanıcı genelindeki araçlar
~/.claude/agents/kullanır, proje araçları.cursor/rules/veya proje kök dosyalarını kullanır -
Yeni araçlar için şablonlarla genişletin —
convert_your_tool()fonksiyonunu tanımlayın, ana döngüye ekleyin, format gereksinimlerini belgeleyin
Sıkça Sorulan Sorular
convert.sh nedir ve nasıl çalışır?
convert.sh, ajan Markdown dosyalarından YAML ön kısmını ayrıştıran, gövde içeriğini çıkaran ve her ajanı araca özel formatlara dönüştüren bir bash betiğidir. Ayrıştırma için awk, slug dönüştürme için sed ve çıktı üretimi için heredoc'ları kullanır.
Bash'te ön kısım ayrıştırması nasıl çalışır?
get_field() fonksiyonu, ön kısım ayırıcılarını (---) takip etmek için awk kullanır, alan adıyla eşleşen satırı bulur ve değeri çıkarır. get_body() ise ikinci --- ayırıcısından sonraki tüm satırları yazdırır.
Hangi IDE'ler ve araçlar destekleniyor?
Claude Code (.md), Cursor (.mdc), Aider (CONVENTIONS.md), Windsurf (.windsurfrules), GitHub Copilot (.md), Antigravity (SKILL.md), OpenClaw (SOUL.md + 2 dosya), Gemini CLI uzantıları, OpenCode ve Qwen Code.
Yeni bir araç için dönüştürme desteğini nasıl eklerim?
Ön kısım alanlarını çıkaran, gövdeyi aracınızın formatına dönüştüren ve doğru yola yazan bir convert_yourtool() fonksiyonu oluşturun. Fonksiyon çağrısını ana dönüştürme döngüsüne ekleyin.
Daha hızlı işleme için dönüştürmeleri paralel olarak çalıştırabilir miyim?
Evet. Birden fazla ajan dosyasını aynı anda işlemek için xargs -P veya GNU parallel kullanın. 100'den fazla ajan için, paralel dönüştürme çalışma süresini dakikalardan saniyelere düşürebilir.
Ön kısım alanlarının var olduğunu nasıl doğrularım?
Dönüştürme fonksiyonunuza doğrulama kontrolleri ekleyin: [[ -z "$name" ]] && echo "İsim alanı eksik" && exit 1. Çıktı dosyalarını yazmadan önce doğrulamayı çalıştırın.
Bazı ajanlar için dönüştürme başarısız olursa ne olur?
Hatalarda hızlı bir şekilde başarısız olmak için set -euo pipefail kullanın. Bozuk dosyaları atlamak için || continue ile hata işleme ekleyin. Hata ayıklama için başarısızlıkları ayrı bir dosyaya kaydedin.
Top comments (0)