{"_id":"@byh3071/vhk","_rev":"64-773e3c6c7e7af57d803912f4759c5575","name":"@byh3071/vhk","dist-tags":{"latest":"2.15.2"},"versions":{"0.4.0":{"name":"@byh3071/vhk","version":"0.4.0","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@0.4.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js"},"dist":{"shasum":"c0b3e881b7b5e6edbd3552b56875ab4dcae8b61c","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-0.4.0.tgz","fileCount":5,"integrity":"sha512-RPQ3ObzcWqmfIEwgjadyMJIcqZ85AYJMal0g8gtOXD17H/hxa+IFx882VKd66F9EGdkbdsVDVnVHMYovPapcuQ==","signatures":[{"sig":"MEUCIAcPl6eMbIGkZYnBshQkHVu2CPtsCDKLhgY4/QYGf0q1AiEAyg5K1+U+GdMyoZZy8Y3r3Ezr4bqT01S+Fq7vjagKM1M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116585},"type":"module","engines":{"node":">=20"},"gitHead":"0906ca69cc82e6bd995299223f58887ce0c440fd","scripts":{"dev":"tsx src/index.ts","test":"vitest","build":"tsup","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — 바이브코딩 풀사이클 CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_0.4.0_1779521027479_0.2532308807470611","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@byh3071/vhk","version":"0.5.0","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@0.5.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js"},"dist":{"shasum":"e5a65b0f3b678696d63225a2dc058ccf8be6e6eb","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-0.5.0.tgz","fileCount":5,"integrity":"sha512-VgQcUZdi1R0TTh9mgcUjyp01yuOkz0V2k69CqW2NQIXsA6JHmCvcEAu7qNu/lJF5sVrghxTQMFO0lCOM9IL44A==","signatures":[{"sig":"MEQCIBj0ch2rRM6xlXY7FCWQpwwgpsD6ymqfbB5aRwBwzvM6AiBadTzqEOBga9aqnkkJmsp7jIRSHCuCuWxaHQRJfzYfuA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139523},"type":"module","engines":{"node":">=20"},"gitHead":"0906ca69cc82e6bd995299223f58887ce0c440fd","scripts":{"dev":"tsx src/index.ts","test":"vitest","build":"tsup","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — 바이브코딩 풀사이클 CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_0.5.0_1779522836082_0.7451543967436027","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@byh3071/vhk","version":"0.5.1","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@0.5.1","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js"},"dist":{"shasum":"5ecd95b9cb8875107a14c7ee199cced0ada18c98","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-0.5.1.tgz","fileCount":5,"integrity":"sha512-VVRzIrBWB6qPl3DkyS11pd1JFb0CSO1J75Orz6eUCzYTBB+LPscm5+CCZnIQL2trcBkqG038qPBHYkaVR+y+1w==","signatures":[{"sig":"MEUCIQCrToF5QmQjfolno/6TuaULuX6lwlDq7XGERSmfUcolNAIgLZha8yJNav0qDqCc7zzZShQi5PqNNFqCzB1Lr+mYuSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149130},"type":"module","engines":{"node":">=20"},"gitHead":"97e3e5a73810ad893d3c6d998d0d77403c07df77","scripts":{"dev":"tsx src/index.ts","test":"vitest","build":"tsup","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — 바이브코딩 풀사이클 CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_0.5.1_1779525570571_0.30878458547841303","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@byh3071/vhk","version":"0.5.2","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@0.5.2","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js"},"dist":{"shasum":"bc0f236809ad63e98d111e07b6a367fb2889df7d","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-0.5.2.tgz","fileCount":5,"integrity":"sha512-1WW4oW3GnT+Pw0fDuncv14YoXecQDOuTwua3XjoWlTH/QQ7NzdYkb9jfyVAzrqUlaVZPFO0C6etnw7MUd8Cm3w==","signatures":[{"sig":"MEYCIQDDNE8OZfxbMubIEEXqv+uL1PGBkJdSkA7Ykb9tty8ifAIhANFjprL505E+zl2VJ3FMJ4wBGMoXZvbOM+4c0kDoawOb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151124},"type":"module","engines":{"node":">=20"},"gitHead":"7c40b71f94810e73b623459fa5e1874b24adef63","scripts":{"dev":"tsx src/index.ts","test":"vitest","build":"tsup","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — 바이브코딩 풀사이클 CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_0.5.2_1779526193619_0.38377368338788864","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@byh3071/vhk","version":"0.5.3","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@0.5.3","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js"},"dist":{"shasum":"0243de13515d06ff9ed26fe197644cea36cff5ee","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-0.5.3.tgz","fileCount":5,"integrity":"sha512-BpPqvQU9/PXLEQ2uaj2wSpEfLBdBbtUKGpa8iObsegnqIIIoIlpCjoWtn+yGuoV2Jt2tB3Ja0oyzi8DikuIE0Q==","signatures":[{"sig":"MEUCIQCJ3NYLwO0ImCy09c6sv35+B0u8z1ExCVwhZRvmh/Xh2AIgGbva5gbxhaSTnUgI7elO1gymM560vlkAm3IdXKeKpp8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154677},"type":"module","engines":{"node":">=20"},"gitHead":"ad6ba44687e689bcfb959f0ee1a82918c51fbc6f","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — 바이브코딩 풀사이클 CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_0.5.3_1779527347997_0.4272675469388467","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@byh3071/vhk","version":"0.6.0","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@0.6.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"d03cbd74d32db3a28646f0e629a77441c0b523f9","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-0.6.0.tgz","fileCount":7,"integrity":"sha512-1FY30NnzoZ8TkEyBYckRp/er4IzssX9zImr1j+4nydnI8rzC2nEaSEw/d+/S2k4RRAQOA9wXSn0hC0thiB2MbQ==","signatures":[{"sig":"MEYCIQD0QAtWLjigTzAgQplnrPoPFu4epRzetpwMEw4z4srdAwIhAO/mah3Eh932EbdTxJggwp+dtKBulLtn1i/MZ4QNVZa+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":172350},"type":"module","engines":{"node":">=20"},"gitHead":"3c012d06ccdd52820919c7c38c91b4a1bd013951","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — 바이브코딩 풀사이클 CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_0.6.0_1779592205759_0.17671799913227937","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@byh3071/vhk","version":"0.7.0","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@0.7.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"7f44edc87297752f397e1bc9b3397386acf5a0b2","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-0.7.0.tgz","fileCount":7,"integrity":"sha512-7yHS+fBAYQyIIqRltj5Gn9l+SPNHE20ACfYQw3Q769ki/dhshs2g7Ymc8v6zC3/u2ty0tWXIUa6SzDEhglwHGg==","signatures":[{"sig":"MEUCIQCP6jYALQ5JYfIzQtqzUF5GPKzgRhjF2x7UJBvt3ysrXQIgWkBRMcIwgPOdK9+WRlRp4EVrDQVpckvhRsUCxROlMCo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188294},"type":"module","engines":{"node":">=20"},"gitHead":"7edd303a34845609c797feae52977707f2e9dc9a","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — 바이브코딩 풀사이클 CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_0.7.0_1779598699361_0.8501266408776489","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@byh3071/vhk","version":"0.7.1","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@0.7.1","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"cdddc49d88b29ad54f9a76f75507932eebba0c7f","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-0.7.1.tgz","fileCount":7,"integrity":"sha512-2VB4oFspm7ot8ucF53wREOQ8nxdg9gEYI+VkB4j80ZJio0YmKLYtEPDPu3XjDLUXxjmt1LayHEtiGFX9zJAtwQ==","signatures":[{"sig":"MEQCIBA5FrZvilXc1GNIfreLFU+LEHrSuHuAqjjeUCQABQPiAiAqMjTlJuVJyqmXq1REfyITBi3y+0oBtKnmqa6Y0QPglw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191453},"type":"module","engines":{"node":">=20"},"gitHead":"2ce0a532db1a71b128b9ddb4189f6b7cadf4a452","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — 바이브코딩 풀사이클 CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_0.7.1_1779599548284_0.5967610071022689","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@byh3071/vhk","version":"0.8.0","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@0.8.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"9ef920fd0e13d78ee7ad5799bdb75b2683b8b230","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-0.8.0.tgz","fileCount":7,"integrity":"sha512-3HKw1KTo1JF6UTmrjmwe2bbEamxvnz343+uNN7adNujpwZMux1E6shDyEU4N43l+9jGxXVaX5ojkIPBAYrJyVw==","signatures":[{"sig":"MEQCIEJa9AtTtIa5DEW6938b7Kykgv7GSDd9f0fUm3OgxhZuAiBqPLsevsTUcsQ3LM73SomklTgRf8BqnKrM2D1+nmBtIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":208672},"type":"module","engines":{"node":">=20"},"gitHead":"663c22123055f882746021cd3aa0cd9540f23c4c","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — 바이브코딩 풀사이클 CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_0.8.0_1779602561313_0.35849261365432183","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@byh3071/vhk","version":"0.8.1","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@0.8.1","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"f601d9ff5008311ffab106a4549fb68d6efa72fb","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-0.8.1.tgz","fileCount":7,"integrity":"sha512-bmK/8ghqwVIP2I6U4O4hI2jdWoDHKnu73CqXk4wh23V5JY7rY4fCv4r0ER3OrUJTkUh4/plONpmwThLVYoFYsA==","signatures":[{"sig":"MEUCIQDlsA5ld5IxhUK157XW0jZGiWes6Kcp7aj27Peu9DvZkwIgaoijhm+oJ0WMRC6ULW43BjTJVdrsVqlfTjSm6zPPKWA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":210004},"type":"module","engines":{"node":">=20"},"gitHead":"c1c54eaeff06c1716085d7d0ccce830e63eafbac","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — 바이브코딩 풀사이클 CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_0.8.1_1779606109973_0.12181250898119012","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@byh3071/vhk","version":"0.9.1","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@0.9.1","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"9859e729bb0968a10bca1dc32b93ac5bdab62aee","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-0.9.1.tgz","fileCount":7,"integrity":"sha512-uPvIVJbUPriVH7SZkZFvJnctUlJ5hwlw4oOjoPPKoo/Tunwd0bpRu/G6vqFNDhclPfj00j3EvDkISrfA+0hv5w==","signatures":[{"sig":"MEUCIAL6wZcgV0HLJGkp/wwGo5XbRw3/nzobGKnUIE9L4Z+NAiEA7iKiNGU0zAZhEqQzprRaxP9L+vSO6599Xq6t4l/xBOY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":228643},"type":"module","engines":{"node":">=20"},"gitHead":"cfc766ce31b41e7f8a4203b8a75a8083fbaf6591","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — 바이브코딩 풀사이클 CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_0.9.1_1779611811218_0.049988268094925514","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@byh3071/vhk","version":"1.0.0","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@1.0.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"8af2c0cbaeb25715f1b5010fc11afac3fd7e9281","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-1.0.0.tgz","fileCount":7,"integrity":"sha512-MZPRps7HIT3nYhdaN4opZ5Xyre2lQVr4Kqfq2XKaq/TZKtvFj1cgLngka155+egvfVe0xCkvdGA7JM4TBWYeFA==","signatures":[{"sig":"MEUCIQC9i8a4UGmeqGyv719TAZZEr4CMWmqRZN5ca7xaBkvX3QIgQQNGcLCYRmH7Ua/hWlpNAN1oBoA6C8/S5RFBZSc4YNA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":250637},"type":"module","engines":{"node":">=20"},"gitHead":"e51aa245911f40c109e109a2a9f531862c65a697","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — 바이브코딩 풀사이클 CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_1.0.0_1779615310422_0.7032542093903127","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@byh3071/vhk","version":"1.0.1","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@1.0.1","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"88240ff9cdc3b7f7889fde194e38ff37394d0626","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-1.0.1.tgz","fileCount":7,"integrity":"sha512-BzB7mB2zmD0fTDs+jVMH1quuheJz+oThKLmv1gOaaqdU0cIPAqgnwwNTa2fV7ldazuBx815swAbRisLw1AH+ew==","signatures":[{"sig":"MEUCIQC4Mc7a89iox0/jKcmD6mKb3peO4wcgGebBokWahboesgIgL9lTPD6RX+FHOC1CApQ3jQh2Wmdce2SPQc1d2fGk/ME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":251358},"type":"module","engines":{"node":">=20"},"gitHead":"f3ab1a13865955b0bd78f8a1dd3f50a316b81318","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — 바이브코딩 풀사이클 CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_1.0.1_1779636683230_0.9425444718919458","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@byh3071/vhk","version":"1.0.2","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@1.0.2","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"d0c9757ee100b10a2c4715352a2edd6530e1cac8","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-1.0.2.tgz","fileCount":7,"integrity":"sha512-O8G3YlC1oNHpYlJwYi3VkpPaFcdRoy9vrOnUpy4ODaB75HDychBTL7oQKjbEtkYd9sUt+XXFQiqnnx9f4+Zbzg==","signatures":[{"sig":"MEQCIG6tjH9CmcKmwFVmptSRXsTg8TgTYLO0/e+mF9kVdlbwAiAc1ZYwmFltM2m7XLXYjRHBB8nA9cVeJIZmrD6+t1IxXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":251358},"type":"module","engines":{"node":">=20"},"gitHead":"f3ab1a13865955b0bd78f8a1dd3f50a316b81318","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — 바이브코딩 풀사이클 CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_1.0.2_1779636754289_0.6795272258819365","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@byh3071/vhk","version":"1.3.0","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync"],"author":"byh3071 <byh3071@gmail.com>","license":"MIT","_id":"@byh3071/vhk@1.3.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"4fd74464cfa2a9552606649263ec0ce33ade176d","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-1.3.0.tgz","fileCount":7,"integrity":"sha512-zPbTpTZuAjZFu2Qoi8BTqLX7A/rAy+2W1sxJzYOwGcZKksRmxoYqdKPrieCAT/yNErYJ91pyoglCo7dC1jrOVA==","signatures":[{"sig":"MEUCIQDwvqx8vbDeEmXzuzDwhcg0olWCa64MSH5D2clKbkY8MwIgPzaGZ+LTG8WGkjgKjVADveKxGJWdFTDTHrLFoISULPs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":291517},"type":"module","engines":{"node":">=20"},"scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"description":"Vibe Harness Kit — 바이브코딩 풀사이클 CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_1.3.0_1779896763701_0.6482777405525839","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@byh3071/vhk","version":"1.3.1","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync"],"author":"byh3071 <byh3071@gmail.com>","license":"MIT","_id":"@byh3071/vhk@1.3.1","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"9662952410480eea15f022923c02961fd810e04a","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-1.3.1.tgz","fileCount":7,"integrity":"sha512-pho49IBQfZspuhlCrHg+czCJqlrQzYc50UKdzA/MdXpWZ6dEzNz4nmHujseey51LGzl13x+SVVj8p/0zL4Lx6A==","signatures":[{"sig":"MEYCIQCz962u2nGkpRkgr8D/wyzYpsbNVd+tkyFiF/drTn0h9AIhAMs3AgyywlxqxHuXxs2PlY9R/GtrSIPCUxz8B5WhgdTr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":296187},"type":"module","engines":{"node":">=20"},"scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"description":"Vibe Harness Kit — 바이브코딩 풀사이클 CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_1.3.1_1779925947754_0.40684975432695136","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@byh3071/vhk","version":"1.4.0","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync"],"author":"byh3071 <byh3071@gmail.com>","license":"MIT","_id":"@byh3071/vhk@1.4.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"5e38e4dd4a56dc3783b845521fb2242f2bfa32a0","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-1.4.0.tgz","fileCount":7,"integrity":"sha512-/sy2g9FxeL/woM7QRw0Jolcrm9xvlcKFqYbD1OPV+3L2wUzWb5gJzdY6QAoknYNJc5ZjyBg0CWNlNCLc2EV4lQ==","signatures":[{"sig":"MEUCIQCXCo6t/5H2G2tgbOZswGwDv9awvfbZDhfV6lNjHETeCAIgAMCc14wHEdFOnkGo+0tURpagyhR83IXcfCKczUGups4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":312980},"type":"module","engines":{"node":">=20"},"scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"description":"Vibe Harness Kit — 바이브코딩 풀사이클 CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_1.4.0_1780031722817_0.07309889075520859","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@byh3071/vhk","version":"1.5.0","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync"],"author":"byh3071 <byh3071@gmail.com>","license":"MIT","_id":"@byh3071/vhk@1.5.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"aeb7e072a40988a73fe20ea5566936302be0ada9","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-1.5.0.tgz","fileCount":7,"integrity":"sha512-fnHKxEQkL+62mNOUBPlu5/4FZgiln3936j9k75EZV+e+fnc1rDQEIKeb3OmNF1pQcV3hWeXn71sYk4O3WOOftA==","signatures":[{"sig":"MEUCICU50noyq3YKE6f+fmNAYvRLVgLWWlF705jfcqSDekW8AiEA+VS0VSWSJXNYM2w+fOR8FjUSjXyYagJGxYzPIeaEJco=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317550},"type":"module","engines":{"node":">=20"},"scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"description":"Vibe Harness Kit — 바이브코딩 풀사이클 CLI","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_1.5.0_1780126294914_0.3200607672210882","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@byh3071/vhk","version":"1.5.1","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":"byh3071 <byh3071@gmail.com>","license":"MIT","_id":"@byh3071/vhk@1.5.1","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"f632a3bddf96315f45163a691a2ef6a0a5b7736e","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-1.5.1.tgz","fileCount":7,"integrity":"sha512-Ss8wG+EoekIj4KdcUEq2ESQMRfTlAdx/M8FMGyg22rQQrVkM/d7b3P4FWIh8ydcLTT0mUx3RtxpReE13FzVwjA==","signatures":[{"sig":"MEYCIQCvrg1kli67Sfnrskz5dC4XcGy1Vi8kHb+YpNFu8HsHtQIhANlXXVEnPNoJ7qt4oFwkN1UNJTKKi+7FT+KtV058ZRCv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317791},"type":"module","engines":{"node":">=20"},"scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_1.5.1_1780127172607_0.7668811441847891","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@byh3071/vhk","version":"1.6.0","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":"byh3071 <byh3071@gmail.com>","license":"MIT","_id":"@byh3071/vhk@1.6.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"f95fcc42b82def9e42207e5fe45114e5c64801ec","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-1.6.0.tgz","fileCount":7,"integrity":"sha512-ebCAceedVL3Kbew2gcbu5wLmdIy8L82mDAcnDiIbeg6/0ceIQkU4OiA872BXbWrdqxmN/nHkuomo0XgZsMbKVg==","signatures":[{"sig":"MEUCIHWMRMjm0bovlSJWxHQDfKy+KoUWpY02pI02W52XgjlrAiEAiyj/GqPPK6LPk7ar/FLO7qCHK/O90XBdcTJ7C4OEdqM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":326229},"type":"module","engines":{"node":">=20"},"scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_1.6.0_1780130910804_0.591248165284971","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@byh3071/vhk","version":"1.6.1","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":"byh3071 <byh3071@gmail.com>","license":"MIT","_id":"@byh3071/vhk@1.6.1","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"04f3a24c629437f8425e99185a02d0a54ab89309","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-1.6.1.tgz","fileCount":7,"integrity":"sha512-WQyVorxosINc087mA4ofNpiihscBCjpCSsT/Y0GIBjymV4SuCg+sY5TGB7A8fGrxhJt4KRnhkLQrV911sv2aMw==","signatures":[{"sig":"MEUCIAfSxId3wdVWHsnBZ+e8YUrmVglHVNjy15fAuVKzX6njAiEA1ndbJAboPJClr8ZJyisVndROqJcPE+YcvxRGndfDwaw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":326888},"type":"module","engines":{"node":">=20"},"scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_1.6.1_1780132757215_0.21807570358059958","host":"s3://npm-registry-packages-npm-production"}},"1.6.2":{"name":"@byh3071/vhk","version":"1.6.2","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@1.6.2","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"d202ec65faa201a9311684e91f8b7f92be28b6cb","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-1.6.2.tgz","fileCount":7,"integrity":"sha512-MAwFh8d72PC/HIY7QD/dioOF8e87BZTbZtmQ3JbOK7bjcJiz1A4rGe52JQ/3HfQp5uMUbJk9P5XusPIJiO8MuA==","signatures":[{"sig":"MEUCIA5iCcCnvOZhkhxYw9E4LzUP2UZg/bSsllEjsCgC8fkKAiEAwzRTvIhZgtnlpg57Vr5XsuvcZTeUluKjSoo+QKO5cPA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":376851},"type":"module","engines":{"node":">=20"},"gitHead":"2099abe6984300e1c50b5a799dbeee60b421253f","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_1.6.2_1780164409097_0.04933565179902066","host":"s3://npm-registry-packages-npm-production"}},"1.6.3":{"name":"@byh3071/vhk","version":"1.6.3","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@1.6.3","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"04e0d7abbd0b2201847c6c4c98193bcad89d2849","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-1.6.3.tgz","fileCount":7,"integrity":"sha512-MnQyBeuwSybKY4xBNqWNt5pWcdaP+sChgyhJ0QJQEgf/WWc3joj7fBXEd8+XtaLJCaVXD0UE8wxCG1YdjOyETQ==","signatures":[{"sig":"MEUCIFirhcxZzgepvtNRANJZRuHrSLTfyheoqHJNeR4kwFTBAiEA7vaf/JRK3EX2yen+4C3b1fQM61WLw0pY2OIDtI6rYc4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":389879},"type":"module","engines":{"node":">=20"},"gitHead":"c6f0164a312395efd620a1a0489c18b4f732a36f","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_1.6.3_1780293083728_0.9248520109019776","host":"s3://npm-registry-packages-npm-production"}},"1.6.4":{"name":"@byh3071/vhk","version":"1.6.4","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@1.6.4","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"93c598b0434493e512ab86a0795c00a4e8e509d3","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-1.6.4.tgz","fileCount":7,"integrity":"sha512-v5XAYAyWnNxCzrXzfAP30gxo8H2J2PvOkyI4XI0o3+6TuD2a0zfpbMkKUG0xrDf8XJuZffa0+BUG4CPHcgCGpg==","signatures":[{"sig":"MEUCIQCBbdFrDC6rUtumcQEMbOI77zvyH7NwWeq+rIRsOPf8EAIgJKSw0kOJRreYg3byOGtqWM8lKH7UzBhROEw1+2yNg2g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":391310},"type":"module","engines":{"node":">=20"},"gitHead":"5a5038c493538175219fdd7d534967aceef378a4","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_1.6.4_1780331027376_0.6334013092835133","host":"s3://npm-registry-packages-npm-production"}},"1.6.5":{"name":"@byh3071/vhk","version":"1.6.5","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@1.6.5","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"95ad1ba53c27e0b76def3cd8bf58fd4a14f27feb","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-1.6.5.tgz","fileCount":7,"integrity":"sha512-1tn5N3tB1ZiWdZndumHy6Eo5EW3Ba2CIaQa9FpnRDH4pjrvVyyK7bk4tGODOi/dIM+qdRwpnBlNJQvEzglzfAg==","signatures":[{"sig":"MEYCIQCe1mo9HIdE/4Nt0mJJXnraaUWtQz7me8ecTngHocFBVwIhAK696nOCTdU/Ba1uh0aTb4LHCOSrDNjlhlfI9xiUhy+s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":391213},"type":"module","engines":{"node":">=20"},"gitHead":"74a98e2edd3d0ce9f9eeec912730e3997d9e7130","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_1.6.5_1780332364399_0.7310110682480118","host":"s3://npm-registry-packages-npm-production"}},"1.6.6":{"name":"@byh3071/vhk","version":"1.6.6","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@1.6.6","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"df0de56bb2bbc687b440e044bc954c0503bddf95","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-1.6.6.tgz","fileCount":7,"integrity":"sha512-HKW7O74+beekYvSghfncxaoRZ0rjQpydQBEy5W71oNcX8GHKPAn1tXs9TeYTd8JGFEMCJ/m0G6eVeGNyzrdWVg==","signatures":[{"sig":"MEQCICH8FSdWuYlaWMoUtidthvErov6uho1Bl6J+kCwjGgU4AiA7oQsvNzOa4YVDGnDQYkpUQQgw9VsYHcNtA/J4NIxtjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":392002},"type":"module","engines":{"node":">=20"},"gitHead":"a5246e5e3872d5b609f2c0db46b5982519c161fe","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_1.6.6_1780356464484_0.9686706239111802","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@byh3071/vhk","version":"1.7.0","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@1.7.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"eb62381ae861dd46cf6decae5bdb5fa5e7c54324","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-1.7.0.tgz","fileCount":7,"integrity":"sha512-Uzqwj2lob/4lirp/Qw/Hnc3YnoNQfy/0tqSeALF4bHYFJ2DJJcOAk+Fd9fXQQ3xHLT2YPzzTzcudmd1nwpvfGQ==","signatures":[{"sig":"MEQCIDSo4kvZCWZtIFvacNAr2STosjZZXBFEZL1AMdqIshjpAiBBJ6qol1IoJ1CtPxPtFYMBAS+gogD6m4vTDaMpOPjw/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":398584},"type":"module","engines":{"node":">=20"},"gitHead":"b6e54c5ac44059d8b5b8560dafd0f6a67d789dc9","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_1.7.0_1780356491418_0.22759745625916183","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"@byh3071/vhk","version":"1.7.1","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@1.7.1","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"90f54ef722172df0bed6edcc9508696295e02850","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-1.7.1.tgz","fileCount":7,"integrity":"sha512-AfDgReAK2/PjAKD4m/NEmh1R0ccteWOxUTE1u7rXOoN+Vwbx4pVfyoWAv9ve5otFJfx7XHERTWv+5ClTZFiKaw==","signatures":[{"sig":"MEQCIDC5VV7amWHFeBwTpThZC24MO+KCcbENybqPhzP0E/JtAiBH+2y07SW31AqsYMcvr20V8Cwq/fEcJcLOXTIgKOomaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":406121},"type":"module","engines":{"node":">=20"},"gitHead":"a6e13fc3aeb1742ccde6e8651e97f298767953bf","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_1.7.1_1780404418561_0.1955466788959921","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@byh3071/vhk","version":"1.8.0","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@1.8.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"aa7a89b9e17f657744aaac63e0bb7c43752d2843","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-1.8.0.tgz","fileCount":7,"integrity":"sha512-LQE5szirAvBgyimuD1ny82hKNfJ2XpoAc+Nlu3K9AdTkcf1M7B1KqhRjTalKGvt697NdscEHQ+NahlYPnXwg8w==","signatures":[{"sig":"MEQCIBvka2a1VCcAyJsDCt7J6YoAtZGNQTpR73qsv/pa3HxdAiAfH0RzfaXvc4F65svEQZgNL9f4xUkp6Mvw9pOIaVWcYg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":421486},"type":"module","engines":{"node":">=20"},"gitHead":"6e346b44b35441c61312babe134e389c0e0e8030","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_1.8.0_1780408995481_0.3451068349841391","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"@byh3071/vhk","version":"1.8.1","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@1.8.1","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"ad1739e664dde267b8cfbd07704f094c8aee30e3","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-1.8.1.tgz","fileCount":7,"integrity":"sha512-Y0kx4UYk1NdWB6bQwrFJUGth1K/wf3BNVt+T27Uendc1UK/IyUSodUUnR7GfycjEVFqvZnTVJvCvnKhLa/V3Cw==","signatures":[{"sig":"MEYCIQCwZumw/WxuWbPICMZ/UhJ+ckR7x1C/In/RbbG4I6/TWgIhAP2ZGAAJgefsFl/az47CrcF/isNkbyZvmSZmrkQcFi8/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":422213},"type":"module","engines":{"node":">=20"},"gitHead":"a38c8dbf7a47e4d104bfebd76ca1130d007f38d3","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_1.8.1_1780412368551_0.7234547318455182","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@byh3071/vhk","version":"1.9.0","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@1.9.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"b95b1a0197f7f691a3c5c97b80e9f4e384d13b3c","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-1.9.0.tgz","fileCount":7,"integrity":"sha512-m/qbdbAgRZliDIWBP6YE2fqhT6YQsej29+HSaRiG+LDafWYMtyulTyQ21tvlJhog8PuFKlQRKjjP6J1jPKzwXA==","signatures":[{"sig":"MEQCIAvymIj2OlklNlp8v5bd2rxLDQZNklvVEaqiY/33IY/PAiB9+mWCtknxDgmBz5sc2LLF0u52IaxRiV1f64rKdOpu1Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":431878},"type":"module","engines":{"node":">=20"},"gitHead":"a710bb411595f038285a15320a14782f30130a7f","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_1.9.0_1780414738042_0.3809989875195663","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@byh3071/vhk","version":"2.0.1","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@2.0.1","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"76bd4f7c8a9c4ea011f47b286ddfafd6604873d0","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.0.1.tgz","fileCount":7,"integrity":"sha512-kZN4mAUkrSZiXiQBfMu2KydpbI+6jO/XlGJq9jiONT8EYxL7Jw+fUdCKb0iSc3DFp7QZGudpX1v3Hy0RPPt3dw==","signatures":[{"sig":"MEUCIBHjq2M3k00FaoiAa8SZfnVLFpoYZaMv9tQJ7lYeHlFXAiEA4B5dUrS9T6a64mDpPaMrN3CaMdxJoCus3nzCJ9AaMvI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":448561},"type":"module","engines":{"node":">=20"},"gitHead":"68de9a11651ae9a77a42b88d54c1ff48e68d88e6","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.0.1_1780426188050_0.5630292201496172","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@byh3071/vhk","version":"2.0.2","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@2.0.2","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"31bfaeeb2073c6130fd84e8b4fcfda765e5916c9","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.0.2.tgz","fileCount":7,"integrity":"sha512-2T8UDEWe0Q6ZhWW0wJf3TAB5/G+qEfBZMcGIXpx77myoKkCapGqrgAMyL2oXKbpocEEtSzanLZQqw0mj2qj4tw==","signatures":[{"sig":"MEUCIQDhzEsQSPX1cUfX0WFPzhAWkmpFyWMTAGSiVw6itM8PvQIgdlLlGZ+2WMITeL9HMfEqDa6LGeIgDWbarw4TL5tRdHE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":448725},"type":"module","engines":{"node":">=20"},"gitHead":"82c343ed63200208848c08d525c2d2f6963b7d08","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.0.2_1780452873017_0.03021124449193202","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@byh3071/vhk","version":"2.1.0","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@2.1.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"c7da7cf7ba519acd52a2759bbdbaf96ca1020837","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.1.0.tgz","fileCount":7,"integrity":"sha512-vkP9QrLusDJKgfk7HqitGF+YwYxUqQRi8k4h2zn5bJjjEMcgTjh3owzyRuGn/RL5DtBiAvCnZkGeLPTIxtcm1Q==","signatures":[{"sig":"MEUCIBTycN2CdBgHUTmknPFKiAgpkoNN9joUwmX+OfMt9eEbAiEA6XefuAecraQ1ibivEWhrJXl4KgeY7juDxVayAe9vixM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":461902},"type":"module","engines":{"node":">=20"},"gitHead":"518942dec1c3ec6f6ef9568aba6ad68aec3c5152","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.1.0_1780575908426_0.9967966570312812","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@byh3071/vhk","version":"2.2.0","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@2.2.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"15bbfd518d0d8c1e5d61fa93230b10b6f50c50e1","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.2.0.tgz","fileCount":7,"integrity":"sha512-ZOumkwHbp0L2uRHQG5lUSC4ACldS17GW1WNJXs+pnuJRfNt6m3pIZYvSOhHpEWcueLt+4uV2sc8tIxFupNaYJA==","signatures":[{"sig":"MEQCIGALeR5EGXBCy5Yusy20ty/Hce04Knk0almOiXdSHkIOAiBusZ7RKLVBofLrctRkz9Ijkc8IF3gtQxecItkGOFppgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":461902},"type":"module","engines":{"node":">=20"},"gitHead":"15c35174cd746d3b9275dc277a6dd592059f3815","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.2.0_1780575994458_0.9806262440743363","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@byh3071/vhk","version":"2.3.0","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@2.3.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"0fde3ec51cba8c07d9ba9cc8566ae7f87901c424","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.3.0.tgz","fileCount":7,"integrity":"sha512-C8YthPajASg+7VPtqYyClarrywPsgX7K/y0AdYL1WqLVGtdQrHv36w3hQduKWtlir2Lx7MoRGuyE0dSK4DCr2A==","signatures":[{"sig":"MEQCIGhPwiDkZ6R4Q9Ft9ne1pxwKdorKXB2McRQdhVZ3H012AiBVuaJoCXyLNzwvU/kvBiECzjvb3Jov+TE33oykug7DWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":481138},"type":"module","engines":{"node":">=20"},"gitHead":"77875469d8fe49bb3ce11cff06f5c8b9f7b9054f","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.3.0_1780579952511_0.5140086475291412","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"@byh3071/vhk","version":"2.3.1","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@2.3.1","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"1a43d5bd6830534b23eeb6b935abd9652d65582a","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.3.1.tgz","fileCount":7,"integrity":"sha512-LG3nQUsktHI2+XExHhVm4Dwzx/wu2KANcxOkaoe5KxmES2TGUowuRy3FGtkDUvFGUmma+WDgH3F3OoGh97YPFQ==","signatures":[{"sig":"MEYCIQCDLkUSVo/CNkolILDLxrEOj0kAx8gi9HWe6UhYDUapvAIhALf8M965LKpxsBUVnlODBlPNpO6locO6+2GcwbOrRsvw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":481138},"type":"module","engines":{"node":">=20"},"gitHead":"22df997acb7e6048b5e26fb80e5821340bc84f0f","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"deprecated":"픽스 누락 — 2.3.2 사용","repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.3.1_1780587271125_0.5456570452351057","host":"s3://npm-registry-packages-npm-production"}},"2.3.2":{"name":"@byh3071/vhk","version":"2.3.2","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@2.3.2","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"93d224b8f492604dfabd9914c6b6976e9b59f9c0","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.3.2.tgz","fileCount":7,"integrity":"sha512-5GdJGvSVNh/PzYCxVv41+Z4vjsPBJuDpPnmrUnzTBxApFJkiVzOduhREV7T54z7fiH3lc36S/GLHvc00ItPq6w==","signatures":[{"sig":"MEUCIQDyXw3hoskbWeEVrGiS401QCDF9ZBHh8wFvSRd81eOCPgIgbMErIqFtdgzqPkatiNsbV6Pc4SOWC93eq6x9wld4Hsg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":484633},"type":"module","engines":{"node":">=20"},"gitHead":"bfc393bd31e3f05a876cff0a7b8c86e32fb538a6","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.3.2_1780588464175_0.009618510914289224","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@byh3071/vhk","version":"2.4.0","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@2.4.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"8d623ce6dfb692c4dd3520ee94c17617283bb6e5","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.4.0.tgz","fileCount":7,"integrity":"sha512-E2ceml7N+q6YfSy6rjVvRLk3XghF0ZdJmYKFAXaYGFeSDVFz8/882DPj7b0TmxfhgWdJlSoUpP83Ln2X9mK/qQ==","signatures":[{"sig":"MEQCIDEuPzN90ynxLHKo8r49tviKR+ssLvyzxN6CJokLv9pvAiA71+tE/fvRbmSP1SaDaG9QqphzwbRTtd7cdRGnvu/EGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":506596},"type":"module","engines":{"node":">=20"},"gitHead":"5d7a7d90f1a8392ff186a1a150ac6f598a0f5763","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.2.2","devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.4.0_1780752066626_0.36697941411032553","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"@byh3071/vhk","version":"2.4.1","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@2.4.1","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"443e63f8d34827b84b010b4da07b3938ea4adc88","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.4.1.tgz","fileCount":7,"integrity":"sha512-FNJgFCkFWUWu5VMK4kQAvW/U9R4E7AiEGHYj+3ylgzZnPf5SWr6WMXloO8W8pnRYLtbamqzYBYzdsCno2remeg==","signatures":[{"sig":"MEYCIQCtcHAW3rg5CqSxxYkwgwmi9Hqtu1wRz6MTt2xaMgE5kwIhANXA5/RJR+DYryfCkz35VPhXrI7IE6Aa7/oTAaqT6W8b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":509966},"type":"module","engines":{"node":">=20"},"gitHead":"1c3dd7cf5c446b0873b39ae25124da396a1d2e97","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.2.2","devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.4.1_1780754163788_0.8808410814531713","host":"s3://npm-registry-packages-npm-production"}},"2.4.2":{"name":"@byh3071/vhk","version":"2.4.2","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@2.4.2","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"c6075b02e072ff438c34969783e49f0e672249d3","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.4.2.tgz","fileCount":7,"integrity":"sha512-mEJlrUKMVItiCZhan5t5Sr8WpMbPZ2RoHlZeeNIZSQJg34ICGHBTxpsnW7nthvWc6Onu2iSD+28fUnviwfL8UA==","signatures":[{"sig":"MEUCIQCHXe+OZWX8hcOOFhjXvUFMgwZg4JjgoYkMRVt3NfqdEgIgPl1SAJXnHGS9ovNYbjY0ek+IuBgmDchVBkWpRHMyWRk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":531701},"type":"module","engines":{"node":">=20"},"gitHead":"d4e8b97392aa6318973e16b5f27de8965b7774f1","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.2.2","devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.4.2_1780813350820_0.6456818980940573","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@byh3071/vhk","version":"2.5.0","keywords":["vibe-coding","harness","cli","scaffold","session-log","rules-sync","portability","ai-coding","cursor","claude","windsurf","copilot","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@2.5.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"6b93c570e9d0eb8a3dee82b50c4a3a19fc471f1e","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.5.0.tgz","fileCount":8,"integrity":"sha512-k1ElSfzzXiJM2EhHYxN4REZvsIFIJRaSgq/ZTINXfz0ZiGYiCoUzOqBiSuQimz+YykmBJqpKwKAeqE1il72bsw==","signatures":[{"sig":"MEUCIFcs7Z/UYciAFjWMyCcdG1+XpjISqtyP6f7zkW2Tiu5NAiEA7DK/l2jTPcI/t06CXOzd3HpzDcMSrtFAQrDDfeGakVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573678},"type":"module","engines":{"node":">=20"},"gitHead":"f0a846bc0536b5f0de6e00a60d4d423278c9bdde","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"Vibe Harness Kit — AI 코딩 도구·기기를 바꿔도 규칙·맥락이 따라가는 포터빌리티 CLI (sync: Cursor·Claude·Windsurf·Copilot·Antigravity / cloud 백업)","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.2.2","devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.5.0_1780880062777_0.9072704576577233","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"@byh3071/vhk","version":"2.5.1","keywords":["vibe-coding","harness","cli","mcp","ai-agent","agentic-coding","scaffold","session-log","rules-sync","portability","ai-coding","verification","proof","guardrails","test-first","cursor","claude","claude-code","windsurf","copilot","antigravity","gemini","cline","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@2.5.1","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"c33dc38509935d6113e10b3633781642d987bfbf","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.5.1.tgz","fileCount":8,"integrity":"sha512-UvF2snyc2wDCBnXzBxtj5puer/MZ7/39VSnn03PvPCeUep3u8rLs9npjcw442RPVuKPVbfndCqht9Qx7kCCA+w==","signatures":[{"sig":"MEUCICdTCIZLzuCDPoL192u4qWuFSWzPvRp7BrYVbR/AXZkxAiEAkJuoz7GLaWGo7Sv4FARTaUOm+MyJEjOdtWCP6NQH8XA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":557823},"type":"module","engines":{"node":">=20"},"gitHead":"c270acee184d3e611218c0a648b6b6dd33b74dad","scripts":{"dev":"tsx src/index.ts","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"VHK — AI 코딩 세션을 목표·증거·기억·규칙으로 묶는 한국어 CLI. 규칙 동기화, MCP 29 tools, verify/review/preflight 게이트.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.2.2","devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","ignore":"^7.0.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.5.1_1780885335371_0.8773987387359565","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"@byh3071/vhk","version":"2.6.0","keywords":["vibe-coding","harness","cli","mcp","ai-agent","agentic-coding","scaffold","session-log","rules-sync","portability","ai-coding","verification","proof","guardrails","test-first","cursor","claude","claude-code","windsurf","copilot","antigravity","gemini","cline","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@2.6.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"6b6d145f444f87a2f0c457141c76669e3d4c1796","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.6.0.tgz","fileCount":8,"integrity":"sha512-SRItn3kSgI32pZUKr3pkEyjBOT3o5470SvKNxk9izeyzD60xLFNQZkv7WSTlm9rrqhAMY1TI9y8nK699qAMFIQ==","signatures":[{"sig":"MEQCIDBahgrf+5styhavbqbZIx6FQ4b/HGWG5tN252l7rpayAiBICIWvlwiIa9+ullQZ3cOZDT42PiXlnK1ljcSclDyzIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":645119},"type":"module","engines":{"node":">=22"},"gitHead":"99922a907df518f1da5f6528485c5b0f62636811","scripts":{"dev":"tsx src/index.ts","lint":"eslint src","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","typecheck":"tsc --noEmit","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"VHK — AI 코딩 세션을 목표·증거·기억·규칙으로 묶는 한국어 CLI. 규칙 동기화, MCP 29 tools, verify/review/preflight 게이트.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.2.2","devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","eslint":"^10.4.1","ignore":"^7.0.5","vitest":"^4.1.7","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9","typescript-eslint":"^8.60.1","@vitest/coverage-v8":"^4.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.6.0_1781312163989_0.375024964503869","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"@byh3071/vhk","version":"2.7.0","keywords":["vibe-coding","harness","cli","mcp","ai-agent","agentic-coding","scaffold","session-log","rules-sync","portability","ai-coding","verification","proof","guardrails","test-first","cursor","claude","claude-code","windsurf","copilot","antigravity","gemini","cline","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@2.7.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"fe98682a84f020397dc284f195da3d4e08a8ccbb","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.7.0.tgz","fileCount":8,"integrity":"sha512-qkQnZToeWrMMG5jMVh8loVS39u4EB4//S8h1l7DpLlolGEoe1v7O3be8SJHwxBqhFYT15Mq6q50PPDmN84mr7A==","signatures":[{"sig":"MEUCIQCVieormk5EGowaw8Z20vIMJa8H7h71EKYxlxUBafVvtAIgarbCC6RvxK0peYXOExmx4BOQodpJEI9rL6ZRexr1K+8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":713103},"type":"module","engines":{"node":">=22"},"gitHead":"11174e5660cc2e997aa68c2f8520e5971ea18e5a","scripts":{"dev":"tsx src/index.ts","lint":"eslint src","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","typecheck":"tsc --noEmit","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"VHK — AI 코딩 세션을 목표·증거·기억·규칙으로 묶는 한국어 CLI. 규칙 동기화, MCP 30 tools, verify/review/preflight 게이트.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.2.2","devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","eslint":"^10.4.1","ignore":"^7.0.5","vitest":"^4.1.7","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9","typescript-eslint":"^8.60.1","@vitest/coverage-v8":"^4.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.7.0_1782214372697_0.8394722613639465","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"@byh3071/vhk","version":"2.8.0","keywords":["vibe-coding","harness","cli","mcp","ai-agent","agentic-coding","scaffold","session-log","rules-sync","portability","ai-coding","verification","proof","guardrails","test-first","cursor","claude","claude-code","windsurf","copilot","antigravity","gemini","cline","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@2.8.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"986e4a417b4b0dfe369160b3a33e77a4937a77d1","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.8.0.tgz","fileCount":8,"integrity":"sha512-prrORwvF7MLC2Ip63tSQvzSH52jaSwvP4OMi76a7cgWjb3/hVx5Pby6qg47Vzk5/6R5tGvuQyXIxSXVpvuGGNw==","signatures":[{"sig":"MEQCIE6nBomoC6t5BrrGnIJ2vOZ6SsqlRoqMoN7PmsFfEd9qAiBsE9QgoqoAzOYXSCwohxyxhhe5CczftpbrSTyBDKdP3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":787698},"type":"module","engines":{"node":">=22"},"gitHead":"7409055a4403becaacf0474330b1bfecfe3e2e7a","scripts":{"dev":"tsx src/index.ts","lint":"eslint src","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","typecheck":"tsc --noEmit","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"VHK — AI 코딩 세션을 목표·증거·기억·규칙으로 묶는 한국어 CLI. 규칙 동기화, MCP 35 tools, verify/review/preflight 게이트.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.2.2","devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","eslint":"^10.4.1","ignore":"^7.0.5","vitest":"^4.1.7","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9","typescript-eslint":"^8.60.1","@vitest/coverage-v8":"^4.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.8.0_1782881337394_0.4050323115672081","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"@byh3071/vhk","version":"2.9.0","keywords":["vibe-coding","harness","cli","mcp","ai-agent","agentic-coding","scaffold","session-log","rules-sync","portability","ai-coding","verification","proof","guardrails","test-first","cursor","claude","claude-code","windsurf","copilot","antigravity","gemini","cline","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@2.9.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"e01fc649389644e72cd0e280711b90b01df09e06","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.9.0.tgz","fileCount":8,"integrity":"sha512-k0Z1M98jVboktQiA1Zwy/3D4ZQkHEIADft81XwgIGGm6lTHWEF35MD2erkEV1OTc3XfBRahbZLkeMSTwuz52yw==","signatures":[{"sig":"MEUCIGYQ9x0zf4CRIdA7Bx1IYHpHOGaUtFGbhPakJrTF2EwqAiEA3T3SnsOyYrGaLJcXRwoDz+yD0gKG3/ZaoS+OXolgWKk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":795434},"type":"module","engines":{"node":">=22"},"gitHead":"45b4ed16a5106d9f22866c16620f290f291297a0","scripts":{"dev":"tsx src/index.ts","lint":"eslint src","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","typecheck":"tsc --noEmit","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"VHK — AI 코딩 세션을 목표·증거·기억·규칙으로 묶는 한국어 CLI. 규칙 동기화, MCP 35 tools, verify/review/preflight 게이트.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.2.2","devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","eslint":"^10.4.1","ignore":"^7.0.5","vitest":"^4.1.7","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9","typescript-eslint":"^8.60.1","@vitest/coverage-v8":"^4.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.9.0_1783006842247_0.82219836521476","host":"s3://npm-registry-packages-npm-production"}},"2.10.0":{"name":"@byh3071/vhk","version":"2.10.0","keywords":["vibe-coding","harness","cli","mcp","ai-agent","agentic-coding","scaffold","session-log","rules-sync","portability","ai-coding","verification","proof","guardrails","test-first","cursor","claude","claude-code","windsurf","copilot","antigravity","gemini","cline","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@2.10.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"3ce5e24ca9400fd2c480f9d4fa907942c2dd641a","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.10.0.tgz","fileCount":9,"integrity":"sha512-NCo8FICbClYsrM6qHZqXKWSe2rsXwzRx0NtGfRsgtqM6oDcj9wSDGhU8X/WCSHbBiG+pvq9tdWiDS+WrcI9fMQ==","signatures":[{"sig":"MEUCIAcDhpYkZUKwNyW8Eii7yY6jA+ivElhta9UVKn40zFhcAiEAlU2A5a5gFC5Z8Kofd5y7prV+cxlhrDGKiUev+LpaloA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":872746},"type":"module","engines":{"node":">=22"},"scripts":{"dev":"tsx src/index.ts","lint":"eslint src","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","typecheck":"tsc --noEmit","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"VHK — AI 코딩 세션을 목표·증거·기억·규칙으로 묶는 한국어 CLI. 규칙 동기화, MCP 35 tools, verify/review/preflight 게이트.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.2.2","devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","eslint":"^10.4.1","ignore":"^7.0.5","vitest":"^4.1.7","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9","typescript-eslint":"^8.60.1","@vitest/coverage-v8":"^4.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.10.0_1783866474279_0.4057400949673806","host":"s3://npm-registry-packages-npm-production"}},"2.11.0":{"name":"@byh3071/vhk","version":"2.11.0","keywords":["vibe-coding","harness","cli","mcp","ai-agent","agentic-coding","scaffold","session-log","rules-sync","portability","ai-coding","verification","proof","guardrails","test-first","cursor","claude","claude-code","windsurf","copilot","antigravity","gemini","cline","context-sync"],"author":{"name":"byh3071","email":"byh3071@gmail.com"},"license":"MIT","_id":"@byh3071/vhk@2.11.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"7e468de267b3db68a034604d58394ea940659ccc","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.11.0.tgz","fileCount":9,"integrity":"sha512-1pRi8InxX7CM781UOQu52csbZOz9FKPdt8KxQJ4eRptE1vS3yb1vk4E9E50Zx8jIKUNVxrfLgVseAIILXDFG0w==","signatures":[{"sig":"MEQCIF+zXiU2uqHkheNFDhfaVxLsXXSwNOsrTGYNxdJ4SLPiAiB8morbGoi2IZ5QfBhNrLVdHScQaRNpz6vitZdLg8N/ew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":891773},"type":"module","engines":{"node":">=22"},"gitHead":"bddde8b599c8a823e296c7ebb33d61397627bbbe","scripts":{"dev":"tsx src/index.ts","lint":"eslint src","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","typecheck":"tsc --noEmit","prepublishOnly":"pnpm build && pnpm test:run"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"VHK — AI 코딩 세션을 목표·증거·기억·규칙으로 묶는 한국어 CLI. 규칙 동기화, MCP 35 tools, verify/review/preflight 게이트.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.2.2","devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","eslint":"^10.4.1","ignore":"^7.0.5","vitest":"^4.1.7","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9","typescript-eslint":"^8.60.1","@vitest/coverage-v8":"^4.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.11.0_1783875380289_0.047356730847180284","host":"s3://npm-registry-packages-npm-production"}},"2.12.0":{"name":"@byh3071/vhk","version":"2.12.0","keywords":["vibe-coding","harness","cli","mcp","ai-agent","agentic-coding","scaffold","session-log","rules-sync","portability","ai-coding","verification","proof","guardrails","test-first","cursor","claude","claude-code","windsurf","copilot","antigravity","gemini","cline","context-sync"],"author":{"name":"yohanstudio","email":"opensource@yohanstudio.co"},"license":"MIT","_id":"@byh3071/vhk@2.12.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"5da31c3165d661fa5de4b38a3295185e3e352f36","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.12.0.tgz","fileCount":10,"integrity":"sha512-NUxEtZq8J7PdDVzYL3cH95C5Rk+84pu10laRcX0nzMc94XryrL5JKduasfzhOQMakh8zlg16SqbSic2sX6h0Xw==","signatures":[{"sig":"MEQCIBysg9COunsqGKqGyvMoZNtffhPQB4sF9InKBlTRBe4lAiAVbLlt8xlsqKF/v8TZFjaqV+6aqly3pSAj4JzhKxF6+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":933847},"type":"module","engines":{"node":">=22"},"gitHead":"4adc736b656efe59e34a95d77f6c709470a5a2bd","scripts":{"dev":"tsx src/index.ts","lint":"eslint src","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","typecheck":"tsc --noEmit","hooks:install":"git config core.hooksPath .githooks","boundary:check":"node scripts/check-public-boundary.mjs","prepublishOnly":"pnpm build && pnpm test:run && pnpm boundary:check && pnpm security:audit","security:audit":"pnpm audit --audit-level high","boundary:history":"node scripts/check-public-boundary.mjs --git-only --all-refs"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"VHK — AI 코딩 세션을 목표·증거·기억·규칙으로 묶는 한국어 CLI. 규칙 동기화, MCP 35 tools, verify/review/preflight 게이트.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","eslint":"^10.4.1","ignore":"^7.0.5","vitest":"^4.1.7","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9","typescript-eslint":"^8.60.1","@vitest/coverage-v8":"^4.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.12.0_1785124191494_0.42205559681227567","host":"s3://npm-registry-packages-npm-production"}},"2.13.0":{"name":"@byh3071/vhk","version":"2.13.0","keywords":["vibe-coding","harness","cli","mcp","ai-agent","agentic-coding","scaffold","session-log","rules-sync","portability","ai-coding","verification","proof","guardrails","test-first","cursor","claude","claude-code","windsurf","copilot","antigravity","gemini","cline","context-sync"],"author":{"name":"yohanstudio","email":"opensource@yohanstudio.co"},"license":"MIT","_id":"@byh3071/vhk@2.13.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"cf39bf05e2997366065d1140d60bc15f54dda4a3","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.13.0.tgz","fileCount":10,"integrity":"sha512-A1eHkaTDGY2v9R2AbkyE5EysCFktaUmaS+YARkxQcO5djkJOxnONnBMYQf2l459ywDp8Mlzzf3OFDDLM+7lp/A==","signatures":[{"sig":"MEQCIBF89a8B1OEB+xOCcWf/8AqPyRiyFyps7jcGdciBWQfxAiBB6N2EFgS++qL2xtiRY/WGDNA/taAF1M1JkrEzyekKmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1024979},"type":"module","engines":{"node":">=22"},"gitHead":"1bcd98cf53e90c9d240fb88a29090cef4ab24f7f","scripts":{"dev":"tsx src/index.ts","lint":"eslint src","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","typecheck":"tsc --noEmit","hooks:install":"git config core.hooksPath .githooks","boundary:check":"node scripts/check-public-boundary.mjs","prepublishOnly":"pnpm build && pnpm test:run && pnpm boundary:check && pnpm security:audit","security:audit":"pnpm audit --audit-level high","boundary:history":"node scripts/check-public-boundary.mjs --git-only --all-refs"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"VHK — AI 코딩 세션을 목표·증거·기억·규칙으로 묶는 한국어 CLI. 규칙 동기화, MCP 35 tools, verify/review/preflight 게이트.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","eslint":"^10.4.1","ignore":"^7.0.5","vitest":"^4.1.7","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9","typescript-eslint":"^8.60.1","@vitest/coverage-v8":"^4.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.13.0_1786118453510_0.09474643632445368","host":"s3://npm-registry-packages-npm-production"}},"2.14.0":{"name":"@byh3071/vhk","version":"2.14.0","keywords":["vibe-coding","harness","cli","mcp","ai-agent","agentic-coding","scaffold","session-log","rules-sync","portability","ai-coding","verification","proof","guardrails","test-first","cursor","claude","claude-code","windsurf","copilot","antigravity","gemini","cline","context-sync"],"author":{"name":"yohanstudio","email":"opensource@yohanstudio.co"},"license":"MIT","_id":"@byh3071/vhk@2.14.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"335ba536b44e418829187bd68b1a6828ff4d18d3","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.14.0.tgz","fileCount":10,"integrity":"sha512-WQT4KQvOKjlvE0ZwiBRMERtMRhKdBP4mDfO52Q85cA3SQ86Gi9CtZUeD7BP0ZdLvZKng0YMb/hXi3G5ARxl7eQ==","signatures":[{"sig":"MEUCIQDPLvzUPTAsGC/FFvWEwIWqq7sHa4QVkrrlOQcK0nh/LAIgHcQDTl12/MDfm9Kp6pG2eTKTPrSrFIgCLOhifiVdaM4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1085183},"type":"module","engines":{"node":">=22"},"gitHead":"9ce7012fddcfebd1d357e4ec7a8ced27fb517efb","scripts":{"dev":"tsx src/index.ts","lint":"eslint src","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","typecheck":"tsc --noEmit","hooks:install":"git config core.hooksPath .githooks","boundary:check":"node scripts/check-public-boundary.mjs","prepublishOnly":"pnpm build && pnpm test:run && pnpm boundary:check && pnpm security:audit","security:audit":"pnpm audit --audit-level high","boundary:history":"node scripts/check-public-boundary.mjs --git-only --all-refs"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"VHK — AI 코딩 세션을 목표·증거·기억·규칙으로 묶는 한국어 CLI. 규칙 동기화, MCP 35 tools, verify/review/preflight 게이트.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","eslint":"^10.4.1","ignore":"^7.0.5","vitest":"^4.1.7","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9","typescript-eslint":"^8.60.1","@vitest/coverage-v8":"^4.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.14.0_1786544156900_0.6697998065274797","host":"s3://npm-registry-packages-npm-production"}},"2.15.0":{"name":"@byh3071/vhk","version":"2.15.0","keywords":["vibe-coding","harness","cli","mcp","ai-agent","agentic-coding","scaffold","session-log","rules-sync","portability","ai-coding","verification","proof","guardrails","test-first","cursor","claude","claude-code","windsurf","copilot","antigravity","gemini","cline","context-sync"],"author":{"name":"yohanstudio","email":"opensource@yohanstudio.co"},"license":"MIT","_id":"@byh3071/vhk@2.15.0","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"830c04fe5abfcd3edbc2f5144790bf9ca79d1096","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.15.0.tgz","fileCount":10,"integrity":"sha512-F4o02VK+E8deBvH3uSbrpFS95bcMOwAo/buZWcWL2PFXSjMLTZBuF/VnYS72znlZ/RbEX/0LBM3+6fRNcGQuUg==","signatures":[{"sig":"MEUCIElwehCXnVDt80GCEWVcYW0wWTvsNLnYvlq4uhfQlE7gAiEA2WZgCxXX2FQukCjHBTbM9Q3YS87LqJjK3U91rTZK6Ek=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1222282},"type":"module","engines":{"node":">=22"},"gitHead":"52b42b1bb66a9bbb32959cdb6f97e811632fd4fb","scripts":{"dev":"tsx src/index.ts","lint":"eslint src","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","typecheck":"tsc --noEmit","hooks:install":"git config core.hooksPath .githooks","boundary:check":"node scripts/check-public-boundary.mjs","prepublishOnly":"pnpm build && pnpm test:run && pnpm boundary:check && pnpm security:audit","security:audit":"pnpm audit --audit-level high","boundary:history":"node scripts/check-public-boundary.mjs --git-only --all-refs"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"VHK — AI 코딩 세션을 목표·증거·기억·규칙으로 묶는 한국어 CLI. 규칙 동기화, MCP 35 tools, verify/review/preflight 게이트.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","eslint":"^10.4.1","ignore":"^7.0.5","vitest":"^4.1.7","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9","typescript-eslint":"^8.60.1","@vitest/coverage-v8":"^4.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.15.0_1787930403564_0.3080925762424154","host":"s3://npm-registry-packages-npm-production"}},"2.15.1":{"name":"@byh3071/vhk","version":"2.15.1","keywords":["vibe-coding","harness","cli","mcp","ai-agent","agentic-coding","scaffold","session-log","rules-sync","portability","ai-coding","verification","proof","guardrails","test-first","cursor","claude","claude-code","windsurf","copilot","antigravity","gemini","cline","context-sync"],"author":{"name":"yohanstudio","email":"opensource@yohanstudio.co"},"license":"MIT","_id":"@byh3071/vhk@2.15.1","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"homepage":"https://github.com/byh3071-cpu/vhk#readme","bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"dist":{"shasum":"f2df2e6573636eab603f53613fc6691a7e7a3a53","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.15.1.tgz","fileCount":10,"integrity":"sha512-k2SBWX/VXjSSQzSbMXsuAWARw46mk6Has7mQEYO1P0qSYHQ7tm3/VLroBP1dsxKyYFNY1eqSggHgOCa7LEIAVw==","signatures":[{"sig":"MEUCIF+gOc1yPPK3ZOPyaDsexXXZxilyVCa9iwkwmOJ0MFF/AiEAsXviTMgcstb35uRrhn5htyANbc+vQMMFjVGScscj0SE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1283285},"type":"module","engines":{"node":">=22"},"gitHead":"03fdb9853619e68601b71535aed42727401278ce","scripts":{"dev":"tsx src/index.ts","lint":"eslint src","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","typecheck":"tsc --noEmit","skills:check":"node scripts/gen-agent-skills.mjs --check","hooks:install":"git config core.hooksPath .githooks","boundary:check":"node scripts/check-public-boundary.mjs","prepublishOnly":"pnpm skills:check && pnpm build && pnpm skills:pack-check && pnpm test:run && pnpm boundary:check && pnpm security:audit","security:audit":"pnpm audit --audit-level high","skills:generate":"node scripts/gen-agent-skills.mjs","boundary:history":"node scripts/check-public-boundary.mjs --git-only --all-refs","skills:pack-check":"node scripts/check-agent-skill-pack.mjs"},"_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"VHK — AI 코딩 세션을 목표·증거·기억·규칙으로 묶는 한국어 CLI. 규칙 동기화, MCP 35 tools, verify/review/preflight 게이트.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","eslint":"^10.4.1","ignore":"^7.0.5","vitest":"^4.1.7","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9","typescript-eslint":"^8.60.1","@vitest/coverage-v8":"^4.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vhk_2.15.1_1788043054682_0.057474451592140596","host":"s3://npm-registry-packages-npm-production"}},"2.15.2":{"_id":"@byh3071/vhk@2.15.2","bin":{"vhk":"dist/index.js","vhk-mcp":"dist/mcp/index.js"},"bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"dist":{"shasum":"4117ae66ecc7383a03a8db547dc3f9113ad78293","tarball":"https://registry.npmjs.org/@byh3071/vhk/-/vhk-2.15.2.tgz","fileCount":10,"integrity":"sha512-ON2V7nbwYMlkFtXcnNB9cd1bqtsEBx346Fbdgm8HRQlRTzoMJWnGRiAFWcvjXFV7ly/2ahj5x0aqz7j8ITk5nQ==","signatures":[{"sig":"MEUCIHqo7HRSKIIaED6jfs4iZqiKRSbh72JZu/mxQp+DAMBAAiEA1oHnSGjXh39q7MaIQ7MeWGTUCF0n//SzsrXPMEwHCkU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHTGDcVk33rnUdIDyMl+bmuNtC6vvuKRwjiqd7eOrAa9AiAFY4FiyyBzjr1bTfde2OeOSf0hW20e9+SKKH7nszu5UQ=="}],"unpackedSize":1314094},"name":"@byh3071/vhk","type":"module","author":{"name":"yohanstudio","email":"opensource@yohanstudio.co"},"engines":{"node":">=22"},"license":"MIT","scripts":{"dev":"tsx src/index.ts","lint":"eslint src","save":"vhk save","scan":"vhk secure scan","ship":"vhk ship","test":"vitest","build":"tsup","check":"vhk check","recap":"vhk recap","doctor":"vhk doctor","test:run":"vitest --run","typecheck":"tsc --noEmit","skills:check":"node scripts/gen-agent-skills.mjs --check","hooks:install":"git config core.hooksPath .githooks","boundary:check":"node scripts/check-public-boundary.mjs","prepublishOnly":"pnpm skills:check && pnpm build && pnpm skills:pack-check && pnpm test:run && pnpm boundary:check && pnpm security:audit","security:audit":"pnpm audit --audit-level high","skills:generate":"node scripts/gen-agent-skills.mjs","boundary:history":"node scripts/check-public-boundary.mjs --git-only --all-refs","skills:pack-check":"node scripts/check-agent-skill-pack.mjs"},"version":"2.15.2","_npmUser":{"name":"byh3071","email":"byh3071@naver.com"},"homepage":"https://github.com/byh3071-cpu/vhk#readme","keywords":["vibe-coding","harness","cli","mcp","ai-agent","agentic-coding","scaffold","session-log","rules-sync","portability","ai-coding","verification","proof","guardrails","test-first","cursor","claude","claude-code","windsurf","copilot","antigravity","gemini","cline","context-sync"],"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"_npmVersion":"11.6.2","description":"VHK — AI 코딩 세션을 목표·증거·기억·규칙으로 묶는 한국어 CLI. 규칙 동기화, MCP 35 tools, verify/review/preflight 게이트.","directories":{},"maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"_nodeVersion":"24.13.0","dependencies":{"ora":"^9.4.0","zod":"^4.4.3","yaml":"^2.9.0","chalk":"^5.6.2","inquirer":"^9.3.8","commander":"^14.0.3","handlebars":"^4.7.9","simple-git":"^3.36.0","@notionhq/client":"^5.22.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0","devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","eslint":"^10.4.1","ignore":"^7.0.5","vitest":"^4.1.11","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","@types/inquirer":"^9.0.9","typescript-eslint":"^8.60.1","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vhk_2.15.2_1790951024194_0.7727836747380425"}}},"time":{"created":"2026-05-23T06:23:18.443Z","modified":"2026-10-02T14:23:44.463Z","0.3.0":"2026-05-23T06:23:18.676Z","0.3.1":"2026-05-23T06:43:29.153Z","0.4.0":"2026-05-23T07:23:47.625Z","0.5.0":"2026-05-23T07:53:56.226Z","0.5.1":"2026-05-23T08:39:30.712Z","0.5.2":"2026-05-23T08:49:53.754Z","0.5.3":"2026-05-23T09:09:08.146Z","0.6.0":"2026-05-24T03:10:05.896Z","0.7.0":"2026-05-24T04:58:19.505Z","0.7.1":"2026-05-24T05:12:28.449Z","0.8.0":"2026-05-24T06:02:41.451Z","0.8.1":"2026-05-24T07:01:50.132Z","0.9.1":"2026-05-24T08:36:51.371Z","1.0.0":"2026-05-24T09:35:10.638Z","1.0.1":"2026-05-24T15:31:23.421Z","1.0.2":"2026-05-24T15:32:34.420Z","1.3.0":"2026-05-27T15:46:03.863Z","1.3.1":"2026-05-27T23:52:27.921Z","1.4.0":"2026-05-29T05:15:22.994Z","1.5.0":"2026-05-30T07:31:35.182Z","1.5.1":"2026-05-30T07:46:12.749Z","1.6.0":"2026-05-30T08:48:31.011Z","1.6.1":"2026-05-30T09:19:17.358Z","1.6.2":"2026-05-30T18:06:49.252Z","1.6.3":"2026-06-01T05:51:23.873Z","1.6.4":"2026-06-01T16:23:47.614Z","1.6.5":"2026-06-01T16:46:04.558Z","1.6.6":"2026-06-01T23:27:44.658Z","1.7.0":"2026-06-01T23:28:11.595Z","1.7.1":"2026-06-02T12:46:58.702Z","1.8.0":"2026-06-02T14:03:15.732Z","1.8.1":"2026-06-02T14:59:28.699Z","1.9.0":"2026-06-02T15:38:58.206Z","2.0.1":"2026-06-02T18:49:48.233Z","2.0.2":"2026-06-03T02:14:33.177Z","2.1.0":"2026-06-04T12:25:08.600Z","2.2.0":"2026-06-04T12:26:34.647Z","2.3.0":"2026-06-04T13:32:32.694Z","2.3.1":"2026-06-04T15:34:31.287Z","2.3.2":"2026-06-04T15:54:24.388Z","2.4.0":"2026-06-06T13:21:06.810Z","2.4.1":"2026-06-06T13:56:04.007Z","2.4.2":"2026-06-07T06:22:30.999Z","2.5.0":"2026-06-08T00:54:22.967Z","2.5.1":"2026-06-08T02:22:15.508Z","2.6.0":"2026-06-13T00:56:04.187Z","2.7.0":"2026-06-23T11:32:52.845Z","2.8.0":"2026-07-01T04:48:57.590Z","2.9.0":"2026-07-02T15:40:42.441Z","2.10.0":"2026-07-12T14:27:54.427Z","2.11.0":"2026-07-12T16:56:20.472Z","3.0.0":"2026-07-27T02:11:12.391Z","2.12.0":"2026-07-27T03:49:51.664Z","2.13.0":"2026-08-07T16:00:53.671Z","2.14.0":"2026-08-12T14:15:57.063Z","2.15.0":"2026-08-28T15:20:03.707Z","2.15.1":"2026-08-29T22:37:34.859Z","2.15.2":"2026-10-02T14:23:44.308Z"},"bugs":{"url":"https://github.com/byh3071-cpu/vhk/issues"},"author":{"name":"yohanstudio","email":"opensource@yohanstudio.co"},"license":"MIT","homepage":"https://github.com/byh3071-cpu/vhk#readme","keywords":["vibe-coding","harness","cli","mcp","ai-agent","agentic-coding","scaffold","session-log","rules-sync","portability","ai-coding","verification","proof","guardrails","test-first","cursor","claude","claude-code","windsurf","copilot","antigravity","gemini","cline","context-sync"],"repository":{"url":"git+https://github.com/byh3071-cpu/vhk.git","type":"git"},"description":"VHK — AI 코딩 세션을 목표·증거·기억·규칙으로 묶는 한국어 CLI. 규칙 동기화, MCP 35 tools, verify/review/preflight 게이트.","maintainers":[{"name":"byh3071","email":"byh3071@naver.com"}],"readme":"---\r\nid: vhk-readme\r\ndate: 2026-06-08\r\ntags: [vhk, cli, readme, v2.15.2, mcp, proof, ai-coding]\r\n---\r\n\r\n<div align=\"center\">\r\n\r\n# VHK — Vibe Harness Kit\r\n\r\n**v2.15.2**\r\n\r\n**모델·에이전트를 뭘로 바꿔도 안 무너지는 풀사이클 AI 코딩 하네스.**\r\n\r\nClaude Code든 Cursor든 그 위에 얹어 리뷰·검증·기억을 한 루프로 돌리고,\r\n쓸수록 규칙이 쌓여 이 개발자에게 맞게 진화합니다. **한국어 우선.**\r\n\r\n[![CI](https://github.com/byh3071-cpu/vhk/actions/workflows/ci.yml/badge.svg)](https://github.com/byh3071-cpu/vhk/actions/workflows/ci.yml)\r\n[![npm](https://img.shields.io/npm/v/@byh3071/vhk?logo=npm)](https://www.npmjs.com/package/@byh3071/vhk)\r\n![node](https://img.shields.io/node/v/@byh3071/vhk)\r\n![license](https://img.shields.io/badge/license-MIT-blue)\r\n![MCP](https://img.shields.io/badge/MCP-35_tools-8A2BE2)\r\n\r\n**[v2.15 핵심](#v215-핵심) · [30초 시작](#30초-시작) · [VHK vs 맨 에이전트](#vhk-vs-맨-에이전트) · [핵심 루프](#핵심-루프) · [명령 전체](#명령-전체)**\r\n\r\n</div>\r\n\r\n> [!IMPORTANT]\r\n> npm latest는 **v2.15.1**입니다. ADR-021의 save 가드·`--no-push`와 ADR-020의 공통 Agent Skills 정본·투영을 포함합니다.\r\n\r\n> [!NOTE]\r\n> VHK는 새 코딩 에이전트가 **아닙니다.** 이미 쓰는 에이전트를 감싸 \"무엇을 하기로 했는지 · 정말 끝났는지 · 다음 세션이 어디서 이어질지\"를 repo 안의 파일과 CLI 게이트로 고정하는 하네스입니다. 모델이 바뀌어도 규칙·기억·게이트는 repo에 남습니다.\r\n\r\n명령어를 외우지 않아도 됩니다. `vhk`만 실행하면 한국어 메뉴가 열리고, `vhk 저장해줘`·`vhk 다음 목표`·`vhk 출고점검` 같은 자연어도 라우팅합니다.\r\n\r\n### 이렇게 돌아갑니다 — `vhk doctor` (실제 출력)\r\n\r\n<!-- 움직이는 데모(asciinema)는 준비 중 — 아래는 실제 실행 캡처 -->\r\n\r\n```text\r\n🩺 개발 환경 점검\r\n\r\n  🟢 Node     v24.13.0 (shim-safe)\r\n  🟢 pnpm     11.17.0\r\n  🟢 git      2.53.0 (user configured)\r\n  🟢 VHK      v2.15.1\r\n  🟢 MCP      35 tools 등록\r\n\r\n  📁 프로젝트 파일 확인:\r\n    ✅ RULES.md   ✅ COMMANDS.md   ✅ package.json   ✅ .gitignore\r\n\r\n  🔀 설정 불일치(drift) 점검 (규칙·맥락 어긋남):\r\n    ✅ 규칙 파일이 RULES.md와 일치\r\n    ⚠️ .vhk/context.md 가 현재 코드보다 낡았어요 — vhk context 로 갱신하세요\r\n\r\n  🎉 개발 환경 준비 완료!\r\n\r\n━━━ 다음에 이것만 하세요 ━━━\r\n  vhk work\r\n```\r\n\r\n## v2.15 핵심\r\n\r\n- **무승인 push 봉인** — 비-TTY `vhk save`는 `--yes`(commit+push) 또는 `--no-push`(로컬 commit만)를 명시해야 합니다. 사람의 TTY 사용 흐름은 그대로입니다.\r\n- **도구 독립 Agent Skills** — `.agents/skills`를 공통 정본으로 삼고 Claude Code용 관리 사본과 npm 번들을 안전하게 투영합니다. 누락·drift·사용자 충돌은 `sync --check`가 쓰기 없이 잡습니다.\r\n- **기본-off 안전 정책** — `vhk policy level/risk/show/check`로 권한 단계·위험도·허용목록·호출 수·시간 한도를 조회하고 판정합니다. 대상 명령을 실행하거나 자동 집행을 켜지는 않습니다.\r\n- **증거 기준선 분리** — `vhk receipt --mark-start`는 intent/forbidden 대조용 변경 범위의 시작 SHA만 기록합니다. `receipt`는 발행 중 새 검증을 실행하고, 검증 시작 HEAD·dirty와 게이트 종료 후 상태를 비교해 stale 여부를 판정합니다.\n- **증거 재사용 실험** — 로컬 입력만 읽는 게이트는 `.vhk/gates.json`의 `reuse: { \"localInputsOnly\": true, \"extraInputs\": [] }` 계약을 선언하고 `vhk verify --prepare-reuse` → `vhk receipt --reuse-verified`로 마감할 수 있습니다. Git 추적 밖 입력은 `extraInputs`에 프로젝트 상대경로로 모두 선언합니다. 같은 clean HEAD·파일·설정·의존성·환경·dist·실행 CLI·PASS 결과가 유지된 10분 안에서만 재사용하며, 부재·변경·만료·읽기 실패는 자동 재검사 없이 BLOCK입니다. 외부 파일·서비스·시간 의존 게이트에는 사용하지 않습니다. 준비 모드는 원장 자동 커밋을 보류하며 이후 커밋은 증거를 무효화합니다. **기본 `receipt`는 이전 결과와 관계없이 전체 검사를 새로 실행합니다.** 실패·미완료 증거의 재사용 차단은 `--reuse-verified` 경로에만 적용합니다. verify 시작 시 기존 봉인을 제거하고 같은 schema의 FAIL/미완료 리포트로 기록합니다. 직전 실패 게이트·커밋은 보존하고, `verify --report`·`--check-fresh`도 미완료를 거절합니다. 완료되면 실제 결과로 교체합니다. 재사용 출처·실제 검증 시각은 JSON·Markdown·콘솔·receipt-log에 표시하며 실험용 재사용 영수증은 공식 자율 완주 통계에 포함하지 않습니다. 로컬 파일 위조를 막는 서명은 아니므로 독립 Review·CI·Release Gate의 대체물로 사용하지 않습니다. 두 명령은 같은 환경의 직접 CLI로 호출해야 합니다. 다른 package script에서 호출하면 lifecycle 환경 차이로 BLOCK할 수 있습니다. 실험은 빌드된 JS CLI와 고정된 toolchain에서 수행하며 독립 Review 요구는 유지합니다.\n  재사용은 저장소 루트에서 실행해야 합니다. 짧은 이름·정션을 실제 경로로 펼치고, Windows의 대소문자 무시 비교는 루트 동일성에만 적용합니다. 입력은 구분자를 포함한 정확한 경계로 검사하며, 하위 폴더에서 실행하거나 입력이 저장소 밖을 가리키면 거절합니다.\n- **안정적인 마감** — `vhk goal next`는 BLOCKED·DEFERRED·OBSERVING을 완료로 오인하지 않고, 미해결 Goal 없이 DONE/CANCELED만 남은 종결 상태를 반복 조회해도 완료 시각이나 백업을 다시 만들지 않습니다. 생성되는 gate skill은 모든 Goal이 정상 DONE인 branch closeout을 `review N/A`와 branch receipt 경로로 안내합니다.\n\r\n자동 집행과 `enforce` 활성화는 2.15 범위가 아닙니다. 관찰 게이트를 충족하고 사람이 계속을 결정한 뒤 2.16에서 다룹니다.\r\n\r\n<details>\r\n<summary>목차</summary>\r\n\r\n- [v2.15 핵심](#v215-핵심)\r\n- [왜 VHK인가](#왜-vhk인가)\r\n- [30초 시작](#30초-시작)\r\n- [VHK vs 맨 에이전트](#vhk-vs-맨-에이전트)\r\n- [핵심 루프](#핵심-루프)\r\n- [오토파일럿 /vhk-auto](#-오토파일럿-스킬-vhk-auto-1단계-mvp)\r\n- [명령 전체 (MCP 35 tools · 명령 표면)](#명령-전체)\r\n- [자연어 예시](#자연어-예시)\r\n- [보안과 개인정보](#보안과-개인정보)\r\n- [요구 사항](#요구-사항)\r\n- [개발 · 배포 · Pro · 라이선스](#개발)\r\n\r\n</details>\r\n\r\n## 왜 VHK인가\r\n\r\nVHK는 AI 코딩에서 반복되는 문제를 repo 안의 파일과 게이트로 **고정**합니다.\r\n\r\n| AI 코딩에서 자주 생기는 문제 | VHK가 고정하는 것 | 대표 명령 |\r\n| --- | --- | --- |\r\n| 도구마다 규칙 파일이 따로 논다 | `RULES.md` 한 벌을 여러 에이전트 규칙 파일로 동기화 | `vhk sync` |\r\n| 세션이 끊기면 맥락이 사라진다 | `.vhk/context.md`, `brief`, `work` 프롬프트로 이어받기 | `vhk work` |\r\n| AI가 \"완료\"라고 하지만 증거가 빈약하다 | verify/review/preflight/testmap으로 증거와 게이트 확인 | `vhk verify` |\r\n| 목표가 많아지면 무엇부터 할지 흐려진다 | `goals/*.md`와 `docs/state/next-task.md`로 다음 목표 고정 | `vhk goal next` |\r\n| 같은 실수가 반복된다 | memory/pattern/evolve로 교훈과 룰 후보 축적 | `vhk learn` |\r\n| 위험한 상태에서 계속 진행한다 | blocker 3건 누적 시 `.vhk/HARD_STOP` 생성 | `vhk blocker` |\r\n| AI 비용이 새는지 모른다 | cost 가드로 예산·사용량 추적 + 임계(80% 경고·100% 차단) | `vhk cost` |\r\n| SEO·수익 확인이 콘솔 여러 개에 흩어져 있다 | 사이트 등록·자격증명 안전보관·오프라인 리포트로 한곳에 정리(실 제출·수집은 자격증명 연결 후 사람이 실행) | `vhk seo` |\r\n\r\n## 30초 시작\r\n\r\n```powershell\r\nnpm install -g @byh3071/vhk    # 또는 1회성: npx -y @byh3071/vhk\r\nvhk --version\r\n\r\n# 새 프로젝트: 기술 스택을 알면 바로 확정\r\nvhk start --stack \"Vite, React, TypeScript\"\r\n\r\n# 아직 모르면 후보로 시작하고 첫 세션에서 확정\r\nvhk start\r\n\r\n# 기존 프로젝트에 하네스와 PR 검사 얹기\r\nvhk init -y --ci\r\nif ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }\r\nvhk sync\r\nif ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }\r\nvhk mcp-init\r\n```\r\n\r\nNode.js 22 이상이 필요합니다. `vhk start --stack \"...\"`은 지정한 기술 스택을 확정값으로 기록합니다. `--stack`을 생략하면 자동 감지·유형 프리셋은 후보로만 기록되고 기존 `NEEDS_CUSTOMIZATION` 첫 세션 인터뷰에서 먼저 확인합니다. 아이디어부터 검증하려면 `vhk gate`로 시작하세요.\r\n\r\n`vhk init --ci`는 `.github/workflows/vhk-gate.yml`을 만들고 PR마다 검증·규칙·공개 경계 검사를 실행합니다. 기존 GitHub Actions 워크플로가 있으면 파일을 건드리지 않고 병합 방법을 안내합니다. GitHub에서 병합을 실제로 막으려면 저장소 **Settings → Rules**에서 상태 검사 `VHK Gate`를 필수로 지정하세요.\r\n\r\n기존 프로젝트에서 `vhk init`을 실행하면 여러 규칙 파일의 같은 관리 구역은 한 번만 가져옵니다. 같은 이름인데 내용이 다르거나 `BEGIN/END` 표시가 깨진 구역은 자동으로 고르지 않고, 원본을 그대로 둔 채 복구 방법과 함께 중단합니다.\r\n\r\n설치가 끝나면 규칙 파일 연결 수와 함께 핵심 규칙의 출처·버전을 따로 보여줍니다. `VHK 내장 기본 규칙`으로 대신한 경우에는 사용자 규칙 파일이 연결된 상태가 아님을 마지막 설치 점검에서 다시 경고합니다.\r\n\r\nCursor 기존 프로젝트는 `vhk bootstrap cursor`로 VHK 관리 Skill을 설치할 수 있습니다. 신규 설치는\r\nGoogle Antigravity·Codex·Cursor가 함께 읽는 `.agents/skills`를 만들고, 같은 정본에서 Claude Code용\r\n`.claude/skills` 관리 사본을 생성합니다. 관리 표식과 본문 해시가 일치하는 구버전만 안전하게 갱신하며,\r\n사용자가 손댄 파일과 기존 `.cursor/skills`는 덮어쓰기·삭제·이동하지 않고 수동 병합을 안내합니다.\r\n정본 필수 파일 누락, 실행 때 발견한 외부 링크, 실제 쓰기 실패는 성공으로 넘기지 않습니다. 관리본 갱신은\r\n기존 파일을 먼저 `.vhk/backups`로 이동하고 새 파일을 배타 생성합니다. 실패하면 이전 관리본을 활성 경로로\r\n복구하며, 완성본을 원자 생성할 수 없는 파일시스템에서는 부분 사본을 남기는 방식으로 낮추지 않습니다.\r\n생성되는 검증 Skill은 특정 `pnpm` 스크립트를 가정하지 않고 `vhk verify`가 프로젝트의 실제 스크립트를\r\n판별하게 합니다.\r\n\r\n### 선택: 사용자 규칙 YAML 연결\r\n\r\nVHK는 다른 저장소 없이 독립 실행됩니다. 별도 규칙이 필요하면 YAML 파일을 직접 연결하세요.\r\n\r\n```powershell\r\nvhk config set-rules-file C:\\rules\\team-rules.yaml\r\n# 또는 현재 프로세스 시작 전에 VHK_RULES_FILE 환경변수로 지정\r\n```\r\n\r\n## VHK vs 맨 에이전트\r\n\r\nVHK는 에이전트를 **대체하지 않습니다** — 에이전트가 못 하는 반복·기억·게이트를 담당해 **그 위**를 채웁니다.\r\n\r\n| | 맨 에이전트<br/>(Claude Code·Cursor 단독) | 일반 CI·eslint | **VHK** |\r\n| --- | --- | --- | --- |\r\n| 적대적 코드 리뷰 | 요청 시 1회·일관성 없음 | 정적 규칙만 | **반복 게이트** |\r\n| 실행 기반 검증 | 부분(말로) | 테스트만 | **verify 실행·증거 기록** |\r\n| 모델·에이전트 교체 시 규칙·기억 | 세션과 함께 휘발 | 해당 없음 | **규칙 포터·기억 이관** |\r\n| 쓸수록 규칙 자가축적 | 없음 | 수동 설정 | **세션마다 자동 적립** |\r\n| 한국어 우선 | 영어 기본 | 해당 없음 | **한국어 SoT·자연어 라우팅** |\r\n| 릴리스 게이트 강제 | 없음 | 통과/실패 | **preflight·goal 게이트 루프** |\r\n\r\n## 핵심 루프\r\n\r\n### 1. 규칙 포터빌리티 — 에이전트를 갈아타도 규칙은 그대로\r\n\r\n`RULES.md` 한 벌을 원천으로 두고 8개 타겟을 생성·갱신합니다: `.cursorrules`, `CLAUDE.md`, `.windsurfrules`, `.github/copilot-instructions.md`, `.agents/rules/vhk-rules.md`, `AGENTS.md`, `GEMINI.md`, `.clinerules/vhk-rules.md`.\r\n\r\n```powershell\r\nvhk sync\r\nvhk sync --check   # 검사만 — 규칙·Agent Skill의 누락/불일치/사용자 충돌 확인 (문제 시 exit 1, 쓰기 0)\r\n```\r\n\r\n모든 도구가 반드시 읽어야 하는 안전 절은 제목에 표시합니다. 목록은 코드에 따로 적지 않고\r\n`RULES.md`의 이 표시에서 가져옵니다. 파생 파일 하나에서 절이 빠지면 `sync --check`가 누락으로 잡습니다.\r\n\r\n```markdown\r\n## 안전 규칙 <!-- vhk:sync=all -->\r\n```\r\n\r\n`vhk sync --check`에서 미연결 섹션이 나오면 출력에 표시된 표준 말을 제목에 넣거나, 위처럼 제목 뒤에 `<!-- vhk:sync=all -->`을 붙이세요. 검사 결과가 실제 미연결 섹션명과 VHK가 인식하는 표준 제목을 함께 보여줍니다.\r\n\r\nVHK 소유 공통 Skill은 `.agents/skills`에서만 편집합니다. `vhk sync`는 프로젝트 범위의 관리본과\r\nClaude Code 투영을 맞추고, `vhk sync --check`는 정본·npm 번들·투영의 버전과 해시 차이를 쓰기 없이\r\n검사합니다. `auto-merge`처럼 특정 호스트에만 속한 Skill은 공통 manifest 밖에 둡니다.\r\n\r\n규칙 줄에 짧은 검사 ID를 붙이면 `vhk check`가 대응하는 스크립트를 실행하고 검사 비율을 보여줍니다.\r\nID는 영문 소문자·숫자·하이픈만 사용합니다. `.mjs`가 있으면 먼저 실행하고, 없을 때 `.sh`를 찾습니다.\r\n\r\n```markdown\r\n- execSync 신규 사용 금지 <!-- vhk:check=no-exec-sync -->\r\n```\r\n\r\n```text\r\nscripts/check-rule-no-exec-sync.mjs\r\n```\r\n\r\n```powershell\r\nvhk check\r\nvhk check --json   # declaredRules·checkedRules·uncheckedRules·coveragePercent 포함\r\n```\r\n\r\n### 2. Goal과 HARD_STOP\r\n\r\nGoal은 `goals/*.md`와 `scripts/check-goal-<id>.mjs`를 연결합니다. `vhk goal done`은 게이트를 다시 돌려 통과할 때만 DONE으로 전이합니다. 선택 필드 `depends_on: 1,2`를 쓰면 두 Goal이 모두 DONE이 되기 전에는 다음 작업이나 완료 대상으로 선택되지 않습니다. 블로커가 반복되면(3건 누적) `.vhk/HARD_STOP`으로 진행을 멈춥니다.\r\n\r\n`vhk goal next`는 선택 가능한 Goal 없이 BLOCKED·DEFERRED·OBSERVING만 남으면 완료로 오인하지 않고 사람이 쓴 `next-task.md`를 보존합니다. VHK가 만든 과거 완료 스냅샷이 거짓 상태가 되면 완료 표시와 시각을 함께 무효화합니다. 미해결 Goal 없이 DONE/CANCELED만 남은 종결 상태에서는 기존 `next-task.md`가 있을 때만 백업 후 완료 스냅샷으로 갱신하며, 파일이 없으면 새로 만들지 않습니다. 이미 완료 스냅샷이면 아무것도 쓰지 않아 시각과 백업이 늘지 않습니다.\r\n\r\n```powershell\r\nvhk goal next\r\nvhk goal done --id 42\r\nvhk blocker \"테스트가 같은 원인으로 계속 실패\"\r\n```\r\n\r\n#### Goal Phase/Task를 읽기 전용으로 보기\r\n\r\nGoal 본문을 아래 정확한 문법으로 나누면 `vhk context --json`이 상태와 Phase 장벽을 JSON으로\r\n투영합니다. Phase와 Goal 전체의 Task 번호는 각각 양수·고유·오름차순이면 되고 결번을 허용합니다.\r\nPhase/Task는 선택 사항이라 Phase가 없는 legacy Goal도 계속 읽습니다.\r\n\r\n```markdown\r\n### Phase 10\r\n- [x] **Task 100** 구현 / 증거: sample-evidence\r\n- [ ] **Task 105** `(na)` 제외 이유\r\n\r\n### Phase 30\r\n- [ ] **Task 220** 검증 / evidence: sample-report\r\n```\r\n\r\n`(na)`는 Task 라벨 직후의 정확한 backticked 토큰만 인정하며 `[x]`/`[X]`와 함께 쓰면 구조\r\n오류입니다. `/ 증거:`와 `/ evidence:`는 같은 선택적 hint일 뿐 완료 증명이 아닙니다.\r\nmalformed Phase와 유효한 Phase 밖의 Task는 구조 오류입니다.\r\nPhase가 없는 legacy Goal은 `valid: true`, `activeGoal.phases: []`, `activeGoal.tasks: []`로\r\n투영하고 `NO_PHASES` warning을 담아 exit 0으로 끝납니다.\r\n`completed`와 `notApplicable`은 `terminal`, 첫 Phase의 pending Task는 `ready`입니다. 이후 Phase의\r\npending Task는 직전 Phase의 모든 Task가 terminal이면 `ready`, 아니면 `waiting`입니다. 첫 Phase의\r\n`dependsOn`은 비어 있고 이후 각 Task는 직전 Phase의 모든 `goal:N/task:N` string ID를 가집니다.\r\n같은 Phase의 Task는 서로 의존하지 않아 함께 ready일 수 있지만 자동 병렬 실행을 보장하지 않습니다.\r\n\r\n이 명령은 성공·실패 모두 파일을 쓰지 않습니다. 구조·flag·공개 경계 오류는 원문·절대경로·stack을\r\n노출하지 않고 `valid: false`, `activeGoal: null`, 안정적인 `errors` JSON과 exit 1로 끝납니다.\r\n`vhk context --compact --json`도 같은 안전한 오류 계약을 따릅니다.\r\n공개 경계가 차단하는 입력은 시크릿·토큰·키, 홈 절대경로, 개인 이메일·실명·저장소명, 실제 외부\r\n객체 ID입니다. 차단된 입력 원문은 오류에 다시 노출하지 않으며, 예시는 `sample-*`, `<HOME>`,\r\n명백히 가짜 ID만 사용합니다. `--compact --json` 충돌은 `valid: false`와 exit 1인 flag 구조 오류입니다.\r\n\r\n#### 기본 off 실행 정책 조회\r\n\r\n실행 정책은 기본 off입니다. `vhk policy show`는 현재 `record`·`enforce` 플래그와 계산된 권한\r\n단계·위험도를 읽기 전용으로 보여줄 뿐 설정을 켜거나 명령을 실행하지 않습니다.\r\n\r\n판정 이력만 쌓으려면 사람이 `.vhk/policy.json`을 직접 만들거나 편집해 `record: true`로 둡니다.\r\nVHK가 이 값을 자동으로 켜는 명령은 없으며, `enforce: false`에서는 판정을 기록해도 실행을 막지 않습니다.\r\n\r\n```json\r\n{\r\n  \"schemaVersion\": 1,\r\n  \"record\": true,\r\n  \"enforce\": false\r\n}\r\n```\r\n\r\n```powershell\r\nvhk policy show\r\nvhk 정책 보기\r\n```\r\n\r\n설정을 만든 뒤에는 현재 내용의 해시를 기준선으로 고정할 수 있습니다. 이 명령만 정책 조회와 달리\r\n파일을 쓰는 고위험 작업이며, 사람이 `--confirm`을 붙여 명시적으로 실행해야 합니다. VHK는 기준선을\r\n자동 생성하거나 자동 갱신하지 않습니다. 이후 자율 런 시작·종료 때 설정이 기준선과 달라졌는지 확인합니다.\r\n정책 파일을 지워 기본 off로 돌아갈 때도 같은 명령을 실행하면 “설정 없음” 상태를 `hash: null`로\r\n고정합니다. 그러면 정책 파일이 다시 생기는 것도 변경으로 탐지됩니다.\r\n\r\n```powershell\r\nvhk policy baseline --confirm\r\nvhk 정책 기준선 --confirm\r\n```\r\n\r\n`policy.json`·`policy-baseline.json`·`run-state.json`·`cloud.json`과 구 잠금 예약 이름,\r\n정책·런 상태·클라우드 포인터의 원자 저장 임시본 패턴은 새 프로젝트의 `.vhk/.gitignore`와\r\nVHK cloud 제외 목록에 자동 등록됩니다.\r\n구현 중 사용됐던 `run-state-recovery.lock` 이름도 호환 잔재가 노출되지 않도록 예약 제외합니다.\r\n기존 프로젝트도 기준선 기록이나 런 상태 기록 시 보강합니다.\r\n실행 중 비교용 정책 해시와 최초 종결의 종료 요청·당시 정책 무효화 상태·위험도 판정은 비추적 `run-state.json`에만 저장합니다.\r\n종결·판정 원장이 모두 기록될 때까지 같은 작업 SHA의 재시도는 이 최초 요청과 판정을 그대로 이어 쓰며,\r\n추적 가능한 실행 원장에는 정책 내용 해시를 남기지 않습니다.\r\n공개 정책 의무 필드 도입 전에 남은 종료 기록을 보충할 때도 그 의무를 비공개 상태에 먼저 고정하며,\r\n현대 종료 기록에서 공개 필드만 지워진 경우와 구분해 후자는 완료로 재사용하지 않습니다.\r\n정책 무효화 상태에서 먼저 남은 수동 종료도 최초 요청을 비공개 상태에 고정하므로, 정책을 복구한 뒤\r\n새 판단으로 덮어쓰지 않습니다. 종결 보충용으로 남은 상태는 새 `policy check`의 실행 한도에 섞이지 않습니다.\r\n병렬 런의 실제 잠금은 Git·정책 상태와 무관한 사용자 전용 OS 임시 디렉터리에 두며 프로젝트에는 남기지 않습니다.\r\n\r\n허용목록과 호출 수·시간 한도에 따라 특정 명령이 실행 가능한지만 미리 판정하려면 `--` 뒤에\r\n명령을 argv 그대로 붙입니다. `check`는 대상 명령을 실행하지 않으며 `allow`는 exit 0,\r\n`deny`는 exit 1, 사람 확인이 필요한 `require-human`은 exit 2로 끝납니다.\r\n\r\n```powershell\r\nvhk policy check -- pnpm typecheck\r\nvhk 정책 검사 -- pnpm typecheck\r\n```\r\n\r\n단순 질문은 `vhk pnpm typecheck 실행 가능해?`처럼 자연어로도 검사할 수 있습니다. 명시형도 **단일 실행 파일과 argv만** 지원합니다. 파이프·연쇄(`&&`, `;`)·명령 치환을 붙이면 셸이 VHK 밖에서 실제 명령을 실행할 수 있으므로 절대 붙이지 말고, 각 명령을 따로 검사하세요.\r\n\r\n활성화 설정이 없으면 조회 표면은 판정만 하고 실행 집행이나 정책 원장 기록을 시작하지 않습니다.\r\n\r\n### 3. 증거와 자기검증 — \"실행했다\"와 \"완료됐다\"를 분리\r\n\r\n```powershell\r\nvhk verify     # 게이트 실행 → 확인이 필요한 항목의 경과 시간·숨긴 횟수 표시 + .vhk/reports/latest.json\r\nvhk verify --dismiss lint-gate  # 현재 알림 숨기기(같은 문제가 다시 발생하면 다시 표시)\r\nvhk review     # 최신 증거와 goal 완료조건 교차검증\r\nvhk receipt    # 4대 기계증거(verify 5개 게이트·git dirty·verify SHA 신선도·diff-cover)로 완료 보고 검증 (LLM 0)\r\nvhk preflight  # 2FA·shim·env·lint·type·test·git·branch·docs freshness 출고 전 점검\r\n```\r\n\r\n#### 허위 완료 보고 적발 데모 — 실제 출력\r\n\r\nAI가 \"구현 완료했습니다!\"라고 말했지만 실제로는 테스트가 깨져 있고 커밋도 안 한 상황.\r\n`vhk receipt` 한 번이면 기계증거로 잡힙니다 (2026-07-18 실캡처):\r\n\r\n```text\r\n🧾 검증 리포트 (receipt)\r\n────────────────────────────────────────────\r\n  판정: 🔴 BLOCK\r\n  HEAD: adb79f9  ·  작업기준: adb79f9  ·  게이트: FAIL\r\n\r\n   • 게이트 실패(실종료코드 ≠ 0): test — red\r\n   • working tree 가 dirty — 미커밋/untracked 변경 있음(자기파일 제외 후에도)\r\n\r\n  📄 영수증: .vhk\\receipts\\2026-07-18-block-025956.json\r\n\r\n  🔴 기계증거가 \"됐어요\"와 모순 — 아직 완료 아님.\r\n```\r\n\r\n30초 재현: 아무 프로젝트에서 `vhk receipt --mark-start` → 코드 수정(커밋 X, 테스트 깨진 채) → `vhk receipt`.\r\n`--mark-start`는 intent/forbidden 대조용 변경 범위의 시작 SHA만 기록합니다. `receipt`는 발행 중 `verify`를 새로 실행해 검증 시작 HEAD·dirty와 게이트 종료 후 현재 상태를 비교합니다. 어느 한쪽 커밋을 식별할 수 없어 stale 여부가 미상이면 CAUTION(exit 0), 식별된 상태가 실제로 어긋날 때만 BLOCK(exit 1)입니다.\r\n판정은 종료코드·git dirty·SHA 같은 기계증거 기반이며 LLM 추론이 아닙니다 — 그래서 \"그럴듯한 말\"에 안 속습니다.\r\n(한계도 정직하게: 게으른 허위 완료 보고를 잡는 도구지, 그럴듯하게 틀린 코드까지 잡지는 못합니다.)\r\n\r\n### 4. 기억·패턴·자가진화 — 쓸수록 이 개발자에게 최적화\r\n\r\n세션마다 도메인·맥락·의도·교훈이 `.vhk/memory.json`(repo-local)에 쌓이고, 그게 다시 규칙으로 승격돼 에이전트에 주입됩니다. 어떤 에이전트를 써도 프로젝트 맥락을 점점 더 정확히 이해하게 됩니다.\r\n\r\n```powershell\r\nvhk learn \"비-TTY 명령은 프롬프트 없이 실패해야 한다\"\r\nvhk pattern detect      # 반복되는 실패/성공 신호와 새 규칙 후보를 바로 표시\r\nvhk evolve suggest      # 현재 7일 후보 계산(저장 안 함) — apply는 사람 확인 필수\r\nvhk stats               # 패스율/차단율/진화 적용율/자율 완주율/병목 계측 (읽기 전용, 병목은 gh 필요)\r\n```\r\n\r\n규칙 후보는 별도 큐에 쌓이지 않습니다. 패턴이 생긴 뒤 7일 동안만 표시되고, `apply`·`reject`·`undo`로 결정하거나 되돌린 결과만 로컬 로그에 남습니다. 조회·JSON·MCP 경로는 `RULES.md`를 자동으로 바꾸지 않습니다.\r\n\r\n## 🤖 오토파일럿 스킬 `/vhk-auto` (1단계 MVP)\r\n\r\nVHK 프로젝트에서 **active goal 1개를 혼자 한 바퀴 돌리고 멈춰 보고**하는 클로드 코드 스킬입니다.\r\n\r\n- 하는 일: 앵커 재주입(`loop-brief`+`remind`) → 개발(TDD) → `vhk verify` 결정론 게이트 → `/code-review` 적대검증 → 합격 시 작은 commit → 끝나면 핵심 보고.\r\n- **안전(1단계 한계)**: 외부 발송·이슈 등록·`gh` 호출을 **하지 않습니다.** commit만 자동(push·PR·publish 금지). 문제는 \"이슈 초안 텍스트\"로만 보고합니다.\r\n\r\n> 2단계 로드맵: CLI `vhk auto` + MCP `vhk_auto`로 승격 시 이슈 자동등록(safeExecFile gh·dedupe·undo 승인 패턴·secure 강제)이 결정론 코드로 추가됩니다.\r\n\r\n## 명령 전체\r\n\r\n처음에는 `vhk --help` 또는 `vhk help`로 기본 명령만 보세요. 마케팅·커머스 명령까지 포함한 전체 명령은 `vhk help --all`에서 볼 수 있습니다. 기본 목록에서 숨긴 명령도 삭제되지 않아 이름을 직접 입력하면 그대로 실행됩니다.\r\n\r\n<details>\r\n<summary><b>MCP 35 tools</b> — <code>vhk mcp-init</code> 후 MCP 클라이언트가 <code>vhk mcp</code> stdio 서버로 호출</summary>\r\n\r\n| 그룹 | 도구 |\r\n| --- | --- |\r\n| Git/세션 | `save`, `undo`, `status`, `diff`, `ship`, `recap` |\r\n| 진단/품질 | `doctor`, `check`, `secure`, `audit`, `harness` |\r\n| 환경/규칙 | `env`, `env-check`, `sync`, `mcp-init` |\r\n| 컨텍스트/기억 | `context`, `context-show`, `brief`, `loop-brief`, `remind`, `memory-list`, `learn` |\r\n| 풀사이클 뒷단 | `content`, `launch`, `ops`, `sell` |\r\n| 배포/패키지 안내 | `deploy`, `publish`, `migrate`, `update` |\r\n| 레퍼런스 | `ref-list` |\r\n| 패턴/진화 | `pattern-detect`, `pattern-list`, `evolve-suggest`, `evolve-list` |\r\n\r\n대화형 본질이 강하거나 상태 전이가 큰 명령은 CLI 전용입니다: `gate`, `start`, `init`, `goal`, `mission set`, `design`, `theme`, `evolve apply/reject/undo`.\r\n\r\n</details>\r\n\r\n<details>\r\n<summary><b>명령 표면 (CLI 전체)</b></summary>\r\n\r\n| 영역 | 명령 | 용도 |\r\n| --- | --- | --- |\r\n| 시작 | `vhk`, `vhk gate`, `vhk start [--stack \"목록\"]`, `vhk init [--ci]` | 메뉴, 아이디어 검증, 새 프로젝트 마법사(기술 스택 지정 시 확정·미지정 시 후보), 하네스 초기화(+선택적 GitHub PR 필수 검사) |\r\n| 규칙/맥락 | `vhk sync`, `vhk context [--json]`, `vhk context-show`, `vhk brief`, `vhk loop-brief`, `vhk remind`, `vhk work`, `vhk work handoff` | 규칙 동기화, 프로젝트 맥락 생성, Goal Phase/Task 읽기 전용 JSON, 루프 1틱 의도 앵커, 치명 규칙 재주입, 세션 시작/인수인계 |\r\n| 풀사이클 뒷단 | `vhk content`, `vhk launch`, `vhk ops`, `vhk sell` | 콘텐츠/런칭/운영/판매 초안 프롬프트 생성 (초안만, 게시·발송·결제는 사람이) · RULES.md 치명 규칙 자동 상속 · 과거 교훈(`.vhk/memory`) ≤3 자동 회상 주입 — 다음 사이클로 복리 |\r\n| Goal | `vhk goal init/list/next/check/done/sync/drift` | 단계별 목표, 게이트, 상태 불일치(drift) 관리 |\r\n| Trust | `vhk verify`, `vhk review`, `vhk receipt`, `vhk preflight`, `vhk testmap`, `vhk mission set/show/check/clear` | 증거 생성, 완료 보고 검증, 검증 리포트, 출고 전 점검, 테스트 매핑, 작업 범위 계약 |\r\n| 안전 | `vhk blocker`, `vhk resume --confirm`, `vhk mode`, `vhk secure scan`, `vhk policy level/risk/show/check/baseline` | HARD_STOP, safety mode, 시크릿 스캔, 기본-off 실행 정책 조회·판정·기준선 |\r\n| Git | `vhk status`, `vhk diff`, `vhk save`, `vhk 저장`, `vhk undo`, `vhk restore`, `vhk recap` | 상태/변경 확인, 커밋/푸시(save는 high-risk — 비-TTY Commander는 `--yes`로 commit+push하거나 그 대신 `--no-push`로 로컬 commit만 수행), 되돌리기, 세션 로그 |\r\n| 환경/품질 | `vhk doctor`, `vhk check`, `vhk env`, `vhk env-check`, `vhk harness`, `vhk audit`, `vhk worktree check/add` | 개발환경, RULES 린트, env, 통합 품질, 보안 감사, worktree 가드(`add`는 `--path`/`--dry-run`/`--yes`) |\r\n| 배포/패키지 | `vhk ship`, `vhk deploy`, `vhk publish`, `vhk update`, `vhk migrate` | 배포 체크, 배포 실행, npm 릴리스 자동화, 셀프 업데이트, 패키지 매니저 전환 |\r\n| MCP/클라우드 | `vhk mcp`, `vhk mcp-init`, `vhk cloud push/pull` | MCP stdio 서버, 클라이언트 설정, `.vhk/` secret gist 백업/복원 |\r\n| 기억/학습 | `vhk memory`, `vhk learn`, `vhk pattern`, `vhk evolve`, `vhk stats`, `vhk loop` | 결정/실패/성공 기억, 교훈, 반복 패턴, 룰 후보, 통계, 자가진화 조율 |\r\n| 디자인/레퍼런스 | `vhk design`, `vhk design-palette`, `vhk theme`, `vhk ref add/list/open` | 디자인 토큰, 테마, 참고 링크 관리 |\r\n| 일일 리듬 | `vhk standup`, `vhk today` | 아침 브리핑, 저녁 회고 |\r\n\r\n</details>\r\n\r\n## 자연어 예시\r\n\r\n| 입력 | 라우팅 |\r\n| --- | --- |\r\n| `vhk 저장해줘` | standard/strict: 미리보기만 하고 exit 1 · lite+TTY: 경고 후 실행 · lite+비-TTY: 차단 후 exit 1. standard/strict 미리보기 뒤 실행으로 전환하려면 `vhk save --yes -m \"메시지\"`(commit+push) 또는 `vhk save --no-push -m \"메시지\"`(로컬 commit만)를 사용합니다. |\r\n| `vhk 뭐 바뀌었어` | `vhk diff` |\r\n| `vhk 다음 목표` | `vhk goal next` |\r\n| `vhk 출고점검` | `vhk preflight` |\r\n| `vhk 보안 스캔` | `vhk secure scan` |\r\n| `vhk 오늘 한 일 정리` | `vhk recap` |\r\n| `vhk 인수인계` | `vhk work handoff` |\r\n\r\n## 보안과 개인정보\r\n\r\n> [!TIP]\r\n> VHK에서 LLM은 **결정 경로가 아니라 검토·요약 보조**입니다. verify/receipt 같은 게이트 판정은 tsc·test·build 종료코드 등 기계 증거로 내리고, 되돌릴 수 없는 작업(발송·결제·publish)은 사람이 실행합니다.\r\n\r\n- VHK는 기본 local-first입니다. 로그·맥락·기억은 repo와 `.vhk/`에 남습니다.\r\n- `.env`와 민감 파일은 `.gitignore`·`secure scan`·`preflight`에서 계속 확인합니다.\r\n- `vhk cloud push/pull`은 `public:false`가 확인된 Gist만 연결하며 토큰은 코드나 설정에 저장하지 않습니다.\r\n- 신규 Gist 생성 뒤 공개 여부 확인이 실패하면 `cloud.json`에는 연결하지 않고, 상태 확인·삭제에 쓸 복구 ID를 출력합니다.\r\n- `.vhk` 링크, 전송 대기 중 링크로 교체된 파일, 운영체제 비호환 파일명·정규화 충돌,\r\n  원격 일부 읽기 실패는 로컬·원격 쓰기 전에 실패 폐쇄합니다.\r\n- `memory.json`·`refs.json`·정책 상태와 그 잠금·원자 저장 임시본·`HARD_STOP` 같은 개인/상태 파일은 기본 백업 제외 대상입니다.\r\n- 취약점은 공개 이슈에 세부 정보를 올리지 말고 [SECURITY.md](SECURITY.md)의 비공개 제보 절차를 이용하세요.\r\n\r\n## 요구 사항\r\n\r\n- Node.js >= 22, Git\r\n- 선택: `gh` CLI (`vhk cloud push/pull` 사용 시), pnpm/yarn/npm 중 프로젝트 패키지 매니저\r\n\r\nWindows PowerShell에서 실행 정책 때문에 `pnpm`이 막히면 `pnpm.cmd`를 사용하세요.\r\n\r\n## 개발\r\n\r\n```powershell\r\npnpm.cmd install\r\npnpm.cmd run build\r\npnpm.cmd run test:run\r\n```\r\n\r\n`prepublishOnly`는 publish 전에 빌드·테스트·npm 공개 경계 검사·High 이상 의존성 감사를 모두 실행합니다.\r\n\r\n<details>\r\n<summary>배포 담당자 메모</summary>\r\n\r\n```powershell\r\nnpm.cmd login\r\npnpm.cmd run prepublishOnly\r\nnpm.cmd publish --access public\r\n```\r\n\r\n일반 개발 중에는 `vhk publish`나 `npm publish`를 실행하지 마세요. 릴리스 담당자가 version, changelog, tag, npm dist를 확인한 뒤 실행합니다.\r\n\r\n</details>\r\n\r\n## Pro (관심 실측 중)\r\n\r\nVHK 코어는 MIT로 **영구 무료**입니다. 아래는 팀/다중 프로젝트용 Pro 후보이며, **수요를 먼저 확인하고 만듭니다.**\r\n\r\n- 팀 규칙 레지스트리 — `RULES.md`를 여러 사람·레포에 클라우드 동기화\r\n- 패턴/교훈 클라우드 — 여러 레포의 `memory`/`pattern`을 통합\r\n- 비용 가드 대시보드 — 다중 프로젝트 예산·사용량 집계\r\n\r\n필요하면 [이슈](https://github.com/byh3071-cpu/vhk/issues)에 `pro` 라벨로 남겨주세요. 관심 3건이면 만듭니다.\r\n\r\n## 라이선스\r\n\r\nMIT - [LICENSE](LICENSE)\r\n\r\nRepository: https://github.com/byh3071-cpu/vhk · Site: https://yohanstudio.co/vhk\r\n","readmeFilename":"README.md"}