Aracılığıyla paylaş


GitHub Copilot modernizasyon aracısı CLI komutları

GitHub Copilot modernizasyon aracısı, uygulama modernleştirmesi için hem etkileşimli hem de etkileşimli olmayan modlar sağlar.

Komut modları

Etkileşimli mod

Destekli modernleştirme için etkileşimli Metin Kullanıcı Arabirimi'ni (TUI) başlatın:

modernize

Etkileşimli mod aşağıdakileri sağlar:

  • Modernleştirme iş akışında menü tabanlı gezinti.
  • Görsel plan ve ilerleme göstergeleri.
  • Yapılandırma seçenekleri için kılavuzlu istemler.
  • Çok depolu seçim arabirimi.

Etkileşimli olmayan mod

Otomasyon ve betik oluşturma için belirli komutları doğrudan yürütebilirsiniz:

modernize <command> [options]

Aşağıdaki durumlarda etkileşimli olmayan modu kullanın:

  • CI/CD işlem hatları ile tümleştirme.
  • Toplu işlemleri otomatikleştirme.
  • Betik oluşturma modernleştirme iş akışları.
  • Başsız ortamlarda çalıştırma.

Genel seçenekler

Tüm komutlar şu genel seçenekleri destekler:

Seçenek Açıklama
--help, -h Yardım bilgilerini görüntüler.
--no-tty Etkileşimli istemleri (başsız mod) devre dışı bırakır.

Commands

Değerlendirmek

Bir değerlendirme çalıştırır ve kapsamlı bir analiz raporu oluşturur.

Sözdizimi

modernize assess [options]

Options

Seçenek Açıklama Varsayılan
--source <path> Kaynak projenin yolu (göreli veya mutlak yerel yol). . (geçerli dizin)
--output-path <path> Değerlendirme sonuçları için özel çıkış yolu. .github/modernize/assessment/
--issue-url <url> Değerlendirme özetiyle güncelleştirilecek bir GitHub sorunu URL'si. Hiçbiri
--multi-repo Çoklu depo değerlendirmesini etkinleştirir. Birden çok depo için birinci düzey alt dizinleri tarar. Disabled
--model <model> Kullanılacak LLM modeli. claude-sonnet-4.6
--delegate <delegate> Yürütme modu: local (bu makine) veya cloud (Bulut Kodlama Aracısı). local
--wait Temsilci atanan görevlerin tamamlanmasını ve sonuç oluşturmasını bekler (yalnızca ile --delegate cloudgeçerlidir). Disabled
--force Devam eden görevleri yoksayarak temsilci seçmeyi yeniden başlatmaya zorlar (yalnızca ile --delegate cloudgeçerlidir). Disabled

Örnekler

Geçerli dizinin temel değerlendirmesi:

modernize assess

Özel çıkış konumuyla değerlendirme:

modernize assess --output-path ./reports/assessment

GitHub sorununu sonuçlarla değerlendirin ve güncelleştirin:

modernize assess --issue-url https://github.com/org/repo/issues/123

Belirli proje dizinini değerlendirin:

modernize assess --source /path/to/project

Geçerli dizinde birden çok depo değerlendirme:

modernize assess  --multi-repo

Çıkış

Değerlendirme aşağıdakini oluşturur:

  • Rapor dosyaları: JSON, MD ve HTML biçimlerinde ayrıntılı analiz.
  • Özet: Önemli bulgular ve öneriler.
  • Sorun güncelleştirmeleri (sağlıyorsanız --issue-url): Özetle GitHub sorun açıklaması.

plan oluşturma

Modernleştirme hedeflerinizi açıklayan doğal dil istemini temel alan bir modernleştirme planı oluşturur.

Sözdizimi

modernize plan create <prompt> [options]

Argümanlar

Argument Açıklama
<prompt> Modernizasyon hedeflerinin doğal dille açıklaması (gerekli).

Options

Seçenek Açıklama Varsayılan
--source <path> Uygulama kaynak kodunun yolu. Geçerli dizin
--plan-name <name> Modernleştirme planının adı. modernization-plan
--language <lang> Programlama dili (java, dotnetveya python). Otomatik algılandı
--overwrite Aynı ada sahip mevcut bir planın üzerine yazar. Disabled
--model <model> Kullanılacak LLM modeli. claude-sonnet-4.6

Örnekler

Geçiş planı oluşturma:

modernize plan create "migrate from oracle to azure postgresql"

Özel adla bir yükseltme planı oluşturun:

modernize plan create "upgrade to spring boot 3" --plan-name spring-boot-upgrade

Dağıtım planı oluşturma:

modernize plan create "deploy the app to azure container apps" --plan-name deploy-to-aca

Tam seçenekler örneği:

modernize plan create "upgrade to .NET 8" \
    --source /path/to/project \
    --plan-name dotnet8-upgrade \
    --language dotnet \
    --issue-url https://github.com/org/repo/issues/456

İstem örnekleri

Çerçeve yükseltmeleri:

  • upgrade to spring boot 3
  • upgrade to .NET 10
  • upgrade to JDK 21
  • migrate from spring boot 2 to spring boot 3

Veritabanı geçişleri:

  • migrate from oracle to azure postgresql
  • migrate from SQL Server to azure cosmos db
  • switch from MySQL to azure database for mysql

Bulut geçişleri:

  • migrate from on-premises to azure
  • containerize and deploy to azure container apps
  • migrate from rabbitmq to azure service bus

Dağıtım:

  • deploy to azure app service
  • deploy to azure kubernetes service
  • set up CI/CD pipeline for azure

Çıkış

komutu şunu oluşturur:

  • Plan dosyası (.github/modernize/{plan-name}/plan.md): Ayrıntılı modernleştirme stratejisi:

    • Bağlam ve hedefler
    • Yaklaşım ve metodoloji
    • Açıklamalar
  • Görev listesi (.github/modernize/{plan-name}/tasks.json): Yürütülebilir görevlerin yapılandırılmış dökümü:

    • Görev açıklamaları
    • Kullanılacak beceriler
    • Başarı ölçütleri

Tavsiye

Yürütmeden önce yaklaşımı özelleştirmek için hem hem de plan.mdtasks.json oluşturma sonrasında el ile düzenleyebilirsiniz.

plan yürütme

tarafından modernize plan createoluşturulan bir modernleştirme planını yürütür.

Sözdizimi

modernize plan execute [prompt] [options]

Argümanlar

Argument Açıklama
[prompt] Yürütme için isteğe bağlı doğal dil yönergeleri (örneğin, "testleri atla").

Options

Seçenek Açıklama Varsayılan
--source <path> Uygulama kaynak kodunun yolu. Geçerli dizin
--plan-name <name> Yürütülecek planın adı. modernization-plan
--language <lang> Programlama dili (java veya dotnet). Otomatik algılandı
--model <model> Kullanılacak LLM modeli. claude-sonnet-4.6
--delegate <delegate> Yürütme modu: local (bu makine) veya cloud (Bulut Kodlama Aracısı). local
--force CCA işi devam ederken bile yürütmeyi zorlar. Disabled

Örnekler

En son planı etkileşimli olarak yürüt:

modernize plan execute

Belirli bir planı yürütme:

modernize plan execute --plan-name spring-boot-upgrade

Ek yönergelerle yürütme:

modernize plan execute "skip the test" --plan-name spring-boot-upgrade

CI/CD için başsız modda yürütme:

modernize plan execute --plan-name spring-boot-upgrade --no-tty

Yürütme davranışı

Yürütme sırasında aracı:

  1. Planı yükler: Planı ve görev listesini şu kaynaktan okur: .github/modernization/{plan-name}/

  2. Görevleri yürütür: Görev listesindeki her görevi sırayla işler:

    • Kod dönüşümlerini uygular.
    • Değişikliklerden sonra derlemeleri doğrular.
    • CVE'leri tarar.
    • Açıklayıcı iletilerle değişiklikleri işler.
  3. Özet oluşturur: Tüm değişiklikleri ve sonuçları içeren bir rapor sağlar.

Çıkış

  • İşleme geçmişi: Yürütülen her görev için ayrıntılı işlemeler.
  • Özet raporu: Değişikliklere, başarılara ve karşılaşılan sorunlara genel bakış.
  • Derleme doğrulaması: Uygulamanın başarıyla derlendiğini onaylar.
  • CVE raporu: Tanımlanan ve giderilen güvenlik açıkları.

upgrade

Tek bir komutta uçtan uca bir yükseltme iş akışı (planlama ve yürütme) çalıştırır.

Sözdizimi

modernize upgrade [prompt] [options]

Argümanlar

Argument Açıklama
[prompt] Hedef sürüm, örneğinJava 17, , Spring Boot 3.2.NET 10. Varsayılan olarak en son LTS'yi kullanır.

Options

Seçenek Açıklama Varsayılan
--source <source> Kaynak projenin yolu (göreli veya mutlak yerel yol). . (geçerli dizin)
--delegate <delegate> Yürütme modu: local (bu makine) veya cloud (Bulut Kodlama Aracısı). local
--model <model> Kullanılacak LLM modeli. claude-sonnet-4.6

Örnekler

Geçerli dizinde komutunu çalıştırın upgrade :

modernize upgrade "Java 17"
modernize upgrade ".NET 10"

Belirli bir projede çalıştır upgrade :

modernize upgrade "Java 17" --source /path/to/project

Bulut Kodlama Aracısı'nı kullanarak çalıştırın upgrade :

modernize upgrade "Java 17" --delegate cloud

help

Yardım ve bilgi komutları sağlar.

Sözdizimi

modernize help [command]

Commands

Command Açıklama
models Kullanılabilir LLM modellerini ve çarpanlarını listeler.

Örnekler

Kullanılabilir modelleri listeleyin:

modernize help models

CLI'yi yapılandırma

Modernleştirme aracısını kullanarak JSON dosyaları ve ortam değişkenleri aracılığıyla uygulama davranışını özelleştirebilirsiniz.

Ortam değişkenleri

Ortam değişkenlerini diğer tüm yapılandırma kapsamlarını geçersiz kacak şekilde ayarlayın:

Variable Açıklama Varsayılan
MODERNIZE_LOG_LEVEL Günlük düzeyi (none, error, warning, info, debug, ) all info
MODERNIZE_MODEL Kullanılacak LLM modeli. claude-sonnet-4.6
MODERNIZE_COLLECT_TELEMETRY Telemetri koleksiyonunu etkinleştirin veya devre dışı bırakın. true

Örnek:

export MODERNIZE_LOG_LEVEL=debug
export MODERNIZE_MODEL=claude-sonnet-4.6
modernize assess

Kullanıcı yapılandırması

kullanıcıya özgü tercihleri veya ~/.modernize/config.json depo genelindeki ayarları içinde depolayın .github/modernize/config.json.

{
  "model": "claude-sonnet-4.6",
  "log_level": "info",
  "trusted_folders": [
    "/path/to/trusted/project",
  ]
}

özelliği, trusted_folders LLM'yi etkileşimli modda kullanmak için güvenilen klasörleri belirtir.

Uyarı

Ortam değişkenleri en yüksek önceliğe, ardından kullanıcı yapılandırmasına ve ardından depo yapılandırmasına sahiptir. CI/CD geçersiz kılmaları için ortam değişkenlerini ve kişisel tercihler için kullanıcı yapılandırmasını kullanın.

Çok depolu yapılandırma

Birden çok depo modunu etkinleştirmek için bir .github/modernize/repos.json dosya oluşturun:

[
  {
    "name": "PhotoAlbum-Java",
    "url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
  },
  {
    "name": "PhotoAlbum",
    "url": "https://github.com/Azure-Samples/PhotoAlbum.git"
  }
]

repos.json Dosya yerleştirildikten sonra, yapılandırılmış tüm depolarda çalışmak için aşağıdaki komutları kullanın:

Tüm depoları yerel olarak değerlendirin:

modernize assess

Bulut Kodlama Aracısı'nı kullanarak tüm depoları değerlendirin:

modernize assess --delegate cloud

Bulut Kodlama Aracısı'nı kullanarak tüm depoları yükseltin:

modernize upgrade --delegate cloud

Sonraki Adımlar