{"_id":"churn-cli","_rev":"28-32f25c38dfdeed40d433d47e7fbd15fb","name":"churn-cli","dist-tags":{"latest":"2.2.5"},"versions":{"2.0.0":{"name":"churn-cli","version":"2.0.0","keywords":["ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.0.0","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"d51eaf0c73096ba58bc80f351d4f962412e27cd6","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.0.0.tgz","fileCount":4,"integrity":"sha512-CviI4FRAzrDbndMk9eTzOuFRga8SbvmJQQi3LL0C/cvdK6y9VD5qaSetw+rS2LHLT1kf5YpZaoGZMzThA16lMw==","signatures":[{"sig":"MEYCIQDoLWo/dcot8DVJ+KeocjJGFIExwXgFaWcB3XScEaNfJgIhAMNt06SEMcigLUljdFAvggq9eQIeOHlKEh9bX4z4ZwHE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3749496},"type":"module","gitHead":"253673a0af8e0ce16d8bf3ca6459aaf6ea2de881","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"10.9.0","description":"AI-assisted developer tool for maintaining and refactoring codebases","directories":{},"_nodeVersion":"20.15.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","@lobehub/icons":"^2.43.1","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","react-devtools-core":"^7.0.1","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.0.0_1761271810837_0.049459288189869444","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"churn-cli","version":"2.0.1","keywords":["ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.0.1","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"28266e93b8693d073554406342ec6d054b0e1ed8","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.0.1.tgz","fileCount":4,"integrity":"sha512-QRy/SzGdJGI6yxLflOfneAY9LnPpZTAraLhZzDLSiw72wfP/0ciN0OySUCcCtgqFbgLu8AJu5j1cX9dNTNx/tQ==","signatures":[{"sig":"MEUCIQCxzzk9zfgwEy8UZzreL4YfHvedwB5crnId7Mtiy4zWoAIgW0dgmJtEJu9nHb5BPjxgDLe6m+OOeb3BclVjrJKqoI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3750154},"type":"module","gitHead":"253673a0af8e0ce16d8bf3ca6459aaf6ea2de881","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"10.9.0","description":"AI-assisted developer tool for maintaining and refactoring codebases","directories":{},"_nodeVersion":"20.15.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","@lobehub/icons":"^2.43.1","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","react-devtools-core":"^7.0.1","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.0.1_1761272080205_0.8092777654985066","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"churn-cli","version":"2.0.2","keywords":["ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.0.2","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"72fd5345183ab8c23a4b8a4ed763c8f269af66d9","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.0.2.tgz","fileCount":4,"integrity":"sha512-gxpXz7iroekCIn8TcFS5DP18I4Ruc9wAaj5qmqPcl5PyKlpxs/t36A0NjG2vrR+TGTyNSEdj7e+Uv/m5C/MQhA==","signatures":[{"sig":"MEUCIFJy0tgmLmA0U2qMka3fp7sSCKTs9o3TeSdMzCxXA4t4AiEAm3WsG/gsaL/BFDRkIXMAZertoBRhcSvnUlqXLnGAmgo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3750593},"type":"module","gitHead":"a31b56a740f5920d27e909177bd8dfc07860d9a3","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"10.9.0","description":"AI-assisted developer tool for maintaining and refactoring codebases","directories":{},"_nodeVersion":"20.15.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","@lobehub/icons":"^2.43.1","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","react-devtools-core":"^7.0.1","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.0.2_1761272343370_0.6294722404477091","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"churn-cli","version":"2.0.3","keywords":["ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.0.3","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"9693f3541fbbc8784a0fb112b2357c95fb5fcc27","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.0.3.tgz","fileCount":4,"integrity":"sha512-OxTo7dAt6QHxETNkAxb2SxQNtHIo7on8GJDPxReoR6WyNlPoKhClS1JSmaRnD5rJufa/epIhY7lMjSS9G5Y1ZA==","signatures":[{"sig":"MEUCIQDARAbL0s1ECLr/c2TQGEnNCdg5BUTRE0FNREukBCeKKAIgGTYk9UcKEArDC7JEQQMeO6mLyitiX/IpNB5oqCIKe3M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3750828},"type":"module","gitHead":"a31b56a740f5920d27e909177bd8dfc07860d9a3","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"10.9.0","description":"AI-assisted developer tool for maintaining and refactoring codebases","directories":{},"_nodeVersion":"20.15.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","@lobehub/icons":"^2.43.1","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","react-devtools-core":"^7.0.1","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.0.3_1761272763732_0.7899478953352441","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"churn-cli","version":"2.0.4","keywords":["ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.0.4","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"3f3ecacffad7984329fa983192263e2bb406956a","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.0.4.tgz","fileCount":4,"integrity":"sha512-2x4LrZ/GLv93kxZywTKUUZErSusHJZEXC13MSqU0X/PDqxr+xl94/2v1415wNN2QCo9JlN45TzP/eZRqk+e2ww==","signatures":[{"sig":"MEUCIF7TC9ESZaM9El1JNjOCHQ8wrG8l6qKM+xUtHpuI/RIwAiEAxcutTK/zH6GdpLN33zb3yp9KZ16IBnGHhihXykKakJ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3442131},"type":"module","gitHead":"445ba38b094dbe34d2d6a8e4942099e888fd849c","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"11.4.2","description":"AI-assisted developer tool for maintaining and refactoring codebases","directories":{},"_nodeVersion":"23.7.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","@lobehub/icons":"^2.43.1","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","react-devtools-core":"^7.0.1","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.0.4_1761530175241_0.5851991134561476","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"churn-cli","version":"2.0.5","keywords":["ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.0.5","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"0f678a51c186da307d49f8525170c43ef065ef22","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.0.5.tgz","fileCount":4,"integrity":"sha512-VNwRmAjBeqKixEee+ReQwrhNZriKRpF0OYSck8kWrt+VppA5fm9PNq13OcEwyXiIaN0LE7pM/QqCSs7u9ZAKgA==","signatures":[{"sig":"MEUCIAsXwIpGAYW8vQKJZmneu8vB4xvrsd+WMmhQuIxZPeJ1AiEAw1/pKF8uPdJ+hTCvEA2ja5DLQi3QIsuxlHde+WGyVpo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3442137},"type":"module","gitHead":"d68fecf237b9db5cda0104c9f2b92cc6c42eda7d","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"11.4.2","description":"AI-assisted developer tool for maintaining and refactoring codebases","directories":{},"_nodeVersion":"23.7.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","@lobehub/icons":"^2.43.1","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","react-devtools-core":"^7.0.1","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.0.5_1761531455532_0.2591068324694017","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"churn-cli","version":"2.0.6","keywords":["ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.0.6","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"7a9b5690b6233cee1ea2151e10c9699301960d5f","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.0.6.tgz","fileCount":4,"integrity":"sha512-UDrXFuEL2HEuCKvRzrhUABYmEKMlyd94ofZWROIGABtyx/CEfMH+ExgSMhykwhRBQisn5uCzySSak5YhGQusRA==","signatures":[{"sig":"MEUCIQDXYwt+XbHpBVVMjs1haoXd8b4K2ZyW5gpZO8pDyMsgggIgEKC/5UTMEwjwYknsGdv+DDqWKbGp67lLEEOpo1MOqr4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3435258},"type":"module","gitHead":"8991b046121ad7b4b9f452ed5bf64e95a9343fc3","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"10.9.0","description":"AI-assisted developer tool for maintaining and refactoring codebases","directories":{},"_nodeVersion":"20.15.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.0.6_1762207259165_0.832650354937136","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"churn-cli","version":"2.0.7","keywords":["ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.0.7","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"5d72e2bbe0206ecf23a97c3f307c7de5249fb985","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.0.7.tgz","fileCount":4,"integrity":"sha512-N3rFEcf+iOy7UNtf8i77UiPf8MmkuWRGsDYUHQJKpG7WSh2vpPfx6dTgNJActAvEl2qAGVkfGRhAS1BKzrYd3g==","signatures":[{"sig":"MEYCIQCZOmS/pIhmFAfA//RGggJ3+Mt29DRW5Bum9KNSztZP2QIhAK05qWFt6fs95LumhNsHHJqq5+tP2w6kM0djcELkmvvr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3435260},"type":"module","gitHead":"1e7817dcdbab0f6b2241cf35b05b186c3ccc9752","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"10.9.0","description":"AI-assisted developer tool for maintaining and refactoring codebases","directories":{},"_nodeVersion":"20.15.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.0.7_1762208280519_0.7757158765819971","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"churn-cli","version":"2.0.8","keywords":["ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.0.8","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"4d564e7c1047abc8bac3ca047d2f2a6ce28d5bc7","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.0.8.tgz","fileCount":4,"integrity":"sha512-F7l92txPJvlVJuEF+bba9pmzz9PhehTXsN2AUF/uIwhZY/2+22bvTKU59VGIcvfp2d0qXGoFLOUU5cgaQenwaA==","signatures":[{"sig":"MEUCIDs4qpZV1dFNItYXxRdwqYHZTFm2W+jiE9fhprPj0lJeAiEA1NOWaKeOrNJF3SDUBRl71yJ3ooxYVG+uAnVAibku2H8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3436062},"type":"module","gitHead":"1eb72d95a215d7cac80baabc2ac65e9e623efc77","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"10.9.0","description":"AI-assisted developer tool for maintaining and refactoring codebases","directories":{},"_nodeVersion":"20.15.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.0.8_1762280456943_0.29693722688744306","host":"s3://npm-registry-packages-npm-production"}},"2.0.9":{"name":"churn-cli","version":"2.0.9","keywords":["ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.0.9","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"bb48c7a9547f4ae0ae98d67aa1831628d055d90c","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.0.9.tgz","fileCount":4,"integrity":"sha512-ULREceybzJ7eN60hE/lqQeaV8pyvxWaLl+KokI5N1ZZpTA6KJtkEBtlLxdNVs4yPryB8VzLIZ/0Lh2mPzLItuA==","signatures":[{"sig":"MEUCIDVD3ZiZCF4C0Fq4S1nghOZfpI4pJPLRS8UKZSXrMTryAiEAiT1E0N4PTuyynY8U4g5jiFEJ6vW6esBcyHlr9lyGcTo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3436072},"type":"module","gitHead":"567216c4f4f303070d25e872a66e666c01587f64","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"10.9.0","description":"AI-assisted developer tool for maintaining and refactoring codebases","directories":{},"_nodeVersion":"20.15.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.0.9_1762365059085_0.4119347747860529","host":"s3://npm-registry-packages-npm-production"}},"2.0.10":{"name":"churn-cli","version":"2.0.10","keywords":["ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.0.10","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"e4ff2354b32efe03fff1ef2c2fd218234a4ec1fd","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.0.10.tgz","fileCount":4,"integrity":"sha512-n8eLtuznMh+6dzSvZT1lz5nqp/AGwzTtaGwDfiyncs7u+eVXo4G6E6vIdLn7+j8JVpZv28md77HbITboLeLUQg==","signatures":[{"sig":"MEUCIQDM08acAvGxbiMzxnZ3RxnW6SL/t3Iu/1fJtbYt63YFrQIgGjqEh7Dsondz1gcp8oZwLJwj7tnv6M/cFrb84CElRGg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3436074},"type":"module","gitHead":"37510d8a1a74d0091002f522f92322493f7f3320","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"10.9.0","description":"AI-assisted developer tool for maintaining and refactoring codebases","directories":{},"_nodeVersion":"20.15.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.0.10_1762382114427_0.15864569250588745","host":"s3://npm-registry-packages-npm-production"}},"2.0.11":{"name":"churn-cli","version":"2.0.11","keywords":["ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.0.11","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"cb0e696163a63611467252a7cd29ac6ecb7279cb","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.0.11.tgz","fileCount":4,"integrity":"sha512-q9kD1AoZ4n10IsPfTYhf0+Zm1BtpsmPk+sXsFM0zLa33286LmzRMH4hbFpNVfhLbiMzm14rDJ46pWA1/U5sJLg==","signatures":[{"sig":"MEQCIFOFQNiAqGqBrTiBKEx7CvxtfzHXdtn6RhnTYyLcbXOPAiAkaeQJlh2Uwen46cI+qgqMIkUXzMQxvKjDtQ5jPRRNLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3437584},"type":"module","gitHead":"135892bdd137d7cec881441aa37660746874ab45","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"10.9.0","description":"AI-assisted developer tool for maintaining and refactoring codebases","directories":{},"_nodeVersion":"20.15.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.0.11_1762385030270_0.90705080673612","host":"s3://npm-registry-packages-npm-production"}},"2.0.12":{"name":"churn-cli","version":"2.0.12","keywords":["ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.0.12","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"5955aec735d9ed866fdea210a3584b53641409ee","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.0.12.tgz","fileCount":4,"integrity":"sha512-kBCND7ehPXJIa26QL9FFhkZue21wT0nfNli4Ol02JASY3sgSgkovfjYaeVyNHZ26+iS0ysYKgYYNKdzXN2eSxA==","signatures":[{"sig":"MEUCIQCU+sPiB/uTGSL+RWIIGktiEE2cC0RX10YwP8gkhCjEpAIgXO+7Ko/XUVmyfOOTfwItyCZyzA0yAZsHsTo96XCDFXE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3441620},"type":"module","gitHead":"689f9da40386ad5ebe73d143e377bfdacb52139d","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"11.4.2","description":"AI-assisted developer tool for maintaining and refactoring codebases","directories":{},"_nodeVersion":"23.7.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.0.12_1762470253004_0.475571999298515","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"churn-cli","version":"2.1.1","keywords":["ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.1.1","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"24bdc270801c13b735e81518e591ad4db8fbe330","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.1.1.tgz","fileCount":4,"integrity":"sha512-+7hjx7xeEfcr6X3xVIay28eEYxCAiGrPVKB0LKDPQZiiSqnC31EJykVK/bfkP0oVFmMn/Wrcw5hIfZrv5REh8w==","signatures":[{"sig":"MEQCIFHtH1Lg9OaqgbHmV14Gu5ERukRXeS+P+xTmWN1A/xf7AiAreNkBlp1RsdfGrpzof3poh1FwpzEpvIloVQmTQSygiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3476311},"type":"module","gitHead":"f752b53418fc5fb3b55aeaf303848f56f7e44cd3","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"11.4.2","description":"AI-assisted developer tool for maintaining and refactoring codebases","directories":{},"_nodeVersion":"23.7.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.1.1_1762724241181_0.6675138692614688","host":"s3://npm-registry-packages-npm-production"}},"2.0.13":{"name":"churn-cli","version":"2.0.13","keywords":["ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.0.13","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"e453d1ae2770e0febb65ffd3860d239dc5e16a15","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.0.13.tgz","fileCount":4,"integrity":"sha512-gJjt7AjVYCvPXBahvG/dcSLXohWEg7jHqw4W4AX70ueZUDzssB6ypOxVuttP7w8WQ9YVP+iel0rTS7IFsWNqrQ==","signatures":[{"sig":"MEUCID0ZBEAx+6b8rc3BIs+fyThmB6I+GNXgRuGkIYDZH13aAiEAnD1LRu3GgDxGMYBuYhiovqtLqMfHXGnrD0rmUEhosPM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3437584},"type":"module","gitHead":"ec9c54b93efd9c89cfbbf751bd2c246071f4d973","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"10.9.0","description":"AI-assisted developer tool for maintaining and refactoring codebases","directories":{},"_nodeVersion":"20.15.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.0.13_1762811479922_0.7154677496590114","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"churn-cli","version":"2.1.2","keywords":["ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.1.2","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"2794d85bb12113a78a0411dbe2c808e822215749","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.1.2.tgz","fileCount":4,"integrity":"sha512-S0mQqMcwgXXPxVsGu9OgQxVmOpjsuLfRs/wHNaRp1oOO8xlocC0H9GXpHv3f2uptwGExL+zsYc8lRbkpm8uyZg==","signatures":[{"sig":"MEYCIQD6mD8q+oIqHN/tmgp0sCh6j+wY8p6AHEOZgt5D0QOZ2QIhAI+DV0PM/AFV6TGPHpD235vLUncpsxIJ4o0Wb9ShDIou","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3484100},"type":"module","gitHead":"95df13cc48cdf46668eff4a6a889625a2ea3e11b","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"11.4.2","description":"AI-assisted developer tool for maintaining and refactoring codebases","directories":{},"_nodeVersion":"23.7.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.1.2_1762917660939_0.6572763241175152","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"churn-cli","version":"2.1.3","keywords":["context-layer","context-engine","agent-infrastructure","code-substrate","ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.1.3","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"6634d974c0f58fbb964cd9e20dc084bd3ff4e4d1","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.1.3.tgz","fileCount":4,"integrity":"sha512-fhwUn3ngomGlccYNNYhwwi3GoTV9P0Zb7eGM335XSjfy81ix3mzlPGWh96WGML1e3hG45WMutQMUhzOBp2GA5Q==","signatures":[{"sig":"MEUCIEvUmYbCBU1DV2usZRbiewDl2xVnFnur5+yDv0zHBlDBAiEAh0Q2ZFylEZH95rXM4BBD3G2wkehrM0hqYjj44YPCXKs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3480610},"type":"module","gitHead":"bda0d5ddbf6f3ea74c43f5d94a7bf22151e3ef50","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"10.9.0","description":"Local-first context intelligence layer for AI agents and code workflows","directories":{},"_nodeVersion":"20.15.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.1.3_1762967094759_0.7260983786138246","host":"s3://npm-registry-packages-npm-production"}},"2.1.4":{"name":"churn-cli","version":"2.1.4","keywords":["context-layer","context-engine","agent-infrastructure","code-substrate","ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.1.4","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"2e453c0bb011373130cb61f30322423ee2af0e24","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.1.4.tgz","fileCount":4,"integrity":"sha512-nRgL8sJ15I1L6UOh8R8w+bwhn4RaIHezncsvVIzWsyS8itr2PPTd9XRY6HpEsP9nCFbY8D8RWfcYLzfRzwLjSg==","signatures":[{"sig":"MEQCIGCLv3PLZns8Xf5X3HBlE2QqrQZ9Cq2Tuff+wh1yY3kxAiAntzx/pR0/YvqaDTrtIKf/303PlI6l4yrXS+9aGpQaMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3489425},"type":"module","gitHead":"f7fbb0e45e6a8928a0e43d93d5143f816d6b0a3a","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"11.4.2","description":"Local-first context intelligence layer for AI agents and code workflows","directories":{},"_nodeVersion":"23.7.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.1.4_1763149139093_0.6621474771397726","host":"s3://npm-registry-packages-npm-production"}},"2.1.5":{"name":"churn-cli","version":"2.1.5","keywords":["context-layer","context-engine","agent-infrastructure","code-substrate","ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.1.5","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"82ea0189139c0aefb0df125f62cf9beb9f56baa8","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.1.5.tgz","fileCount":25,"integrity":"sha512-FBzYrTwrPhAOBGGemKt07g/9s2VNcTRIFZXxTaRBMljqilSuPhH6DZjS3xKjPRzNHh2DgoDyZcPmTAoXa4gJow==","signatures":[{"sig":"MEYCIQCEC8euU+CELgVqubyC+dMv/PxwXtVWMMP4BAMv+PW7NAIhAN6lfM/QRjvJtjEAnaTjeCQYUP+ho3FB9Sdk8BvURQBU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189883},"type":"module","gitHead":"f7fbb0e45e6a8928a0e43d93d5143f816d6b0a3a","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"10.9.0","description":"Local-first context intelligence layer for AI agents and code workflows","directories":{},"_nodeVersion":"20.15.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.1.5_1763413277130_0.5467837447446218","host":"s3://npm-registry-packages-npm-production"}},"2.1.7":{"name":"churn-cli","version":"2.1.7","keywords":["context-layer","context-engine","agent-infrastructure","code-substrate","ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.1.7","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"23945d2cad7d94fc9dd2ed9971806f52c46a3aec","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.1.7.tgz","fileCount":4,"integrity":"sha512-j9D8/0/1F8Zb0xG6pgQJXw++BNkmXJK8dgPlwlf4aAhjKK6zKoDAiBhGNceUGmCrlnnwyQWJ8Erasg3L6tpt+w==","signatures":[{"sig":"MEQCIBlRWi4j/+i3R4duAuMqatxLtdcVfvUbD3re4I1+lSwlAiAQTct5nTEhVR9VvAGIqeE25HPkwmw8p6SPb8MAJXJmjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3525823},"type":"module","gitHead":"45a8b969200292eba7b955555cd81822d759b001","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"11.4.2","description":"Local-first context intelligence layer for AI agents and code workflows","directories":{},"_nodeVersion":"23.7.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.1.7_1763929095531_0.2815231952971502","host":"s3://npm-registry-packages-npm-production"}},"2.1.8":{"name":"churn-cli","version":"2.1.8","keywords":["context-layer","context-engine","agent-infrastructure","code-substrate","ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.1.8","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"a2d4b942043b2c8ef730c2e7a8ee2e565094e374","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.1.8.tgz","fileCount":4,"integrity":"sha512-/U2raQNcrWsHu0PK7dhwuHj8uf/73yvEUZ8i+egskK74kSw1te9STJSUym+GsDhnPufqMrhgUjEbAf7WWbnlng==","signatures":[{"sig":"MEUCIDb0/5UqsZP/EyJy8ZimpR/PGBc1zpsJ7l4HyHnrV135AiEAl0h+q6sVfdS1vlfjb69PykU6nXxMFxVLvRjY8Y3oLhQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3595846},"type":"module","gitHead":"74375bd58595f2827beb8b0366a6ede2e866a176","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"11.4.2","description":"Local-first context intelligence layer for AI agents and code workflows","directories":{},"_nodeVersion":"23.7.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","@inkjs/ui":"^2.0.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","fullscreen-ink":"^0.1.0","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.1.8_1764034261501_0.2869018209858962","host":"s3://npm-registry-packages-npm-production"}},"2.1.9":{"name":"churn-cli","version":"2.1.9","keywords":["context-layer","context-engine","agent-infrastructure","code-substrate","ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.1.9","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"8b72d11c1f1beb1e849510c1e659b36de5fe22ed","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.1.9.tgz","fileCount":4,"integrity":"sha512-Vuil62833V7gbt/lcH7VWKRya1mgSHBYKc2epcwIZLZVsbt1/jBUw01jNyrN51omEvwOcnMUu/I6Twsy5yy9gg==","signatures":[{"sig":"MEYCIQDGGbVnPA8/cBeE9HP43DIQSboxv3JaJfxhSRzWQFoGDQIhAMwtgmwtB/2V3F5z7cz1HMAZkXrD5K9bP/BOGwkiVc6Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3595846},"type":"module","gitHead":"f64adbc446572c362219bb7a401fb3513b88761c","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"11.4.2","description":"Local-first context intelligence layer for AI agents and code workflows","directories":{},"_nodeVersion":"23.7.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","@inkjs/ui":"^2.0.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","fullscreen-ink":"^0.1.0","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.1.9_1764118186835_0.4239711701623994","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"churn-cli","version":"2.2.0","keywords":["context-layer","context-engine","agent-infrastructure","code-substrate","ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.2.0","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"6af98d942d862e63d527a2b4239410c4a26be752","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.2.0.tgz","fileCount":4,"integrity":"sha512-3FcVHxnq1kVPOgW6rv9gmQvxy+NjegxLHSBnkiNx2nEaLtF9LzJfz157hJGWQUEBOcEo1nSqKZq1z4LpM6/7OQ==","signatures":[{"sig":"MEYCIQCS6SXxS/j6rU+XJF87VkQ3QWwjEt8j1M2O1Q6M0BtLDQIhAN2bNHcO/9G5NCsycxWF09jVNIFjhF1vH4RY/fFOiJI5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3600999},"type":"module","gitHead":"0d4c1c9dd54ec69a66b7bdcf75061ee00119ce42","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"11.4.2","description":"Local-first context intelligence layer for AI agents and code workflows","directories":{},"_nodeVersion":"23.7.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","@inkjs/ui":"^2.0.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","fullscreen-ink":"^0.1.0","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.2.0_1764369755750_0.48908667738121436","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"churn-cli","version":"2.2.1","keywords":["context-layer","context-engine","agent-infrastructure","code-substrate","ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.2.1","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"a895ec05cf9dfe710f1ba2b1a986aba5e6dc0870","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.2.1.tgz","fileCount":4,"integrity":"sha512-dcZjyTqsJ84ds7CsomBSNbYyI4TT9VJPcSfJQLaBwOsAwvVGN2qDu1grp51crw+cVBZfdlLu1hgXb2fh1z1uhg==","signatures":[{"sig":"MEUCIEq0JRtjVLNKk9EavAMKu95lX0u4qnzsU/Y8gvdwzxwmAiEAseCXprqmDh69TJ2vkk57CralDv3XwLc6tfBDb5SNzRo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3953476},"type":"module","gitHead":"1d0ef02f8b167d80486581c576382575d1c8af1c","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"10.9.0","description":"Local-first context intelligence layer for AI agents and code workflows","directories":{},"_nodeVersion":"20.15.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","@inkjs/ui":"^2.0.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","fullscreen-ink":"^0.1.0","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.2.1_1765324558930_0.2818651143299833","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"churn-cli","version":"2.2.2","keywords":["context-layer","context-engine","agent-infrastructure","code-substrate","ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.2.2","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"663dab0f288733e25ca105bdd09893c9a7bd294a","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.2.2.tgz","fileCount":4,"integrity":"sha512-pOX/JMmQggD1ztlsoZkF4pj4ezrVv/h5ao0FyuhlcMDBNk6UAuRqNzaDhjtYAHxOzrV796hOkg3XO9w+vmc+wg==","signatures":[{"sig":"MEQCIDTI4pk8lEf2cje1nOX0q9MZaXByi41PtvfWUGChOcU7AiBNyEZ5fARo42iEeHARH42DTz5fMQ4r9j1jtL62XpMbQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3629264},"type":"module","gitHead":"b3a90e92cf4a53803de22ddb35f9d4a55046b1db","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"11.4.2","description":"Local-first context intelligence layer for AI agents and code workflows","directories":{},"_nodeVersion":"23.7.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","@inkjs/ui":"^2.0.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","fullscreen-ink":"^0.1.0","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.2.2_1765684839156_0.8009823815109673","host":"s3://npm-registry-packages-npm-production"}},"2.2.3":{"name":"churn-cli","version":"2.2.3","keywords":["context-layer","context-engine","agent-infrastructure","code-substrate","ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.2.3","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"1fa86be62a4ab76e6f0286f22359b7033eed8e76","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.2.3.tgz","fileCount":4,"integrity":"sha512-q+mbqtQ36ifrbqJ8mQM1wX6dK6ARv3EhZysroEeOI/uLBlT6+2VNr8Gq8cRALmWMvrUREkC1jKcQ4olvmhMPvA==","signatures":[{"sig":"MEUCIDy/CWPmTRdm079aAZp1a0WodI2lzDjkH/VX02uf1KJzAiEA9Ar1hW+PRaUnoPmho2dmDnCEXimx+BL3uPPPJQV4maQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3629264},"type":"module","gitHead":"e050a72ed1871511d47beb2095b05ab7c46a7480","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"11.4.2","description":"Local-first context intelligence layer for AI agents and code workflows","directories":{},"_nodeVersion":"23.7.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","@inkjs/ui":"^2.0.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","fullscreen-ink":"^0.1.0","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.2.3_1765684955745_0.18449115523379667","host":"s3://npm-registry-packages-npm-production"}},"2.2.4":{"name":"churn-cli","version":"2.2.4","keywords":["context-layer","context-engine","agent-infrastructure","code-substrate","ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"author":{"name":"cloudboyjh1"},"license":"MIT","_id":"churn-cli@2.2.4","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"bin":{"churn":"dist/index.js"},"dist":{"shasum":"7bb3037bb26192fbeffe7edf4c09aa67e8180568","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.2.4.tgz","fileCount":4,"integrity":"sha512-HgTLCwGs/MI2LQ7uCB2IB9y/2g0u7PZC5ng79wFK7RBfFOJLFj7qBTQHQmYo/y0kBYRYUb9wrlt5pZQzZf9OIA==","signatures":[{"sig":"MEUCIEiIMZMN2bYep1cHMyrQJPtG/Z6X7UnAN0skUDKiff8vAiEA80PvqzOFkuQQb69v/4oSalxLKGp2Byxmdd7ypMxppaU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3629429},"type":"module","gitHead":"aaf57b2df825c2dd9ba8ebfe545fa9c4e8b54ee1","scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"repository":{"url":"git+https://github.com/cloudboyjh1/churn2.0.git","type":"git"},"_npmVersion":"11.4.2","description":"Local-first context intelligence layer for AI agents and code workflows","directories":{},"_nodeVersion":"23.7.0","dependencies":{"ink":"^5.0.1","chalk":"^5.3.0","react":"^18.3.1","ollama":"^0.5.9","openai":"^4.67.0","fs-extra":"^11.2.0","@inkjs/ui":"^2.0.0","commander":"^12.0.0","fast-glob":"^3.3.2","simple-git":"^3.25.0","ink-spinner":"^5.0.0","fullscreen-ink":"^0.1.0","ink-text-input":"^6.0.0","gradient-string":"^2.0.2","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.1","@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/churn-cli_2.2.4_1765685203064_0.2799955199382482","host":"s3://npm-registry-packages-npm-production"}},"2.2.5":{"name":"churn-cli","version":"2.2.5","description":"Local-first context intelligence layer for AI agents and code workflows","type":"module","author":{"name":"cloudboyjh1"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/cloudboyjh1/churn2.0.git"},"keywords":["context-layer","context-engine","agent-infrastructure","code-substrate","ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"bin":{"churn":"dist/index.js"},"scripts":{"dev":"bun run src/index.tsx","build":"bun build src/index.tsx --outdir dist --target node","compile":"bun build src/index.tsx --compile --outfile churn","type-check":"tsc --noEmit"},"dependencies":{"@anthropic-ai/sdk":"^0.31.0","@google/generative-ai":"^0.21.0","@inkjs/ui":"^2.0.0","chalk":"^5.3.0","commander":"^12.0.0","fast-glob":"^3.3.2","fs-extra":"^11.2.0","fullscreen-ink":"^0.1.0","gradient-string":"^2.0.2","ink":"^5.0.1","ink-select-input":"^6.0.0","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ollama":"^0.5.9","openai":"^4.67.0","react":"^18.3.1","simple-git":"^3.25.0"},"devDependencies":{"@types/fs-extra":"^11.0.4","@types/gradient-string":"^1.1.6","@types/node":"^22.0.0","@types/react":"^18.3.1","bun-types":"^1.1.0","typescript":"^5.6.0"},"_id":"churn-cli@2.2.5","gitHead":"912d03751592ac02f787128c6e2c09a97e6dbb9f","bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"homepage":"https://github.com/cloudboyjh1/churn2.0#readme","_nodeVersion":"23.7.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-FijbhCMOJjJsqQbjg7+H4Rc4rVRZpXYbGRMjIOMm7/GMjUuAi5hVj5u1aWqR/1gPAy7g1u0ZeNI1h/OLKokcTA==","shasum":"e19ee4c4edff06678c20ee8070571fbb41062ac9","tarball":"https://registry.npmjs.org/churn-cli/-/churn-cli-2.2.5.tgz","fileCount":4,"unpackedSize":3628407,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCDlmScQVWV9dfkUImIS1Fh2OQbXBX4xlHz4CqeLsZrqgIhAPhLecAGJry4wAX4Ck8HtPExFIK49LuG//z4fNc1CxNz"}]},"_npmUser":{"name":"cloudboyjh1","email":"johnshorton@outlook.com"},"directories":{},"maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/churn-cli_2.2.5_1765687782561_0.5710959053808511"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-24T02:10:10.722Z","modified":"2025-12-14T04:49:42.985Z","2.0.0":"2025-10-24T02:10:11.061Z","2.0.1":"2025-10-24T02:14:40.523Z","2.0.2":"2025-10-24T02:19:03.609Z","2.0.3":"2025-10-24T02:26:04.046Z","2.0.4":"2025-10-27T01:56:15.509Z","2.0.5":"2025-10-27T02:17:35.770Z","2.0.6":"2025-11-03T22:00:59.439Z","2.0.7":"2025-11-03T22:18:00.858Z","2.0.8":"2025-11-04T18:20:57.210Z","2.0.9":"2025-11-05T17:50:59.328Z","2.0.10":"2025-11-05T22:35:14.630Z","2.0.11":"2025-11-05T23:23:50.523Z","2.0.12":"2025-11-06T23:04:13.294Z","2.1.1":"2025-11-09T21:37:21.421Z","2.0.13":"2025-11-10T21:51:20.182Z","2.1.2":"2025-11-12T03:21:01.196Z","2.1.3":"2025-11-12T17:04:54.953Z","2.1.4":"2025-11-14T19:38:59.313Z","2.1.5":"2025-11-17T21:01:17.345Z","2.1.7":"2025-11-23T20:18:15.772Z","2.1.8":"2025-11-25T01:31:01.771Z","2.1.9":"2025-11-26T00:49:47.152Z","2.2.0":"2025-11-28T22:42:36.005Z","2.2.1":"2025-12-09T23:55:59.138Z","2.2.2":"2025-12-14T04:00:39.375Z","2.2.3":"2025-12-14T04:02:35.969Z","2.2.4":"2025-12-14T04:06:43.289Z","2.2.5":"2025-12-14T04:49:42.800Z"},"bugs":{"url":"https://github.com/cloudboyjh1/churn2.0/issues"},"author":{"name":"cloudboyjh1"},"license":"MIT","homepage":"https://github.com/cloudboyjh1/churn2.0#readme","keywords":["context-layer","context-engine","agent-infrastructure","code-substrate","ai","code-analysis","refactoring","cli","developer-tools","code-quality","claude","gpt","gemini","ollama"],"repository":{"type":"git","url":"git+https://github.com/cloudboyjh1/churn2.0.git"},"description":"Local-first context intelligence layer for AI agents and code workflows","maintainers":[{"name":"cloudboyjh1","email":"johnshorton@outlook.com"}],"readme":"<div align=\"center\">\n\n![Churn](./assets/churnreadmelogonew.png)\n\n**Your agents favorite context layer.**\n\nOpen-source • Local-first • Use as-is\n\n[![GitHub last commit](https://img.shields.io/github/last-commit/cloudboy-jh/churn?style=flat-square&color=ff5656)](https://github.com/cloudboy-jh/churn/commits/master)\n[![npm version](https://img.shields.io/npm/v/churn-cli.svg?style=flat-square&color=ff5656)](https://www.npmjs.com/package/churn-cli)\n[![npm downloads](https://img.shields.io/npm/dm/churn-cli.svg?style=flat-square&color=ff5656)](https://www.npmjs.com/package/churn-cli)\n[![License: MIT](https://img.shields.io/badge/License-MIT-ff5656.svg?style=flat-square)](https://opensource.org/licenses/MIT)\n[![Made with Bun](https://img.shields.io/badge/Made%20with-Bun-ff5656?style=flat-square&logo=bun)](https://bun.sh)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.0-ff5656?style=flat-square&logo=typescript)](https://www.typescriptlang.org/)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-ff5656.svg?style=flat-square)](https://github.com/cloudboyjh1/churn2.0/pulls)\n[![Docs](https://img.shields.io/badge/Docs-churn--docs-ff5656?style=flat-square)](https://churn-docs.pages.dev/)\n\n</div>\n\n---\n\n## Table of Contents\n\n- [Why Churn?](#why-churn)\n- [What Churn Finds](#what-churn-finds)\n- [What's New in v2.2](#whats-new-in-v22)\n- [Quick Start](#quick-start)\n- [Features](#features)\n- [Installation](#installation)\n- [Running Locally with Ollama](#running-locally-with-ollama)\n- [Commands](#commands)\n- [Keyboard Shortcuts](#keyboard-shortcuts)\n- [Configuration](#configuration)\n- [Documentation](#documentation)\n- [Contributing](#contributing)\n- [License](#license)\n\n---\n\n## Why Churn?\n\n**Built for developers, by developers.** Churn is a context intelligence layer that structures and analyzes code for AI agents and workflows—all from your terminal.\n\n**What makes Churn different:**\n\n- **Truly Open Source** - MIT licensed, no hidden fees, no telemetry, no account required\n- **Local-First** - Your code never leaves your machine unless you choose a cloud model\n- **Zero Setup** - Run from any Git repository, no configuration needed to start\n- **Model Freedom** - Use Claude, GPT, Gemini, or run completely offline with Ollama\n- **Production Ready** - v2.1+ is stable and actively maintained\n- **Cost Conscious** - Smart caching, adaptive prompts, and staged mode reduce API costs by 70-90%\n- **Beautiful Terminal UI** - Clean, focused interface that doesn't get in your way\n\nChurn respects your workflow, your privacy, and your budget.\n\n---\n\n## What Churn Finds\n\n**Real analysis outcomes from actual projects:**\n\n```bash\n✓ Removed 47 unused imports across 23 TypeScript files\n✓ Detected 12 orphaned utility functions with no references\n✓ Flagged 8 dependencies not imported anywhere in src/\n✓ Identified 5 performance bottlenecks in rendering loops\n✓ Caught 3 security anti-patterns (exposed API keys, eval usage)\n✓ Suggested 15 complex functions that would benefit from breaking down\n✓ Found 9 TODO comments older than 6 months\n✓ Detected duplicate logic across 4 similar components\n```\n\n**Common use cases:**\n\n- **Pre-commit checks** - Use `--staged` to analyze only your changes before committing (90% faster)\n- **Cleanup before release** - Find dead code, unused dependencies, and orphaned files\n- **Onboarding new developers** - Generate a \"health report\" of technical debt\n- **Pre-PR review** - Catch issues before they hit CI/CD with language-specific analysis\n- **Refactoring planning** - Identify high-impact areas to improve\n- **Dependency audits** - Flag outdated or unused packages\n- **Security scanning** - Detect common anti-patterns and vulnerabilities\n- **Framework migration** - Get context-aware findings for your specific stack\n\nChurn gives you **actionable insights**, not just observations. Every finding includes context, severity, and suggested fixes tailored to your language and framework.\n\n---\n\n## What's New in v2.2\n\n**Streamlined Review Flow** - Version 2.2 replaces the tedious checkbox review with a scannable summary and one-decision handoff:\n\n**New in v2.2.5**\n- **Security Fixes** - Fixed command injection vulnerabilities in differential analysis and agent handoff\n- **Race Condition Fix** - Fixed cache corruption during parallel file analysis\n- **Memory Leak Fixes** - Fixed setTimeout cleanup in ModelSelect and AskConsole components\n- **Performance** - Pre-computed gradient logo, parallel file operations, metadata caching\n- **Error Handling** - Comprehensive error handling across all components with user-friendly messages\n\n**New in v2.2.4**\n- **Dynamic Version Reading** - Version now read dynamically from package.json\n- **Bug Fixes** - Various stability improvements\n\n**New in v2.2.0-2.2.1**\n- **AnalysisSummary Screen** - Post-analysis view with severity breakdown (HIGH/MEDIUM/LOW), progress bars, and category stats\n- **ReviewBrowser** - Tree-based finding browser with exclude mode (everything included by default)\n- **Quick Handoff Actions** - [H] Pass HIGH only, [M] Pass HIGH+MED, [A] Pass ALL, [R] Review first, [E] Export only\n- **AgentOnboarding** - First-run agent configuration as part of init sequence\n- **Dynamic Model Updates** - Models can be updated without releasing new CLI versions via remote manifest\n\n**Agent Handoff System (v2.1.6+)**\n- **Interactive Handoff** - After export, prompt to launch your configured agent immediately\n- **Agent Support** - Claude Code, Cursor, Gemini CLI, Droid, and Codex integration\n- **Context Formats** - Minimal (MD+JSON) or Comprehensive (MD+JSON+patch+metadata)\n- **Enhanced `churn pass`** - `--launch` flag to start agents directly\n- **Workflow Integration** - Analyze with Churn → Hand off to agent → Implement changes\n\n**Performance & Stability (v2.1.5+)**\n- **60-70% faster analysis** - 117 files: 8 minutes → 2-3 minutes\n- Fixed retry mechanism for proper API error recovery\n- Adaptive viewport sizing based on terminal height\n- Fullscreen TUI mode with responsive layouts (v2.1.8)\n\n**See [CHANGELOG.md](./CHANGELOG.md) for complete version history.**\n\n---\n\n## Quick Start\n\n**Get your first analysis in 30 seconds:**\n\n```bash\n# Install globally\nnpm install -g churn-cli\n\n# Navigate to your project\ncd your-project\n\n# Run analysis\nchurn start\n```\n\nThat's it. Churn will:\n1. Detect your repository and project type\n2. Prompt you to select an AI model (first run only)\n3. Show you what it's about to analyze\n4. Stream results in real-time\n5. Let you review and accept/reject findings\n6. Export patches and reports\n\n**First-time users:** Start with `churn start` for an interactive experience. The tool will guide you through model selection and configuration.\n\n**Want to run locally with zero API costs?** See [Running Locally with Ollama](#running-locally-with-ollama) for setup instructions with free, offline models.\n\n**Cost-conscious?** Churn shows real-time token usage and cost estimation during analysis. Combined with smart caching and staged mode, you can reduce API costs by 70-90% while maintaining high-quality insights.\n\n---\n\n## Features\n\n- **Zero-Setup** - Run from any Git repository, no cloning or configuration required\n- **Local-First** - All data stored on your machine under `~/.churn/` and `.churn/`\n- **Multi-Model Support** - Claude, GPT, Gemini, or local Ollama models\n- **Agent Handoff** - Pass analysis results directly to Claude Code, Cursor, Gemini CLI, or Codex for implementation\n- **Adaptive Analysis** - Language and framework-aware prompts for context-specific findings\n- **Differential Mode** - Analyze only changed lines in staged files (70-90% cost savings)\n- **Live Analysis** - Real-time streaming output with progress tracking\n- **Interactive Review** - Navigate and selectively accept findings\n- **Export Workflow** - Generate patches, reports, and JSON for downstream tools\n- **Smart Caching** - Content-based caching reduces repeat analysis costs by 70%\n- **Token Tracking** - Real-time cost estimation and transparency\n- **Parallel Processing** - Concurrent file analysis for 10x speed improvements\n- **Beautiful UI** - Clean, vibrant red-themed terminal interface powered by Ink\n\n---\n\n## Installation\n\n### Quick Install (Recommended)\n\n```bash\n# Using npm\nnpm install -g churn-cli\n\n# Using Bun (faster, recommended)\nbun install -g churn-cli\n\n# Using pnpm\npnpm install -g churn-cli\n\n# Using yarn\nyarn global add churn-cli\n```\n\n**Note:** Churn is built with Bun. While it works with npm/yarn/pnpm, using Bun ensures the best experience.\n\n### For Development\n\n**Requirements:** Bun 1.x (NOT Node.js)\n\n```bash\n# Clone the repository\ngit clone https://github.com/cloudboyjh1/churn2.0.git\ncd churn2.0\n\n# Install dependencies with Bun\nbun install\n\n# Run in development mode\nbun run dev\n\n# Build\nbun run build\n\n# Type check\nbun run type-check\n```\n\n**Important:** This project requires Bun. Do not use `npm install` for development as it may cause dependency issues.\n\n---\n\n## Running Locally with Ollama\n\n**Zero API costs. Run Churn completely offline with local models.**\n\n### Quick Setup\n\n```bash\n# 1. Install Ollama (macOS/Linux)\ncurl -fsSL https://ollama.com/install.sh | sh\n\n# Windows - Download from https://ollama.com/download\n\n# 2. Pull a recommended model\nollama pull deepseek-r1:latest\n\n# 3. Run Churn\ncd your-project\nchurn start\n# Select \"Ollama\" when prompted for provider\n```\n\n**Recommended models:** `deepseek-r1:latest`, `qwen2.5-coder:14b`, `phi-3-mini`, `mistral:7b`\n\n**More Information:**\n- [Ollama Documentation](https://ollama.com/docs)\n- [Browse Models](https://ollama.com/library)\n\n---\n\n## Commands\n\n### `churn start`\n\nLaunch interactive menu with options to run analysis, choose model, configure settings, or exit.\n\n```bash\nchurn start\n```\n\n**Menu Options:**\n- **Run scan** - Start code analysis with current model\n- **Choose model** - Select or switch AI provider/model\n- **Settings** - Configure handoff preferences (agent, context format, auto-launch)\n- **Exit** - Quit the application\n\n### `churn run`\n\nDirect code analysis for power users (no interactive menu).\n\n**Options:**\n- `-s, --staged` - Analyze only staged files using differential analysis (analyzes only changed lines)\n- `-f, --files <files...>` - Analyze specific files\n- `-c, --concurrency <number>` - Number of files to analyze in parallel (1-50)\n\n**Examples:**\n```bash\n# Pre-commit check - analyze only your changes\ngit add .\nchurn run --staged\n\n# Analyze specific files\nchurn run --files src/components/Button.tsx src/utils/helpers.ts\n\n# Full repo scan with higher concurrency\nchurn run --concurrency 20\n```\n\n### `churn model`\n\nSelect or change your AI model provider. Your selection is remembered per provider.\n\n```bash\nchurn model\n```\n\n**Features (v2.1.2+):**\n- Persistent model selection - remembers last used model per provider\n- API key verification - shows last 4 characters of saved key\n- Press 'r' to replace/update API key\n- Pre-selects last used model when switching providers\n\n**Supported Providers:**\n- **Anthropic** (Claude Sonnet 4.5, Opus 4.1, Haiku 4.5, Sonnet 4)\n- **OpenAI** (GPT-5, GPT-5 Mini, GPT-5 Nano, GPT-5 Pro)\n- **Google** (Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash-Lite, Gemini 2.0 Flash)\n- **Ollama** (Local models like Llama 3.3, DeepSeek-R1, Qwen 2.5, Mistral, CodeLlama)\n\n### `churn review`\n\nReview results from the last analysis.\n\n```bash\nchurn review\n```\n\n**Navigation:**\n- Arrow keys - Navigate between findings\n- Enter - View details\n- Space - Toggle acceptance\n- Q - Quit review\n\n### `churn export`\n\nExport the last analysis to files.\n\n```bash\nchurn export\n```\n\n**Generated files (saved to `.churn/patches/`):**\n- `findings-<timestamp>.json` - Full analysis results in JSON format\n- `report-<timestamp>.md` - Human-readable markdown report with summary\n- `changes-<timestamp>.patch` - Git patch file (if applicable)\n\n**Analysis summary includes:**\n- Files analyzed and cache hits\n- Tokens used and saved\n- Estimated cost and savings\n- Project type and framework detected\n- All findings with severity levels\n\n### `churn pass`\n\nHand off analysis results to AI coding agents (Claude Code, Cursor, Gemini CLI, Codex).\n\n**Options:**\n- `--to <agent>` - Target agent: `claude`, `cursor`, `gemini`, or `codex` (required)\n- `--format <format>` - Context format: `minimal` (MD+JSON) or `comprehensive` (MD+JSON+patch+metadata) (default: minimal)\n- `--launch` - Launch the agent immediately with the handoff package\n\n**Examples:**\n```bash\n# Create handoff package and display info\nchurn pass --to claude\n\n# Create comprehensive package with all context\nchurn pass --to cursor --format comprehensive\n\n# Launch agent immediately with handoff package\nchurn pass --to claude --launch\n\n# View handoff package as JSON\nchurn pass --to gemini | jq '.files'\n```\n\nThe `pass` command generates a handoff package containing the analysis results and optionally launches the target agent with the files. This enables seamless workflows where Churn analyzes your code and then hands control to your preferred AI coding assistant for implementation.\n\n---\n\n## Keyboard Shortcuts\n\nChurn includes global keyboard shortcuts that work on every screen (added in v2.1.2):\n\n| Key | Action | Description |\n|-----|--------|-------------|\n| `z` | **Exit** | Exit the application from anywhere |\n| `o` | **Start Over** | Return to the start menu |\n| `esc` | **Go Back** | Go back one step in the workflow |\n| `r` | **Replace Key** | Replace API key (when viewing model selection) |\n\n**Review Panel Shortcuts:**\n- `↑` / `↓` - Navigate between findings\n- `Enter` - View finding details\n- `Space` - Toggle finding acceptance\n- `a` - Accept all findings\n- `n` - Accept none (clear all)\n- `d` - Done (proceed to export)\n- `q` - Quit review mode\n\n**Note:** Shortcuts are displayed in the footer on each screen for convenience. Global shortcuts work consistently across all interactive screens including ModelSelect, StartMenu, ConfirmRun, and ReviewPanel.\n\n---\n\n## Configuration\n\n### Global Config (`~/.churn/config.json`)\n\n```json\n{\n  \"version\": \"2.2.5\",\n  \"apiKeys\": {\n    \"anthropic\": \"sk-ant-...\",\n    \"openai\": \"sk-...\",\n    \"google\": \"AI...\"\n  },\n  \"defaultModel\": {\n    \"provider\": \"anthropic\",\n    \"model\": \"claude-sonnet-4-5\"\n  },\n  \"handoff\": {\n    \"enabled\": true,\n    \"targetAgent\": \"claude\",\n    \"contextFormat\": \"minimal\",\n    \"autoLaunch\": true,\n    \"agentCommands\": {\n      \"claude\": \"claude\",\n      \"cursor\": \"cursor\",\n      \"gemini\": \"gemini\",\n      \"codex\": \"codex\"\n    }\n  }\n}\n```\n\n**Handoff Configuration:**\n- `enabled` - Enable/disable handoff feature\n- `targetAgent` - Default agent for handoff (`claude`, `cursor`, `gemini`, `codex`, or `none`)\n- `contextFormat` - Context to pass: `minimal` (MD+JSON) or `comprehensive` (MD+JSON+patch+metadata)\n- `autoLaunch` - Show interactive prompt after export to launch agent\n- `agentCommands` - Custom CLI commands for each agent\n\nConfigure handoff settings interactively by pressing 'C' when prompted after export, or edit the config file directly.\n\n**Note:** Ollama models don't require API keys and run completely locally.\n\n### API Keys\n\nChurn requires API keys for cloud models:\n\n- **Anthropic**: [console.anthropic.com](https://console.anthropic.com/)\n- **OpenAI**: [platform.openai.com](https://platform.openai.com/)\n- **Google**: [makersuite.google.com](https://makersuite.google.com/)\n- **Ollama**: Run locally, no key needed\n\nKeys are stored in `~/.churn/config.json` and never sent anywhere except the respective API providers.\n\n---\n\n## Documentation\n\n**Full Documentation:** [churn-docs.pages.dev](https://churn-docs.pages.dev/)\n\n### Guides\n- [Agent Handoff Guide](./docs/guides/AGENT_HANDOFF.md) - Complete guide to integrating with AI coding agents\n- [Quickstart Guide](./docs/guides/QUICKSTART.md) - Get started in 5 minutes\n- [Examples](./docs/guides/EXAMPLES.md) - Real-world usage examples\n- [Install Bun](./docs/guides/INSTALL_BUN.md) - Bun installation guide\n\n### Development\n- [Development Guide](./docs/development/CLAUDE.md) - Comprehensive developer documentation\n- [Implementation Summary](./docs/development/IMPLEMENTATION_SUMMARY.md) - Architecture overview\n- [File Manifest](./docs/development/FILE_MANIFEST.md) - Complete file listing\n\n---\n\n## Contributing\n\nChurn is open-source and welcomes contributions.\n\n**How to Contribute:**\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Make your changes and test thoroughly\n4. Commit your changes (`git commit -m 'Add amazing feature'`)\n5. Push to your branch (`git push origin feature/amazing-feature`)\n6. Open a Pull Request\n\n[Report bugs or request features](https://github.com/cloudboyjh1/churn2.0/issues)\n\n---\n\n## License\n\nMIT License - see [LICENSE](LICENSE) for details.\n\nCopyright (c) 2025 Churn Contributors\n\n---\n\n## Acknowledgments\n\nBuilt with [Ink](https://github.com/vadimdemedes/ink), powered by [Bun](https://bun.sh), themed in vibrant red.\n\nSpecial thanks to the open-source community and all contributors who make Churn better.\n\n---\n\n<div align=\"center\">\n\n**Star the repo if you find Churn useful!**\n\n[Report Bug](https://github.com/cloudboyjh1/churn2.0/issues) • [Request Feature](https://github.com/cloudboyjh1/churn2.0/issues) • [Contribute](https://github.com/cloudboyjh1/churn2.0/pulls)\n\nMade with care for developers everywhere.\n\n</div>\n","readmeFilename":"README.md"}