{"_id":"@theunwalked/cardigantime","_rev":"26-d7f68defd155fbc7c95f06a25b6ab85f","name":"@theunwalked/cardigantime","dist-tags":{"latest":"0.0.23"},"versions":{"0.0.1":{"name":"@theunwalked/cardigantime","version":"0.0.1","keywords":["config","productivity","notes","genai"],"author":{"name":"Semicolon Ambulance","email":"SemicolonAmbulance@proton.me"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.1","maintainers":[{"name":"semicolonambulance","email":"SemicolonAmbulance@proton.me"}],"homepage":"https://github.com/SemicolonAmbulance/cardigantime#readme","bugs":{"url":"https://github.com/SemicolonAmbulance/cardigantime/issues"},"dist":{"shasum":"06fe539278fc34a59cfac4bdfc6d27a654af3127","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.1.tgz","fileCount":45,"integrity":"sha512-JmgbwA2njpBzEEeRB5yHVS8wHwe7QeL2Ax/EdsXIdguJApNOMf737nEza492s0SbVnvNi0EsWWDNO90OQ8+K1g==","signatures":[{"sig":"MEUCIQDtO8wL2IkQIntJn1QiSy53AmOV+b+zj2YKeVfBRvCYEwIgdhOox3VysOzUZpwrhD+lDTxczz8YtWEK+RzfeUeDaxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":164962},"main":"dist/cardigantime.cjs","_from":"file:theunwalked-cardigantime-0.0.1.tgz","types":"dist/cardigantime.d.ts","module":"dist/cardigantime.js","exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"}},"scripts":{"dev":"vite","lint":"eslint . --ext .ts","test":"vitest run","build":"tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"semicolonambulance","email":"SemicolonAmbulance@proton.me"},"_resolved":"/tmp/820d521e81b80feaf56203273e2ca795/theunwalked-cardigantime-0.0.1.tgz","_integrity":"sha512-JmgbwA2njpBzEEeRB5yHVS8wHwe7QeL2Ax/EdsXIdguJApNOMf737nEza492s0SbVnvNi0EsWWDNO90OQ8+K1g==","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/SemicolonAmbulance/cardigantime.git","type":"git"},"_npmVersion":"10.9.2","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^3.24.4","glob":"^11.0.2","dotenv":"^16.5.0","js-yaml":"^4.1.0","winston":"^3.17.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","eslint":"^9.26.0","vitest":"^3.1.0","globals":"^16.1.0","@swc/core":"^1.11.24","@eslint/js":"^9.26.0","typescript":"^5.8.3","@types/node":"^22.15.14","@types/luxon":"^3.6.2","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.3","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^5.0.1","@vitest/coverage-v8":"^3.1.0","eslint-plugin-import":"^2.31.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.32.0","@typescript-eslint/eslint-plugin":"^8.32.0"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.1_1748041336291_0.048393932114678684","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@theunwalked/cardigantime","version":"0.0.2","keywords":["config","productivity","notes","genai"],"author":{"name":"Semicolon Ambulance","email":"SemicolonAmbulance@proton.me"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.2","maintainers":[{"name":"semicolonambulance","email":"SemicolonAmbulance@proton.me"}],"homepage":"https://github.com/SemicolonAmbulance/cardigantime#readme","bugs":{"url":"https://github.com/SemicolonAmbulance/cardigantime/issues"},"dist":{"shasum":"aae5bdf7ecbdc5d419fd2101bfda1116e65d7cfb","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.2.tgz","fileCount":27,"integrity":"sha512-qu9QHasFjOIKZCS/RGTsjZ+yxbPTQYrjXfcLbVEtuJMlhAIxK0+CDQ1Eeegjvx67Gkhaty37YAnFjuLkLPqXRQ==","signatures":[{"sig":"MEUCIQCWfnParm3+89psyqmuOONeKldUTh3/lwityjFfn3Yb2wIgTlulRR1ZmZM/okKVFz0XEQe1ne/ZHEPk+nQIdGwscw4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111869},"main":"./dist/cardigantime.cjs","type":"module","_from":"file:theunwalked-cardigantime-0.0.2.tgz","types":"./dist/cardigantime.d.ts","module":"./dist/cardigantime.js","exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"},"./package.json":"./package.json"},"scripts":{"dev":"vite","lint":"eslint . --ext .ts","test":"vitest run","build":"tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"semicolonambulance","email":"SemicolonAmbulance@proton.me"},"_resolved":"/tmp/ec6533c151db51b3018723d00a3a5617/theunwalked-cardigantime-0.0.2.tgz","_integrity":"sha512-qu9QHasFjOIKZCS/RGTsjZ+yxbPTQYrjXfcLbVEtuJMlhAIxK0+CDQ1Eeegjvx67Gkhaty37YAnFjuLkLPqXRQ==","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/SemicolonAmbulance/cardigantime.git","type":"git"},"_npmVersion":"10.9.2","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^3.25.34","glob":"^11.0.2","dotenv":"^16.5.0","js-yaml":"^4.1.0","winston":"^3.17.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","eslint":"^9.27.0","vitest":"^3.1.4","globals":"^16.2.0","@swc/core":"^1.11.29","@eslint/js":"^9.27.0","typescript":"^5.8.3","@types/node":"^22.15.24","@types/luxon":"^3.6.2","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.4","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^5.0.1","@vitest/coverage-v8":"^3.1.4","eslint-plugin-import":"^2.31.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.33.0","@typescript-eslint/eslint-plugin":"^8.33.0"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.2_1748478117428_0.6082778900631192","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@theunwalked/cardigantime","version":"0.0.3","keywords":["config","productivity","notes","genai"],"author":{"name":"Semicolon Ambulance","email":"SemicolonAmbulance@proton.me"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.3","maintainers":[{"name":"semicolonambulance","email":"SemicolonAmbulance@proton.me"}],"homepage":"https://github.com/SemicolonAmbulance/cardigantime#readme","bugs":{"url":"https://github.com/SemicolonAmbulance/cardigantime/issues"},"dist":{"shasum":"55c1426c4363832929af688820646298fbd3cb8e","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.3.tgz","fileCount":36,"integrity":"sha512-fQFmWpXC7tlw5cIBYPOE4zgGZAktqRT2JGCiNWzuIOVuXCg+BtGQTr6pLIl0RgHsLcDuTDH8kPxesWetzd/+XA==","signatures":[{"sig":"MEQCIGik5jivXopHxx4r9+4BfZz8+i+XznONLRBXHlOGojcyAiAZJ6KTz43VsrGvHTewmUT1H0EBFxc0vJIDVDcatmNW+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":264148},"main":"./dist/cardigantime.cjs","type":"module","_from":"file:theunwalked-cardigantime-0.0.3.tgz","types":"./dist/cardigantime.d.ts","module":"./dist/cardigantime.js","exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"},"./package.json":"./package.json"},"scripts":{"dev":"vite build --watch","lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"semicolonambulance","actor":{"name":"semicolonambulance","type":"user","email":"SemicolonAmbulance@proton.me"},"email":"SemicolonAmbulance@proton.me"},"_resolved":"/tmp/45e23c77450d87ec885210476d8cf61e/theunwalked-cardigantime-0.0.3.tgz","_integrity":"sha512-fQFmWpXC7tlw5cIBYPOE4zgGZAktqRT2JGCiNWzuIOVuXCg+BtGQTr6pLIl0RgHsLcDuTDH8kPxesWetzd/+XA==","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/SemicolonAmbulance/cardigantime.git","type":"git"},"_npmVersion":"10.9.2","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.25.67","glob":"^11.0.3","dotenv":"^17.0.0","js-yaml":"^4.1.0","winston":"^3.17.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","eslint":"^9.30.0","vitest":"^3.2.4","globals":"^16.2.0","@swc/core":"^1.12.7","@eslint/js":"^9.30.0","typescript":"^5.8.3","@types/node":"^24.0.7","@types/luxon":"^3.6.2","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.4","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^5.0.1","@vitest/coverage-v8":"^3.2.4","eslint-plugin-import":"^2.32.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.35.0","@typescript-eslint/eslint-plugin":"^8.35.0"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.3_1751254587119_0.5952387807913502","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@theunwalked/cardigantime","version":"0.0.5","keywords":["config","productivity","notes","genai"],"author":{"name":"Semicolon Ambulance","email":"SemicolonAmbulance@proton.me"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.5","maintainers":[{"name":"semicolonambulance","email":"SemicolonAmbulance@proton.me"}],"homepage":"https://github.com/SemicolonAmbulance/cardigantime#readme","bugs":{"url":"https://github.com/SemicolonAmbulance/cardigantime/issues"},"dist":{"shasum":"1a82fc9183247c63d4464329f938767a1fc8f92e","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.5.tgz","fileCount":36,"integrity":"sha512-WzOtaFW1oibne0yJispT0kDYFOmvCHkl0JJm6FHgcy/Bu0HSMkipnLZopjibl0cPqFDK1RmBu824VHlW+e2E2A==","signatures":[{"sig":"MEQCIAfwRUcFlOEj7Tw4SmpubgKyfBVxwDL6mtSiqhDCGLcnAiBCK5iXi8EKKJXM7TfmkJ0Iwhn7UVK67iCBshVV49+pPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":264505},"main":"./dist/cardigantime.cjs","type":"module","_from":"file:theunwalked-cardigantime-0.0.5.tgz","types":"./dist/cardigantime.d.ts","module":"./dist/cardigantime.js","exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"},"./package.json":"./package.json"},"scripts":{"dev":"vite build --watch","lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","docs:dev":"cd docs && cp ../README.md public/ && pnpm install && pnpm run dev","lint:fix":"eslint . --ext .ts --fix","docs:test":"cd docs && pnpm install && pnpm run test","docs:build":"cd docs && cp ../README.md public/ && pnpm install && pnpm run build","docs:preview":"cd docs && pnpm run preview","docs:coverage":"cd docs && pnpm install && pnpm run coverage"},"_npmUser":{"name":"semicolonambulance","actor":{"name":"semicolonambulance","type":"user","email":"SemicolonAmbulance@proton.me"},"email":"SemicolonAmbulance@proton.me"},"_resolved":"/tmp/ce2c32464861464a3b4ea26466f14924/theunwalked-cardigantime-0.0.5.tgz","_integrity":"sha512-WzOtaFW1oibne0yJispT0kDYFOmvCHkl0JJm6FHgcy/Bu0HSMkipnLZopjibl0cPqFDK1RmBu824VHlW+e2E2A==","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/SemicolonAmbulance/cardigantime.git","type":"git"},"_npmVersion":"10.9.2","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.25.67","glob":"^11.0.3","dotenv":"^17.0.0","js-yaml":"^4.1.0","winston":"^3.17.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","eslint":"^9.30.0","vitest":"^3.2.4","globals":"^16.2.0","@swc/core":"^1.12.7","@eslint/js":"^9.30.0","typescript":"^5.8.3","@types/node":"^24.0.7","@types/luxon":"^3.6.2","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.4","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^5.0.1","@vitest/coverage-v8":"^3.2.4","eslint-plugin-import":"^2.32.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.35.0","@typescript-eslint/eslint-plugin":"^8.35.0"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.5_1751261460106_0.5612714723488745","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@theunwalked/cardigantime","version":"0.0.6","keywords":["config","productivity","notes","genai"],"author":{"name":"Semicolon Ambulance","email":"SemicolonAmbulance@proton.me"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.6","maintainers":[{"name":"semicolonambulance","email":"SemicolonAmbulance@proton.me"}],"homepage":"https://github.com/SemicolonAmbulance/cardigantime#readme","bugs":{"url":"https://github.com/SemicolonAmbulance/cardigantime/issues"},"dist":{"shasum":"e8215527c4bbb49d4d1380017780552e6cd857da","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.6.tgz","fileCount":39,"integrity":"sha512-XdmkrP3cLaKsQ9+ANsJwsjvSWBipTwETzagjttbLXxgL5IPNl27eovLLSQ+79TQl4Ah6tQ+/N+hiY+MEWlTQpg==","signatures":[{"sig":"MEYCIQDonwBAAM6RtGqrYfjxOOZZsgg7ifXWfNJijkcSVK8vsAIhANup8w1dW5ctMdX9N181MqZSiyJan8FRO7issoX4jQHC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":352825},"main":"./dist/cardigantime.cjs","type":"module","_from":"file:theunwalked-cardigantime-0.0.6.tgz","types":"./dist/cardigantime.d.ts","module":"./dist/cardigantime.js","exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"},"./package.json":"./package.json"},"scripts":{"dev":"vite build --watch","lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","docs:dev":"cd docs && cp ../README.md public/ && pnpm install && pnpm run dev","lint:fix":"eslint . --ext .ts --fix","docs:test":"cd docs && pnpm install && pnpm run test","docs:build":"cd docs && cp ../README.md public/ && pnpm install && pnpm run build","docs:preview":"cd docs && pnpm run preview","docs:coverage":"cd docs && pnpm install && pnpm run coverage"},"_npmUser":{"name":"semicolonambulance","actor":{"name":"semicolonambulance","type":"user","email":"SemicolonAmbulance@proton.me"},"email":"SemicolonAmbulance@proton.me"},"_resolved":"/tmp/0b2dcf4a0a5a807c02fe5bbf10d19f1f/theunwalked-cardigantime-0.0.6.tgz","_integrity":"sha512-XdmkrP3cLaKsQ9+ANsJwsjvSWBipTwETzagjttbLXxgL5IPNl27eovLLSQ+79TQl4Ah6tQ+/N+hiY+MEWlTQpg==","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/SemicolonAmbulance/cardigantime.git","type":"git"},"_npmVersion":"10.9.2","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.25.67","glob":"^11.0.3","dotenv":"^17.0.0","js-yaml":"^4.1.0","winston":"^3.17.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","eslint":"^9.30.0","vitest":"^3.2.4","globals":"^16.2.0","@swc/core":"^1.12.7","@eslint/js":"^9.30.0","typescript":"^5.8.3","@types/node":"^24.0.8","@types/luxon":"^3.6.2","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.4","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^5.0.1","@vitest/coverage-v8":"^3.2.4","eslint-plugin-import":"^2.32.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.35.1","@typescript-eslint/eslint-plugin":"^8.35.1"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.6_1751322955956_0.42290575260595875","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@theunwalked/cardigantime","version":"0.0.7","keywords":["config","productivity","notes","genai"],"author":{"name":"Semicolon Ambulance","email":"SemicolonAmbulance@proton.me"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.7","maintainers":[{"name":"semicolonambulance","email":"SemicolonAmbulance@proton.me"}],"homepage":"https://github.com/SemicolonAmbulance/cardigantime#readme","bugs":{"url":"https://github.com/SemicolonAmbulance/cardigantime/issues"},"dist":{"shasum":"427a2193e426ab146f1b639b6916cff070c731ea","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.7.tgz","fileCount":39,"integrity":"sha512-wTW/dyv9msjtc/s8mflZoLICYpd/lY65O+kZ9XeTWduQT30Ppfmu2geMh2uFbvtbnKH4KcLY7D7odLoO+fFYlQ==","signatures":[{"sig":"MEUCIQDWVbTQ4fEgcG7J07km4nsCyXaATe25Gy9QXNRgKStp8AIgWFWiqQgPTgyXeTqUzC8GSJtG+pjRrWwVppJlvS841PE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":353406},"main":"./dist/cardigantime.cjs","type":"module","_from":"file:theunwalked-cardigantime-0.0.7.tgz","types":"./dist/cardigantime.d.ts","module":"./dist/cardigantime.js","exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"},"./package.json":"./package.json"},"scripts":{"dev":"vite build --watch","lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","docs:dev":"cd docs && cp ../README.md public/ && pnpm install && pnpm run dev","lint:fix":"eslint . --ext .ts --fix","docs:test":"cd docs && pnpm install && pnpm run test","docs:build":"cd docs && cp ../README.md public/ && pnpm install && pnpm run build","docs:preview":"cd docs && pnpm run preview","docs:coverage":"cd docs && pnpm install && pnpm run coverage"},"_npmUser":{"name":"semicolonambulance","actor":{"name":"semicolonambulance","type":"user","email":"SemicolonAmbulance@proton.me"},"email":"SemicolonAmbulance@proton.me"},"_resolved":"/tmp/7c230d2e1e55ff00d050f8f099847add/theunwalked-cardigantime-0.0.7.tgz","_integrity":"sha512-wTW/dyv9msjtc/s8mflZoLICYpd/lY65O+kZ9XeTWduQT30Ppfmu2geMh2uFbvtbnKH4KcLY7D7odLoO+fFYlQ==","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/SemicolonAmbulance/cardigantime.git","type":"git"},"_npmVersion":"10.9.2","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.25.67","glob":"^11.0.3","dotenv":"^17.0.0","js-yaml":"^4.1.0","winston":"^3.17.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","eslint":"^9.30.0","vitest":"^3.2.4","globals":"^16.2.0","@swc/core":"^1.12.7","@eslint/js":"^9.30.0","typescript":"^5.8.3","@types/node":"^24.0.8","@types/luxon":"^3.6.2","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.4","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^5.0.1","@vitest/coverage-v8":"^3.2.4","eslint-plugin-import":"^2.32.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.35.1","@typescript-eslint/eslint-plugin":"^8.35.1"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.7_1751325400387_0.23889284488276719","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@theunwalked/cardigantime","version":"0.0.8","keywords":["config","productivity","notes","genai"],"author":{"name":"Semicolon Ambulance","email":"SemicolonAmbulance@proton.me"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.8","maintainers":[{"name":"semicolonambulance","email":"SemicolonAmbulance@proton.me"}],"homepage":"https://github.com/SemicolonAmbulance/cardigantime#readme","bugs":{"url":"https://github.com/SemicolonAmbulance/cardigantime/issues"},"dist":{"shasum":"8d10f5c58731b87444ca27951857244706d250e9","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.8.tgz","fileCount":39,"integrity":"sha512-UfND9tnn5v2PwwzCu1J9LMGZEiCUDyjQdlYIJi0d6pftuOiw0F2j2mtytY2FmRFgM+3BtCSr08EngFQsIY158A==","signatures":[{"sig":"MEUCIAn1/oOXkS/L/6qqaiS0qYWGIKFNhHYb5wfmwD1GmvwPAiEAyH8u9CWUlJwMgACOiQjvoRbZUHGBFexcuWuwtXOk5gs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":395021},"main":"./dist/cardigantime.cjs","type":"module","_from":"file:theunwalked-cardigantime-0.0.8.tgz","types":"./dist/cardigantime.d.ts","module":"./dist/cardigantime.js","exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"},"./package.json":"./package.json"},"scripts":{"dev":"vite build --watch","lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","docs:dev":"cd docs && cp ../README.md public/ && pnpm install && pnpm run dev","lint:fix":"eslint . --ext .ts --fix","docs:test":"cd docs && pnpm install && pnpm run test","docs:build":"cd docs && cp ../README.md public/ && pnpm install && pnpm run build","docs:preview":"cd docs && pnpm run preview","docs:coverage":"cd docs && pnpm install && pnpm run coverage"},"_npmUser":{"name":"semicolonambulance","actor":{"name":"semicolonambulance","type":"user","email":"SemicolonAmbulance@proton.me"},"email":"SemicolonAmbulance@proton.me"},"_resolved":"/tmp/ee928ff9a592ae1a3e2679b8c7e98acb/theunwalked-cardigantime-0.0.8.tgz","_integrity":"sha512-UfND9tnn5v2PwwzCu1J9LMGZEiCUDyjQdlYIJi0d6pftuOiw0F2j2mtytY2FmRFgM+3BtCSr08EngFQsIY158A==","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/SemicolonAmbulance/cardigantime.git","type":"git"},"_npmVersion":"10.9.2","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.25.67","glob":"^11.0.3","dotenv":"^17.0.0","js-yaml":"^4.1.0","winston":"^3.17.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","eslint":"^9.30.0","vitest":"^3.2.4","globals":"^16.2.0","@swc/core":"^1.12.7","@eslint/js":"^9.30.0","typescript":"^5.8.3","@types/node":"^24.0.8","@types/luxon":"^3.6.2","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.4","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^5.0.1","@vitest/coverage-v8":"^3.2.4","eslint-plugin-import":"^2.32.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.35.1","@typescript-eslint/eslint-plugin":"^8.35.1"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.8_1751333736595_0.0928095611090578","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@theunwalked/cardigantime","version":"0.0.9","keywords":["config","productivity","notes","genai"],"author":{"name":"Semicolon Ambulance","email":"SemicolonAmbulance@proton.me"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.9","maintainers":[{"name":"semicolonambulance","email":"SemicolonAmbulance@proton.me"}],"homepage":"https://github.com/SemicolonAmbulance/cardigantime#readme","bugs":{"url":"https://github.com/SemicolonAmbulance/cardigantime/issues"},"dist":{"shasum":"e1a2f901b7f0d341bc638485be19af1f2e595a73","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.9.tgz","fileCount":39,"integrity":"sha512-ajG7i7OZzVW9tQf0sfmswrYJOjbJVhOuJyz6VnZINQqAGJKqG7L/+VC3gGV1t08bQveGiIgACgTaBXKk4rG1aw==","signatures":[{"sig":"MEYCIQCU4L5F9xPp9OvTcdAW38QZSI8PoYACaWMR4QcBHV/wiwIhANrkYIoZMQT7Y4qaeBo24jIQxicPsCkvl9nj+v3mSDUu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":421625},"main":"./dist/cardigantime.cjs","type":"module","_from":"file:theunwalked-cardigantime-0.0.9.tgz","types":"./dist/cardigantime.d.ts","module":"./dist/cardigantime.js","exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"},"./package.json":"./package.json"},"scripts":{"dev":"vite build --watch","lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","docs:dev":"cd docs && cp ../README.md public/ && pnpm install && pnpm run dev","lint:fix":"eslint . --ext .ts --fix","docs:test":"cd docs && pnpm install && pnpm run test","docs:build":"cd docs && cp ../README.md public/ && pnpm install && pnpm run build","docs:preview":"cd docs && pnpm run preview","docs:coverage":"cd docs && pnpm install && pnpm run coverage"},"_npmUser":{"name":"semicolonambulance","actor":{"name":"semicolonambulance","type":"user","email":"SemicolonAmbulance@proton.me"},"email":"SemicolonAmbulance@proton.me"},"_resolved":"/tmp/04223e7de6b38d94d2fa49cd223e6117/theunwalked-cardigantime-0.0.9.tgz","_integrity":"sha512-ajG7i7OZzVW9tQf0sfmswrYJOjbJVhOuJyz6VnZINQqAGJKqG7L/+VC3gGV1t08bQveGiIgACgTaBXKk4rG1aw==","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/SemicolonAmbulance/cardigantime.git","type":"git"},"_npmVersion":"10.9.2","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.25.67","glob":"^11.0.3","dotenv":"^17.0.0","js-yaml":"^4.1.0","winston":"^3.17.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","eslint":"^9.30.0","vitest":"^3.2.4","globals":"^16.2.0","@swc/core":"^1.12.7","@eslint/js":"^9.30.0","typescript":"^5.8.3","@types/node":"^24.0.8","@types/luxon":"^3.6.2","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.4","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^5.0.1","@vitest/coverage-v8":"^3.2.4","eslint-plugin-import":"^2.32.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.35.1","@typescript-eslint/eslint-plugin":"^8.35.1"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.9_1751338342397_0.6450066517499764","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@theunwalked/cardigantime","version":"0.0.10","keywords":["config","productivity","notes","genai"],"author":{"name":"Semicolon Ambulance","email":"SemicolonAmbulance@proton.me"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.10","maintainers":[{"name":"semicolonambulance","email":"SemicolonAmbulance@proton.me"}],"homepage":"https://github.com/SemicolonAmbulance/cardigantime#readme","bugs":{"url":"https://github.com/SemicolonAmbulance/cardigantime/issues"},"dist":{"shasum":"28509537a5a9b5bac621710a3e5f7557824d21e1","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.10.tgz","fileCount":42,"integrity":"sha512-dl4meBUZymQesRjbMVLGJc98hVdIVZMcAm1QAp56L0fHy18iqDoazbd1XHvW9qadU7YEE2UKpt+3bK9GPefyOQ==","signatures":[{"sig":"MEQCIHiYhCDizyWP9vO9ciFenI+KTp9mRqenDXemP/6DShWiAiBXSG5V7azwlLSDPTsXaVdMop3NOde695ASyGq7Eenmsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":555674},"main":"./dist/cardigantime.cjs","type":"module","_from":"file:theunwalked-cardigantime-0.0.10.tgz","types":"./dist/cardigantime.d.ts","module":"./dist/cardigantime.js","exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"},"./package.json":"./package.json"},"scripts":{"dev":"vite build --watch","lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","docs:dev":"cd docs && cp ../README.md public/ && pnpm install && pnpm run dev","lint:fix":"eslint . --ext .ts --fix","docs:test":"cd docs && pnpm install && pnpm run test","docs:build":"cd docs && cp ../README.md public/ && pnpm install && pnpm run build","docs:preview":"cd docs && pnpm run preview","docs:coverage":"cd docs && pnpm install && pnpm run coverage"},"_npmUser":{"name":"semicolonambulance","actor":{"name":"semicolonambulance","type":"user","email":"SemicolonAmbulance@proton.me"},"email":"SemicolonAmbulance@proton.me"},"_resolved":"/tmp/603ac2d4ca5022484f0aaa6716ddc301/theunwalked-cardigantime-0.0.10.tgz","_integrity":"sha512-dl4meBUZymQesRjbMVLGJc98hVdIVZMcAm1QAp56L0fHy18iqDoazbd1XHvW9qadU7YEE2UKpt+3bK9GPefyOQ==","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/SemicolonAmbulance/cardigantime.git","type":"git"},"_npmVersion":"10.9.2","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.25.67","glob":"^11.0.3","dotenv":"^17.0.0","js-yaml":"^4.1.0","winston":"^3.17.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","eslint":"^9.30.0","vitest":"^3.2.4","globals":"^16.2.0","@swc/core":"^1.12.7","@eslint/js":"^9.30.0","typescript":"^5.8.3","@types/node":"^24.0.8","@types/luxon":"^3.6.2","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.4","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^5.0.1","@vitest/coverage-v8":"^3.2.4","eslint-plugin-import":"^2.32.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.35.1","@typescript-eslint/eslint-plugin":"^8.35.1"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.10_1751347650895_0.3049050002659417","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@theunwalked/cardigantime","version":"0.0.11","keywords":["config","productivity","notes","genai"],"author":{"name":"Semicolon Ambulance","email":"SemicolonAmbulance@proton.me"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.11","maintainers":[{"name":"semicolonambulance","email":"SemicolonAmbulance@proton.me"}],"homepage":"https://github.com/SemicolonAmbulance/cardigantime#readme","bugs":{"url":"https://github.com/SemicolonAmbulance/cardigantime/issues"},"dist":{"shasum":"c45db715466e3ab6e61a955414a8eae4d3575ea9","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.11.tgz","fileCount":42,"integrity":"sha512-SyOwGIhQj1JQE1bj5pi2KKu7l7mnEqoV/+bo+Do5cAZbGyAPTbcSxzD2iGbvd/yaezshzGc4XiWD57hvYwzYbQ==","signatures":[{"sig":"MEUCIQD3mEi+1KTTDryiAITiw7F06EnNQPy55A4b7SfXX1JluwIgMqoAna9ZPh8Sjx2BfxHtVoI+unKrO8ZIimPp/Lfcnwg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":513679},"main":"./dist/cardigantime.cjs","type":"module","_from":"file:theunwalked-cardigantime-0.0.11.tgz","types":"./dist/cardigantime.d.ts","module":"./dist/cardigantime.js","exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"},"./package.json":"./package.json"},"scripts":{"dev":"vite build --watch","lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","docs:dev":"cd docs && cp ../README.md public/ && pnpm install && pnpm run dev","lint:fix":"eslint . --ext .ts --fix","docs:test":"cd docs && pnpm install && pnpm run test","docs:build":"cd docs && cp ../README.md public/ && pnpm install && pnpm run build","docs:preview":"cd docs && pnpm run preview","docs:coverage":"cd docs && pnpm install && pnpm run coverage"},"_npmUser":{"name":"semicolonambulance","actor":{"name":"semicolonambulance","type":"user","email":"SemicolonAmbulance@proton.me"},"email":"SemicolonAmbulance@proton.me"},"_resolved":"/tmp/38a7a3565cce5b5636ae328528e558c2/theunwalked-cardigantime-0.0.11.tgz","_integrity":"sha512-SyOwGIhQj1JQE1bj5pi2KKu7l7mnEqoV/+bo+Do5cAZbGyAPTbcSxzD2iGbvd/yaezshzGc4XiWD57hvYwzYbQ==","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/SemicolonAmbulance/cardigantime.git","type":"git"},"_npmVersion":"10.9.2","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.25.67","glob":"^11.0.3","dotenv":"^17.0.0","js-yaml":"^4.1.0","winston":"^3.17.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","eslint":"^9.30.0","vitest":"^3.2.4","globals":"^16.3.0","@swc/core":"^1.12.9","@eslint/js":"^9.30.0","typescript":"^5.8.3","@types/node":"^24.0.8","@types/luxon":"^3.6.2","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.4","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^5.0.1","@vitest/coverage-v8":"^3.2.4","eslint-plugin-import":"^2.32.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.35.1","@typescript-eslint/eslint-plugin":"^8.35.1"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.11_1751378319458_0.8844784295825023","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@theunwalked/cardigantime","version":"0.0.12","keywords":["config","productivity","notes","genai"],"author":{"name":"Semicolon Ambulance","email":"SemicolonAmbulance@proton.me"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.12","maintainers":[{"name":"semicolonambulance","email":"SemicolonAmbulance@proton.me"}],"homepage":"https://github.com/SemicolonAmbulance/cardigantime#readme","bugs":{"url":"https://github.com/SemicolonAmbulance/cardigantime/issues"},"dist":{"shasum":"017110c8ceb453632d2e357ddfb1e25681504e7c","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.12.tgz","fileCount":42,"integrity":"sha512-KYTPn4XvVtLg5gOdzDfnhitNNV/QzNj4P2Ci4HXqNK0E/QZD5ybZhqCDvoxl8/TErO1dEGkK/pYk+xUYk+JU3A==","signatures":[{"sig":"MEYCIQCiLPgemHPyctJ8drH9zMGWAg+fJAFO1UfFhoIOTif6dwIhAOMM7bHDSWZOE1j6pxOAiO3rTEgx2XegMA+5q9Ra67VG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":526358},"main":"./dist/cardigantime.cjs","type":"module","_from":"file:theunwalked-cardigantime-0.0.12.tgz","types":"./dist/cardigantime.d.ts","module":"./dist/cardigantime.js","exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"},"./package.json":"./package.json"},"scripts":{"dev":"vite build --watch","lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","docs:dev":"cd docs && cp ../README.md public/ && pnpm install && pnpm run dev","lint:fix":"eslint . --ext .ts --fix","docs:test":"cd docs && pnpm install && pnpm run test","docs:build":"cd docs && cp ../README.md public/ && pnpm install && pnpm run build","docs:preview":"cd docs && pnpm run preview","docs:coverage":"cd docs && pnpm install && pnpm run coverage"},"_npmUser":{"name":"semicolonambulance","actor":{"name":"semicolonambulance","type":"user","email":"SemicolonAmbulance@proton.me"},"email":"SemicolonAmbulance@proton.me"},"_resolved":"/tmp/cdccc3d3ecf02d301bf83ae0975215a7/theunwalked-cardigantime-0.0.12.tgz","_integrity":"sha512-KYTPn4XvVtLg5gOdzDfnhitNNV/QzNj4P2Ci4HXqNK0E/QZD5ybZhqCDvoxl8/TErO1dEGkK/pYk+xUYk+JU3A==","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/SemicolonAmbulance/cardigantime.git","type":"git"},"_npmVersion":"10.9.2","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.25.67","glob":"^11.0.3","dotenv":"^17.0.0","js-yaml":"^4.1.0","winston":"^3.17.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","eslint":"^9.30.0","vitest":"^3.2.4","globals":"^16.3.0","@swc/core":"^1.12.9","@eslint/js":"^9.30.0","typescript":"^5.8.3","@types/node":"^24.0.8","@types/luxon":"^3.6.2","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.4","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^5.0.1","@vitest/coverage-v8":"^3.2.4","eslint-plugin-import":"^2.32.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.35.1","@typescript-eslint/eslint-plugin":"^8.35.1"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.12_1751381625978_0.4678392250029144","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@theunwalked/cardigantime","version":"0.0.13","keywords":["config","productivity","notes","genai"],"author":{"name":"Semicolon Ambulance","email":"SemicolonAmbulance@proton.me"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.13","maintainers":[{"name":"semicolonambulance","email":"SemicolonAmbulance@proton.me"}],"homepage":"https://github.com/SemicolonAmbulance/cardigantime#readme","bugs":{"url":"https://github.com/SemicolonAmbulance/cardigantime/issues"},"dist":{"shasum":"80c65a5abbd4ba235e46f92187f03756da11eb04","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.13.tgz","fileCount":42,"integrity":"sha512-vhuTEdidKog7J1q/q5W/jC1dnSBvC6clEd9hqe9qoYJWdNWPn7NPfOJEkDgZS5UMIS99gykFPBIM6lRJTrMkBw==","signatures":[{"sig":"MEYCIQCBy51+RGPL8kEtKfq+EHVSwuLOaqBSBHbzVkvd6x2wGgIhAMs3MsNBltxr2g+LG35VBo6u9Wc4VMkuoomMAayfefeI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":545704},"main":"./dist/cardigantime.cjs","type":"module","_from":"file:theunwalked-cardigantime-0.0.13.tgz","types":"./dist/cardigantime.d.ts","module":"./dist/cardigantime.js","exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"},"./package.json":"./package.json"},"scripts":{"dev":"vite build --watch","lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"pnpm run lint && tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","docs:dev":"cd docs && cp ../README.md public/ && pnpm install && pnpm run dev","lint:fix":"eslint . --ext .ts --fix","docs:test":"cd docs && pnpm install && pnpm run test","docs:build":"cd docs && cp ../README.md public/ && pnpm install && pnpm run build","docs:preview":"cd docs && pnpm run preview","docs:coverage":"cd docs && pnpm install && pnpm run coverage"},"_npmUser":{"name":"semicolonambulance","actor":{"name":"semicolonambulance","type":"user","email":"SemicolonAmbulance@proton.me"},"email":"SemicolonAmbulance@proton.me"},"_resolved":"/tmp/ebd8acd98563e65aa4dc12c135908049/theunwalked-cardigantime-0.0.13.tgz","_integrity":"sha512-vhuTEdidKog7J1q/q5W/jC1dnSBvC6clEd9hqe9qoYJWdNWPn7NPfOJEkDgZS5UMIS99gykFPBIM6lRJTrMkBw==","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/SemicolonAmbulance/cardigantime.git","type":"git"},"_npmVersion":"10.9.2","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.25.71","glob":"^11.0.3","dotenv":"^17.0.1","js-yaml":"^4.1.0","winston":"^3.17.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.1","eslint":"^9.30.1","vitest":"^3.2.4","globals":"^16.3.0","@swc/core":"^1.12.9","@eslint/js":"^9.30.1","typescript":"^5.8.3","@types/node":"^24.0.10","@types/luxon":"^3.6.2","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.4","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^7.0.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-import":"^2.32.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.35.1","@typescript-eslint/eslint-plugin":"^8.35.1"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.13_1751550329948_0.010603517564784282","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@theunwalked/cardigantime","version":"0.0.14","keywords":["config","productivity","notes","genai"],"author":{"name":"Semicolon Ambulance","email":"SemicolonAmbulance@proton.me"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.14","maintainers":[{"name":"semicolonambulance","email":"SemicolonAmbulance@proton.me"}],"homepage":"https://github.com/SemicolonAmbulance/cardigantime#readme","bugs":{"url":"https://github.com/SemicolonAmbulance/cardigantime/issues"},"dist":{"shasum":"303abe9b0ab786bf12b06b7f3474583f5398ad7f","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.14.tgz","fileCount":42,"integrity":"sha512-jIRQpQk/fnJXCeZZLGGuBNCM/2uNCVIlVY8jkxPDZqXFsrDzwBz11DkrlD2lQfikBZANCKaWLb1clm5/2lw+Qg==","signatures":[{"sig":"MEYCIQDLOH1WiE/jOnavcye6ftqIwTG1lVMZkpPa8co2lpTvIQIhAKBkam+stKJOleX6AV2iVCVKGEZS+mqnjqtDJLEnj1rK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":547924},"main":"./dist/cardigantime.cjs","type":"module","_from":"file:theunwalked-cardigantime-0.0.14.tgz","types":"./dist/cardigantime.d.ts","module":"./dist/cardigantime.js","exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"},"./package.json":"./package.json"},"scripts":{"dev":"vite build --watch","lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"pnpm run lint && tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","docs:dev":"cd docs && cp ../README.md public/ && pnpm install && pnpm run dev","lint:fix":"eslint . --ext .ts --fix","docs:test":"cd docs && pnpm install && pnpm run test","docs:build":"cd docs && cp ../README.md public/ && pnpm install && pnpm run build","docs:preview":"cd docs && pnpm run preview","docs:coverage":"cd docs && pnpm install && pnpm run coverage"},"_npmUser":{"name":"semicolonambulance","actor":{"name":"semicolonambulance","type":"user","email":"SemicolonAmbulance@proton.me"},"email":"SemicolonAmbulance@proton.me"},"_resolved":"/tmp/560346ba821dfb4268329559a603ef64/theunwalked-cardigantime-0.0.14.tgz","_integrity":"sha512-jIRQpQk/fnJXCeZZLGGuBNCM/2uNCVIlVY8jkxPDZqXFsrDzwBz11DkrlD2lQfikBZANCKaWLb1clm5/2lw+Qg==","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/SemicolonAmbulance/cardigantime.git","type":"git"},"_npmVersion":"10.9.2","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.25.74","glob":"^11.0.3","dotenv":"^17.0.1","js-yaml":"^4.1.0","winston":"^3.17.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.2","eslint":"^9.30.1","vitest":"^3.2.4","globals":"^16.3.0","@swc/core":"^1.12.9","@eslint/js":"^9.30.1","typescript":"^5.8.3","@types/node":"^24.0.10","@types/luxon":"^3.6.2","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.4","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^7.0.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-import":"^2.32.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.35.1","@typescript-eslint/eslint-plugin":"^8.35.1"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.14_1751729895769_0.3714353467054061","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"@theunwalked/cardigantime","version":"0.0.15","keywords":["config","productivity","notes","genai"],"author":{"name":"Semicolon Ambulance","email":"SemicolonAmbulance@proton.me"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.15","maintainers":[{"name":"semicolonambulance","email":"SemicolonAmbulance@proton.me"}],"homepage":"https://github.com/SemicolonAmbulance/cardigantime#readme","bugs":{"url":"https://github.com/SemicolonAmbulance/cardigantime/issues"},"dist":{"shasum":"58008b57bfa1466320f74a987be6938113be9540","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.15.tgz","fileCount":42,"integrity":"sha512-ub0lz+Jl0eXTrPRb8TOtEkiuxN/C3fo0+Q/E6FFQTttWw2AWduBdDvv1Fln/irqgw84fV0sWxt/C1FXoTxJmcA==","signatures":[{"sig":"MEUCIQDoTkW8P30C96P20YZg/xX8422wHIfZS1uhfwn1Yt3YrwIgLu26yOoDy+Ozm8sh/WJlPU+W0/aFURux25skLBjT9lY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":547924},"main":"./dist/cardigantime.cjs","type":"module","_from":"file:theunwalked-cardigantime-0.0.15.tgz","types":"./dist/cardigantime.d.ts","module":"./dist/cardigantime.js","exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"},"./package.json":"./package.json"},"scripts":{"dev":"vite build --watch","lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"pnpm run lint && tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","docs:dev":"cd docs && cp ../README.md public/ && pnpm install && pnpm run dev","lint:fix":"eslint . --ext .ts --fix","docs:test":"cd docs && pnpm install && pnpm run test","docs:build":"cd docs && cp ../README.md public/ && pnpm install && pnpm run build","docs:preview":"cd docs && pnpm run preview","docs:coverage":"cd docs && pnpm install && pnpm run coverage"},"_npmUser":{"name":"semicolonambulance","actor":{"name":"semicolonambulance","type":"user","email":"SemicolonAmbulance@proton.me"},"email":"SemicolonAmbulance@proton.me"},"_resolved":"/tmp/b204d1a285dbf185b37e698d34debc77/theunwalked-cardigantime-0.0.15.tgz","_integrity":"sha512-ub0lz+Jl0eXTrPRb8TOtEkiuxN/C3fo0+Q/E6FFQTttWw2AWduBdDvv1Fln/irqgw84fV0sWxt/C1FXoTxJmcA==","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/SemicolonAmbulance/cardigantime.git","type":"git"},"_npmVersion":"10.9.2","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.25.74","glob":"^11.0.3","dotenv":"^17.0.1","js-yaml":"^4.1.0","winston":"^3.17.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.2","eslint":"^9.30.1","vitest":"^3.2.4","globals":"^16.3.0","@swc/core":"^1.12.9","@eslint/js":"^9.30.1","typescript":"^5.8.3","@types/node":"^24.0.10","@types/luxon":"^3.6.2","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.4","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^7.0.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-import":"^2.32.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.35.1","@typescript-eslint/eslint-plugin":"^8.35.1"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.15_1751783126352_0.6990043224455762","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"@theunwalked/cardigantime","version":"0.0.16","keywords":["config","productivity","notes","genai"],"author":{"name":"Semicolon Ambulance","email":"SemicolonAmbulance@proton.me"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.16","maintainers":[{"name":"semicolonambulance","email":"SemicolonAmbulance@proton.me"}],"homepage":"https://github.com/SemicolonAmbulance/cardigantime#readme","bugs":{"url":"https://github.com/SemicolonAmbulance/cardigantime/issues"},"dist":{"shasum":"b091db4848b0497e6b9970da3ff52fa7e4578135","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.16.tgz","fileCount":42,"integrity":"sha512-OVvdID93rS4M7+0q3CHijCpNLYuZVeCojnisVLYJKl3HGmZE6ptEmxP99Fr6BKuAnl8t2tLeDj+NeGl7TQGJHQ==","signatures":[{"sig":"MEUCIG55PUV68q4TzigtvrFRjcLHPOBfvE20I+fGLnBTW/GRAiEAszhimHXn7uCO64VZYRWBDzfXjCF+arhfjh3QGeyIeUA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":544271},"main":"./dist/cardigantime.cjs","type":"module","_from":"file:theunwalked-cardigantime-0.0.16.tgz","types":"./dist/cardigantime.d.ts","module":"./dist/cardigantime.js","exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"},"./package.json":"./package.json"},"scripts":{"dev":"vite build --watch","lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"pnpm run lint && tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","docs:dev":"cd docs && cp ../README.md public/ && pnpm install && pnpm run dev","lint:fix":"eslint . --ext .ts --fix","docs:test":"cd docs && pnpm install && pnpm run test","docs:build":"cd docs && cp ../README.md public/ && pnpm install && pnpm run build","docs:preview":"cd docs && pnpm run preview","docs:coverage":"cd docs && pnpm install && pnpm run coverage"},"_npmUser":{"name":"semicolonambulance","actor":{"name":"semicolonambulance","type":"user","email":"SemicolonAmbulance@proton.me"},"email":"SemicolonAmbulance@proton.me"},"_resolved":"/tmp/5bd43f4b617ba82112ce8ae172e75ba7/theunwalked-cardigantime-0.0.16.tgz","_integrity":"sha512-OVvdID93rS4M7+0q3CHijCpNLYuZVeCojnisVLYJKl3HGmZE6ptEmxP99Fr6BKuAnl8t2tLeDj+NeGl7TQGJHQ==","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/SemicolonAmbulance/cardigantime.git","type":"git"},"_npmVersion":"10.9.2","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"zod":"^4.0.2","glob":"^11.0.3","js-yaml":"^4.1.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.4","eslint":"^9.30.1","vitest":"^3.2.4","globals":"^16.3.0","@swc/core":"^1.12.11","@eslint/js":"^9.30.1","typescript":"^5.8.3","@types/node":"^24.0.12","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.4","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^7.0.0","@vitest/coverage-v8":"^3.2.4","eslint-plugin-import":"^2.32.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.36.0","@typescript-eslint/eslint-plugin":"^8.36.0"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.16_1752160446759_0.6209989964810043","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"@theunwalked/cardigantime","version":"0.0.17","keywords":["config","productivity","notes","genai"],"author":{"name":"Tim O'Brien","email":"tobrien@discursive.com"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.17","maintainers":[{"name":"tmo9d","email":"tobrien@discursive.com"},{"name":"semicolonambulance","email":"SemicolonAmbulance@proton.me"}],"homepage":"https://tobrien.github.io/cardigantime/","bugs":{"url":"https://github.com/tobrien/cardigantime/issues"},"dist":{"shasum":"4abf1ae525303c3fb20b9496573b5425a25568d2","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.17.tgz","fileCount":42,"integrity":"sha512-8SXzyTv211Fy1AtFj/feadrUBEhz89SzwBZUfh3PnR3gRyyvh3sIUzDHX39d393xNeLadzcGuPF+bw43szxiSQ==","signatures":[{"sig":"MEUCICLAGIQvPCkn0u9VV1J3ajqUwp019ocLlHGv+V2C4IROAiEA/RXI3Cmge66eM6Lhgftk0q5ZB/2+7g7j64hwNe+CqNo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":544861},"main":"./dist/cardigantime.cjs","type":"module","types":"./dist/cardigantime.d.ts","module":"./dist/cardigantime.js","exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"},"./package.json":"./package.json"},"gitHead":"6f1af14cb37175c97a79f37942b28ca5d312995c","scripts":{"dev":"vite build --watch","lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"npm run lint && tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","docs:dev":"cd docs && cp ../README.md public/ && npm install && npm run dev","lint:fix":"eslint . --ext .ts --fix","docs:test":"cd docs && npm install && npm run test","precommit":"npm run lint && npm run test","docs:build":"cd docs && cp ../README.md public/ && npm install && npm run build","docs:preview":"cd docs && npm run preview","docs:coverage":"cd docs && npm install && npm run coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:99e54f5b-2a17-45cc-8677-9ddb635b27bb"}},"overrides":{"wrap-ansi":"7.0.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/tobrien/cardigantime.git","type":"git"},"_npmVersion":"11.7.0","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.0.2","glob":"^13.0.0","js-yaml":"^4.1.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.4","eslint":"^9.30.1","vitest":"^4.0.16","globals":"^16.3.0","@swc/core":"^1.12.11","@eslint/js":"^9.30.1","typescript":"^5.8.3","@types/node":"^25.0.3","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.4","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^7.0.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-import":"^2.32.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.36.0","@typescript-eslint/eslint-plugin":"^8.36.0"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.17_1766989700154_0.053863039045789485","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"@theunwalked/cardigantime","version":"0.0.18","keywords":["config","productivity","notes","genai"],"author":{"name":"Tim O'Brien","email":"tobrien@discursive.com"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.18","maintainers":[{"name":"tmo9d","email":"tobrien@discursive.com"},{"name":"semicolonambulance","email":"SemicolonAmbulance@proton.me"}],"homepage":"https://utilarium.github.io/cardigantime/","bugs":{"url":"https://github.com/utilarium/cardigantime/issues"},"dist":{"shasum":"575f1755ba60a513ee4ac66b457b4366e362874a","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.18.tgz","fileCount":42,"integrity":"sha512-h+wTjqBFqG0aR5QoSfZvnaL76CCR8vIH6gqDNgvels87RhWWNZyCIG8MsDDdK+mnSzcdr8+mkogtnAkQsoiWSw==","signatures":[{"sig":"MEUCIH0YiplK7hE9tE84rWdwubS4q0nVcxAibk2ucw/9DgK4AiEAuus4Lf+UuqKmH0+8nFt14hSrQoyq8UfHoODZQAXI4Zk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":544881},"main":"./dist/cardigantime.cjs","type":"module","types":"./dist/cardigantime.d.ts","module":"./dist/cardigantime.js","exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"},"./package.json":"./package.json"},"gitHead":"e1313ea8430eda9c5751ac861d42140ab309e739","scripts":{"dev":"vite build --watch","lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"npm run lint && tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","docs:dev":"cd docs && cp ../README.md public/ && npm install && npm run dev","lint:fix":"eslint . --ext .ts --fix","docs:test":"cd docs && npm install && npm run test","precommit":"npm run lint && npm run test","docs:build":"cd docs && cp ../README.md public/ && npm install && npm run build","docs:preview":"cd docs && npm run preview","docs:coverage":"cd docs && npm install && npm run coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"semicolonambulance","email":"SemicolonAmbulance@proton.me"},"overrides":{"wrap-ansi":"7.0.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/utilarium/cardigantime.git","type":"git"},"_npmVersion":"11.7.0","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.0.2","glob":"^13.0.0","js-yaml":"^4.1.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.4","eslint":"^9.30.1","vitest":"^4.0.16","globals":"^16.3.0","@swc/core":"^1.12.11","@eslint/js":"^9.30.1","typescript":"^5.8.3","@types/node":"^25.0.3","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.4","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^7.0.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-import":"^2.32.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.36.0","@typescript-eslint/eslint-plugin":"^8.36.0"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.18_1767847320828_0.6171799773993198","host":"s3://npm-registry-packages-npm-production"}},"0.0.19":{"name":"@theunwalked/cardigantime","version":"0.0.19","keywords":["config","productivity","notes","genai"],"author":{"name":"Tim O'Brien","email":"tobrien@discursive.com"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.19","maintainers":[{"name":"tmo9d","email":"tobrien@discursive.com"},{"name":"semicolonambulance","email":"SemicolonAmbulance@proton.me"}],"homepage":"https://utilarium.github.io/cardigantime/","bugs":{"url":"https://github.com/utilarium/cardigantime/issues"},"dist":{"shasum":"c8b86935d22b6e47b1c47aedac0a7488a1630cde","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.19.tgz","fileCount":42,"integrity":"sha512-1+y0iZLRAeazaC/7YTlZAWWplMj4VU3H4bQCgqCSA8WyPrCzwYPICbWbTyxTFkHRui1RCxrTDVxSFb5paUZOeQ==","signatures":[{"sig":"MEUCIB2OhCE9v4SrhmaLSq6nd4gcWvse2ZPz54qqbkPdDZPuAiEAw5X77KiQVDlTX23SLNxMgVyQBcX8i3gPPv0+UwrZGP0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":568128},"main":"./dist/cardigantime.cjs","type":"module","types":"./dist/cardigantime.d.ts","module":"./dist/cardigantime.js","exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"},"./package.json":"./package.json"},"gitHead":"8e8fb86ea56c5a846a1a56a40456e1071ba26d7a","scripts":{"dev":"vite build --watch","lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"npm run lint && tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","docs:dev":"cd docs && cp ../README.md public/ && npm install && npm run dev","lint:fix":"eslint . --ext .ts --fix","docs:test":"cd docs && npm install && npm run test","precommit":"npm run lint && npm run test","docs:build":"cd docs && cp ../README.md public/ && npm install && npm run build","docs:preview":"cd docs && npm run preview","docs:coverage":"cd docs && npm install && npm run coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4060f97a-7bee-4fd5-86c7-05980502bd4d"}},"overrides":{"wrap-ansi":"7.0.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/utilarium/cardigantime.git","type":"git"},"_npmVersion":"11.7.0","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.0.2","glob":"^13.0.0","js-yaml":"^4.1.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.4","eslint":"^9.30.1","vitest":"^4.0.16","globals":"^16.3.0","@swc/core":"^1.12.11","@eslint/js":"^9.30.1","typescript":"^5.8.3","@types/node":"^25.0.3","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.4","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^7.0.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-import":"^2.32.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.36.0","@typescript-eslint/eslint-plugin":"^8.36.0"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.19_1767880848329_0.7955335060892699","host":"s3://npm-registry-packages-npm-production"}},"0.0.20":{"name":"@theunwalked/cardigantime","version":"0.0.20","keywords":["config","productivity","notes","genai"],"author":{"name":"Tim O'Brien","email":"tobrien@discursive.com"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.20","maintainers":[{"name":"tmo9d","email":"tobrien@discursive.com"}],"homepage":"https://utilarium.github.io/cardigantime/","bugs":{"url":"https://github.com/utilarium/cardigantime/issues"},"dist":{"shasum":"127f6f89faa98b9d33e598f7f3f81957b37cfb5f","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.20.tgz","fileCount":42,"integrity":"sha512-ObWov0xuzpwoKknWaXRxTUIMdj72DY9yOIAB6c/Rf/0FuezEphdv9oDpaLhqs7NsjkOuoz7v85dwLx4F6uhqiQ==","signatures":[{"sig":"MEUCIHiSWIiyVA7G19y8Yd6xFs2wpTkghS+MlT5tsRVHLhtuAiEA/Rb6hK4ELRe6PU1E9PszQKDWJ4Yl3AgAiUQkdD7++vg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":573297},"main":"./dist/cardigantime.cjs","type":"module","types":"./dist/cardigantime.d.ts","module":"./dist/cardigantime.js","exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"},"./package.json":"./package.json"},"gitHead":"a4d4b4e2a36fc863c79500a953583731bf86ffbe","scripts":{"dev":"vite build --watch","lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"npm run lint && tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","docs:dev":"cd docs && cp ../README.md public/ && npm install && npm run dev","lint:fix":"eslint . --ext .ts --fix","docs:test":"cd docs && npm install && npm run test","precommit":"npm run lint && npm run test","docs:build":"cd docs && cp ../README.md public/ && npm install && npm run build","docs:preview":"cd docs && npm run preview","docs:coverage":"cd docs && npm install && npm run coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4060f97a-7bee-4fd5-86c7-05980502bd4d"}},"overrides":{"wrap-ansi":"7.0.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/utilarium/cardigantime.git","type":"git"},"_npmVersion":"11.7.0","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.0.2","glob":"^13.0.0","js-yaml":"^4.1.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.4","eslint":"^9.30.1","vitest":"^4.0.16","globals":"^17.0.0","@swc/core":"^1.12.11","@eslint/js":"^9.30.1","typescript":"^5.8.3","@types/node":"^25.0.3","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.4","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^7.0.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-import":"^2.32.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.36.0","@typescript-eslint/eslint-plugin":"^8.36.0"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.20_1768099712612_0.920251780492291","host":"s3://npm-registry-packages-npm-production"}},"0.0.21":{"name":"@theunwalked/cardigantime","version":"0.0.21","keywords":["config","productivity","notes","genai"],"author":{"name":"Tim O'Brien","email":"tobrien@discursive.com"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.21","maintainers":[{"name":"tmo9d","email":"tobrien@discursive.com"}],"homepage":"https://utilarium.github.io/cardigantime/","bugs":{"url":"https://github.com/utilarium/cardigantime/issues"},"dist":{"shasum":"1fe1d38df72c86952f1f1bc5e7be000adcab619d","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.21.tgz","fileCount":42,"integrity":"sha512-WaL/n95ZIJ2u4dHxBKvMSiVomE5vOjbBZpunLoetu3cCQ5xSddtkMcVACao+w5vV5JvDAu+lL7b9moCvr3Wg5Q==","signatures":[{"sig":"MEYCIQCbxhzS1umZQ79+iwqCcTxTIx3+kE92cZ5Uan4mZK67ZgIhALQuZhuTm1X6KfUaBYJnPsuTgK6l/3TXpBsGg7UpRxwz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":573340},"main":"./dist/cardigantime.cjs","type":"module","types":"./dist/cardigantime.d.ts","module":"./dist/cardigantime.js","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"},"./package.json":"./package.json"},"gitHead":"6b111bed8ba45dc4703b235dd4b5df84fad296df","scripts":{"dev":"vite build --watch","lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"npm run lint && tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","docs:dev":"cd docs && cp ../README.md public/ && npm install && npm run dev","lint:fix":"eslint . --ext .ts --fix","docs:test":"cd docs && npm install && npm run test","precommit":"npm run lint && npm run test","docs:build":"cd docs && cp ../README.md public/ && npm install && npm run build","docs:preview":"cd docs && npm run preview","docs:coverage":"cd docs && npm install && npm run coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4060f97a-7bee-4fd5-86c7-05980502bd4d"}},"overrides":{"wrap-ansi":"7.0.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/utilarium/cardigantime.git","type":"git"},"_npmVersion":"11.7.0","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^4.0.2","glob":"^13.0.0","js-yaml":"^4.1.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.4","eslint":"^9.30.1","vitest":"^4.0.16","globals":"^17.0.0","@swc/core":"^1.12.11","@eslint/js":"^9.30.1","typescript":"^5.8.3","@types/node":"^25.0.3","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.4","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^7.0.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-import":"^2.32.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.36.0","@typescript-eslint/eslint-plugin":"^8.36.0"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.21_1768288618720_0.9438532320829951","host":"s3://npm-registry-packages-npm-production"}},"0.0.22":{"name":"@theunwalked/cardigantime","version":"0.0.22","keywords":["config","productivity","notes","genai"],"author":{"name":"Tim O'Brien","email":"tobrien@discursive.com"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.22","maintainers":[{"name":"tmo9d","email":"tobrien@discursive.com"}],"homepage":"https://utilarium.github.io/cardigantime/","bugs":{"url":"https://github.com/utilarium/cardigantime/issues"},"dist":{"shasum":"480f4863a7b2fab79b87f205632ecf7e4bb7bd55","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.22.tgz","fileCount":42,"integrity":"sha512-eV/tEN6TB/Dm2rEHDNjz/QjTsHmD2caiaxqoUv8QY6zUztPsYjuMh3j4TYitupZQhBU9GeAZ57zKBR5IWzhGZA==","signatures":[{"sig":"MEYCIQCp2K8Jir68UTP2Td++jfd3sTs1Iz4DR6SwmbLYx85W3wIhAJiG66WZ2jcY5zf4ClwlDPi4z1Vn3yZ7Qg7frsl2YFnl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":573378},"main":"./dist/cardigantime.cjs","type":"module","types":"./dist/cardigantime.d.ts","module":"./dist/cardigantime.js","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"},"./package.json":"./package.json"},"gitHead":"60f88ed053b71057255b421915f4d8dce19bd661","scripts":{"dev":"vite build --watch","lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"npm run lint && tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","docs:dev":"cd docs && cp ../README.md public/ && npm install && npm run dev","lint:fix":"eslint . --ext .ts --fix","docs:test":"cd docs && npm install && npm run test","precommit":"npm run lint && npm run test","docs:build":"cd docs && cp ../README.md public/ && npm install && npm run build","docs:preview":"cd docs && npm run preview","docs:coverage":"cd docs && npm install && npm run coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4060f97a-7bee-4fd5-86c7-05980502bd4d"}},"overrides":{"wrap-ansi":"7.0.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/utilarium/cardigantime.git","type":"git"},"_npmVersion":"11.7.0","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^4.0.2","glob":"^13.0.0","js-yaml":"^4.1.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.4","eslint":"^9.30.1","vitest":"^4.0.16","globals":"^17.0.0","@swc/core":"^1.12.11","@eslint/js":"^9.30.1","typescript":"^5.8.3","@types/node":"^25.0.3","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.4","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^7.0.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-import":"^2.32.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.36.0","@typescript-eslint/eslint-plugin":"^8.36.0"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.22_1768294408514_0.45765666010375194","host":"s3://npm-registry-packages-npm-production"}},"0.0.23":{"name":"@theunwalked/cardigantime","version":"0.0.23","keywords":["config","productivity","notes","genai"],"author":{"name":"Tim O'Brien","email":"tobrien@discursive.com"},"license":"Apache-2.0","_id":"@theunwalked/cardigantime@0.0.23","maintainers":[{"name":"tmo9d","email":"tobrien@discursive.com"}],"homepage":"https://utilarium.github.io/cardigantime/","bugs":{"url":"https://github.com/utilarium/cardigantime/issues"},"dist":{"shasum":"b75a55b37217d72f1cc10955965bf6c998646d3f","tarball":"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.23.tgz","fileCount":81,"integrity":"sha512-mtQd7Ev1T/9vBnxAhMLju/L4Uokj3luuFGSLVHJKl0Y6Fgf3QRsaiPerXeoJ9+9xTyf1OlJpoVhbkejhI0Q4xw==","signatures":[{"sig":"MEYCIQC9jqAt5AewkWRlh+i/smVQF7AY86FT3M+6UhG7/7PbBAIhAIxnHiH4B19lBJ+ynlCajJamKRkVPAqusFKLzdauXc5l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@theunwalked%2fcardigantime@0.0.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":729874},"main":"./dist/cardigantime.cjs","type":"module","types":"./dist/cardigantime.d.ts","module":"./dist/cardigantime.js","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/cardigantime.d.ts","import":"./dist/cardigantime.js","require":"./dist/cardigantime.cjs"},"./package.json":"./package.json"},"gitHead":"b3ed796ecab117cd8157444503a9ef478117073b","scripts":{"dev":"vite build --watch","lint":"eslint . --ext .ts","test":"vitest run --coverage","build":"npm run lint && tsc --noEmit && vite build","clean":"rm -rf dist","start":"dist/main.js","watch":"vite build --watch","docs:dev":"cd docs && cp ../README.md public/ && npm install && npm run dev","lint:fix":"eslint . --ext .ts --fix","docs:test":"cd docs && npm install && npm run test","precommit":"npm run lint && npm run build && npm run test","docs:build":"cd docs && cp ../README.md public/ && npm install && npm run build","docs:preview":"cd docs && npm run preview","docs:coverage":"cd docs && npm install && npm run coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4060f97a-7bee-4fd5-86c7-05980502bd4d"}},"overrides":{"wrap-ansi":"7.0.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/utilarium/cardigantime.git","type":"git"},"_npmVersion":"11.8.0","description":"cardigantime is a tool to help you time your cardigans.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.0.2","glob":"^13.0.0","js-yaml":"^4.1.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.4","eslint":"^9.30.1","vitest":"^4.0.16","globals":"^17.0.0","@swc/core":"^1.12.11","@eslint/js":"^9.30.1","typescript":"^5.8.3","@types/node":"^25.0.3","@types/js-yaml":"^4.0.9","vite-plugin-dts":"^4.5.4","@eslint/eslintrc":"^3.3.1","vite-plugin-node":"^7.0.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-import":"^2.32.0","@rollup/plugin-replace":"^6.0.2","@typescript-eslint/parser":"^8.36.0","@typescript-eslint/eslint-plugin":"^8.36.0"},"_npmOperationalInternal":{"tmp":"tmp/cardigantime_0.0.23_1769553067798_0.2734100519584328","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-05-23T23:02:16.193Z","modified":"2026-01-31T02:07:36.476Z","0.0.1":"2025-05-23T23:02:16.529Z","0.0.2":"2025-05-29T00:21:57.626Z","0.0.3":"2025-06-30T03:36:27.313Z","0.0.5":"2025-06-30T05:31:00.301Z","0.0.6":"2025-06-30T22:35:56.150Z","0.0.7":"2025-06-30T23:16:40.574Z","0.0.8":"2025-07-01T01:35:36.830Z","0.0.9":"2025-07-01T02:52:22.604Z","0.0.10":"2025-07-01T05:27:31.193Z","0.0.11":"2025-07-01T13:58:39.612Z","0.0.12":"2025-07-01T14:53:46.171Z","0.0.13":"2025-07-03T13:45:30.180Z","0.0.14":"2025-07-05T15:38:15.966Z","0.0.15":"2025-07-06T06:25:26.570Z","0.0.16":"2025-07-10T15:14:06.947Z","0.0.17":"2025-12-29T06:28:20.315Z","0.0.18":"2026-01-08T04:42:00.992Z","0.0.19":"2026-01-08T14:00:48.484Z","0.0.20":"2026-01-11T02:48:33.064Z","0.0.21":"2026-01-13T07:16:58.863Z","0.0.22":"2026-01-13T08:53:28.680Z","0.0.23":"2026-01-27T22:31:08.074Z"},"bugs":{"url":"https://github.com/utilarium/cardigantime/issues"},"author":{"name":"Tim O'Brien","email":"tobrien@discursive.com"},"license":"Apache-2.0","homepage":"https://utilarium.github.io/cardigantime/","keywords":["config","productivity","notes","genai"],"repository":{"url":"git+https://github.com/utilarium/cardigantime.git","type":"git"},"description":"cardigantime is a tool to help you time your cardigans.","maintainers":[{"email":"support@npmjs.com","name":"npm-support"}],"readme":"# Cardigantime\n\nA robust TypeScript library for configuration management in command-line applications. Cardigantime provides type-safe configuration loading, validation, and CLI integration with Commander.js and Zod schemas.\n\n## What is Cardigantime?\n\nCardigantime is a configuration management library designed to solve the common problem of handling configuration in CLI applications. It provides a unified way to:\n\n- **Read configuration from multiple formats** (YAML, JSON, JavaScript, TypeScript) with intelligent file discovery\n- **Validate configuration** using Zod schemas for type safety\n- **Integrate with CLI frameworks** like Commander.js seamlessly\n- **Merge configuration sources** (files, CLI args, defaults) with proper precedence\n- **Handle errors gracefully** with comprehensive logging and user-friendly error messages\n\n## Why Cardigantime?\n\nBuilding CLI applications with proper configuration management is harder than it should be. **Cardigantime was created specifically to solve the complex problem of supporting sophisticated configuration systems that seamlessly merge command-line arguments, configuration files, and default values.**\n\nWithout Cardigantime, you need to manually handle:\n- Multi-layered configuration sources with proper precedence\n- Nested configuration objects with deep validation\n- Type safety throughout the configuration pipeline\n- Graceful error handling with actionable messages\n\nCardigantime provides a complete, battle-tested solution for all of this complexity.\n\n### One Schema, Multiple Formats\n\nDefine your configuration schema once with Zod, and Cardigantime automatically supports:\n- **YAML** (`.yaml`, `.yml`) - Human-readable, great for hand-edited configs\n- **JSON** (`.json`) - Strict syntax, ideal for programmatic generation\n- **JavaScript** (`.js`, `.mjs`, `.cjs`) - Dynamic configs with environment logic\n- **TypeScript** (`.ts`, `.mts`, `.cts`) - Type-safe configs with IDE support\n\nNo additional code or schema definitions needed per format. Your users choose their preferred format, and Cardigantime handles parsing, validation, and merging automatically.\n\n## Who Uses Cardigantime?\n\nCardigantime serves two distinct audiences:\n\n### Tool Developers\nDevelopers building CLI applications who want robust configuration management without the boilerplate. You integrate Cardigantime once, define your Zod schema, and get:\n- Multi-format config file support out of the box\n- Automatic CLI option generation\n- Deep merging with proper precedence\n- Hierarchical config discovery (like `.eslintrc` or `.gitignore`)\n- Type safety throughout your codebase\n\n### End Users\nUsers of tools built with Cardigantime benefit from a consistent, powerful configuration experience without needing to know Cardigantime exists. They get:\n- Freedom to use their preferred config format (YAML, JSON, JS, or TS)\n- Consistent CLI options across tools\n- Clear, actionable error messages\n- Built-in config generation (`--init-config`) and analysis (`--check-config`)\n\n## Installation\n\n```bash\nnpm install @theunwalked/cardigantime\n# or\nyarn add @theunwalked/cardigantime\n# or\npnpm add @theunwalked/cardigantime\n```\n\n## Quick Start\n\nHere's a complete example of building a CLI tool with Cardigantime:\n\n```typescript\nimport { Command } from 'commander';\nimport { create } from '@theunwalked/cardigantime';\nimport { z } from 'zod';\n\n// Define your configuration schema using Zod\nconst MyConfigSchema = z.object({\n  apiKey: z.string().min(1, \"API key is required\"),\n  timeout: z.number().min(1000).default(5000),\n  retries: z.number().min(0).max(10).default(3),\n  debug: z.boolean().default(false),\n});\n\n// Create a Cardigantime instance\nconst cardigantime = create({\n  defaults: {\n    configDirectory: './config', // Required: where to look for config files\n    configFile: 'myapp.yaml',   // Optional: defaults to 'config.yaml'\n    isRequired: false,          // Optional: whether config directory must exist\n  },\n  configShape: MyConfigSchema.shape, // Your Zod schema\n  features: ['config'],              // Optional: enabled features\n});\n\n// Set up your CLI with Commander.js\nasync function main() {\n  const program = new Command();\n  \n  program\n    .name('myapp')\n    .description('My awesome CLI application')\n    .version('1.0.0');\n\n  // Let Cardigantime add its CLI options (like --config-directory)\n  await cardigantime.configure(program);\n  \n  // Add your own CLI options\n  program\n    .option('-k, --api-key <key>', 'API key for authentication')\n    .option('-t, --timeout <ms>', 'Request timeout in milliseconds', parseInt)\n    .option('--debug', 'Enable debug mode');\n\n  program.parse();\n  const args = program.opts();\n\n  try {\n    // Read and validate configuration\n    const config = await cardigantime.read(args);\n    await cardigantime.validate(config);\n\n    console.log('Configuration loaded successfully:', config);\n    \n    // Your application logic here\n    await runMyApp(config);\n    \n  } catch (error) {\n    console.error('Configuration error:', error.message);\n    process.exit(1);\n  }\n}\n\nmain().catch(console.error);\n```\n\n### Version Information with Git Details\n\nCardigantime exports its own version information including git commit details. You can also set up the same pattern in your own project.\n\n#### Using Cardigantime's Version\n\n```typescript\nimport { VERSION, PROGRAM_NAME } from '@theunwalked/cardigantime';\n\nconsole.log(`Using ${PROGRAM_NAME}: ${VERSION}`);\n// Output: Using cardigantime: 0.0.22-dev.0 (working/a1b2c3d  2026-01-27 11:11:46 -0800) darwin arm64 v24.8.0\n```\n\n#### Setting Up Version Info in Your Own Project\n\nTo add the same detailed version format to your own CLI application, add this to your `vite.config.ts`:\n\n```typescript\nimport { defineConfig } from 'vite';\nimport replace from '@rollup/plugin-replace';\nimport { execSync } from 'node:child_process';\n\n// Extract git information at build time\nlet gitInfo = {\n    branch: '',\n    commit: '',\n    tags: '',\n    commitDate: '',\n};\n\ntry {\n    gitInfo = {\n        branch: execSync('git rev-parse --abbrev-ref HEAD').toString().trim(),\n        commit: execSync('git rev-parse --short HEAD').toString().trim(),\n        tags: '',\n        commitDate: execSync('git log -1 --format=%cd --date=iso').toString().trim(),\n    };\n    \n    try {\n        gitInfo.tags = execSync('git tag --points-at HEAD | paste -sd \",\" -').toString().trim();\n    } catch {\n        gitInfo.tags = '';\n    }\n} catch {\n    console.log('Directory does not have a Git repository, skipping git info');\n}\n\nexport default defineConfig({\n    plugins: [\n        replace({\n            '__VERSION__': process.env.npm_package_version,\n            '__GIT_BRANCH__': gitInfo.branch,\n            '__GIT_COMMIT__': gitInfo.commit,\n            '__GIT_TAGS__': gitInfo.tags === '' ? '' : `T:${gitInfo.tags}`,\n            '__GIT_COMMIT_DATE__': gitInfo.commitDate,\n            '__SYSTEM_INFO__': `${process.platform} ${process.arch} ${process.version}`,\n            preventAssignment: true,\n        }),\n        // ... your other plugins\n    ],\n    // ... rest of your config\n});\n```\n\nThen in your constants file:\n\n```typescript\nexport const VERSION = '__VERSION__ (__GIT_BRANCH__/__GIT_COMMIT__ __GIT_TAGS__ __GIT_COMMIT_DATE__) __SYSTEM_INFO__';\nexport const PROGRAM_NAME = 'myapp';\n```\n\nThe placeholders will be replaced at build time with actual values. This is particularly useful for CLI applications where you need visibility into exactly which build is running.\n\n### Configuration File Examples\n\nCardigantime supports multiple configuration formats. Choose the one that best fits your workflow:\n\n#### YAML (`config/myapp.yaml`)\n```yaml\napiKey: \"your-secret-api-key\"\ntimeout: 10000\nretries: 5\ndebug: true\n```\n\n#### JSON (`config/myapp.json`)\n```json\n{\n  \"apiKey\": \"your-secret-api-key\",\n  \"timeout\": 10000,\n  \"retries\": 5,\n  \"debug\": true\n}\n```\n\n#### JavaScript (`config/myapp.js`)\n```javascript\nmodule.exports = {\n  apiKey: process.env.API_KEY || \"your-secret-api-key\",\n  timeout: 10000,\n  retries: 5,\n  debug: process.env.NODE_ENV === 'development'\n};\n```\n\n#### TypeScript (`config/myapp.ts`)\n```typescript\nexport default {\n  apiKey: process.env.API_KEY || \"your-secret-api-key\",\n  timeout: 10000,\n  retries: 5,\n  debug: process.env.NODE_ENV === 'development'\n} as const;\n```\n\n**Format Priority:** When multiple config files exist, Cardigantime uses this priority order:\n1. TypeScript (`.ts`, `.mts`, `.cts`) - Highest priority\n2. JavaScript (`.js`, `.mjs`, `.cjs`)\n3. JSON (`.json`)\n4. YAML (`.yaml`, `.yml`) - Lowest priority\n\nYou can override automatic detection with `--config-format`:\n```bash\n./myapp --config-format yaml  # Force YAML even if JSON exists\n```\n\n### Example Usage\n\n```bash\n# Use config from file\n./myapp\n\n# Override config with CLI arguments\n./myapp --api-key \"different-key\" --timeout 15000\n\n# Use different config directory\n./myapp --config-directory /etc/myapp\n\n# Generate initial configuration file\n./myapp --init-config\n\n# Analyze configuration with source tracking\n./myapp --check-config\n```\n\n## Key Features\n\n### Configuration Sources & Precedence\nMerges configuration from multiple sources in order of precedence:\n1. **Command-line arguments** (highest priority)\n2. **Configuration file(s)** (medium priority)  \n3. **Default values** (lowest priority)\n\n### Multi-Format Configuration\nSupports YAML (`.yaml`, `.yml`), JSON (`.json`), JavaScript (`.js`, `.mjs`, `.cjs`), and TypeScript (`.ts`, `.mts`, `.cts`) configuration files. When multiple formats exist, Cardigantime uses automatic format detection with configurable priority.\n\n### Configuration Discovery\n\nCardigantime automatically searches for configuration files using multiple naming conventions, similar to how tools like Vite, ESLint, and TypeScript work:\n\n| Priority | Pattern | Example |\n|----------|---------|---------|\n| 1 | `{app}.config.{ext}` | `myapp.config.yaml` |\n| 2 | `{app}.conf.{ext}` | `myapp.conf.yaml` |\n| 3 | `.{app}/config.{ext}` | `.myapp/config.yaml` |\n| 4 | `.{app}rc.{ext}` | `.myapprc.yaml` |\n| 5 | `.{app}rc` | `.myapprc` |\n\nModern visible config files (like `myapp.config.yaml`) are checked first for better discoverability.\n\n### Hierarchical Configuration Discovery\nSupports hierarchical configuration discovery, similar to how `.gitignore`, `.eslintrc`, or `package.json` work - searching up the directory tree for configuration directories.\n\n**Hierarchical Modes:**\n- `enabled` (default) - Merge configs from parent directories\n- `disabled` - Use only the config in the starting directory\n- `root-only` - Find first config, no merging\n- `explicit` - Only merge explicitly referenced configs\n\n```yaml\n# Disable hierarchical for isolated projects\nhierarchical:\n  mode: disabled\n```\n\n### MCP Integration\nFirst-class support for Model Context Protocol (MCP), enabling AI assistants to configure tools directly through MCP invocations. Includes:\n- **MCP Configuration Priority** - MCP config takes exclusive precedence when provided\n- **File-Based Fallback** - Automatic discovery from target file or working directory\n- **CheckConfig Tool** - Built-in diagnostic tool for all MCP tools\n- **Integration Helpers** - Simple APIs for adding MCP support to your tools\n\n```typescript\nimport { createMCPIntegration } from '@theunwalked/cardigantime/mcp';\n\nconst integration = createMCPIntegration({\n  appName: 'myapp',\n  configSchema: myConfigSchema,\n});\n\n// CheckConfig tool is automatically available\n// Config resolution handles MCP and file-based sources\n```\n\n### Type Safety & Validation\nFull TypeScript support with Zod schema validation for robust, type-safe configuration management.\n\n### Error Handling\nComprehensive error handling with detailed, actionable error messages to help users fix configuration issues quickly.\n\n## Documentation\n\n📚 **[Complete Documentation](https://utilarium.github.io/cardigantime/)** - Full documentation site\n\n**Quick Links:**\n- [Getting Started Guide](https://utilarium.github.io/cardigantime/#getting-started) - Detailed setup and basic concepts\n- [Core Concepts](https://utilarium.github.io/cardigantime/#core-concepts) - Configuration sources, hierarchical discovery\n- [MCP Integration](https://utilarium.github.io/cardigantime/#mcp-integration) - Model Context Protocol support for AI assistants\n- [CheckConfig Tool](https://utilarium.github.io/cardigantime/#check-config-tool) - Built-in diagnostic tool\n- [API Reference](https://utilarium.github.io/cardigantime/#api-reference) - Complete API documentation\n- [Configuration Options](https://utilarium.github.io/cardigantime/#configuration-options) - All available options\n- [Debugging & Analysis](https://utilarium.github.io/cardigantime/#debugging-analysis) - Tools for analyzing config\n- [Advanced Usage](https://utilarium.github.io/cardigantime/#advanced-usage) - Complex examples and scenarios\n- [Error Handling](https://utilarium.github.io/cardigantime/#error-handling) - Comprehensive error handling guide\n\n## Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n## License\n\nApache-2.0 - see [LICENSE](LICENSE) file for details.\n\n## Why \"Cardigantime\"?\n\nBecause configuration management should be as comfortable and reliable as your favorite cardigan. Just like a good cardigan keeps you warm and comfortable, Cardigantime keeps your application configuration cozy and well-organized.\n\n","readmeFilename":"README.md"}