mcpField
H
huawei-cloud-kunpeng-source-code-migrate

huawei-cloud-kunpeng-source-code-migrate

github.com/huaweicloud開発5989 回インストール2 日前に更新
リポジトリ

huawei-cloud-kunpeng-source-code-migrate について

DevKit CLIでHuawei Kunpeng ARM64へのソースコード移行適性を評価するスキルです。移植性を調べる開発者やチーム向けに、ローカルまたはリモートでのスキャン、SSH転送、レポート作成、任意のKunpeng ECS構築を案内します。

主な機能

  1. 01記載された8言語のスキャン
  2. 02ローカルまたはリモートでのDevKit実行
  3. 03SSH実行とSFTP転送のガイダンス
  4. 04移行評価レポートの作成
  5. 05任意のKunpeng ECS構築

活用シーン

  1. 01Kunpeng ARM64へのプロジェクト移植性確認
  2. 02ソースコードの移行課題の検出
  3. 03移行評価レポートの作成
  4. 04リモート評価サーバーの構築

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/huaweicloud/huaweicloud-skills --skill huawei-cloud-kunpeng-source-code-migrate

インストール後、Claude Code で/huawei-cloud-kunpeng-source-code-migrateを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
acceptance-criteria.md
cli-installation-guide.md
devkit-cli-reference.md
devkit-installation-guide.md
iam-policies.md
migration-report-guide.md
prerequisites.md
scripts-guide.md
task-connect-server.md
task-install-devkit.md
task-local-devkit.md
task-prepare-server.md
task-scan-source-code.md
troubleshooting.md
verification-method.md
scripts/
detect_os.py
install_devkit.sh
provision_kunpeng_server.sh
ssh_client.py

詳細

Kunpeng ソースコード移行可能性評価

Huawei DevKit CLI ツールを使用して、C/C++/ASM/Fortran/Go/Java/Python/Scala のソースコードを Kunpeng(ARM64)プラットフォームへ移行できるか評価します。

概要

Huawei DevKit CLI を使用して、ソースコードを Kunpeng(ARM64)プラットフォームへ移行できるか評価します。SSH 経由でソースサーバーに接続するか、ローカルにインストールし、DevKit をインストールしてソースコードをスキャンし、移行評価レポートを生成します。ユーザーがリモートサーバーを持っていない場合は、hcloud CLI を介して Huawei Cloud の Kunpeng ECS インスタンス(貴陽リージョン1)を自動的にプロビジョニングできます。

アーキテクチャ: ローカルでの検出 + リモートでの実行 + SFTP 転送。すべての SSH 操作では、統一された scripts/ssh_client.py(paramiko + パスワード環境変数)を使用し、クロスプラットフォームで一貫した動作を実現します。全体ツリーについては、以下の「アーキテクチャ」セクションを参照してください。

適用シナリオ:

  • ソースコードの Kunpeng ARM プラットフォームへの移植性/移行可能性を評価する
  • C/C++/ASM/Fortran/Go/Java/Python/Scala コードをスキャンして移行上の問題を検出する
  • ソフトウェアプロジェクトの Kunpeng 移行評価レポートを生成する
  • ソースコードと ARM64/Kunpeng アーキテクチャとの互換性を確認する
  • 移行評価用に Huawei Cloud 上で Kunpeng サーバーをプロビジョニングする

レポートの保存先(ユーザーから明示的な要望がない限り固定): Windows → C:\devkit-report\、Linux/macOS → /home/devkit-report/。

前提条件

CLI のバージョン要件:

ツールバージョン用途
Python3.xssh_client.py、detect_os.py の実行、paramiko の依存関係
paramiko最新の安定版SSH 接続(pip install paramiko)
hcloud(KooCLI)>= 3.2.0プロビジョニング経路(ステップ3d)でのみ必要
DevKit CLIinstall_devkit.sh によって自動インストールソースコードの移行スキャン

認証:

  • SSH 認証情報(既存サーバー、ステップ3c): ユーザーは自身のターミナルで環境変数 KUNPENG_SERVER_HOST、KUNPENG_SERVER_PORT(デフォルトは22)、KUNPENG_SERVER_USER(デフォルトはroot)、MIGRATE_SSH_PASS を設定する必要があります。AI はこれらの値を絶対に尋ねたり、復唱したりしてはいけません。
  • Huawei Cloud AK/SK(プロビジョニング経路、ステップ3d): ユーザーは自身のターミナルで hcloud configure set --cli-region=cn-southwest-2 --cli-access-key=<your-ak> --cli-secret-key=<your-sk> を実行する必要があります。AI は AK/SK を絶対に尋ねてはいけません。

IAM 権限(ステップ3dのみ): Huawei Cloud 上で Kunpeng ECS をプロビジョニングするために必要です。最小限の権限セット:ECS の作成/一覧表示/削除、VPC の作成/取得/削除、サブネット、セキュリティグループ、EIP の作成/削除、IMS の一覧表示、IAM プロジェクトの一覧表示。ポリシー JSON 全体と設定手順については、references/iam-policies.md を参照してください。

OS サポート: DevKit のローカルインストールは openEuler/CentOS/Ubuntu/Kylin/UOS/EulerOS/Debian/SUSE/NeoKylin に対応しています。Windows と macOS はローカルインストールに対応していません。リモートの Linux サーバーを使用する必要があります。

コアコマンド

1. ローカル OS の検出:

python <skill_dir>/scripts/detect_os.py

2. SSH 接続とリモート実行(統一された paramiko クライアント):

python <skill_dir>/scripts/ssh_client.py test                              # Test SSH connection
python <skill_dir>/scripts/ssh_client.py exec "uname -a" 30                # Execute remote command
python <skill_dir>/scripts/ssh_client.py put <local> <remote>              # SFTP upload single file
python <skill_dir>/scripts/ssh_client.py put-dir <local_dir> <remote_dir>  # SFTP upload directory
python <skill_dir>/scripts/ssh_client.py get-report                        # Download migration report

3. DevKit のインストール:

bash <skill_dir>/scripts/install_devkit.sh --yes

4. ソースコードの移行スキャン(DevKit CLI):

# C/C++ project (with build command):
devkit porting src-mig -i /home/project -s 'c, c++, asm' -b make -c 'make all' -p gcc9.3.0 -o /tmp/devkit-report -r all

# Java/Python project (no build command):
devkit porting src-mig -i /home/project -s 'java, python' -o /tmp/devkit-report -r all

5. Kunpeng ECS の自動プロビジョニング(ステップ3dのみ):

bash <skill_dir>/scripts/provision_kunpeng_server.sh --confirm

6. hcloud CLI のインストールと設定(ステップ3dのみ):

curl -LO "https://cn-north-4-hdn-koocli.obs.cn-north-4.myhuaweicloud.com/cli/latest/huaweicloud-cli-linux-amd64.tar.gz"
tar -xzf huaweicloud-cli-linux-amd64.tar.gz && chmod +x hcloud && sudo mv hcloud /usr/local/bin/
hcloud configure set --cli-region=cn-southwest-2 --cli-access-key=<your-ak> --cli-secret-key=<your-sk>
hcloud version   # Expected: >= 3.2.0

パラメーターの確認

AI は、実行前に以下のパラメーターをユーザーに確認する必要があります。

SSH 接続パラメーター(環境変数。ユーザーが自身のターミナルで設定):

パラメーター環境変数必須デフォルト値説明
サーバーアドレスKUNPENG_SERVER_HOSTはい-リモートサーバーの IP アドレス/ホスト名
SSH ポートKUNPENG_SERVER_PORTいいえ22SSH ポート
SSH ユーザー名KUNPENG_SERVER_USERいいえrootSSH ログインユーザー
SSH パスワードMIGRATE_SSH_PASSはい-paramiko によって読み取られ、argv には含まれません。接続のたびに os.environ から消去されます

DevKit スキャンパラメーター(スキャン前にユーザーに確認):

パラメーターCLI オプション必須デフォルト値説明
ソースパス-iはい-ソースコードディレクトリ(最初に必ずユーザーに確認)
出力ディレクトリ-oはい/tmp/devkit-reportレポート出力ディレクトリ(存在している必要があります)
言語-sはい-c, c++, asm, fortran, go, java, python, scala(小文字、カンマ区切り)
ビルドコマンド-cいいえなし例:'make all'
ビルドツール-bいいえなしmake/cmake/automake/go/bazel/blade
コンパイラーバージョン-pいいえなし例:gcc9.3.0
レポート形式-rいいえallall/json/html/csv
対象 OS-tいいえ自動検出例:openEuler22.03
並行処理数-npいいえ1並行プロセス数

⚠️ AI はスキャン前に必ずソースコードのパスをユーザーに確認してください。ユーザーの確認なしに、ローカルファイルをスキャンまたはアップロードしてはいけません。

⛔ 禁止されている操作

禁止されている操作理由
❌ 会話中に SSH 認証情報を入力するようユーザーに求める認証情報は環境変数からのみ読み取る必要があります
❌ SSH パスワードや認証情報を表示/出力する認証情報の漏えいを防ぐため
❌ 認証情報をプレーンテキストファイルに保存する認証情報は環境変数内にのみ存在する必要があります
❌ リモートサーバーで破壊的なコマンドを実行する(rm -rf、フォーマットなど)元に戻せない損害を防ぐため
❌ ユーザーの確認なしにソースコードを変更する移行評価は読み取り専用です
❌ DevKit の対象範囲外のパッケージをインストールするDevKit とその依存関係のみインストールできます
❌ ソースコードのパスをユーザーに確認せずにスキャンするソースコードの場所は必ず確認する必要があります
❌ 明示的なユーザー確認なしにクラウドリソースを削除するリソースの削除は元に戻せず、リスクが非常に高いため
❌ hcloud ... Delete* コマンドを自律的に実行するすべての削除操作には明示的なユーザー確認が必要です

ユーザーが禁止されている操作を依頼した場合は、拒否し、次のように伝えてください:「セキュリティ上の制約により、このスキルでは[具体的な操作]を実行できません。必要な場合は、この操作を手動で行ってください。」

アーキテクチャ

Kunpeng Source Code Migration Assessment
├── DetectLocalOS     (Detect agent OS → determine DevKit install path)
├── PrepareServer     (Determine where to install DevKit and run scan)
│   ├── LocalInstall  (Install DevKit locally — only if OS is supported)
│   ├── RemoteInstall (Install DevKit on remote server via SSH)
│   │   ├── HasServer (Configure SSH via ssh_client.py: paramiko + password env var)
│   │   └── NoServer  (Install hcloud CLI → Provision Kunpeng ECS → Configure SSH)
│   └── NotSupported  (Local OS not supported → must use remote server)
├── ConnectServer     (SSH connect via paramiko + MIGRATE_SSH_PASS env var)
├── InstallDevKit     (Detect OS and install DevKit CLI tool)
└── ScanSourceCode    (Scan source code → generate report → save to fixed local path)
    └── ReportSave    (Windows: C:\devkit-report\ | Linux/macOS: /home/devkit-report/)

⚠️ タスク 0(DetectLocalOS + PrepareServer)は必ず最初に実行してください — ワークフロー全体の進行経路が決まります。

SSH 接続戦略

すべての SSH 操作では、統一された scripts/ssh_client.py(paramiko + 環境変数から取得するパスワード)を使用します。ssh/scp コマンド、ControlMaster、鍵の注入、Huawei Cloud のリージョンへの依存はありません。Windows、Linux、macOS で同じように動作します。

環境変数(ユーザーが自身のターミナルで設定します。AI が値を参照することはありません):

変数説明デフォルト
KUNPENG_SERVER_HOSTリモートサーバーの IP アドレス/ホスト名(必須)
KUNPENG_SERVER_PORTSSH ポート22
KUNPENG_SERVER_USERSSH ユーザー名root
MIGRATE_SSH_PASSSSH パスワード(paramiko が読み取り、argv には含まれず、接続ごとに消去されます)(必須)

環境変数の設定(クロスプラットフォーム):

# Linux / macOS (current session):
export KUNPENG_SERVER_HOST='<your-server-ip>'
export KUNPENG_SERVER_PORT='22'
export KUNPENG_SERVER_USER='root'
export MIGRATE_SSH_PASS='<your-password>'

# Windows PowerShell (current session):
$env:KUNPENG_SERVER_HOST='<your-server-ip>'
$env:KUNPENG_SERVER_PORT='22'
$env:KUNPENG_SERVER_USER='root'
$env:MIGRATE_SSH_PASS='<your-password>'

# Windows (persistent, GUI): Settings > Environment Variables > User > New
# (requires IDE/terminal restart)

認証情報の解決優先順位(最初に一致したものを使用します):

  1. 現在のプロセスの環境変数(export/$env:)
  2. /tmp/kunpeng_server_env.sh(Linux/macOS)または %TEMP%/kunpeng_server_env.sh(Windows)
  3. Windows ユーザーレベルのレジストリ(winreg)— GUI で設定した変数のフォールバック
  4. デフォルト値

ssh_client.py のサブコマンド:

サブコマンド説明
testSSH 接続を確認します(echo SSH_OK && uname -a)
exec "<cmd>" [timeout]リモートサーバーでシェルコマンドを実行します
put <local> <remote>SFTP 経由で単一のファイルをアップロードします
put-dir <local_dir> <remote_dir>SFTP 経由でディレクトリを再帰的にアップロードします
get <remote> <local>単一のファイルをダウンロードします
get-dir <remote_dir> <local_dir>ディレクトリを再帰的にダウンロードします
get-report [remote_dir] [local_dir]DevKit レポートをダウンロードします(Code_Porting_*.{html,json,csv,txt} でフィルタリング)。デフォルト:リモート=/tmp/devkit-report、ローカル=C:\devkit-report(Win)または /home/devkit-report(Linux)
save-env接続情報(ホスト/ポート/ユーザー)を一時環境ファイルに保存します(パスワードは保存しません)
📦 SFTP 優先のファイル転送(Windows + MSYS2 では特に重要)

⚠️ Windows + MSYS2/Git Bash では、Python に渡される前にシェルがコマンド引数内の Unix パスを Windows パスに変換します(例:/tmp/foo → C:/Users/.../Temp/2/foo)。これは Python の sys.argv 内から修正できません。

ルール:ファイル転送には、ssh_client.py の CLI サブコマンドではなく、Python から paramiko の SFTP API を直接使用してください。

import os, paramiko
host = os.environ.get('KUNPENG_SERVER_HOST')
port = int(os.environ.get('KUNPENG_SERVER_PORT', '22'))
user = os.environ.get('KUNPENG_SERVER_USER', 'root')
password = os.environ.get('MIGRATE_SSH_PASS')
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(host, port=port, username=user, password=password, timeout=30)
sftp = client.open_sftp()
sftp.put(r'C:\local\install_devkit.sh', '/tmp/install_devkit.sh')
sftp.chmod('/tmp/install_devkit.sh', 0o755)
sftp.close()
client.close()

AI エージェントのワークフロー:

  1. ファイル転送 → paramiko の SFTP API を直接使用(上記を参照)
  2. コマンド実行 → ssh_client.py exec "<cmd>"(短いコマンドのみ)
  3. スクリプト実行 → SFTP でアップロードし、exec "bash /tmp/script.sh" を実行

ssh_client.py put/get は Windows パスの変換を検出すると、エラーで終了し、paramiko の SFTP API を直接使用するよう案内します。references/scripts-guide.md#sftp-first-file-transfer および references/troubleshooting.md#7-msys2-path-conversion-error-windows-only を参照してください。

組み込みスクリプト

AI は、手順ごとのコマンドを手動で実行する代わりに、必ずこれらのスクリプトを使用してください。

📄 詳細ガイド → references/scripts-guide.md

スクリプト説明
detect_os.pyローカル OS の検出(os_type/arch/local_install_supported を出力)
ssh_client.py統一されたクロスプラットフォーム SSH クライアント(paramiko + 環境変数)。サブコマンド:test、exec、put、put-dir、get、get-dir、get-report、save-env
install_devkit.shDevKit CLI のインストール(OS/アーキテクチャの自動検出、ダウンロード、インストール、検証)
provision_kunpeng_server.shKunpeng ECS のプロビジョニング(Huawei Cloud 貴陽リージョン 1)

サポート対象言語

言語ファイル拡張子移行時の注意事項
C.c, .hインラインアセンブリ、プラットフォーム固有のヘッダー、バイト順、ポインターサイズ
C++.cpp, .cc, .cxx, .hppC と同様に、名前修飾、ABI 互換性
アセンブリ(ASM).s, .S, .asmアーキテクチャ固有の命令、レジスター、呼び出し規約
Fortran.f, .f90, .f95, .f03コンパイラー組み込み関数、MPI ライブラリーの互換性
Go.goCGO 呼び出し、アセンブリファイル、アーキテクチャ固有のビルドタグ
Java.javaJNI ネイティブライブラリー、アーキテクチャ固有の依存関係
Python.pyC 拡張(Cython、CFFI)、ネイティブバインディング
Scala.scalaJNI 呼び出し、ネイティブライブラリーの依存関係

コアワークフロー

タスク 0:ローカル OS の検出と環境の準備

これは最初のタスクです。 エージェントのローカル OS を検出し、DevKit のインストール先を決定します。

ステップ 1:ローカル OS を検出します:

python <skill_dir>/scripts/detect_os.py

os_type、os_name、os_version、arch、local_install_supported を key=value 形式で出力します。外部依存関係なしで、すべてのプラットフォームで動作します。

⚠️ AI は、uname -m、cat /etc/os-release、PowerShell などを手動で実行するのではなく、detect_os.py を使用する必要があります。

DevKit がサポートするローカル OS の一覧:

OS最小バージョン備考
openEuler20.03 LTSKunpeng 向けに推奨
CentOS7.68.0 もサポート
Ubuntu18.0420.04、22.04 もサポート
KylinV10国産 OS
UOS20国産 OS
EulerOS2.82.9 もサポート
Debian1011 もサポート
SUSE12
NeoKylinV7国産 OS

Windows と macOS は、DevKit のローカルインストールに対応していません。 DevKit はリモート Linux サーバーにインストールする必要があります。

ステップ 2:DevKit のインストール先をユーザーに確認します

  • ローカル OS がサポート対象の場合(LOCAL_INSTALL_SUPPORTED=true):「ローカルにインストール」または「リモートサーバーにインストール」のどちらかを尋ねます
    • 「ローカルにインストール」→ ステップ 3a
    • 「リモートサーバーにインストール」→ ステップ 3b
  • ローカル OS がサポート対象外の場合:「既存のリモート Linux サーバー」または「Huawei Cloud 上に Kunpeng サーバーをプロビジョニング」のどちらかを尋ねます
    • 「既存のリモート Linux サーバー」→ ステップ 3c
    • 「Kunpeng サーバーをプロビジョニング」→ ステップ 3d

ステップ 3a:ローカルインストール

  1. DevKit をインストールします:bash <skill_dir>/scripts/install_devkit.sh --yes
  2. ローカルのソースコードのパスをユーザーに確認します
  3. ローカルで DevKit スキャンを実行します(SSH は不要です)
  4. タスク 1 をスキップし、ローカルパスを使ってタスク 3 に進みます

📄 詳細 → references/task-local-devkit.md

ステップ 3b:リモートインストール — リモートサーバーについて確認します

「既存のリモート Linux サーバー」または「Kunpeng サーバーをプロビジョニング」のどちらかを尋ねます → ステップ 3c または 3d。

ステップ 3c:ユーザーがリモートサーバーを所有している場合 — SSH を設定します

ユーザーは自身のターミナルで KUNPENG_SERVER_HOST/PORT/USER と MIGRATE_SSH_PASS を設定します(AI が値を参照することはありません)。次のコマンドで確認します:

python <skill_dir>/scripts/ssh_client.py test

⚠️ リージョンへの依存はありません: リモートサーバーは、任意のクラウドまたはオンプレミス上に配置できます。SSH に hcloud CLI は不要です。

確認に成功したら、タスク 1 に進みます。

ステップ 3d:ユーザーがサーバーを所有していない場合 — Huawei Cloud 上に Kunpeng ECS をプロビジョニングします

⛔ 重要:AI は、すべてのクラウドリソースの作成に provision_kunpeng_server.sh を使用する必要があります。hcloud API を個別に手動で呼び出してはいけません。

  1. hcloud CLI のインストールと認証を確認します
  2. プロビジョニングの内容と概算費用を提示し、ユーザーに確認します
  3. 実行します:bash <skill_dir>/scripts/provision_kunpeng_server.sh --confirm
    • VPC → サブネット → セキュリティグループ + SSH ルール → EIP → ECS の順に作成します
    • ランダムな root パスワードを生成し、MIGRATE_SSH_PASS として /tmp/kunpeng_server_env.sh に保存します(chmod 600)
  4. 環境変数を読み込みます:source /tmp/kunpeng_server_env.sh
  5. SSH を確認します:python <skill_dir>/scripts/ssh_client.py test
  6. タスク 1 に進みます
  7. スキャンの完了後(タスク 3)、リソースのクリーンアップに関するリマインダーを提示します

📄 詳細 → references/task-prepare-server.md

タスク 1:SSH 経由でソースコードサーバーに接続する

python <skill_dir>/scripts/ssh_client.py test を実行して、接続を確認します。以降のすべての操作では、ssh_client.py のサブコマンドを使用します(上記の SSH 接続方法を参照)。

📄 詳細 → references/task-connect-server.md

タスク 2:DevKit CLI ツールをインストールする

scripts/install_devkit.sh を使用して、対象マシンに DevKit CLI をインストールします。このスクリプトは、OS とアーキテクチャを自動検出し、依存関係をインストールして、適切なパッケージをダウンロードし、インストールを確認します。

⚠️ AI は、手順ごとにコマンドを手動実行するのではなく、必ず scripts/install_devkit.sh を使用する必要があります。

📄 詳細 → references/task-install-devkit.md

タスク 3:ソースコードをスキャンし、移行レポートを生成する

⚠️ 重要なルール:

  1. スキャンを開始する前に、必ずユーザーにソースコードのパスを確認してください。 ユーザーの確認なしにスキャンしてはいけません。
  2. 許可なくローカルのソースコードをスキャンしてはいけません。
  3. 許可なくローカルファイルをリモートサーバーにアップロードしてはいけません。
  4. ユーザーが選択できるよう、リモートサーバー上で利用可能なソースコードディレクトリを一覧表示できます。

レポートの保存先(ローカルへのダウンロード):

エージェントの OSローカルのレポート保存先
WindowsC:\devkit-report
Linux / macOS/home/devkit-report

スキルは、ディレクトリが存在しない場合に作成する必要があります。レポートファイル(HTML、JSON、CSV)は、<save_path>/ の直下に保存する必要があります(project_name のサブディレクトリは作成しません)。ユーザーが別の場所を明示的に要求しない限り、このパスを使用します。

レポートのダウンロード:

# Download with defaults (remote=/tmp/devkit-report, local=C:\devkit-report on Windows):
python <skill_dir>/scripts/ssh_client.py get-report

# Or specify custom paths:
python <skill_dir>/scripts/ssh_client.py get-report /tmp/devkit-report /home/devkit-report

⚠️ AI は、レポートのダウンロードに必ず get-report(または paramiko SFTP API)を使用する必要があります。 ファイルのダウンロードに、base64/cat を使った exec を使用してはいけません。

📄 詳細 → references/task-scan-source-code.md


DevKit CLI コマンドリファレンス

主なツールは Kunpeng DevKit CLI(devkit コマンド)です。

ソース移行コマンド:

devkit porting src-mig -i <source_path> -o <output_path> -s '<language_list>' [options]

必須パラメーター:

パラメーター説明例
-iソースコードディレクトリのパス/home/user/project
-oレポートの出力ディレクトリ(存在している必要があります)/tmp/devkit-report
-sソース言語(複数指定する場合はカンマ区切り)'c, c++, asm'

任意のパラメーター:

パラメーター説明デフォルト例
-cビルド/コンパイルコマンドなし'make all'
-bビルドツールなしmake、cmake、automake、go、bazel、blade
-pコンパイラのバージョンなしgcc9.3.0
-fFortran コンパイラのバージョンなしgfortran9
-t対象 OS自動検出openEuler22.03
-rレポート形式allall、json、html、csv
-lログレベル1(INFO)0(DEBUG)、1(INFO)、2(WARN)、3(ERROR)
-np同時実行プロセス数14
--ignore無視ルールの設定ファイル組み込み/path/to/ignore_rules.json
--ignore-path無視するソースパスなし/path/to/exclude
--kp-compatibilityKunpeng 世代間互換性チェックオフ(フラグ)

言語の値(-s): c、c++、asm、fortran、go、java、python、scala(小文字、カンマ区切り)

コンパイラのバージョン(-p): gcc4.8.5、gcc7.3.0、gcc9.3.0、gcc10.3.0、gcc12.3.0、bisheng compiler3.0.0、bisheng compiler4.0.0、gcc for openeuler3.0.3 など。

スキャンの例:

# C/C++ project with make build:
devkit porting src-mig -i /home/project -s 'c, c++, asm' -b make -c 'make all' -p gcc9.3.0 -o /tmp/report -r all

# Java/Python project (interpreted, no build command):
devkit porting src-mig -i /home/project -s 'java, python' -o /tmp/report -r all

⚠️ devkit バイナリは、インストールディレクトリから実行する必要があります(例:cd /usr/local/devkit && ./devkit)。または、ディレクトリを PATH に含めてください。出力ディレクトリ(-o)は、あらかじめ作成しておく必要があります。

📄 CLI リファレンス全文 → references/devkit-cli-reference.md


参考資料

ドキュメント説明
scripts-guide.md組み込みスクリプト:SSH クライアント、プロビジョニング、DevKit のインストール
prerequisites.md前提条件と認証
iam-policies.mdECS のプロビジョニングに必要な IAM 権限ポリシー(ステップ 3d)
cli-installation-guide.mdhcloud(KooCLI)のインストールガイド
task-prepare-server.mdタスク 0:OS の検出、環境の準備
task-local-devkit.mdタスク 0a:DevKit のローカルインストール
task-connect-server.mdタスク 1:サーバーへの SSH 接続
task-install-devkit.mdタスク 2:DevKit CLI のインストール
task-scan-source-code.mdタスク 3:ソースコードのスキャン
devkit-cli-reference.mdDevKit CLI コマンドリファレンス
devkit-installation-guide.mdDevKit のインストールガイド
migration-report-guide.md移行レポートの解釈
troubleshooting.mdトラブルシューティングと一般的な問題
acceptance-criteria.md受け入れ基準
verification-method.md検証方法

リソースのクリーンアップに関する注意

⚠️ スキャンが完了してレポートを提示した後、AI はプロビジョニングしたリソースをクリーンアップするよう、必ずユーザーに注意を促してください(ステップ 3d のプロビジョニング経路にのみ適用されます)。テキストのみで提示し、削除コマンドは絶対に実行しないでください。

### 🧹 Resource Cleanup Reminder

The following resources were created during this assessment and incur ongoing charges:

| Resource Type | Resource ID | Details |
|---------------|-------------|---------|
| ECS Instance  | <id>        | <IP>, <flavor> |
| VPC           | <id>        | <name> |
| Subnet        | <id>        | <name> |
| EIP           | <id>        | <IP> |
| Security Group| <id>        | <name> |

To delete these resources, execute the following commands manually:

  [delete commands here]

⚠️ WARNING: Deletion is IRREVERSIBLE. Verify resource IDs before executing.
⚠️ AI will NOT execute these commands. Please run them manually.

ステップ 3c(既存のサーバー)およびステップ 3a(ローカルインストール)の場合: ユーザーが自分のサーバーを提供するか、DevKit をローカルにインストールしているため、クリーンアップに関する注意は不要です。

コメント