लोकल फ़ाइलें बनाएँ, बदलें और हटाएँ

संपूर्ण लेखन योजनाओं से लोकल फ़ाइलों और फ़ोल्डरों के बदलावों की समीक्षा करें और उन्हें लागू करें।

Linux पर Altifigence CLI 0.1.9 से लोकल फ़ाइलों के बदलावों की समीक्षा करें और संपूर्ण योजना को उसी प्रोजेक्ट पर लागू करें।

फ़ाइलें और फ़ोल्डर बनाएँ

अपने लोकल प्रोजेक्ट का पूर्ण पाथ इस्तेमाल करें। इस उदाहरण में $HOME/alti-projects/demo-project का उपयोग किया गया है। कमांड अपने सामान्य उपयोगकर्ता खाते से चलाएँ। योजना की समीक्षा और उसे लागू करने के दौरान लिखने वाली दूसरी प्रक्रियाएँ रोककर रखें।

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"

सुनिश्चित करें कि एग्ज़िट स्टेटस 0 हो, फिर पूरी योजना पढ़ें:

cat "$WORK/create.plan.json"

योजना का स्कीमा altifigence.workspace-authoring-plan.v1 है। उसके changes, observations और request की समीक्षा करें और पूरा दस्तावेज़ सुरक्षित रखें। योजना में दिए गए पाथ प्रोजेक्ट के सापेक्ष हैं।

सहेजी गई योजना लागू करें:

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

एग्ज़िट स्टेटस 0 के बाद रसीद के चुने हुए फ़ील्ड ये होते हैं:

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

फ़ाइल बदलें

मौजूदा फ़ाइल पढ़ें और बदलने के अनुरोध में उसके SHA-256 का उपयोग करें। इन उदाहरणों में JSON तैयार करने के लिए jq का उपयोग होता है।

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"

बदलाव की समीक्षा करें, फिर उसे लागू करें:

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

सुनिश्चित करें कि एग्ज़िट स्टेटस 0 और outcome का मान committed हो।

फ़ाइल हटाएँ

फ़ाइल का मौजूदा डाइजेस्ट पाने के लिए उसे फिर पढ़ें, फिर हटाने का अनुरोध तैयार करें:

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"

हटाने के अनुरोध की समीक्षा करें, फिर उसे लागू करें:

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

सुनिश्चित करें कि एग्ज़िट स्टेटस 0 और outcome का मान committed हो।

फ़ाइल बदल जाने पर सुधार करें

अगर कमांड workspace file precondition changed: notes/review.txt दिखाता है, तो फ़ाइल फिर पढ़ें। उसकी मौजूदा सामग्री की समीक्षा करें, नए sha256 के साथ इच्छित बदलाव या हटाने का अनुरोध तैयार करें, और लागू करने से पहले नई योजना बनाकर उसकी समीक्षा करें।

अगर authoring plan changed or is stale; generate and review a new plan दिखता है, तो उसी प्रोजेक्ट के लिए योजना फिर बनाएँ और लागू करने से पहले उसकी समीक्षा करें।

ऊपर दिखाए गए कमांड से नेटिव योजनाएँ सहेजें। ग्लोबल --json के साथ सहेजी गई योजना निष्पादन रसीद की stdout स्ट्रिंग में होती है। संपूर्ण नेटिव योजना file-apply को दें।

CLI का पहला सफल उपयोग