Yapay zekâ ile kod çalışma alanı
Bağımlılık kilit dosyası sapmaları
Manifestteki doğrudan bağımlılık tanımlarını kilit dosyasının kök girdileriyle karşılaştırın.
● ● ●Lockstep Desk●
İş akışları · Bağımlılık kilit dosyası sapmaları ×
const root = lockfile.packages?.[""];
if (!root) return showDrift(["lockfile.root.missing"]);
const drift = [];
for (const group of ["dependencies", "devDependencies", "optionalDependencies"]) {
const wanted = manifest[group] ?? {};
const pinned = root[group] ?? {};
for (const name of new Set([...Object.keys(wanted), ...Object.keys(pinned)])) {
if (wanted[name] !== pinned[name]) drift.push(group + ":" + name);
}
}
return drift.length ? showDrift(drift) : reportAgreement();✳Bağımlılık kilit dosyası sapmaları
✓ DeğişikliklerUygulamadan önce inceleyin ↗
Çalışma alanı çizimi
- Proje
- Dosyayı yeniden yazmadan veya kurulum yapmadan eksik ve değişen tanımları bildirin.
- Uygulamadan önce inceleyin
- Gerçek davranışı beklenen sonuçla karşılaştırın. Bir kontrol başarısız olursa yeni değişikliklerden önce nedenini araştırın.
- Modeller
- Temel URL ve gerekiyorsa API anahtarıyla OpenAI uyumlu veya Anthropic endpoint yapılandırın. Bağlantıyı test edin. Yerel model sunucusu çalışıyor olmalıdır; uzak araçlar ayrıca veri aktarabilir.
İş akışları
const root = lockfile.packages?.[""];
if (!root) return showDrift(["lockfile.root.missing"]);
const drift = [];
for (const group of ["dependencies", "devDependencies", "optionalDependencies"]) {
const wanted = manifest[group] ?? {};
const pinned = root[group] ?? {};
for (const name of new Set([...Object.keys(wanted), ...Object.keys(pinned)])) {
if (wanted[name] !== pinned[name]) drift.push(group + ":" + name);
}
}
return drift.length ? showDrift(drift) : reportAgreement();