@byh3071/vhk 1.6.0 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/index.js +22 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: vhk-readme
|
|
3
3
|
date: 2026-05-28
|
|
4
|
-
tags: [vhk, cli, readme, v1.6.
|
|
4
|
+
tags: [vhk, cli, readme, v1.6.1, ga]
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# 🔧 VHK — Vibe Harness Kit
|
|
8
8
|
|
|
9
|
-
> 🎉 **v1.6.
|
|
9
|
+
> 🎉 **v1.6.1** — **규칙은 한 벌로 Cursor·Claude·Windsurf·Copilot·Antigravity에, 맥락은 클라우드로.**
|
|
10
10
|
> 도구·기기를 옮겨도 `vhk` 명령으로 그대로 불러옵니다. (포터빌리티)
|
|
11
11
|
>
|
|
12
12
|
> AI 코딩 에이전트를 부리는 사람을 위한 **한국어 풀사이클 CLI**.
|
package/dist/index.js
CHANGED
|
@@ -2577,6 +2577,19 @@ function extractContextSha(content) {
|
|
|
2577
2577
|
const m = content.match(new RegExp(`${CONTEXT_GIT_MARKER}:\\s*([0-9a-f]{7,40})`));
|
|
2578
2578
|
return m ? m[1] : null;
|
|
2579
2579
|
}
|
|
2580
|
+
var CONTEXT_SOURCE_PATHS = ["package.json", "goals", "docs/state/learnings.md"];
|
|
2581
|
+
function contextSourcesChanged(generatedSha, rootDir) {
|
|
2582
|
+
const content = gitOut(
|
|
2583
|
+
["diff", "--name-only", generatedSha, "HEAD", "--", ...CONTEXT_SOURCE_PATHS],
|
|
2584
|
+
rootDir
|
|
2585
|
+
).trim();
|
|
2586
|
+
if (content) return true;
|
|
2587
|
+
const structural = gitOut(
|
|
2588
|
+
["diff", "--name-only", "--diff-filter=ADR", generatedSha, "HEAD"],
|
|
2589
|
+
rootDir
|
|
2590
|
+
).trim();
|
|
2591
|
+
return structural.length > 0;
|
|
2592
|
+
}
|
|
2580
2593
|
function checkContextDrift(rootDir) {
|
|
2581
2594
|
const ctxPath = path10.join(rootDir, CONTEXT_PATH);
|
|
2582
2595
|
if (!fs9.existsSync(ctxPath)) return { checked: false, stale: false };
|
|
@@ -2589,7 +2602,15 @@ function checkContextDrift(rootDir) {
|
|
|
2589
2602
|
return { checked: false, stale: false };
|
|
2590
2603
|
}
|
|
2591
2604
|
if (!currentSha) return { checked: false, stale: false };
|
|
2592
|
-
|
|
2605
|
+
if (currentSha.startsWith(generatedSha) || generatedSha.startsWith(currentSha)) {
|
|
2606
|
+
return { checked: true, stale: false, generatedSha, currentSha };
|
|
2607
|
+
}
|
|
2608
|
+
let stale;
|
|
2609
|
+
try {
|
|
2610
|
+
stale = contextSourcesChanged(generatedSha, rootDir);
|
|
2611
|
+
} catch {
|
|
2612
|
+
return { checked: false, stale: false };
|
|
2613
|
+
}
|
|
2593
2614
|
return { checked: true, stale, generatedSha, currentSha };
|
|
2594
2615
|
}
|
|
2595
2616
|
|
package/package.json
CHANGED