Migration · soft · tùy chọn ak migrate --from=ck

Chuyển ClaudeKit sang AgentKit

Sao lưu trước. Mặc định chỉ xem trước (chưa ghi). Thường giữ file bạn đã chỉnh — không phải xóa sạch ClaudeKit.

Chọn đường

Hai cách rời ClaudeKit

Path A · trang này

Chuyển dần

ak migrate --from=ck: quét cài đặt, đề xuất kế hoạch, mặc định chỉ xem trước. File bạn đã chỉnh thường được giữ (không phải cam kết “luôn luôn”). ClaudeKit vẫn dùng được nếu chưa sẵn sàng rời hẳn.

Phù hợp khi muốn chuyển từ từ và giữ setting cũ.

Path B · page riêng

Gỡ hẳn ClaudeKit

Nhiều bước: sao lưu → gỡ CK từng chỗ → cài AgentKit → gỡ lệnh ck → dọn thủ công. Không có lệnh “một phát xong”; --all không gỡ mọi project.

Mở hướng dẫn gỡ hẳn →

ak migrate không xóa sạch mọi dấu vết ClaudeKit: nó vô hiệu hóa phần CK còn “nguyên” (có ghi nhận), còn file bạn đã chỉnh thường được giữ. Muốn gỡ hẳn → Path B.

Backup thủ công

Theo nền tảng

Sao chép các thư mục cấu hình ra ngoài tree agent trước lệnh mutate đầu tiên.

Discovery quét (khi có)

~/.claude ~/.claudekit .claude .claudekit ~/.agentkit %USERPROFILE%

Unix

macOS / Linux

bash
bash
set -Eeuo pipefail
umask 077
STAMP=$(date +%Y%m%d-%H%M%S)
DEST=$(mktemp -d "$HOME/agentkit-pre-migrate-backup-$STAMP.XXXXXX")

copy_tree() {
  src=$1
  name=$2
  [ -d "$src" ] || return 0
  [ ! -e "$DEST/$name" ] || { echo "Refusing existing destination: $DEST/$name" >&2; return 1; }
  cp -a "$src" "$DEST/$name"
  [ -d "$DEST/$name" ] || { echo "Backup verification failed: $DEST/$name" >&2; return 1; }
}

copy_tree "$HOME/.claude" claude
copy_tree "$HOME/.claudekit" claudekit
copy_tree "$HOME/.agentkit" agentkit
echo "Safety copy completed at: $DEST"

Windows

PowerShell

pwsh
powershell
Set-StrictMode -Version Latest
$ErrorActionPreference = 'Stop'
$stamp = Get-Date -Format 'yyyyMMdd-HHmmss'
$dest = Join-Path $env:USERPROFILE "agentkit-pre-migrate-backup-$stamp-$([guid]::NewGuid().ToString('N').Substring(0, 8))"
if (Test-Path -LiteralPath $dest) { throw "Refusing existing destination: $dest" }
New-Item -ItemType Directory -Path $dest -ErrorAction Stop | Out-Null
$items = @(
  @{ Src = (Join-Path $env:USERPROFILE '.claude'); Name = 'claude' }
  @{ Src = (Join-Path $env:USERPROFILE '.claudekit'); Name = 'claudekit' }
  @{ Src = (Join-Path $env:USERPROFILE '.agentkit'); Name = 'agentkit' }
)
foreach ($item in $items) {
  if (Test-Path -LiteralPath $item.Src -PathType Container) {
    $target = Join-Path $dest $item.Name
    if (Test-Path -LiteralPath $target) { throw "Refusing existing destination: $target" }
    Copy-Item -LiteralPath $item.Src -Destination $target -Recurse -Force -ErrorAction Stop
    if (-not (Test-Path -LiteralPath $target -PathType Container)) { throw "Backup verification failed: $target" }
  }
}
Write-Host "Safety copy completed at: $dest"

Chạy trong PowerShell (không phải CMD). Paths dưới %USERPROFILE%.

Hành vi

Migrate làm gì

SCN

Scan

Quét install ClaudeKit (ck) và lập kế hoạch chuyển sang AgentKit.

CLS

Classify

CK-owned/standard, custom/unknown, conflict đang active.

DRY

Dry-run default

Mặc định không ghi file cho đến khi bạn opt-in rõ ràng.

BKP

Backup on apply

Khi apply: tạo backup, rồi ghi target sau safety gate và --yes.

Preview

Không mutate

shell
ak migrate
ak migrate --from=ck
ak migrate --from=ck --json --no-interactive

Mặc định --dry-run=true. Preview liệt kê category, conflict, recommended actions và recovery commands.

Apply

Ghi file — chỉ sau backup + preview ổn

shell
ak migrate --from=ck --dry-run=false --yes
# Claude Code project plugin delivery (only when intended):
# ak migrate --from=ck --switch-to-plugin --dry-run=false --yes

Verify

Sau migrate

shell
ak doctor --json --exit-on-fail --offline
ak backups list
# Confirm Skills in the assistant: /ak:… or $ak:…

Recovery

Rollback boundaries

  1. 1

    ak migrate rollback

    Khôi phục pre-apply state từ journal migrate gần nhất (khi có).

  2. 2

    ak backups list / restore

    Danh sách và restore backup AgentKit — scope restore có giới hạn.

  3. 3

    Bản sao thủ công

    Thư mục agentkit-pre-migrate-backup là lớp an toàn ngoài tool.

Tiếp theo