{"_id":"claude-roi","_rev":"31-7af9056565cfdcb72603943ef61d798a","name":"claude-roi","dist-tags":{"latest":"0.8.10"},"versions":{"0.1.0":{"name":"claude-roi","version":"0.1.0","keywords":["claude","ai","roi","productivity","tokens","cost","git","dashboard"],"license":"MIT","_id":"claude-roi@0.1.0","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"bin":{"claude-roi":"src/index.js"},"dist":{"shasum":"26bd60e4cbbc82181274a397e559c8dc449198b9","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.1.0.tgz","fileCount":10,"integrity":"sha512-YVHfJPfHE5/GVvFgl99K5QxI7EKTgGS86dGxKDwpqgkrrHUFAcEL/0zZw4xIEhSz0X3BNAmFZ14e7tnK/DhbyQ==","signatures":[{"sig":"MEQCIEMeV8Pu0tSg7tmuN5YjOGfpJ3lB1VXSGp3sHW+EF/N8AiAoweDU7pu9/9VhyjIxUqR5rlDedGw/55Y654AaD3Yagg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92499},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"848eac411ef88f3d25ae8ce49e2ef83ad2fe468d","scripts":{"dev":"node src/index.js --no-open","start":"node src/index.js"},"_npmUser":{"name":"akshat2634","email":"akshatsahu1@gmail.com"},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","_npmVersion":"11.7.0","description":"Correlate Claude Code token usage with git output to measure AI coding agent ROI","directories":{},"_nodeVersion":"24.2.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0","playwright":"^1.58.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.1.0_1772095974865_0.26566462008330616","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"claude-roi","version":"0.1.1","keywords":["claude","ai","roi","productivity","tokens","cost","git","dashboard"],"license":"MIT","_id":"claude-roi@0.1.1","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"bin":{"claude-roi":"src/index.js"},"dist":{"shasum":"8b7438b4baf7ca3d871161b6ca16a0f1b49cf5df","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.1.1.tgz","fileCount":10,"integrity":"sha512-EUG7psGBSnVdV4A5jHGo+okKH5bJKsvb/RrBJf4vNJtVfE40Pm7AJivq3ZEYuErqK4tEGdYUittTBC/WoARYjQ==","signatures":[{"sig":"MEQCICWo2Myg1tZyLaCzWnpgwEFAzcPp/vjaFYBQVCsFRcyBAiBZcC6f91IhiR4RvKxbArQYsxTcSnoGbpeGk+palKb+rA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92701},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"46874ef01c8d2e72f2b7350c46e2172b5bf88f38","scripts":{"dev":"node src/index.js --no-open","start":"node src/index.js"},"_npmUser":{"name":"akshat2634","email":"akshatsahu1@gmail.com"},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","_npmVersion":"11.7.0","description":"Correlate Claude Code token usage with git output to measure AI coding agent ROI","directories":{},"_nodeVersion":"24.2.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0","playwright":"^1.58.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.1.1_1772096997126_0.8706947385361925","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"claude-roi","version":"0.2.0","keywords":["claude","ai","roi","productivity","tokens","cost","git","dashboard"],"license":"MIT","_id":"claude-roi@0.2.0","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"bin":{"claude-roi":"src/index.js"},"dist":{"shasum":"e5292b8fe0993488d6c89469fef4a912ed25b93a","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.2.0.tgz","fileCount":12,"integrity":"sha512-9dQyDiPnD/FBH27rRWaFB5Pre6VaOlsIBqdVbpQOJYBgT+Z3uBZVMlYFx56zECTRoF5YBpRJZW11kbKQsYRXNQ==","signatures":[{"sig":"MEUCIQDI0vZdQbHZe+uYSExVbA0xjpooX+NBlKfVi8nmranQaQIgJKqlYyKoQLQtki7lsMNPH+HJ7u/rSVyQIKZH3jQWZ3M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202237},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"fae26132d0b5436751c3e974af1be041a4910387","scripts":{"dev":"node src/index.js --no-open","start":"node src/index.js"},"_npmUser":{"name":"akshat2634","email":"akshatsahu1@gmail.com"},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","_npmVersion":"11.7.0","description":"Correlate Claude Code token usage with git output to measure AI coding agent ROI","directories":{},"_nodeVersion":"24.2.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0","playwright":"^1.58.2"},"_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.2.0_1772150004858_0.3079951564974732","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"claude-roi","version":"0.2.1","keywords":["claude","ai","roi","productivity","tokens","cost","git","dashboard"],"license":"MIT","_id":"claude-roi@0.2.1","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"bin":{"claude-roi":"src/index.js"},"dist":{"shasum":"b832ecfa0b3d3f10e53db894f7f67107fdfbcb00","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.2.1.tgz","fileCount":12,"integrity":"sha512-+ALzN78kJMRn2aHG7ftut6aV/06yR+RoCPuwqORtzqr1T+RXq5YEKPxpsGhBABkNXgAfvSkga++iesyTuq/8Vw==","signatures":[{"sig":"MEQCIDD5gAeank0iIbmhvbw5DHerxVxXI/mSwUJWuhMrHQ0TAiAjIslfud9hiRCOcofTqXF6kntUApOfMk6l9sUF3cFiiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203654},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"9e4d476b1ca0a8baa1a4273f7c6582acbb1af882","scripts":{"dev":"node src/index.js --no-open","start":"node src/index.js"},"_npmUser":{"name":"akshat2634","email":"akshatsahu1@gmail.com"},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","_npmVersion":"11.7.0","description":"Correlate Claude Code token usage with git output to measure AI coding agent ROI","directories":{},"_nodeVersion":"24.2.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0","playwright":"^1.58.2"},"_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.2.1_1772161449193_0.22314518233674208","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"claude-roi","version":"0.2.2","keywords":["claude","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.2.2","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://github.com/Akshat2634/Codelens-AI#readme","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js"},"dist":{"shasum":"82f59aa6879e0511d675b8b32bba633f43b0689e","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.2.2.tgz","fileCount":11,"integrity":"sha512-87WR/h+RJuiFcq/C26Nug4z9TtuZcrTO+SZMc0LK2rdNbmeag3Vhz5rHWWuFNjIUzR9OSJVq2aBnfMzcN2E1Dw==","signatures":[{"sig":"MEUCIQCAbGxvV0Jv5Z4A4CbrFHOZZp5v6yjMFK45tIgkKREoHAIgSSQOG0O3KOQIIYSMTsduJfBgo2zSd+tE5N3gkDpW628=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":133911},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"d568277944f61367557e155ac145378b9d68fa75","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"akshat2634","email":"akshatsahu1@gmail.com"},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.7.0","description":"Correlate Claude Code token usage with git output to measure AI coding agent ROI","directories":{},"_nodeVersion":"24.2.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.2.2_1772168456087_0.9254108536733128","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"claude-roi","version":"0.2.3","keywords":["claude","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.2.3","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://github.com/Akshat2634/Codelens-AI#readme","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js"},"dist":{"shasum":"db77bae94d022f3d3a5d0b43dd56d5b10a6461a8","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.2.3.tgz","fileCount":11,"integrity":"sha512-QzGdJOr9D//sd85CjSniKGwx7SWqri5Pp1UJ1YypqK3cNoqop70joOXIr767jv1RoCFW/mwhetWKkURj6f4Ihw==","signatures":[{"sig":"MEYCIQDF/gx79MgLCH2jDbYcCOZeNJjfl1F6GHELdh5Z+IQfnAIhAPfDVE6wSroYqV553p7ZtTl7FeoYkbZi0Q5NfJY6BLwz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134150},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"0b0d4dcc82b9c8bb3de159d25ca7a628047652fd","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"akshat2634","email":"akshatsahu1@gmail.com"},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.7.0","description":"Correlate Claude Code token usage with git output to measure AI coding agent ROI","directories":{},"_nodeVersion":"24.2.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.2.3_1772169594665_0.823237042930868","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"claude-roi","version":"0.2.4","keywords":["claude","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.2.4","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://github.com/Akshat2634/Codelens-AI#readme","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js"},"dist":{"shasum":"8575d2d0201191a313b6910f9b5f55596c9c07e0","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.2.4.tgz","fileCount":14,"integrity":"sha512-g4WBLqRNpolv9BGu+c2tzt/JlBT1V8INhlZEvQfqY95/YrPAwp/2O+8UJYhO5ETewbWW4a72TXxbgzH5RmtVmg==","signatures":[{"sig":"MEQCIByF6g9U2NXWUNvrwG3Z3uzpdalAji8trP/bHeOmdJHZAiABRLfyB/AvzrQQqAMU4BiKxL/W/Qu9gQnM1V/nvjBAAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162284},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"3de282d34bc20548afa1285a3cb8cbe115c1dbe2","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"akshat2634","email":"akshatsahu1@gmail.com"},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.7.0","description":"Correlate Claude Code token usage with git output to measure AI coding agent ROI","directories":{},"_nodeVersion":"24.2.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.2.4_1772176281954_0.26978649335509597","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"claude-roi","version":"0.3.0","keywords":["claude","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.3.0","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://github.com/Akshat2634/Codelens-AI#readme","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js"},"dist":{"shasum":"c9ae3e7bf17ecf15968599b6c539d0d922f1c55b","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.3.0.tgz","fileCount":14,"integrity":"sha512-BjFofoVaNFXvjOybBnUNYJPA2SHlQKj85FPKyW5ZrLEFVDV6/pSdEjWHaSkgXxxZ5bBttXB2hl2kxsWaD2uMrQ==","signatures":[{"sig":"MEQCIExldqT3oxm1G1mGBFpF+Td2B3LvNk1h8XwCSrj0NjQ6AiApfkuucwuucOP/0lfqT3akCOn4IwLbw13iNWi4pEqwxg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":175706},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"d05d4f06718f88187e88490a6024a9edd52b4833","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"akshat2634","email":"akshatsahu1@gmail.com"},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.7.0","description":"Correlate Claude Code token usage with git output to measure AI coding agent ROI","directories":{},"_nodeVersion":"24.2.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.3.0_1772222098678_0.7045021859897376","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"claude-roi","version":"0.3.1","keywords":["claude","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.3.1","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://github.com/Akshat2634/Codelens-AI#readme","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js"},"dist":{"shasum":"34f9e9b013d61d561223ea5dbe224d072f1415f3","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.3.1.tgz","fileCount":14,"integrity":"sha512-r9QotzsVGwgbsSh5Fwpzdon8BuJWEkBX7JaNnDfvPO7sWuSKoTEhLe+12k76bJVOZEgKbWnMn6I7Phg+bl7PwQ==","signatures":[{"sig":"MEYCIQCAWbDJUBvp1SxBNUM8biZGBVw+Fie8JvUsA6dIbEZ69wIhAMInJFMyRXiuxo7FCBbFOP3Z557uszEy9imBPPuZiLsA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":175967},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"2e23ef243e132b3f7471f86b3f8ad4b974a4f516","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"akshat2634","email":"akshatsahu1@gmail.com"},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.7.0","description":"Correlate Claude Code token usage with git output to measure AI coding agent ROI","directories":{},"_nodeVersion":"24.2.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.3.1_1772259279393_0.8361786163818199","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"claude-roi","version":"0.3.4","keywords":["claude","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.3.4","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://github.com/Akshat2634/Codelens-AI#readme","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js"},"dist":{"shasum":"e2f6468e28765fac972927fd0613446558678937","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.3.4.tgz","fileCount":11,"integrity":"sha512-VvXzJtD50UL2vPTTYPVSYnjuPjpV7R/rWEHYK2eTXJ1xXQLCcb5IWtHEl8EfS3Tjg6xe1eDBihx57QB1Mt8SyQ==","signatures":[{"sig":"MEYCIQCH9eJ8U+PrcbgCl+N7v71/T00TCHvnHH6QIMcKyy0DzgIhAMULk01g0aQPVlBt/J+uyEmUUv+iaw4+94QTZ8AScJ5s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-roi@0.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":161645},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"db9fc5a9cb5eb650397168905e45f6ce3591e2b5","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c2ca4983-7d4c-4641-82b4-6a9f3dc778cd"}},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.11.0","description":"Correlate Claude Code token usage with git output to measure AI coding agent ROI","directories":{},"_nodeVersion":"20.20.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.3.4_1772262445559_0.36623488691087447","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"claude-roi","version":"0.4.0","keywords":["claude","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.4.0","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://github.com/Akshat2634/Codelens-AI#readme","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js"},"dist":{"shasum":"3b38948f08aade88aea4887c7858800ae205fd2e","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.4.0.tgz","fileCount":11,"integrity":"sha512-6Hb6aYKzaoAEO7LLPwEeYGLxlVWgKw+5yIK8ZVWtxMUOPl0kC7Ch2KeUN94G932oMvU61/nhZR8r3t9Y201MBg==","signatures":[{"sig":"MEUCIQDzKJppaaVWRw8Xf8ULRGailJ/G5oY8oqEOlL+gt3CNggIgLT+ZVajV1dkZ/42EDVEWRU6HWBFv+6LfixLGfgu0nSk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-roi@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":162694},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"cc1ef584d0e3b4fc6d118760cfae5e02bc49e853","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c2ca4983-7d4c-4641-82b4-6a9f3dc778cd"}},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.11.0","description":"Correlate Claude Code token usage with git output to measure AI coding agent ROI","directories":{},"_nodeVersion":"20.20.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.4.0_1772345189457_0.03184577734770211","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"claude-roi","version":"0.5.0","keywords":["claude","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.5.0","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://github.com/Akshat2634/Codelens-AI#readme","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js"},"dist":{"shasum":"674932856815f7527be844829e6d28b805f22a47","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.5.0.tgz","fileCount":11,"integrity":"sha512-rkpMGtesV2PtgNVgsm3H1pfZcjUTCuGQ+/2dU9XkKhk3nwMaVIg/UJYv+9X11XdaGqX7n38FGFxJSk3htedZkQ==","signatures":[{"sig":"MEQCIFTzPzGctVDWfIooeNIZDSbQHkPCXxLlftQSWrxK0AwyAiAJnS5IJ+Q+DFub7o0nn4B/KWiA6vaZ9A/tDQ+OxFp+QA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-roi@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":163360},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"d2c560742c63b68e4b65a22c96579edd93ecc580","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c2ca4983-7d4c-4641-82b4-6a9f3dc778cd"}},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.11.0","description":"Correlate Claude Code token usage with git output to measure AI coding agent ROI","directories":{},"_nodeVersion":"20.20.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.5.0_1772346649396_0.6963093903650006","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"claude-roi","version":"0.6.0","keywords":["claude","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.6.0","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js"},"dist":{"shasum":"00f996187a35c29ede9708864d97a69314a1a924","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.6.0.tgz","fileCount":11,"integrity":"sha512-+MkEm/OtrzQPwj2JGPBBiZWFjMotZLqSbWNwf/0g7TeH0tBRN9LsKRu6kcelvZ94zvDAHWkXr2ibJsLCLLR3Ew==","signatures":[{"sig":"MEQCIHlrphl1Dv7wx+icvfXih6PFskvonnUMtizo12hVY04LAiA1w/gQGoMURsOH6JwY7C7ZSiDKE4s35g8X/PVIxJ+tsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-roi@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":187380},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"718f886c2b4d9daff11b1ce804a7f2b0cd6330af","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c2ca4983-7d4c-4641-82b4-6a9f3dc778cd"}},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.11.0","description":"Correlate Claude Code token usage with git output to measure AI coding agent ROI","directories":{},"_nodeVersion":"20.20.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.6.0_1772511587850_0.5812930685892315","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"claude-roi","version":"0.7.0","keywords":["claude","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.7.0","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js"},"dist":{"shasum":"9f6216045fafabb1b5cede2b6300429ef1035e40","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.7.0.tgz","fileCount":13,"integrity":"sha512-FPAWz+bfMinpB3qCdqxHrcwtoUnVSz/qWI8YowEWt8PEOVxg4+83brOZXSPQOrwFXGL/nNufxNN4oAsWKVhX/g==","signatures":[{"sig":"MEYCIQCTfSab0SLT75NrtwoZCkd59pdvQKSEww0AkP1c4IRWngIhAKIBE1AAxa9aaqkS06ADAsWq0i813DQHyNuSoCnEAt4r","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-roi@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":216202},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"8090fb38a6ec4b3f6d0ab7131550213bf5f97e63","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c2ca4983-7d4c-4641-82b4-6a9f3dc778cd"}},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.11.0","description":"Correlate Claude Code token usage with git output to measure AI coding agent ROI","directories":{},"_nodeVersion":"20.20.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.7.0_1772761182620_0.658675555991592","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"claude-roi","version":"0.7.1","keywords":["claude","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.7.1","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js"},"dist":{"shasum":"459931c3e36c39f180d7c6d8ec2fb092f07d4dc4","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.7.1.tgz","fileCount":13,"integrity":"sha512-elgcbQKeb5LccJ3zd9OsJxZm+iEM8AhNj49jmZlK+356gPPU/bP3WDhKijoxvfwi5ZTZr+Mus/GWxgbzQfiORA==","signatures":[{"sig":"MEUCIQDgeVIdOrWiv4y/ESqZmHEuAS+QFmQjkJ+G1LZg8l4/TAIgft93BIIXg22JhjSdPfRVZOfoBOqwClDZIy6bkhnVJHo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-roi@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":217915},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"d3cb56412f08bd3722f0c4f02308ca3a8a52dd9f","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c2ca4983-7d4c-4641-82b4-6a9f3dc778cd"}},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.11.0","description":"Correlate Claude Code token usage with git output to measure AI coding agent ROI","directories":{},"_nodeVersion":"20.20.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.7.1_1772761610142_0.38144307264992006","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"claude-roi","version":"0.7.2","keywords":["claude","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.7.2","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js"},"dist":{"shasum":"a615442aff203f154c12d6d3e0d52c46f12dfeae","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.7.2.tgz","fileCount":13,"integrity":"sha512-Qewauf6pSx4gFr74bDJ/sJt8fqEBPgD/C7ZPrDmyS9cjAhShY0tBqMNbC2eh0RMP5xa4z3KRqsJwHe7zW4O4yg==","signatures":[{"sig":"MEUCIQCYI2vZJBmQI42Pe8gzMWDEVac00TFgZhw8a6t4+G1YmgIgSOVyr4PiLvGObdvDNvfGRjiAxdgqKoa3wgJlTXGnDo4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-roi@0.7.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":217915},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"9c3f24cf708a940e28c3d9a0449e750b2eab4873","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c2ca4983-7d4c-4641-82b4-6a9f3dc778cd"}},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.11.0","description":"Correlate Claude Code token usage with git output to measure AI coding agent ROI","directories":{},"_nodeVersion":"20.20.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.7.2_1772761776905_0.671543557998276","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"claude-roi","version":"0.7.3","keywords":["claude","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.7.3","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js"},"dist":{"shasum":"9c84ec3ca41a17b01b497d1d13d4e6d7f43323c0","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.7.3.tgz","fileCount":13,"integrity":"sha512-DafMoXUffd0hpF7LiFtkYNbGvV1BOOMucDLaviDqdNY7u0uCQ6gQhj26rumzOt2g0QO5Z3sJBRAsOg3PexdFtQ==","signatures":[{"sig":"MEQCIE9jEcT9J8anwGvc7aNtciy8VrcLwehMhL9bUHJCB3rMAiAoSHiSILx/OFsc10tYnYrudgIruu2xSi6N6W1MO7b4Qg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-roi@0.7.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":217881},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"1b5d8bae9a48eee57ac30c5744830a3158e252dd","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c2ca4983-7d4c-4641-82b4-6a9f3dc778cd"}},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.11.0","description":"Correlate Claude Code token usage with git output to measure AI coding agent ROI","directories":{},"_nodeVersion":"20.20.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.7.3_1772767350426_0.7613401282611099","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"claude-roi","version":"0.8.0","keywords":["claude","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.8.0","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js"},"dist":{"shasum":"d14b7b5368675b6180859208bcee07954a056939","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.8.0.tgz","fileCount":13,"integrity":"sha512-ZYAcSmzvFSYhlTlrj3RNR/4N5mV2FKe0Ywm8fdPjkPTgGzrgAcb3e4bEhjxrCkouy4f4kW4g+LmR5/H6zaJ+OA==","signatures":[{"sig":"MEQCIFiEw1//cPTrWzXqnnqmfZ3xeGK4KnQAi2NV7eHhxQAvAiBzCZMsWE0T747K2jtgLF2RQnxl4E+BWJEefvA5D5DH8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-roi@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":218689},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"9227de77aa6636c01442ebab0b217405c57db858","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c2ca4983-7d4c-4641-82b4-6a9f3dc778cd"}},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.11.0","description":"Correlate Claude Code token usage with git output to measure AI coding agent ROI","directories":{},"_nodeVersion":"20.20.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.8.0_1772768861287_0.7989542381382431","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"claude-roi","version":"0.8.1","keywords":["claude","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.8.1","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js"},"dist":{"shasum":"41222e9e5d262b011015a76866150039fd055d00","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.8.1.tgz","fileCount":13,"integrity":"sha512-hzBSAZnUpwJpUTWLypNFr2yzSVBNMxhSmFSUXWX1YOq/IffDe7HGIsWbzCfqdWmQNywqOWna96RcwReDwkAETw==","signatures":[{"sig":"MEUCIHPosXLwncJNufG7VN8C6+/P9sEVyLcwEF7JrDVpIxoxAiEAqRoVCcIRkC3ADlkyj7WYBjkoALbgFcyOuowCApHwgCo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-roi@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":221611},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"36d27eb4700011315211c38f5376d956b885d8fc","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c2ca4983-7d4c-4641-82b4-6a9f3dc778cd"}},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.11.0","description":"Correlate Claude Code token usage with git output to measure AI coding agent ROI","directories":{},"_nodeVersion":"20.20.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.8.1_1772948727209_0.35241976007479314","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"claude-roi","version":"0.8.2","keywords":["claude","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.8.2","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js"},"dist":{"shasum":"5c4ba455b3f04dd3665abdb93fe9fa68067a8472","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.8.2.tgz","fileCount":13,"integrity":"sha512-YgskkqLF/dEC12yKwuRnVIqhDaijiV3Q/qyN8AZ3tfiGl1gFqy1I7461aRPLVCOmv0jDsaUeEk0xcH42RaT3KQ==","signatures":[{"sig":"MEYCIQCR6jUr6CPb7IYK3hgH+L7gBec+VtIpMVY4tgTzxDlxdQIhAPpUSEe2bR5v/YsPy9lpN+bVY1Y36/WzJp4rLULNt2h7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-roi@0.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":222271},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"8252e53b4602a8bcbff0cf9b5a0d53aad4f6db80","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c2ca4983-7d4c-4641-82b4-6a9f3dc778cd"}},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.11.0","description":"Correlate Claude Code token usage with git output to measure AI coding agent ROI","directories":{},"_nodeVersion":"20.20.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.8.2_1772949510079_0.887253302491616","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"claude-roi","version":"0.8.3","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.8.3","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"359ba2d5a8f2388872e092b652428a78bdcbd721","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.8.3.tgz","fileCount":15,"integrity":"sha512-ANj/9iHGUL85dCyW8nIR7HI/0Sw1ANR1p7T/+H7C6YBDDHtT1L+VDdYGCE2I983DCagUPIXZUePpmO9FdkH1bQ==","signatures":[{"sig":"MEYCIQDUs0Dhz3fA2jgVeZ167IFdAThS9NXtBlv25CQVwtxa6gIhAIlOkRRrofQqixClQOE9bYWmv5+Yc7ucI7fHqR1q2GGD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":244825},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"973c470158f6ae9bca4d2bf5332fc26709638890","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"akshat2634","email":"akshatsahu1@gmail.com"},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.7.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"24.2.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.8.3_1773106404981_0.2559177122376648","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"claude-roi","version":"0.8.4","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.8.4","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"4525d317e503558f121f91008ba70eb86bc8db5a","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.8.4.tgz","fileCount":15,"integrity":"sha512-HcVIFsY34N0w60FCEtCKmegpuLjnCbI6cGVv4QUT0ThbzIysLsC9hcstPTOdzH7WMgAcZ9zWwJO6RqH6OdkXng==","signatures":[{"sig":"MEQCIEx6izJTUlH8uvXR71NAmZ0x6TJJFrFeOD1JPUP26Y7GAiBvSeAl0VCkJvSxmyzZGsFtZ0Efrw8clfrjGNXET1rVYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":244885},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"b7ff960df4c0aa68e95c2f666504c4d552f37369","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"akshat2634","email":"akshatsahu1@gmail.com"},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.7.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"24.2.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.8.4_1773106841083_0.5834209019782142","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"claude-roi","version":"0.8.5","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.8.5","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"3e065413bf46f5ad92056f8d53573ef031d618e5","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.8.5.tgz","fileCount":15,"integrity":"sha512-2hd+3FqZOd/vaEDpXrqA2glG1YBcL8fRnuFosCNFMAcQfV54EhqE2rh6CuyB/aacVM+52zRZKw1jPaIEFVqh7A==","signatures":[{"sig":"MEQCIF7uI0NyyAHmgteMB6d49lDfBJWRYWlEW6UtLyloJ+mwAiB04sb041Lca2/HCeFdNvNFFd6CuQQmY7efRMOoa8L7ew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":245087},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"8bfec989fce45d49d3a640d672669b65bae2499f","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"akshat2634","email":"akshatsahu1@gmail.com"},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai","repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.7.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"24.2.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.8.5_1773107964212_0.0836642400561265","host":"s3://npm-registry-packages-npm-production"}},"0.8.6":{"name":"claude-roi","version":"0.8.6","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.8.6","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"4d51132bf0ca59ca79638a66ec072345ed69326a","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.8.6.tgz","fileCount":13,"integrity":"sha512-+1YnCvhFxmExlpm7uSMoxfim3idOlFDXQFb68MvXkSF2rFqJ6Orf0205L5ayDrZgN0MqrD5TENkzaDZRw+4IlQ==","signatures":[{"sig":"MEQCICXrwcO8ihBXkKcpyN3w3tc4hglO+hLljjqnH5GZu8vOAiBrk8WC7Qf7pTjNKPRYp4wqKLb6+GtPrbE5BQbnkWzULg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-roi@0.8.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":236312},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"f5a7546b7e5d03be4f726dbd7f09ab7534646919","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c2ca4983-7d4c-4641-82b4-6a9f3dc778cd"}},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.11.1","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.8.6_1773387074049_0.323183888999129","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai"},"0.8.7":{"name":"claude-roi","version":"0.8.7","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.8.7","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"f664768c5d925b357234dcdb8293921a870fccca","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.8.7.tgz","fileCount":13,"integrity":"sha512-ZEDuzmur3g5oSaPFP7EOxEhMwY7DjEH0+sj+n9ISNKY1/cHateZPc0U0+PY4ak210LS+p7AOoZsCwu9QLJOxow==","signatures":[{"sig":"MEQCIHt/NTfJ2mUBbeMzsG/917No4Bd7XFmWJJ6Rpo5/eQgsAiB218LN1MAZIQ7n0OEBAtDEg4Flis/l9sgZYyymUyFcVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-roi@0.8.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":237147},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"1a0927a566552b407f92f8f3eda0346421e5ac72","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c2ca4983-7d4c-4641-82b4-6a9f3dc778cd"}},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.11.1","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.1","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.8.7_1773726953651_0.6706021283845147","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai"},"0.8.8":{"name":"claude-roi","version":"0.8.8","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.8.8","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"36855be0eec70fb16ccabe903a5694c84796c246","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.8.8.tgz","fileCount":13,"integrity":"sha512-iOB3u4kK9ueYNBSTIwuzkfjxHG2ZIdmH1gkMQxF5nznxEjYW+wi0V5NOtg1BNr+VEN08DJsfGlDWD2dWRVS2Yw==","signatures":[{"sig":"MEUCIQDAIbj25hTji1fT3wVQMJcCbHMZFJWPHVl7CguKlFA25QIgFh/tdRwso8mvKoNUhZV1P0uYgdYSlGnRmN9Dm0nd/SM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-roi@0.8.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":242712},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"57e24ef0552e6cd319b8f499e503093bfe88a5d6","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c2ca4983-7d4c-4641-82b4-6a9f3dc778cd"}},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.11.1","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.1","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.8.8_1773727205714_0.7023428687217343","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai"},"0.8.9":{"name":"claude-roi","version":"0.8.9","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.8.9","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"3c6863f69842fc762dddf7d03c7c0ba442c41867","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.8.9.tgz","fileCount":13,"integrity":"sha512-BoyFIb3k9zWI3PhyznXpzeN0s6megEqf9KizI41Sse2atCY9EUpqzF1oUn/FZVjE4bYllyNoR5huDnb0bG+WtA==","signatures":[{"sig":"MEQCIB3RJJZQZ23Vy9GtHT6b51TUNdw8zwoSn7Ombk2P2juzAiBJ5hk4La4R607kS1crnQhNDzztXXjBgth+EC2JYR0qGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-roi@0.8.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":243296},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"46f1c8cf3df8bb72072c46092d27faf1472888d1","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c2ca4983-7d4c-4641-82b4-6a9f3dc778cd"}},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.12.1","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.2","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.8.9_1775458829188_0.3273701646473097","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai"},"0.8.10":{"name":"claude-roi","version":"0.8.10","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"claude-roi@0.8.10","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"7d41d3b016c5cd56be90df597b878d84a73ee9eb","tarball":"https://registry.npmjs.org/claude-roi/-/claude-roi-0.8.10.tgz","fileCount":13,"integrity":"sha512-7Nt8cDzqMQr4O2JGYww1EGkuXl4dURlzsgIugOFPaVVZfB1Jz/1XP7UFFuVJ8RLdgQEFGiIy+G8OVBkWKliavw==","signatures":[{"sig":"MEYCIQDCOFqd8t8FvU06Ob9iVQWSG29NGWB5SMUCHs2d8S1sJAIhANJ+2whXDgoMKzIZLZbHsN/xV1IU/vxDJckeDdadgW2m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-roi@0.8.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":243297},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"440df2137009116700ccefb81b557cfcd8cd86b2","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c2ca4983-7d4c-4641-82b4-6a9f3dc778cd"}},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.12.1","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.2","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/claude-roi_0.8.10_1775459071165_0.6786294687452135","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to codelens-ai. Use: npx codelens-ai"}},"time":{"created":"2026-02-26T08:52:54.864Z","modified":"2026-04-06T07:09:39.420Z","0.1.0":"2026-02-26T08:52:55.009Z","0.1.1":"2026-02-26T09:09:57.263Z","0.2.0":"2026-02-26T23:53:25.009Z","0.2.1":"2026-02-27T03:04:09.365Z","0.2.2":"2026-02-27T05:00:56.240Z","0.2.3":"2026-02-27T05:19:55.753Z","0.2.4":"2026-02-27T07:11:22.106Z","0.3.0":"2026-02-27T19:54:58.819Z","0.3.1":"2026-02-28T06:14:39.591Z","0.3.4":"2026-02-28T07:07:25.717Z","0.4.0":"2026-03-01T06:06:29.615Z","0.5.0":"2026-03-01T06:30:49.558Z","0.6.0":"2026-03-03T04:19:48.006Z","0.7.0":"2026-03-06T01:39:42.788Z","0.7.1":"2026-03-06T01:46:50.284Z","0.7.2":"2026-03-06T01:49:37.048Z","0.7.3":"2026-03-06T03:22:30.572Z","0.8.0":"2026-03-06T03:47:41.455Z","0.8.1":"2026-03-08T05:45:27.343Z","0.8.2":"2026-03-08T05:58:30.242Z","0.8.3":"2026-03-10T01:33:25.162Z","0.8.4":"2026-03-10T01:40:41.242Z","0.8.5":"2026-03-10T01:59:24.375Z","0.8.6":"2026-03-13T07:31:14.177Z","0.8.7":"2026-03-17T05:55:53.846Z","0.8.8":"2026-03-17T06:00:05.853Z","0.8.9":"2026-04-06T07:00:29.358Z","0.8.10":"2026-04-06T07:04:31.312Z"},"bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"author":{"name":"Akshat Sahu"},"license":"MIT","homepage":"https://codelensai-dev.vercel.app/","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"description":"Correlate AI coding agent token usage with git output to measure ROI","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"readme":"# Codelens AI\n\n**[codelensai-dev.vercel.app](https://codelensai-dev.vercel.app/)**\n\n**Agent Productivity-to-Cost Correlator** — Is your AI coding agent actually shipping code?\n\nCodelens AI ties Claude Code token usage to actual git output. It reads your local Claude Code session files, correlates them with git commits by timestamp, and serves a dashboard answering: *\"Am I getting ROI from my AI coding agent?\"*\n\n- One command, zero config\n- All data stays local\n- Works with any git repo where you've used Claude Code\n\n## Installation\n\n> **Previously published as `claude-roi`.** That package is deprecated — use `npx codelens-ai` going forward. The `claude-roi` command still works as a backward-compatible alias.\n\n### Option 1: Run directly (no install)\n\n```bash\nnpx codelens-ai\n```\n\n### Option 2: Install globally\n\n```bash\n# npm\nnpm install -g codelens-ai\n\n# pnpm\npnpm add -g codelens-ai\n\n# yarn\nyarn global add codelens-ai\n```\n\nThen run anywhere:\n\n```bash\ncodelens-ai\n```\n\n### Option 3: Clone and run from source\n\n```bash\ngit clone https://github.com/Akshat2634/Codelens-AI.git\ncd Codelens-AI\n\n# Install dependencies (pick one)\nnpm install\n# or\npnpm install\n# or\nyarn install\n\n# Run it\nnode src/index.js\n```\n\n## Prerequisites\n\n- **Node.js >= 18** — [Download](https://nodejs.org/)\n- **Git** — installed and configured with `user.name` and `user.email`\n- **Claude Code** — you must have used [Claude Code](https://claude.com/claude-code) at least once so session data exists at `~/.claude/projects/`\n\n## Quick Start\n\n```bash\nnpx codelens-ai\n```\n\nThis parses your `~/.claude/projects/` session data, analyzes your git repos, and opens a dashboard at `http://localhost:3457`.\n\n## What It Measures\n\n| Metric                | Description                                                     |\n| --------------------- | --------------------------------------------------------------- |\n| **Cost per Commit**   | How much each AI-assisted commit costs in tokens                |\n| **Line Survival Rate**| % of AI-written lines that survive 24h without being rewritten  |\n| **Orphaned Sessions** | Sessions with 10+ messages that produced zero commits           |\n| **ROI Grade (A-F)**   | Composite score based on tokens-per-commit and survival rate    |\n| **Model Comparison**  | Efficiency breakdown across Opus, Sonnet, and Haiku             |\n| **Branch Awareness**  | What % of AI commits landed on production                       |\n| **Peak Hours**        | Hour-of-day x day-of-week productivity heatmap                  |\n| **Autonomy Score**    | Composite A-F grade measuring how independently the agent works |\n| **Autopilot Ratio**   | Assistant messages per user prompt (higher = more autonomous)   |\n| **Self-Heal Score**   | % of bash calls that are test/lint commands (self-verification) |\n| **Toolbelt Coverage** | % of available tools used per session (workflow breadth)        |\n| **Commit Velocity**   | Tool calls per commit (lower = more efficient)                  |\n\n## CLI Options\n\n```bash\ncodelens-ai                        # default: last 30 days, port 3457\ncodelens-ai --days 90              # look back 90 days\ncodelens-ai --port 8080            # custom port\ncodelens-ai --no-open              # don't auto-open browser\ncodelens-ai --json                 # dump all metrics as JSON to stdout\ncodelens-ai --project techops      # filter to a specific project\ncodelens-ai --refresh              # force full re-parse (ignore cache)\ncodelens-ai --autonomy             # print autonomy score to terminal and exit\n```\n\n## Dashboard\n\nThe dashboard includes:\n\n- **Hero stats** — total cost, commits shipped, cost per commit, ROI grade\n- **Smart insights** — auto-generated observations about your usage patterns\n- **Cost vs Output timeline** — dual-axis chart of daily cost and lines added\n- **Model comparison** — cost breakdown by Claude model\n- **Session length analysis** — which session sizes have the best ROI\n- **Productivity heatmap** — GitHub-style grid showing when you're most productive\n- **Agent Autonomy** — autonomy score badge, autopilot ratio, self-heal score, toolbelt coverage, commit velocity, and top verification commands\n- **Sessions table** — sortable, expandable table with per-session metrics, matched commits, and autopilot ratio\n\n## How It Works\n\n1. **Parses** JSONL session files from `~/.claude/projects/`\n2. **Analyzes** git history from each repo you've worked in with Claude\n3. **Correlates** sessions to commits by timestamp (during session + 30min buffer)\n4. **Calculates** cost using Anthropic token pricing (input, output, cache read/write)\n5. **Serves** an interactive dashboard on localhost\n\n### Caching\n\nParsed session data is cached at `~/.cache/agent-analytics/parsed-sessions.json`. On subsequent runs, only new or modified JSONL files are re-parsed, making startup near-instant. Use `--refresh` to force a full re-parse.\n\n### Cost Calculation\n\nToken costs are version-aware and calculated per model (see [Anthropic pricing](https://platform.claude.com/docs/en/about-claude/pricing)):\n\n| Model | Input | Output | Cache Read | Cache Write |\n| --- | --- | --- | --- | --- |\n| Opus 4.6 | $5/M | $25/M | $0.50/M | $6.25/M |\n| Opus 4.5 | $5/M | $25/M | $0.50/M | $6.25/M |\n| Opus 4.0/4.1 (legacy) | $15/M | $75/M | $1.50/M | $18.75/M |\n| Sonnet 3.7/4.0/4.5/4.6 | $3/M | $15/M | $0.30/M | $3.75/M |\n| Haiku 4.5 | $1/M | $5/M | $0.10/M | $1.25/M |\n| Haiku 3.5 | $0.80/M | $4/M | $0.08/M | $1.00/M |\n| Haiku 3 | $0.25/M | $1.25/M | $0.03/M | $0.30/M |\n\n### Line Survival\n\nLine survival uses an approximate heuristic: if lines added in commit A are deleted by a subsequent commit on the same file within 24 hours, they're counted as \"churned.\" This is not git-blame-based tracking and survival rates are rounded to the nearest 5%.\n\n## Project Structure\n\n```text\nCodelens-AI/\n├── package.json\n├── README.md\n├── .gitignore\n└── src/\n    ├── index.js          # CLI entry point\n    ├── claude-parser.js  # Parse Claude Code JSONL session files\n    ├── cache.js          # Parsed data caching layer\n    ├── git-analyzer.js   # Parse git log with branch awareness\n    ├── correlator.js     # Match sessions to commits by timestamp\n    ├── metrics.js        # Calculate ROI metrics and insights\n    ├── server.js         # Express server + API routes\n    └── dashboard.html    # Single-file dashboard (inline CSS/JS)\n```\n\n## Releasing\n\nReleases are automated via GitHub Actions. To publish a new version:\n\n```bash\nnpm version patch   # or minor / major\ngit push --follow-tags\n```\n\nThis automatically publishes to npm and creates a GitHub Release with auto-generated notes.\n\n**Setup (one-time):** Configure [trusted publishing](https://docs.npmjs.com/trusted-publishers/) on npm for the `codelens-ai` package, linking it to the GitHub Actions workflow. No tokens or secrets needed.\n\n## Contributing\n\nContributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for development setup, guidelines, and ideas for contributions.\n\n## Privacy\n\nAll data stays on your machine. The only network requests are for Chart.js and Inter font from CDNs. No telemetry, no data collection.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}