Aracılığıyla paylaş


GitHub Copilot modernizasyon aracısını özelleştirme

GitHub Copilot modernizasyon aracısı, kuruluşa özgü geçiş desenlerini, iç kitaplık kullanımını ve kodlama standartlarını tanımlamak için kullanabileceğiniz özel becerileri destekler. Bu özel becerileri kullanarak, özel bilgileri kullanırken kuruluşunuz genelinde tutarlı bir modernizasyon sağlayabilirsiniz.

Özel beceriler nelerdir?

Özel beceriler, modernizasyon ajanına kuruluşunuzun desenlerini ve kütüphanelerini kullanarak belirli geçiş görevlerini nasıl gerçekleştireceğini öğretmek için ajan becerileri belirtimini izler. Bir modernleştirme planı oluşturduğunuzda aracı, geçiş isteminize göre ilgili özel becerileri otomatik olarak algılar ve uygular.

Özel beceriler şunlar için kullanışlıdır:

  • İç kitaplık geçişleri: Kuruluşa özgü SDK'lara veya çerçevelere geçiş yapma.
  • Geçiş desenlerini yeniden kullanma: Başarılı geçiş desenlerini yakalama ve yeniden kullanma.

Özel beceri yapısı

Bir SKILL.md dosyadaki her özel beceriyi şu şekilde tanımlayın:

  • YAML ön konusu: Beceri algılama için meta veriler.
  • Genel bakış: Geçiş senaryosunun açıklaması.
  • Adımlar: Temsilci için ayrıntılı talimatlar.
  • Örnek kod: Geçişi gösteren somut örnekler.

Özel beceri oluşturma

1. Adım: Beceri dizinini oluşturma

Deponuzda altında açıklayıcı bir adla yeni bir klasör .github/skills/ oluşturun:

mkdir -p .github/skills/my-migration-pattern

2. Adım: SKILL.md dosyasını yazma

Aşağıdaki bölümde gösterilen yapıyla oluşturun .github/skills/my-migration-pattern/SKILL.md .

Gerekli ön madde alanları

---
name: my-migration-pattern
description: A concrete description of what this skill helps migrate
---

Önemli: Alan description kritiktir. Aracı, kullanıcının geçiş istemine göre becerinin ne zaman uygulanacağını belirlemek için bunu kullanır. Bunu belirli ve doğru hale getirin.

İyi açıklamalar:

  • ✅ "AMQP ile RabbitMQ'den mesajlaşma için Azure Service Bus'a geçiş"
  • ✅ "Doğrudan JDBC çağrılarını Spring Data depolarıyla değiştirin"

Hatalı açıklamalar:

  • ❌ "Mesajlaşma geçişi" (çok belirsiz)
  • ❌ "Kitaplıkları güncelleştirme" (belirli değil)
  • ❌ "Kodu geliştirme" (belirsiz hedef)

3. Adım: Örnekler ve geçiş doğrulama denetimleri sağlama

Aracıya kılavuzluk etmek için kod örnekleri ve doğrulama denetimleri ekleyin:

  • Kod değişiklikleri: Yeni yaklaşımı kullanarak geçirilen uygulamayı gösteren kod parçacıkları.
  • Yapılandırma değişiklikleri: özelliklerde, XML'de veya diğer yapılandırma dosyalarında yapılan güncelleştirmeler.
  • Bağımlılık değişiklikleri: Geçiş için gereken Maven, Gradle veya NuGet güncelleştirmeleri.
  • Doğrulama denetimleri: Geçiş uygulandıktan sonra aracının doğrulaması gereken ölçütler.

Ayrıca beceri dizininde kaynak dosyaları sağlayabilir ve aracıya dosyanın içeriğinde SKILL.md bunların nasıl kullanılacağını anlatabilirsiniz.

Özel becerileri kullanma

Otomatik algılama

Bir modernleştirme planı oluşturduğunuzda aracı otomatik olarak:

  1. .github/skills/ üzerinde özel becerileri tarar.
  2. Geçiş komutunuzu beceri açıklamalarıyla karşılaştırır.
  3. Plana ilgili becerileri dahil eder.
  4. Kod dönüşümlerine yol göstermek için beceri kullanır.

Örnek:

# Agent will automatically detect and use the RabbitMQ skill
modernize plan create "migrate from rabbitmq to azure service bus"

El ile doğrulama

Algılanan becerileri doğrulamak için:

  1. İsteminizle bir plan oluşturun.

  2. Öğe .github/modernization/{plan-name}/tasks.json gözden geçirin.

  3. Özel becerilerinize yapılan referansları arayın.

    "skills": [
        {
          "name": "your-skill-name",
          "location": "project"
        }
    ]
    

Bir beceri algılanmazsa:

  • İsteminizle daha iyi eşleşmesi için beceriyi description geliştirin.
  • İstemi daha ayrıntılı hale getirin.
  • Düzgün biçimlendirildiğinden emin olun SKILL.md .

Örnek deposu

Tam bir örnek için, NewsFeedSite örnek deposunu inceleyin, aşağıdakiler dahildir:

  • RabbitMQ'nin Azure Service Bus'a geçişi için özel beceri.
  • İç JDK kitaplıklarının kullanılmasını gösterir.
  • Uygun beceri yapısını ve biçimlendirmeyi gösterir.

Kopyalama ve keşfetme:

git clone https://github.com/Azure-Samples/NewsFeedSite.git
cd NewsFeedSite
ls -la .github/skills/
modernize plan create "migrate from rabbitmq to azure service bus"

Sorun giderme

Beceri algılanmadı

Sorun: Temsilci, özel becerinizi kullanmıyor.

Çözümler:

  • YAML ön maddesindeki beceri adının boşluk içermediğini denetleyin. Bunun yerine kısa çizgi kullanın (örneğin, my-custom-skill değil my custom skill).
  • Doğrulayın ki description, komut istemi anahtar sözcüklerinizle eşleşiyor.
  • YAML ön madde söz dizimini denetleyin.
  • SKILL.md'ın .github/skills/{skill-name}/ içinde olduğundan emin olun.
  • Geçiş isteminizi daha ayrıntılı hale getirin.

Sonraki Adımlar