Membuat, mengganti, dan menghapus file lokal

Tinjau dan terapkan perubahan file serta folder lokal dengan rencana penulisan lengkap.

Gunakan Altifigence CLI 0.1.9 di Linux untuk meninjau perubahan file lokal dan menerapkan rencana lengkap pada proyek yang sama.

Membuat file dan folder

Gunakan jalur absolut ke proyek lokal Anda. Contoh ini menggunakan $HOME/alti-projects/demo-project. Jalankan perintah sebagai pengguna biasa. Jeda proses penulisan lain selama Anda meninjau dan menerapkan rencana.

set -euo pipefail
PROJECT="$(cd "$HOME/alti-projects/demo-project" && pwd -P)"
WORK="$(mktemp -d)"
cat > "$WORK/create.json" <<'JSON'
[
  {"kind":"create-directory","path":"notes"},
  {"kind":"create","path":"notes/review.txt","content":"First review\n"}
]
JSON
alti ide workspace file-plan --project "$PROJECT" \
  --request "$WORK/create.json" > "$WORK/create.plan.json"

Pastikan status keluar adalah 0, lalu baca rencana lengkap:

cat "$WORK/create.plan.json"

Rencana memiliki skema altifigence.workspace-authoring-plan.v1. Tinjau changes, observations, dan request, lalu simpan seluruh dokumen. Jalur dalam rencana relatif terhadap proyek.

Terapkan rencana yang disimpan:

alti ide workspace file-apply --project "$PROJECT" \
  --request "$WORK/create.plan.json" > "$WORK/create.receipt.json"
jq '{schema, outcome}' "$WORK/create.receipt.json"

Setelah status keluar 0, kolom tanda terima yang dipilih adalah:

{
  "schema": "altifigence.workspace-file-receipt.v1",
  "outcome": "committed"
}

Mengganti file

Baca file saat ini dan gunakan SHA-256-nya dalam permintaan penggantian. Contoh ini menggunakan jq untuk menyiapkan JSON.

alti ide workspace read --project "$PROJECT" notes/review.txt \
  > "$WORK/current.json"
jq '[{kind:"replace",path:"notes/review.txt",
      expected_sha256:.sha256,content:"Second review\n"}]' \
  "$WORK/current.json" > "$WORK/replace.json"
alti ide workspace file-plan --project "$PROJECT" \
  --request "$WORK/replace.json" > "$WORK/replace.plan.json"
cat "$WORK/replace.plan.json"

Tinjau penggantian, lalu terapkan:

alti ide workspace file-apply --project "$PROJECT" \
  --request "$WORK/replace.plan.json" > "$WORK/replace.receipt.json"
jq '{schema, outcome}' "$WORK/replace.receipt.json"

Pastikan status keluar adalah 0 dan outcome sama dengan committed.

Menghapus file

Baca kembali file untuk mendapatkan digest terkininya, lalu siapkan penghapusan:

alti ide workspace read --project "$PROJECT" notes/review.txt \
  > "$WORK/current.json"
jq '[{kind:"delete",path:"notes/review.txt",expected_sha256:.sha256}]' \
  "$WORK/current.json" > "$WORK/delete.json"
alti ide workspace file-plan --project "$PROJECT" \
  --request "$WORK/delete.json" > "$WORK/delete.plan.json"
cat "$WORK/delete.plan.json"

Tinjau penghapusan, lalu terapkan:

alti ide workspace file-apply --project "$PROJECT" \
  --request "$WORK/delete.plan.json" > "$WORK/delete.receipt.json"
jq '{schema, outcome}' "$WORK/delete.receipt.json"

Pastikan status keluar adalah 0 dan outcome sama dengan committed.

Mengatasi file yang berubah

Jika perintah melaporkan workspace file precondition changed: notes/review.txt, baca kembali file. Tinjau isinya saat ini, siapkan penggantian atau penghapusan yang dimaksud dengan sha256 baru, lalu buat dan tinjau rencana baru sebelum menerapkannya.

Jika perintah melaporkan authoring plan changed or is stale; generate and review a new plan, buat ulang rencana untuk proyek yang sama dan tinjau sebelum menerapkannya.

Simpan rencana native dengan perintah yang ditunjukkan di atas. Rencana yang disimpan dengan opsi global --json berada di dalam string stdout tanda terima eksekusi. Berikan rencana native lengkap ke file-apply.

Langkah pertama dengan CLI