{"_id":"@caiokf/crev","_rev":"27-63fa3718ac0bcd93a5e857adb803e742","name":"@caiokf/crev","dist-tags":{"latest":"0.11.0"},"versions":{"0.1.0":{"name":"@caiokf/crev","version":"0.1.0","_id":"@caiokf/crev@0.1.0","maintainers":[{"name":"caiokf","email":"caiokf@gmail.com"}],"bin":{"crev":"dist/bin.js"},"dist":{"shasum":"882f8f76b75ce915863e7291713d7bc63ee2ab1b","tarball":"https://registry.npmjs.org/@caiokf/crev/-/crev-0.1.0.tgz","fileCount":12,"integrity":"sha512-dHjrYnLYpb0ZgwQT34tpgf7U2739HRIcAh8UkYhr926UzJx78ehEFugAsSYePpVFaUY9dWajt8i4Kde+pndo5g==","signatures":[{"sig":"MEUCIEKivpNxzH15r7s2u3DqVcD02d7YvlONdY/z+3fU9Ca9AiEAr886cSBv+finQuw8pLAS6BLjyIrszDGDY6OtHoK2+C0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":345352},"main":"./dist/index.js","type":"module","_from":"file:caiokf-crev-0.1.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup"},"_npmUser":{"name":"caiokf","email":"caiokf@gmail.com"},"_resolved":"/tmp/d2f7e022b7931f2c3aa68557d97261de/caiokf-crev-0.1.0.tgz","_integrity":"sha512-dHjrYnLYpb0ZgwQT34tpgf7U2739HRIcAh8UkYhr926UzJx78ehEFugAsSYePpVFaUY9dWajt8i4Kde+pndo5g==","_npmVersion":"10.8.2","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.3","glob":"13.0.6","yaml":"^2.7.1","chalk":"^5.4.1","commander":"^14.0.0","@crev/runtimes":"0.1.0","@inquirer/prompts":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.1.1","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/crev_0.1.0_1776054867814_0.7851377251386424","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@caiokf/crev","version":"0.1.1","_id":"@caiokf/crev@0.1.1","maintainers":[{"name":"caiokf","email":"caiokf@gmail.com"}],"bin":{"crev":"dist/bin.js"},"dist":{"shasum":"e4e416c482a2d569f88e55905125a4a7197492f3","tarball":"https://registry.npmjs.org/@caiokf/crev/-/crev-0.1.1.tgz","fileCount":12,"integrity":"sha512-GxqjzBba4TN9SEDmztDcipi7jgHEdkjBD/nhMFayYYmkhlHznBU8ZotcgjM4K2o9il4khlO3r8bL6+kLACaXlA==","signatures":[{"sig":"MEQCIEyDgN8YIX9YNvqvXNmArfCH/ILuO8oNBAwboSTfWJLtAiBaFBSja+tgaSqAVDVZj2hZSvbP2Fx2Z1CcfjPVVdV+dg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":344638},"main":"./dist/index.js","type":"module","_from":"file:caiokf-crev-0.1.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup"},"_npmUser":{"name":"caiokf","email":"caiokf@gmail.com"},"_resolved":"/tmp/7b4afeef9aac93bbb878b92466d876d0/caiokf-crev-0.1.1.tgz","_integrity":"sha512-GxqjzBba4TN9SEDmztDcipi7jgHEdkjBD/nhMFayYYmkhlHznBU8ZotcgjM4K2o9il4khlO3r8bL6+kLACaXlA==","_npmVersion":"10.8.2","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.3","glob":"13.0.6","yaml":"^2.7.1","chalk":"^5.4.1","commander":"^14.0.0","@crev/runtimes":"0.1.0","@inquirer/prompts":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.1.1","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/crev_0.1.1_1776058217660_0.9887040372338902","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@caiokf/crev","version":"0.4.0","_id":"@caiokf/crev@0.4.0","maintainers":[{"name":"caiokf","email":"caiokf@gmail.com"}],"bin":{"crev":"dist/bin.js"},"dist":{"shasum":"49bb9af8693c53f0c9702251fda3a435614bc185","tarball":"https://registry.npmjs.org/@caiokf/crev/-/crev-0.4.0.tgz","fileCount":13,"integrity":"sha512-Xo/EZmbnxLSb46LkguXHjEPDDsCSQEKQxYVGh9N7gT0IWI+/RZmj9/OpJRT41w0haUxTOc6oms9DuopnyTq19Q==","signatures":[{"sig":"MEUCIQCO4QjlfR7LXKK32d43P4llR2KULfjd86kS7RiPdtc8nwIgBewhES1f/S6X4rZ8LMhnaULcKidvmTq0+jMZ9k9YG7U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":355874},"main":"./dist/index.js","type":"module","_from":"file:caiokf-crev-0.4.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"crev":"tsup --silent && tsx src/bin.ts","test":"vitest run","build":"tsup","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"caiokf","email":"caiokf@gmail.com"},"_resolved":"/tmp/558f803b575472aa2e6af44999bbe4cf/caiokf-crev-0.4.0.tgz","_integrity":"sha512-Xo/EZmbnxLSb46LkguXHjEPDDsCSQEKQxYVGh9N7gT0IWI+/RZmj9/OpJRT41w0haUxTOc6oms9DuopnyTq19Q==","_npmVersion":"10.8.2","description":"```   ██████ ████████  ████████ ██     ██  ██      ██     ██ ██       ██     ██  ██      ████████  █████    ██     ██  ██      ██   ██   ██        ██   ██   ██████ ██     ██ ████████    ███ ```","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.3","glob":"13.0.6","yaml":"^2.7.1","chalk":"^5.4.1","commander":"^14.0.0","@caiokf/valet":"^0.1.1","@inquirer/prompts":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"^8.4.0","vitest":"^3.1.1","typescript":"^5.8.3","@types/node":"25.5.2"},"_npmOperationalInternal":{"tmp":"tmp/crev_0.4.0_1776396849194_0.7971934015585853","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@caiokf/crev","version":"0.4.1","_id":"@caiokf/crev@0.4.1","maintainers":[{"name":"caiokf","email":"caiokf@gmail.com"}],"bin":{"crev":"dist/bin.js"},"dist":{"shasum":"f4e1db1952737754852432be29a640b830ac999c","tarball":"https://registry.npmjs.org/@caiokf/crev/-/crev-0.4.1.tgz","fileCount":13,"integrity":"sha512-wkPZhWSidmzuHxhsviWzVqBlRlwk87ByD/s62hsbQIm/n5osCUtSIu7j/gissBBG+nYKOil1m87rAYcgHYFRXQ==","signatures":[{"sig":"MEUCIQC7vh4r6CiDJt30IMcg6C0dYxSi5Oig7WFLIMHG30wjMgIgI6usXFCaOGVT8Fd7vapCL5ZShagRt3Ug+7hY3IGUBBM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":357020},"main":"./dist/index.js","type":"module","_from":"file:caiokf-crev-0.4.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"crev":"tsup --silent && tsx src/bin.ts","test":"vitest run","build":"tsup","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"caiokf","email":"caiokf@gmail.com"},"_resolved":"/tmp/f123dba4c305759d2f7a6e1edd2de8b7/caiokf-crev-0.4.1.tgz","_integrity":"sha512-wkPZhWSidmzuHxhsviWzVqBlRlwk87ByD/s62hsbQIm/n5osCUtSIu7j/gissBBG+nYKOil1m87rAYcgHYFRXQ==","_npmVersion":"10.8.2","description":"```   ██████ ████████  ████████ ██     ██  ██      ██     ██ ██       ██     ██  ██      ████████  █████    ██     ██  ██      ██   ██   ██        ██   ██   ██████ ██     ██ ████████    ███ ```","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.3","glob":"13.0.6","yaml":"^2.7.1","chalk":"^5.4.1","commander":"^14.0.0","@caiokf/valet":"^0.1.1","@inquirer/prompts":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"^8.4.0","vitest":"^3.1.1","typescript":"^5.8.3","@types/node":"25.5.2"},"_npmOperationalInternal":{"tmp":"tmp/crev_0.4.1_1776404212875_0.8246261770388368","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@caiokf/crev","version":"0.4.2","_id":"@caiokf/crev@0.4.2","maintainers":[{"name":"caiokf","email":"caiokf@gmail.com"}],"bin":{"crev":"dist/bin.js"},"dist":{"shasum":"38c5bdb41ab12bdcf6a95a9ca083cb3ac59237db","tarball":"https://registry.npmjs.org/@caiokf/crev/-/crev-0.4.2.tgz","fileCount":13,"integrity":"sha512-xyfrcUlaPJHL/9q6kCWnJIxnpAUr6LSx5Pap0tBpyv2hvo9zQycs6la5sbwKLwE9NNPU4kBiLog/bu7qoRCp2Q==","signatures":[{"sig":"MEUCIQC86/NcjHhuQJ0kpMgYbXXrjpjP5LlLRcHeufIecWtEHgIgfKitaOxU4tKwcG5V6iFxClVuO6g0Kko/JxaR1I6WWWQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":360989},"main":"./dist/index.js","type":"module","_from":"file:caiokf-crev-0.4.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"crev":"tsup --silent && tsx src/bin.ts","test":"vitest run","build":"tsup","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"caiokf","email":"caiokf@gmail.com"},"_resolved":"/tmp/77269b506057204fba7af114cf4ef449/caiokf-crev-0.4.2.tgz","_integrity":"sha512-xyfrcUlaPJHL/9q6kCWnJIxnpAUr6LSx5Pap0tBpyv2hvo9zQycs6la5sbwKLwE9NNPU4kBiLog/bu7qoRCp2Q==","_npmVersion":"10.8.2","description":"```   ██████ ████████  ████████ ██     ██  ██      ██     ██ ██       ██     ██  ██      ████████  █████    ██     ██  ██      ██   ██   ██        ██   ██   ██████ ██     ██ ████████    ███ ```","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.3","glob":"13.0.6","yaml":"^2.7.1","chalk":"^5.4.1","commander":"^14.0.0","@caiokf/valet":"^0.1.1","@inquirer/prompts":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"^8.4.0","vitest":"^3.1.1","typescript":"^5.8.3","@types/node":"25.5.2"},"_npmOperationalInternal":{"tmp":"tmp/crev_0.4.2_1776405278745_0.9512972532914366","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@caiokf/crev","version":"0.5.0","_id":"@caiokf/crev@0.5.0","maintainers":[{"name":"caiokf","email":"caiokf@gmail.com"}],"bin":{"crev":"dist/bin.js"},"dist":{"shasum":"8825737821b9d69a46dc48b70a41e9361ab4a87d","tarball":"https://registry.npmjs.org/@caiokf/crev/-/crev-0.5.0.tgz","fileCount":13,"integrity":"sha512-6f7xHJwukqXrT+WEEOpAsrkKk953W6UBJS9esNhApcQhqNA+TGLhiDDR9kc2BrPax+PfzFfgRFLK0anTSBnp7g==","signatures":[{"sig":"MEQCIHmuCHgGe8DiF/6EFeQqdHuFVqVIF7TB3qbk7ODaGXGiAiBEmOqRST/L7oKeESTlxbhz0c+IG+iX2papP5K0STAMwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":359469},"main":"./dist/index.js","type":"module","_from":"file:caiokf-crev-0.5.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"crev":"tsup --silent && tsx src/bin.ts","test":"vitest run","build":"tsup","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"caiokf","email":"caiokf@gmail.com"},"_resolved":"/tmp/72b0cb6b42955515d03cf31fc02fb813/caiokf-crev-0.5.0.tgz","_integrity":"sha512-6f7xHJwukqXrT+WEEOpAsrkKk953W6UBJS9esNhApcQhqNA+TGLhiDDR9kc2BrPax+PfzFfgRFLK0anTSBnp7g==","_npmVersion":"10.8.2","description":"<p align=\"center\">   <img src=\".github/banner.svg\" alt=\"crev banner\" width=\"600\" /> </p>","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.3","glob":"13.0.6","yaml":"^2.7.1","chalk":"^5.4.1","commander":"^14.0.0","@caiokf/valet":"^0.1.1","@inquirer/prompts":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"^8.4.0","vitest":"^3.1.1","typescript":"^5.8.3","@types/node":"25.5.2"},"_npmOperationalInternal":{"tmp":"tmp/crev_0.5.0_1776662241527_0.9908234936645997","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@caiokf/crev","version":"0.5.1","_id":"@caiokf/crev@0.5.1","maintainers":[{"name":"caiokf","email":"caiokf@gmail.com"}],"bin":{"crev":"dist/bin.js"},"dist":{"shasum":"ee75c78cb60cef82f5032ea086081ecabdc022b3","tarball":"https://registry.npmjs.org/@caiokf/crev/-/crev-0.5.1.tgz","fileCount":13,"integrity":"sha512-euc/5dBvU0NFfZ0UgTHYwBIrzHF6KLgE76DIkIe8M/dGrk5Up5pJhZ1NiIRA40o/iYc4cDD2AgERNZVOJvJ4sA==","signatures":[{"sig":"MEUCIA/nr8TqdYEueZJd2K3hWSLHrMRTlqFhrf4+dE7V9nZlAiEAxu7+PYyKKKRYx1+FTR2JsMpxcO6QITJgxr8gX9jbp8s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":387634},"main":"./dist/index.js","type":"module","_from":"file:caiokf-crev-0.5.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"crev":"tsup --silent && tsx src/bin.ts","test":"vitest run","build":"tsup","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"caiokf","email":"caiokf@gmail.com"},"_resolved":"/tmp/8f5ff6a6bb49035f3cd79eb5012300fd/caiokf-crev-0.5.1.tgz","_integrity":"sha512-euc/5dBvU0NFfZ0UgTHYwBIrzHF6KLgE76DIkIe8M/dGrk5Up5pJhZ1NiIRA40o/iYc4cDD2AgERNZVOJvJ4sA==","_npmVersion":"10.8.2","description":"<p align=\"center\">   <img src=\".github/banner.svg\" alt=\"crev banner\" width=\"100%\" /> </p>","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.3","glob":"13.0.6","yaml":"^2.7.1","chalk":"^5.4.1","commander":"^14.0.0","@caiokf/valet":"^0.1.1","@inquirer/prompts":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"^8.4.0","vitest":"^3.1.1","typescript":"^5.8.3","@types/node":"25.5.2"},"_npmOperationalInternal":{"tmp":"tmp/crev_0.5.1_1776680824733_0.3929622590132884","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@caiokf/crev","version":"0.6.0","_id":"@caiokf/crev@0.6.0","maintainers":[{"name":"caiokf","email":"caiokf@gmail.com"}],"bin":{"crev":"dist/bin.js"},"dist":{"shasum":"1785eeacbf2e3e4743489103b5ce6a20f9634a8b","tarball":"https://registry.npmjs.org/@caiokf/crev/-/crev-0.6.0.tgz","fileCount":12,"integrity":"sha512-V7PpH5e2dbHoVgVe8ICz8AYANM/A3w/BYkucMYib6zIbvTJVBnziRVu8oPCnRIqPARB5OLjzD5lpYKNXRx0MuA==","signatures":[{"sig":"MEUCIHpXZG3cuazd0K/VGakypW6J0ePINQCmIJ8wsSQX7B1gAiEA+5rEEg2ACw30a99IBKNA355WG63xsW4fEoxknuwx+qk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":486547},"main":"./dist/index.js","type":"module","_from":"file:caiokf-crev-0.6.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"crev":"tsup --silent && node dist/bin.js","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"caiokf","email":"caiokf@gmail.com"},"_resolved":"/tmp/222f2367b3d3106d66888facbbef9c1c/caiokf-crev-0.6.0.tgz","_integrity":"sha512-V7PpH5e2dbHoVgVe8ICz8AYANM/A3w/BYkucMYib6zIbvTJVBnziRVu8oPCnRIqPARB5OLjzD5lpYKNXRx0MuA==","_npmVersion":"10.8.2","description":"<p align=\"center\">   <img src=\".github/banner.svg\" alt=\"crev banner\" width=\"100%\" /> </p>","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.3","glob":"13.0.6","yaml":"^2.7.1","chalk":"^5.4.1","commander":"^14.0.0","@caiokf/valet":"^0.1.1","@inquirer/prompts":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"^8.4.0","vitest":"^3.1.1","typescript":"^5.8.3","@types/node":"25.5.2"},"_npmOperationalInternal":{"tmp":"tmp/crev_0.6.0_1776902999383_0.7838575593255128","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@caiokf/crev","version":"0.6.1","_id":"@caiokf/crev@0.6.1","maintainers":[{"name":"caiokf","email":"caiokf@gmail.com"}],"bin":{"crev":"dist/bin.js"},"dist":{"shasum":"82112643e44d5c836e4524a488986df3ebffa766","tarball":"https://registry.npmjs.org/@caiokf/crev/-/crev-0.6.1.tgz","fileCount":12,"integrity":"sha512-vV4egRnTDiC0lzJU/GP5OTI6s3ETjsuZ26MnvQ2rTAA/2fc/dxih2aeK9+IVvARaMmV5MGDki2+q1AgVqQ4Rag==","signatures":[{"sig":"MEUCIQCuK6dDsdWXegsGqCptzjlKrt451vXfEzr+NEerAFax2gIgaqu/4NntLUdEEC/CCSEKEg4IiuhGhuXCgg62gOGuTm8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":500933},"main":"./dist/index.js","type":"module","_from":"file:caiokf-crev-0.6.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"crev":"tsup --silent && node dist/bin.js","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"caiokf","email":"caiokf@gmail.com"},"_resolved":"/tmp/bda88b45a90cb7eae57c0c999f8b3b9f/caiokf-crev-0.6.1.tgz","_integrity":"sha512-vV4egRnTDiC0lzJU/GP5OTI6s3ETjsuZ26MnvQ2rTAA/2fc/dxih2aeK9+IVvARaMmV5MGDki2+q1AgVqQ4Rag==","_npmVersion":"10.8.2","description":"<p align=\"center\">   <img src=\".github/banner.svg\" alt=\"crev banner\" width=\"100%\" /> </p>","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.3","glob":"13.0.6","yaml":"^2.7.1","chalk":"^5.4.1","commander":"^14.0.0","@caiokf/valet":"^0.1.1","@inquirer/prompts":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"^8.4.0","vitest":"^3.1.1","typescript":"^5.8.3","@types/node":"25.5.2"},"_npmOperationalInternal":{"tmp":"tmp/crev_0.6.1_1776920391105_0.00548049652281013","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@caiokf/crev","version":"0.6.2","_id":"@caiokf/crev@0.6.2","maintainers":[{"name":"caiokf","email":"caiokf@gmail.com"}],"bin":{"crev":"dist/bin.js"},"dist":{"shasum":"c78332b75306983a0b1b19b051a0928029732b67","tarball":"https://registry.npmjs.org/@caiokf/crev/-/crev-0.6.2.tgz","fileCount":12,"integrity":"sha512-Aob2Q+cyZ3w0uw0EIzXV2iFk7TkOkBKFKjSIEePnszRCvtwgVynegYQbwFePqbw4Ra0EANZae5mcIsdk9Tqn2g==","signatures":[{"sig":"MEYCIQCj9nYU/2iRvxHVpbUWW3mwj+BTf0J/r5OdIWgbgzxZGwIhAIcXtWDwQvVB3/bpuOXp6f6TeYYji6BR4ENt6/JTcnb5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":502495},"main":"./dist/index.js","type":"module","_from":"file:caiokf-crev-0.6.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"crev":"tsup --silent && node dist/bin.js","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"caiokf","email":"caiokf@gmail.com"},"_resolved":"/tmp/545b05ce5a86d4bebea4baefc0232a8e/caiokf-crev-0.6.2.tgz","_integrity":"sha512-Aob2Q+cyZ3w0uw0EIzXV2iFk7TkOkBKFKjSIEePnszRCvtwgVynegYQbwFePqbw4Ra0EANZae5mcIsdk9Tqn2g==","_npmVersion":"10.8.2","description":"<p align=\"center\">   <img src=\".github/banner.svg\" alt=\"crev banner\" width=\"100%\" /> </p>","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.3","glob":"13.0.6","yaml":"^2.7.1","chalk":"^5.4.1","commander":"^14.0.0","@caiokf/valet":"^0.1.1","@inquirer/prompts":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"^8.4.0","vitest":"^3.1.1","typescript":"^5.8.3","@types/node":"25.5.2"},"_npmOperationalInternal":{"tmp":"tmp/crev_0.6.2_1776921866209_0.35589605822639236","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@caiokf/crev","version":"0.7.0","_id":"@caiokf/crev@0.7.0","maintainers":[{"name":"caiokf","email":"caiokf@gmail.com"}],"bin":{"crev":"dist/bin.js"},"dist":{"shasum":"7b29bc5ee745f2fa56cc102a54adde83973344f5","tarball":"https://registry.npmjs.org/@caiokf/crev/-/crev-0.7.0.tgz","fileCount":12,"integrity":"sha512-oRYKTe2VcWDzf0186R/3TERgRH3lY6avlky4ojoD/GjE9b4YeJT/DYXYU25MvzCPAFeQE/90+yRSCRFYlaQTCg==","signatures":[{"sig":"MEUCIQDi9jex3I6fHP02u30FCsu8w0admabuhj+nKuLMf84JlwIgJ/F/BN7iqdHlSouwlmzeO69U4HaTy+5IDQNw9D6TFiA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":750047},"main":"./dist/index.js","type":"module","_from":"file:caiokf-crev-0.7.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"crev":"tsup --silent && node dist/bin.js","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"caiokf","email":"caiokf@gmail.com"},"_resolved":"/tmp/649f24881333cfb4d659d647eda03fe7/caiokf-crev-0.7.0.tgz","_integrity":"sha512-oRYKTe2VcWDzf0186R/3TERgRH3lY6avlky4ojoD/GjE9b4YeJT/DYXYU25MvzCPAFeQE/90+yRSCRFYlaQTCg==","_npmVersion":"10.8.2","description":"<p align=\"center\">   <img src=\".github/banner.svg\" alt=\"crev banner\" width=\"100%\" /> </p>","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.3","glob":"13.0.6","yaml":"^2.7.1","chalk":"^5.4.1","effect":"3.21.2","blessed":"0.1.81","commander":"^14.0.0","@caiokf/valet":"^0.1.1","@inquirer/prompts":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"^8.4.0","vitest":"^3.1.1","typescript":"^5.8.3","@types/node":"25.5.2","@effect/vitest":"0.29.0","@types/blessed":"0.1.27"},"_npmOperationalInternal":{"tmp":"tmp/crev_0.7.0_1776998668368_0.2334042976484938","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@caiokf/crev","version":"0.7.1","_id":"@caiokf/crev@0.7.1","maintainers":[{"name":"caiokf","email":"caiokf@gmail.com"}],"bin":{"crev":"dist/bin.js"},"dist":{"shasum":"5e22a942b536aa874bd1e17680043394ee39f98d","tarball":"https://registry.npmjs.org/@caiokf/crev/-/crev-0.7.1.tgz","fileCount":16,"integrity":"sha512-yeNjMEwrvCH2YiMjoT6H+R3Jod8KuSQ9ZLtCCowk6HwgXjX2QtrqWVZWDi3ofdQazgj4buiAb5PF9xkWorws7Q==","signatures":[{"sig":"MEQCIFJycDEDFZ8xYPlKKrTDL/TVXH+KYFces9lCil+J8k6IAiBYc8F/e9LVUaXWcWxdud7pGC3nc/hU/sBKcD/1u6MEIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":755495},"main":"./dist/index.js","type":"module","_from":"file:caiokf-crev-0.7.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"crev":"tsup --silent && node dist/bin.js","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"caiokf","email":"caiokf@gmail.com"},"_resolved":"/tmp/c1f9fdf8a62c464e2c98dc0bd3f9c223/caiokf-crev-0.7.1.tgz","_integrity":"sha512-yeNjMEwrvCH2YiMjoT6H+R3Jod8KuSQ9ZLtCCowk6HwgXjX2QtrqWVZWDi3ofdQazgj4buiAb5PF9xkWorws7Q==","_npmVersion":"10.8.2","description":"<p align=\"center\">   <img src=\".github/banner.svg\" alt=\"crev banner\" width=\"100%\" /> </p>","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.3","glob":"13.0.6","yaml":"^2.7.1","chalk":"^5.4.1","effect":"3.21.2","blessed":"0.1.81","commander":"^14.0.0","@caiokf/valet":"^0.1.1","@inquirer/prompts":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"^8.4.0","vitest":"^3.1.1","typescript":"^5.8.3","@types/node":"25.5.2","@effect/vitest":"0.29.0","@types/blessed":"0.1.27"},"_npmOperationalInternal":{"tmp":"tmp/crev_0.7.1_1777002821554_0.9498067879081895","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@caiokf/crev","version":"0.7.2","_id":"@caiokf/crev@0.7.2","maintainers":[{"name":"caiokf","email":"caiokf@gmail.com"}],"bin":{"crev":"dist/bin.js"},"dist":{"shasum":"98d0e5f4c2f569e6eb9e0766704474bcefcb303b","tarball":"https://registry.npmjs.org/@caiokf/crev/-/crev-0.7.2.tgz","fileCount":16,"integrity":"sha512-0hRn9GjFCd2mqx1p2QdLFbXEPJ9SgV+FuSABgWYF+mck9xUshmfDIaP15KM6LJSPTmaTVf9IGFBU4PEvIex6cw==","signatures":[{"sig":"MEUCIQCMQ6XTc4CT7sKD7jjXIdQJV04KkDiT5Maie8vOWa9HsAIgeVdIjkKEI+cVknxcsOaNtKth17gNYaCUsGV7T37fFk8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":761093},"main":"./dist/index.js","type":"module","_from":"file:caiokf-crev-0.7.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"crev":"tsup --silent && node dist/bin.js","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"caiokf","email":"caiokf@gmail.com"},"_resolved":"/tmp/9927d9917122a1273ce7fa973e94760d/caiokf-crev-0.7.2.tgz","_integrity":"sha512-0hRn9GjFCd2mqx1p2QdLFbXEPJ9SgV+FuSABgWYF+mck9xUshmfDIaP15KM6LJSPTmaTVf9IGFBU4PEvIex6cw==","_npmVersion":"10.8.2","description":"<p align=\"center\">   <img src=\".github/banner.svg\" alt=\"crev banner\" width=\"100%\" /> </p>","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.3","glob":"13.0.6","yaml":"^2.7.1","chalk":"^5.4.1","effect":"3.21.2","blessed":"0.1.81","commander":"^14.0.0","@caiokf/valet":"^0.1.1","@inquirer/prompts":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"^8.4.0","vitest":"^3.1.1","typescript":"^5.8.3","@types/node":"25.5.2","@effect/vitest":"0.29.0","@types/blessed":"0.1.27"},"_npmOperationalInternal":{"tmp":"tmp/crev_0.7.2_1777003699305_0.3818658555657266","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@caiokf/crev","version":"0.8.0","_id":"@caiokf/crev@0.8.0","maintainers":[{"name":"caiokf","email":"caiokf@gmail.com"}],"bin":{"crev":"dist/bin.js"},"dist":{"shasum":"7532be57a771bc1462cf79c6a0e7dbc118c500ff","tarball":"https://registry.npmjs.org/@caiokf/crev/-/crev-0.8.0.tgz","fileCount":16,"integrity":"sha512-vDAwanAM6KGnfVcSO/j9YyWhDVsmFO/E4nPPFkWPxAknq92+Us6op1MWJsjeNi3VbtsJ21R2eafZPOmf+Rw/yw==","signatures":[{"sig":"MEQCIDdoFKI8LIjDc4eVKbowYEYVC5gfU8kLh3L4yf3YSJB8AiBHZdYnoB6FefO6jiSAEZhJCZLLa6nKCytY1fEvOTFlGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":855572},"main":"./dist/index.js","type":"module","_from":"file:caiokf-crev-0.8.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"crev":"tsup --silent && node dist/bin.js","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"caiokf","email":"caiokf@gmail.com"},"_resolved":"/tmp/de4312de3ebae2e3a64100d4777697db/caiokf-crev-0.8.0.tgz","_integrity":"sha512-vDAwanAM6KGnfVcSO/j9YyWhDVsmFO/E4nPPFkWPxAknq92+Us6op1MWJsjeNi3VbtsJ21R2eafZPOmf+Rw/yw==","_npmVersion":"10.8.2","description":"<p align=\"center\">   <img src=\".github/banner.svg\" alt=\"crev banner\" width=\"100%\" /> </p>","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.3","glob":"13.0.6","yaml":"^2.7.1","chalk":"^5.4.1","effect":"3.21.2","blessed":"0.1.81","commander":"^14.0.0","@caiokf/valet":"^0.1.1","@inquirer/prompts":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"^8.4.0","vitest":"^3.1.1","typescript":"^5.8.3","@types/node":"25.5.2","@effect/vitest":"0.29.0","@types/blessed":"0.1.27"},"_npmOperationalInternal":{"tmp":"tmp/crev_0.8.0_1777016493190_0.3625869448725927","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@caiokf/crev","version":"0.9.0","_id":"@caiokf/crev@0.9.0","maintainers":[{"name":"caiokf","email":"caiokf@gmail.com"}],"bin":{"crev":"dist/bin.js"},"dist":{"shasum":"2526f34229e3ad8d82fd8973957a2e344f0e77f0","tarball":"https://registry.npmjs.org/@caiokf/crev/-/crev-0.9.0.tgz","fileCount":16,"integrity":"sha512-m7iWv9l1WmqCK2exZQL1HOxhgeV4zacLGw9OIOb8UX1ljUSxU3Awqf5fvv/g6bamfTfSDL+bo4U2yfGdVkY3ig==","signatures":[{"sig":"MEYCIQDPbdiYsljJ8MsRgSVhThuUuOnFqaq/S2OCw3nY4uJ3bwIhAJNmaDODr4ArYn0UfdBxFj0FFiwmexu17NEPiTjJlAbV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1018713},"main":"./dist/index.js","type":"module","_from":"file:caiokf-crev-0.9.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"crev":"tsup --silent && node dist/bin.js","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"caiokf","email":"caiokf@gmail.com"},"_resolved":"/tmp/f135b0a1b1a74303861c906085d9b404/caiokf-crev-0.9.0.tgz","_integrity":"sha512-m7iWv9l1WmqCK2exZQL1HOxhgeV4zacLGw9OIOb8UX1ljUSxU3Awqf5fvv/g6bamfTfSDL+bo4U2yfGdVkY3ig==","_npmVersion":"10.8.2","description":"<p align=\"center\">   <img src=\".github/banner.svg\" alt=\"crev banner\" width=\"100%\" /> </p>","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.3","glob":"13.0.6","yaml":"^2.7.1","chalk":"^5.4.1","effect":"3.21.2","blessed":"0.1.81","commander":"^14.0.0","@caiokf/valet":"^0.1.1","@inquirer/prompts":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"^8.4.0","vitest":"^3.1.1","typescript":"^5.8.3","@types/node":"25.5.2","@effect/vitest":"0.29.0","@types/blessed":"0.1.27"},"_npmOperationalInternal":{"tmp":"tmp/crev_0.9.0_1777450054402_0.8962870993807563","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@caiokf/crev","version":"0.10.0","_id":"@caiokf/crev@0.10.0","maintainers":[{"name":"caiokf","email":"caiokf@gmail.com"}],"bin":{"crev":"dist/bin.js"},"dist":{"shasum":"ab5aab4c2b980f3c4171c6de53f83e5604092c19","tarball":"https://registry.npmjs.org/@caiokf/crev/-/crev-0.10.0.tgz","fileCount":16,"integrity":"sha512-nPwEDwzGE87IvnADfqqYKq9Va8G8FtYyGXIatNntgJsT2Q0iq/Q1MQksc1X3vsUX2U8VMyLye0hCzjxMrmOEaA==","signatures":[{"sig":"MEUCIDsLSszPM+yO8GF9taEW4rqbZs+hyR8DfTstoA+x23xzAiEAowP6K9ZWVQS4spnmejLkjDB3YBb8rDi4vrYyk4gvnsM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1020911},"main":"./dist/index.js","type":"module","_from":"file:caiokf-crev-0.10.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"crev":"tsup --silent && node dist/bin.js","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"caiokf","email":"caiokf@gmail.com"},"_resolved":"/private/var/folders/2d/90q0bb9d2r7873skqn_hqf5w0000gn/T/08cc85838e266e2798ffe7747376e75c/caiokf-crev-0.10.0.tgz","_integrity":"sha512-nPwEDwzGE87IvnADfqqYKq9Va8G8FtYyGXIatNntgJsT2Q0iq/Q1MQksc1X3vsUX2U8VMyLye0hCzjxMrmOEaA==","_npmVersion":"11.17.0","description":"<p align=\"center\">   <img src=\".github/banner.svg\" alt=\"crev banner\" width=\"100%\" /> </p>","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.24.3","glob":"13.0.6","yaml":"^2.7.1","chalk":"^5.4.1","effect":"3.21.2","blessed":"0.1.81","commander":"^14.0.0","@caiokf/valet":"^0.2.0","@inquirer/prompts":"^7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"^8.4.0","vitest":"^3.1.1","typescript":"^5.8.3","@types/node":"25.5.2","@effect/vitest":"0.29.0","@types/blessed":"0.1.27"},"_npmOperationalInternal":{"tmp":"tmp/crev_0.10.0_1785461722285_0.8976656647789281","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@caiokf/crev","version":"0.11.0","type":"module","bin":{"crev":"dist/bin.js"},"exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"main":"./dist/index.js","types":"./dist/index.d.ts","dependencies":{"@caiokf/valet":"^0.2.0","@inquirer/prompts":"^7.5.0","blessed":"0.1.81","chalk":"^5.4.1","commander":"^14.0.0","effect":"3.21.2","glob":"13.0.6","yaml":"^2.7.1","zod":"^3.24.3"},"devDependencies":{"@effect/vitest":"0.29.0","@types/blessed":"0.1.27","@types/node":"25.5.2","tsup":"^8.4.0","tsx":"4.21.0","typescript":"^5.8.3","vitest":"^3.1.1"},"engines":{"node":">=20"},"scripts":{"build":"tsup","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","typecheck":"tsc --noEmit","crev":"tsup --silent && node dist/bin.js"},"_id":"@caiokf/crev@0.11.0","description":"<p align=\"center\">   <img src=\".github/banner.svg\" alt=\"crev banner\" width=\"100%\" /> </p>","_integrity":"sha512-8SO84xkQJLej+fO5qQRZss2wCTC5xEbvQBg6pV8x1JuOenCDA+Mayb93CFff33SEDbMzxVk4AtLLQ/GodJtsFQ==","_resolved":"/private/var/folders/2d/90q0bb9d2r7873skqn_hqf5w0000gn/T/ed06e3226060fdcf0117769488974d6f/caiokf-crev-0.11.0.tgz","_from":"file:caiokf-crev-0.11.0.tgz","_nodeVersion":"26.5.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-8SO84xkQJLej+fO5qQRZss2wCTC5xEbvQBg6pV8x1JuOenCDA+Mayb93CFff33SEDbMzxVk4AtLLQ/GodJtsFQ==","shasum":"87006ea1a1c789b218f3804e72863c540774474f","tarball":"https://registry.npmjs.org/@caiokf/crev/-/crev-0.11.0.tgz","fileCount":16,"unpackedSize":1021743,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDXRgDJhmB12dU23WLrPBkNNsWbaFQrKF/m6770mPsaxAIhAJi/w8OGGYfsBvnwo6TC41Wc+heav4szSXB/enIuZJaj"}]},"_npmUser":{"name":"caiokf","email":"caiokf@gmail.com"},"directories":{},"maintainers":[{"name":"caiokf","email":"caiokf@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/crev_0.11.0_1785463266825_0.92794976080496"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-13T04:34:27.709Z","modified":"2026-07-31T02:01:07.135Z","0.1.0":"2026-04-13T04:34:27.945Z","0.1.1":"2026-04-13T05:30:17.819Z","0.2.0":"2026-04-17T01:25:09.169Z","0.2.1":"2026-04-17T01:35:46.074Z","0.2.2":"2026-04-17T01:38:40.835Z","0.2.3":"2026-04-17T01:40:45.697Z","0.3.0":"2026-04-17T02:09:14.966Z","0.4.0":"2026-04-17T03:34:09.330Z","0.4.1":"2026-04-17T05:36:53.029Z","0.4.2":"2026-04-17T05:54:39.036Z","0.5.0":"2026-04-20T05:17:21.669Z","0.5.1":"2026-04-20T10:27:04.875Z","0.6.0":"2026-04-23T00:09:59.561Z","0.6.1":"2026-04-23T04:59:51.421Z","0.6.2":"2026-04-23T05:24:26.533Z","0.7.0":"2026-04-24T02:44:28.530Z","0.7.1":"2026-04-24T03:53:41.805Z","0.7.2":"2026-04-24T04:08:19.586Z","0.8.0":"2026-04-24T07:41:33.388Z","0.9.0":"2026-04-29T08:07:34.550Z","0.10.0":"2026-07-31T01:35:22.452Z","0.11.0":"2026-07-31T02:01:06.989Z"},"description":"<p align=\"center\">   <img src=\".github/banner.svg\" alt=\"crev banner\" width=\"100%\" /> </p>","maintainers":[{"name":"caiokf","email":"caiokf@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\".github/banner.svg\" alt=\"crev banner\" width=\"100%\" />\n</p>\n\n# crev — **C**ode **REV**iew\n\n### Use your existing subscriptions\n\nAI code review tools typically require separate API keys and per-token billing. You're already paying for Claude Code, Gemini CLI, Codex, or other AI coding subscriptions -- crev runs reviews through those CLI tools directly. No extra API keys. No extra billing.\n\n### Run multiple reviewers in parallel\n\nDefine a review schema with multiple reviewers using different models and prompts, and crev executes them all simultaneously. A security expert on Claude, an architect on Gemini, and a performance reviewer on Codex -- all running at the same time, all finishing in the time it takes the slowest one to complete.\n\n### Configurable and reusable\n\nYAML schemas define your review pipeline. Inline prompts or external agent files shape what each reviewer focuses on. Run the same review across PRs, branches, or commits. Share schemas across your team.\n\n```bash\n# 1 reviewer, fast feedback\ncrev run --schema quick --base main\n\n# 3 reviewers + triage pass\ncrev run --schema standard --base main\n\n# 6 specialized reviewers + dedup triage\ncrev run --schema thorough --base main\n\n# Full codebase analysis\ncrev run --schema security --analyze\n```\n\n## Install\n\n```bash\nnpm install -g @caiokf/crev\n```\n\nOr with Homebrew:\n\n```bash\nbrew install caiokf/tap/crev\n```\n\nOr use without installing:\n\n```bash\nnpx @caiokf/crev init\nnpx @caiokf/crev run --schema quick --base main\n```\n\n## Quick Start\n\n```bash\n# Initialize crev in your project\ncrev init\n\n# Run a quick review against main branch\ncrev run --schema quick --base main\n\n# Review a specific PR\ncrev run --schema quick --pr 42\n\n# Review uncommitted changes\ncrev run --schema quick --type uncommitted\n\n# Full codebase analysis (no diff)\ncrev run --schema security --analyze\n\n# Check runtime health\ncrev doctor\n\n# Smoke test all runtimes\ncrev doctor --ping\n```\n\n## How It Works\n\n1. **Define a schema** -- Pick which runtimes, models, and prompts to use\n2. **crev generates the diff** -- From your branch, PR, or commit\n3. **Reviewers run in parallel** -- Each runtime gets the diff and reads files from the codebase\n4. **Output is normalized** -- All results are merged into a single JSON review\n5. **Optional triage** -- A devil's advocate AI pass deduplicates and prioritizes findings\n\n```yaml\n# .crev/schemas/standard.yaml\ndescription: Three-reviewer standard check\nreviewers:\n  - name: Engineer\n    runtime: claude\n    model: sonnet\n    prompt: >\n      You are a senior software engineer reviewing code changes.\n      Focus on correctness, error handling, edge cases, and readability.\n\n  - name: Security\n    runtime: gemini\n    model: gemini-2.5-pro\n    prompt: >\n      You are a senior security engineer reviewing code changes.\n      Focus on injection vulnerabilities, auth flaws, and secrets exposure.\n\n  - name: Architect\n    runtime: codex\n    model: gpt-5.4\n    prompt: >\n      You are a senior software architect reviewing code changes.\n      Focus on coupling, abstraction quality, and scalability concerns.\n\ntriage:\n  enabled: true\n  runtime: claude\n  model: opus\n```\n\nEach reviewer can use either an inline `prompt` or an `agent` field pointing to any external file:\n\n```yaml\nreviewers:\n  - name: Security\n    runtime: claude\n    model: opus\n    agent: .crev/agents/security-reviewer.md\n```\n\n## Supported Runtimes\n\n| Runtime | CLI | Auth |\n|---|---|---|\n| Claude Code | `claude` | Subscription or `ANTHROPIC_API_KEY` |\n| Codex | `codex` | `OPENAI_API_KEY` |\n| Copilot | `copilot` | `gh auth login` |\n| Gemini CLI | `gemini` | `GEMINI_API_KEY` or `GOOGLE_API_KEY` |\n| Kimi | `kimi` | `MOONSHOT_API_KEY` |\n| CodeRabbit | `cr` | `cr auth status` |\n| OpenCode | `opencode` | `~/.local/share/opencode/auth.json` |\n| Droid | `droid` | Subscription |\n| MastraCode | `mastracode` | Subscription |\n| Pi | `pi` | Subscription |\n\nRun `crev doctor` to check which runtimes are available. Add `--ping` to verify end-to-end functionality.\n\n## Commands\n\n| Command | Description |\n|---|---|\n| `crev init` | Interactive setup |\n| `crev run --schema <name>` | Execute a review |\n| `crev run --analyze` | Full codebase analysis (no diff) |\n| `crev doctor [--ping]` | Check runtime health (optionally run ping tests) |\n| `crev stats --schema <name>` | Reviewer effectiveness stats |\n| `crev config [--layers]` | Show resolved configuration |\n| `crev list` | List schemas and runtimes |\n| `crev show [file]` | Pretty-print a review file (default: latest) |\n| `crev fix [file]` | Auto-fix review issues using AI agents |\n| `crev triage [file]` | Run triage on an existing review |\n| `crev diff` | Preview diff that would be reviewed |\n| `crev schema show <name>` | Display schema details |\n| `crev schema validate` | Validate schemas |\n| `crev schema init <name>` | Scaffold a new schema |\n| `crev update` | Regenerate AI tool skills |\n| `crev help <topic>` | Detailed help (run, schema) |\n\n## Project Structure\n\nAfter `crev init`:\n\n```\n.crev/\n├── config.yaml          # Global config and model aliases\n├── schemas/\n│   ├── quick.yaml       # 1 reviewer, fast\n│   ├── standard.yaml    # 3 reviewers + triage\n│   └── thorough.yaml    # 6 reviewers + triage\n└── reviews/             # Review output (JSON)\n```\n\n## Related\n\n- **[valet](https://github.com/caiokf/valet)** -- The standalone runtime adapter library used by crev\n\n## License\n\nMIT\n","readmeFilename":"README.md"}