{"_id":"codecrypto-cli","_rev":"26-198684ad8a65217878109ae5c87c86d4","name":"codecrypto-cli","dist-tags":{"latest":"1.0.26"},"versions":{"1.0.0":{"name":"codecrypto-cli","version":"1.0.0","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.0","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"a03edb7fab981acc52b5e70edb06e8389ef28c1f","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.0.tgz","fileCount":31,"integrity":"sha512-VGqrgmvX9vpcULeR6zKRD6ur2md0csCvpJtG00mRpVWgAebKSPUHHyvUs7SHLphrFl3QS/nbohKtRxX/I8xNnw==","signatures":[{"sig":"MEQCIEjuRG/QiMzoljAMU+ywOn/Ac+gJs5FbI1W8o9MmnH93AiAk1p6rVfHHFz2NBgjDkBh11IYsPlxJjbIvHP1CgS8/qA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70329},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"a6440bcafa7543daf47b2e0e9f53fc2942aade11","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","chalk":"^4.1.2","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.0_1766044568467_0.6240584963948552","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"codecrypto-cli","version":"1.0.1","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.1","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"de4b6098d232c7ee730602fae26ab8ba878f1062","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.1.tgz","fileCount":32,"integrity":"sha512-rKJ4Aeb5NrTXG8GzmjR/4K3mHyDenPWcyH70amQGIsydh+hBpEXI3Z0Zjs8KGdnt1tCRx96GAm2b6zBSw0aWrA==","signatures":[{"sig":"MEYCIQCGv63fHu+FEcxycs+RQ193d/SaOisl1ErUzWdIsORa7gIhAKLYqzNYem2R1EQAQmrNM5IVDGJJLTp2xXvvFfOxDJs1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85501},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"a6440bcafa7543daf47b2e0e9f53fc2942aade11","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","chalk":"^4.1.2","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.1_1766179612525_0.4258240456015918","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"codecrypto-cli","version":"1.0.2","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.2","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"230470f58c087adc06a64c9db0ac91348ca0089e","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.2.tgz","fileCount":32,"integrity":"sha512-ObjcYtaIcEP8ZieknKFMECX3yxxc6WXy5CXWdEMgRJ/gJB94C9cVI5Kss24JlaDdqebFEZFVk+Utlb5ZT+E+IA==","signatures":[{"sig":"MEQCIGjL2OPZ5zfKiTm5QL9SDYWrMM1itjLSGf3+E+IlK0JxAiA4UqDGxwhLu1dwIephoraP1d5IeJBOFtk4oN06/EPYEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85501},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"a6440bcafa7543daf47b2e0e9f53fc2942aade11","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","chalk":"^4.1.2","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.2_1766309984987_0.9402163263497252","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"codecrypto-cli","version":"1.0.3","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.3","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"6bffb915f042e89aa00ffc3d81344378d54e9091","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.3.tgz","fileCount":37,"integrity":"sha512-1eAVG1Lfv9i6zROema7vxaASkeYVJErCTag59wscHT8UVxzYOCtAI8F30bEh1Dt8gKE0tB3f4YQMtdv1IgWunw==","signatures":[{"sig":"MEUCIQClO/KWTYqdXHd60lLvKLSE2tsPMwkZuJL/pZ8Ja+37LwIgJBbYHA4DszFIPvSvSEdDXv129weKkBHI0dofxovajmw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104225},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"a6440bcafa7543daf47b2e0e9f53fc2942aade11","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","chalk":"^4.1.2","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.3_1766398824244_0.823180845365427","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"codecrypto-cli","version":"1.0.4","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.4","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"6871c530318692cd788f4a5bba9639c4b4c3cb46","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.4.tgz","fileCount":37,"integrity":"sha512-LDmyufYHdbEYNxHR3rosT5EVGT1wkAbSnMJEbScxGEaZRh8cvpV5mpVB+vH9UMgkMf8Nk/B+KlQdIL0MIEEzzA==","signatures":[{"sig":"MEUCIQDvzkiukqmwljOVVJpk0dBvcBNG5uyTznQyIhwPja5h1wIgIuUzlgyBMnTxyOCc8MO7yDl+CZKcsuDYCnNOeort5ss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108193},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"a6440bcafa7543daf47b2e0e9f53fc2942aade11","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","chalk":"^4.1.2","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.4_1766399409554_0.0189646026037662","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"codecrypto-cli","version":"1.0.5","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.5","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"669435bb9fa5a462fbe61d6c8ea8a319e0e9c776","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.5.tgz","fileCount":34,"integrity":"sha512-b1qtDLY3508eYgVBK0/u5/zbSl8jrclHUMj/XcfoLFJ0BtmLQk7nrrLpuY3Oscl6vasYinZvuYn1eyx8qW5kAQ==","signatures":[{"sig":"MEYCIQC13ZE7jdAIbOjBkG3bQxZn3JTpcz7NOyCNoTJhOTAD8gIhAJLfOBtS7BWqq0X8VXfrcrA6K5cC4CV/++3CthjRPQPn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98126},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"a6440bcafa7543daf47b2e0e9f53fc2942aade11","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","chalk":"^4.1.2","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.5_1766403314899_0.3878634250511621","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"codecrypto-cli","version":"1.0.6","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.6","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"09ca57641ebabb24e437501d1c148e3046c1b8c5","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.6.tgz","fileCount":39,"integrity":"sha512-pCO7BxS0tOhT4qQ6VcaWCeEzQoehboepi75fjWoH42A2IpIoQl0GEdysQkMDdcoPvien2B1saCSvRNRqvLuyzA==","signatures":[{"sig":"MEQCIByum6hOnHGl5Tab3sBDgUTU6T++b51f3eCfkJZzAEjgAiBEmWaOE6979CJODhty4+0pi3AIvUGhgrHV7H+zQA+rOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136525},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"a6440bcafa7543daf47b2e0e9f53fc2942aade11","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","jose":"^6.1.3","chalk":"^4.1.2","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.6_1766519907219_0.8046302636225864","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"codecrypto-cli","version":"1.0.7","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.7","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"5c8d6fbd111166aede1855f7e0382b89f49f8d98","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.7.tgz","fileCount":39,"integrity":"sha512-ARjFJBBj9I9/DV2cIGwTt52LDpeZTwlpM7S9eKwRHTUgDTXWLoqPANm8cppNl0tRiwF2LT9El3o1sKwxYPK2YQ==","signatures":[{"sig":"MEUCID7N90lqytxavlG/TlFippVqfPT8VDkm1NhjLgRxm3BRAiEA2FaAUMm6GXk0kfg2J6Oq4nMXLbamH1wA66TmW1TUjBY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142483},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"94bf03bee83d34c202dce624c5809172e0361ccf","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","jose":"^6.1.3","chalk":"^4.1.2","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.7_1766594967218_0.873834930808949","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"codecrypto-cli","version":"1.0.8","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.8","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"cfea9bfa88c99b9bac449beb6fe3fc30eccbb19d","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.8.tgz","fileCount":289,"integrity":"sha512-i+ToYeM573nzWSUtwwxqyM1GwYwKPikh1ds7fRJFJ1w7ptTwtOvmC9JzUXfWKvMe9qQlaXcJx1/aE03qwU89qw==","signatures":[{"sig":"MEQCIFDfzup2pk6lBj1/p1kFND9SWxKR4cARCysQRaKhDpWWAiAFgPamxTDuKuQN3kgkHf78GzhHkxU1ys9dGR5U5gFvUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2667278},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"94bf03bee83d34c202dce624c5809172e0361ccf","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","jose":"^6.1.3","chalk":"^4.1.2","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.8_1766693117077_0.39945276284063436","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"codecrypto-cli","version":"1.0.9","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.9","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"14edb8a1a544744f31a9482ed09071359d9232f3","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.9.tgz","fileCount":177,"integrity":"sha512-1BfN5W7mfjgG6P9UJXp41PSTnuWj7B1XxnL+bN+2Z88HvQvwA6ZPj84PrR0TxQLVmEyz2OL9bN704Ok5gFmyCw==","signatures":[{"sig":"MEUCIHwi+AEC2pRhH9X7OdpTFtE2nfUv8XelEI+kOGFaNz/8AiEAkpLAtkTZ621SA7L0D+Mqbss3PwI2WhCQ5+fbrTY6HIY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1888434},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"cae25b5eee392a1072acdeb615aa6052af247552","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","jose":"^6.1.3","chalk":"^4.1.2","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.9_1766952089595_0.5580653716990867","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"codecrypto-cli","version":"1.0.10","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.10","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"46fac35a4310b018052920a12559e2e47e1a1805","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.10.tgz","fileCount":45,"integrity":"sha512-oPnFS62iKJQ0S9sqTY3bFfgV7/AWvL9HiM4x3AQXV6ywMitrjds3leiNCoHaiJj8Qx6FTnRfZbPa7tPYSed2bg==","signatures":[{"sig":"MEYCIQD5m/244BfV24Qcio91u2ufTzBshOKWkdsuaSq5ujQJ2wIhAJa4GggjtV/wzctoGqpTWZWmqLkAInklu3Ivkv9FDpWr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":341424},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"dfac41d62589a2a014bf8c921360935848458252","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","jose":"^6.1.3","chalk":"^4.1.2","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.10_1767032620923_0.5889332183683025","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"codecrypto-cli","version":"1.0.11","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.11","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"4e07431d8bfceb8a79531fa02d74eb63e27b631a","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.11.tgz","fileCount":43,"integrity":"sha512-M7Gfi7mNckHA9pOss+asuRX57yxs0I0fIFI8kpasjAQquLNNNI6o9xWu3cCUnNy5mGMUkVQYJc5RitdQb7ZHOg==","signatures":[{"sig":"MEQCICvaffCsh2eSyR3rQp1cQuFO30hhQOGuoL50gjuve49PAiAYxGXt/OwyzbRgrsczAyfpNSkzkwEIYoUHXHWyuLU3aw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336952},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"dfac41d62589a2a014bf8c921360935848458252","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","jose":"^6.1.3","chalk":"^4.1.2","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.11_1767033660941_0.6543235398397667","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"codecrypto-cli","version":"1.0.12","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.12","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"f61b8c758104be790f874681eda9e0944e4b5e5e","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.12.tgz","fileCount":43,"integrity":"sha512-lBn11mDLIcn9fp6RZGLBGLqHbARO8H8D+boj/eRbd8Oirz0oHOo7yOa9sU5mjYDL4Gla/8xteUXS7du2kzQeIA==","signatures":[{"sig":"MEQCIDT6PzAt3W2qII66USyB7ZceWlrnq79Ea8scizD5eSzbAiASB79DIg6qx4/yD2SNwV3XeKqP7Xneog1+S+LFaQdJqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336952},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"dfac41d62589a2a014bf8c921360935848458252","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","jose":"^6.1.3","chalk":"^4.1.2","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.12_1767038399030_0.8700115449793588","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"codecrypto-cli","version":"1.0.13","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.13","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"4d923bce24c1bb4b9fd2a4af8c076013d4f6a2d2","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.13.tgz","fileCount":43,"integrity":"sha512-wEjZ4fW246F19OrgF5WcNhNDK3+aRByPpTDdMv5AT++DJ6Loc68NWe+uUgytIazeOggtzP9Jz039hACFdWcdOA==","signatures":[{"sig":"MEUCIEm4oqB1smo3ggsWTMaiGvTQalYhsb8E/GpNJGna+cJRAiEA44ddI2ZV0Da5Le18wnM4qSxCV2NA7FyyzZnfx0Y64us=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":347637},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"dfac41d62589a2a014bf8c921360935848458252","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","jose":"^6.1.3","chalk":"^4.1.2","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.13_1767362904454_0.8208130079021603","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"codecrypto-cli","version":"1.0.14","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.14","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"62a94bbca0c6e9851ed22f64305a26b3554e53c8","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.14.tgz","fileCount":43,"integrity":"sha512-6kHihVLggJYoePJrZPD39FEaZ60fLgFugM0MClhxXhZy4Epio22l2VGzkCMA0K7nHo1lEWlxMr7Sr4UxrB0UXg==","signatures":[{"sig":"MEYCIQC7QEpAkpetqzXW+/kH8BaBQq5MoOjKf+AvdkPCb3DvkgIhAOx4OEOWI0mYIt5x1zFAuaL5E9SjDTi4ixXgPdYof8AO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":375654},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"dfac41d62589a2a014bf8c921360935848458252","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","jose":"^6.1.3","chalk":"^4.1.2","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.14_1767371850076_0.2565313532060258","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"codecrypto-cli","version":"1.0.15","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.15","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"19418fc8d3bc5f2849ae0909a87dd02ff43118c9","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.15.tgz","fileCount":48,"integrity":"sha512-2eFHIa/CjQOnUF1WekUafNpy6UCEEB80Q6k+zKflX17ELmPnvkIFGjKxzoxgK2Je2xr1zXH1TVQi1PzBLTJxGA==","signatures":[{"sig":"MEQCIGe8Fh2KL66zhFoT8Xe2rc+P3TJBgMV9Hwhz0nO36COpAiBbvO/CZTIU+riPdIxVGEi8fHfc2y7sRhM00xkZMx6QNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":408637},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"17f8a68a60e19a76fbf5c684608a5ba178deeb0f","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","jose":"^6.1.3","chalk":"^4.1.2","ethers":"^6.9.0","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.15_1767461626303_0.42777717108935165","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"codecrypto-cli","version":"1.0.17","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.17","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"f85239adeacf44ecefa431fd43649e1f5c2cc1e5","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.17.tgz","fileCount":48,"integrity":"sha512-rv1gBENMsvflOUcXInNZxIJ7421kFLNPa4WPL8F2TM/L2U5fpIF0/O6igduVTAOodz6Sz2X8hAZSo0q9JZU8GQ==","signatures":[{"sig":"MEQCICSDOQJawYo3fCqHUzdVlfBzEYf6vx6cx/lZfhHdjYmPAiBuOUl4qb05bpnZLM96SGOttZbcZtCSGI51/UhRoTI9XQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":409651},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"17f8a68a60e19a76fbf5c684608a5ba178deeb0f","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","jose":"^6.1.3","chalk":"^4.1.2","ethers":"^6.9.0","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.17_1767529440443_0.30287010824353433","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"codecrypto-cli","version":"1.0.18","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.18","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"5b32b10ed8c9be923d73a8fd50d39b72dbdb8298","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.18.tgz","fileCount":53,"integrity":"sha512-zQBeUWUQn9xFte5ceY0rxbbYpYOcw0L0k9d7jnUuYCAG/UVAJxNH6RWcrFM3nb+lilVCJ9hLFn8uZAYymXvmQQ==","signatures":[{"sig":"MEQCIHCbcrH3DHTTh/zCpeF/Yg11RbR4iS3Kwl0QsoFuOIklAiAcCVEZ3Jur+/26ycW+tEjILTZXmOmMTt6dtGQPyFdwnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":507539},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"17f8a68a60e19a76fbf5c684608a5ba178deeb0f","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","jose":"^6.1.3","chalk":"^4.1.2","ethers":"^6.9.0","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.18_1767811693767_0.22623904361402958","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"codecrypto-cli","version":"1.0.19","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.19","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"cee92ecc93a71786522bf2f26e90e39c5618445e","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.19.tgz","fileCount":53,"integrity":"sha512-uYKT7nHzTzv0Kuw2VzmF8dLbT0Tc6uD3I3ymgDYfsyhLcP4z/VBmo8VnwXVrO0Tnz+cm7nHNNGMDo+Nua7Sbjg==","signatures":[{"sig":"MEYCIQCzcZjblaf//+wlW5S59XRlmmy+sVoEQy8F1LclxriygQIhAJ/9Du9Cgs2Yhxy6yUXs/peliDexzK/hsuKlsKOZJcWv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":518362},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"17f8a68a60e19a76fbf5c684608a5ba178deeb0f","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","jose":"^6.1.3","chalk":"^4.1.2","ethers":"^6.9.0","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.19_1767812742429_0.5957443329737582","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"codecrypto-cli","version":"1.0.20","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.20","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"24fbf33805f3b60ae1e6cdb82ba4e3e7da7a4a74","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.20.tgz","fileCount":53,"integrity":"sha512-t+OqgrbNUlKaTFhHp7tl4vGHvtbnNM42iDPjI6otLbzERoi6B5f/IfDDfJDV/nIfLvOjCMGhGTs+dwo1c3jYwQ==","signatures":[{"sig":"MEYCIQCBGmemEyJuSJxVY4hIvi3utZubik/CxoBNb5m99MTKpAIhAJOO1zT9OXQ+AyoZVlW5l3g/cNYu0xkIe971SiwdAEBY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":518402},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"17f8a68a60e19a76fbf5c684608a5ba178deeb0f","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","jose":"^6.1.3","chalk":"^4.1.2","ethers":"^6.9.0","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.20_1767815501271_0.8520840134189287","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"codecrypto-cli","version":"1.0.21","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.21","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"a1dfddbeb4172dc951b2f7b2258d6306fb3ef528","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.21.tgz","fileCount":53,"integrity":"sha512-bwgtKilYMbNGQXkmqW3ng7dPehOTwdEa+PjJ5YxKOGAzfkvGnFjAEcSW6tMIURg66Fkpgd/OI43rVZkJv9omDA==","signatures":[{"sig":"MEYCIQDAJi6yPEnKW7ljN4g16HxC6lis00Dv+XsM4WnDiibaRgIhANeZ3TPzcyMafcEe0t9l8QYj1NKcTx2MLzX21/OQB4ir","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":528426},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"17f8a68a60e19a76fbf5c684608a5ba178deeb0f","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","jose":"^6.1.3","chalk":"^4.1.2","ethers":"^6.9.0","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.21_1767819448862_0.19414039909563474","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"codecrypto-cli","version":"1.0.22","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.22","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"7c5c262ee391030e352a1b177aaed7c81217fcd2","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.22.tgz","fileCount":53,"integrity":"sha512-nFp/BsqOObJ0eeYn528bkwmAk5qoiA3SToWtDd7HwqUsEIqYm6s1bOGkm2ONJTEqnxlzDOc+OAxgubsbKt7GsQ==","signatures":[{"sig":"MEUCIQCCEJTapPRxmc/WTiPNEepMxMYgIrlWhKB5DFDH+yIcVwIgLZK5Cf/oAmrhuLqwUUqJQ58kdmIgqn/Y0a97fcP/p9k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":580419},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"17f8a68a60e19a76fbf5c684608a5ba178deeb0f","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ora":"^5.4.1","jose":"^6.1.3","chalk":"^4.1.2","ethers":"^6.9.0","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.22_1767888165586_0.39888110804772947","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"codecrypto-cli","version":"1.0.23","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.23","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"d6160f7b46ef337a5d846a179f7cc1c75fded073","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.23.tgz","fileCount":53,"integrity":"sha512-AkgogYjfibatK3lyQ39Kjj9fwLErnFXcZH/iu+OtrjRze/vlUfjTsUUm8KiWqcEquoy/0UGw+UCmCDycxFFv7A==","signatures":[{"sig":"MEQCICyX8YJUdAzjQszwaYLRqQRhr4xViO1RjmfqzyW4YU4lAiB68+rA3gNOodfPGDDEZzNRFsZhZlJiUhdiIHYq5Q4Epg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":583525},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"17f8a68a60e19a76fbf5c684608a5ba178deeb0f","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ora":"^5.4.1","jose":"^6.1.3","chalk":"^4.1.2","ethers":"^6.9.0","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.23_1768649869406_0.5087246921487907","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"codecrypto-cli","version":"1.0.24","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.24","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"ee51b5d4254c93f7a403a81cf385ce611a6bce61","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.24.tgz","fileCount":53,"integrity":"sha512-Sps7g2W7awhymAaaKun/NzmPB+Rmf6t5Kktw0GygL6ekVfKUNGu6HCNDhLElmQu+k7R0yeeK603q4CZywAyxkg==","signatures":[{"sig":"MEUCIQDvnjDD+iqAdc+1Jkt4G60DWoyGqs98DyWjc64S8IFLAQIgatRqxdOd+MxwDZoepw/HhqG/4LoGG2r8keKZn/2+TBI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609660},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"17f8a68a60e19a76fbf5c684608a5ba178deeb0f","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ora":"^5.4.1","jose":"^6.1.3","chalk":"^4.1.2","ethers":"^6.9.0","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.24_1768650477183_0.48328123085580077","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"codecrypto-cli","version":"1.0.25","keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","_id":"codecrypto-cli@1.0.25","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"bin":{"codecrypto":"dist/index.js"},"dist":{"shasum":"ade2ac02dfd0c96e17f44d907c6da286556e7390","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.25.tgz","fileCount":53,"integrity":"sha512-KunOh7BGN7Ll9K0NB0wmKJYeyi95V588pVM7JSCGFDr01ICWFN0KHtByRH0apaTYWuZ1790K4jYpNBfVm5ittg==","signatures":[{"sig":"MEUCIQC1GC7qGH1P4oVHDSS/V/HAriFU4cS8QEqzjQEK/Dq2FgIgHgx65vL5gD1eY1Z/EgIqE+knIlxPDtMmUJ5Me0/KFG0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":622909},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"17f8a68a60e19a76fbf5c684608a5ba178deeb0f","scripts":{"dev":"tsx src/index.ts","test":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"_npmVersion":"11.6.2","description":"CLI tool for CodeCrypto operations","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ora":"^5.4.1","jose":"^6.1.3","chalk":"^4.1.2","ethers":"^6.9.0","inquirer":"^8.2.5","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/codecrypto-cli_1.0.25_1768651453832_0.09657716877972722","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"codecrypto-cli","version":"1.0.26","description":"CLI tool for CodeCrypto operations","main":"dist/index.js","bin":{"codecrypto":"dist/index.js"},"scripts":{"build":"tsc","dev":"tsx src/index.ts","prepublishOnly":"npm run build","test":"node dist/index.js"},"keywords":["cli","codecrypto","typescript"],"author":"","license":"MIT","dependencies":{"chalk":"^4.1.2","commander":"^12.0.0","ethers":"^6.9.0","inquirer":"^8.2.5","jose":"^6.1.3","ora":"^5.4.1"},"devDependencies":{"@types/inquirer":"^9.0.7","@types/node":"^20.10.0","tsx":"^4.21.0","typescript":"^5.9.3"},"engines":{"node":">=16.0.0"},"gitHead":"17f8a68a60e19a76fbf5c684608a5ba178deeb0f","types":"./dist/index.d.ts","_id":"codecrypto-cli@1.0.26","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-KVXhdJGfSY6SX2SXisdmQrXfqO+XhBZ7YpGNOvBsCvQ2CRDeJYUxWFM9tBP6QLhSpJHvsBFQjDSotzYBtvi8ww==","shasum":"89a484f121f0aabf4a7086f113bf7bb710757c3d","tarball":"https://registry.npmjs.org/codecrypto-cli/-/codecrypto-cli-1.0.26.tgz","fileCount":53,"unpackedSize":623295,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD/XYiyuhMda+OJfBF0mI+4xRqu4SwKynNO4EVI2gAqFAIhAIxerrIs2/D9YZ3JTPbWAOvis14lTKcGoFWewMS4GRR2"}]},"_npmUser":{"name":"jviejo","email":"jviejo@gmail.com"},"directories":{},"maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/codecrypto-cli_1.0.26_1776018980162_0.4901111922003616"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-18T07:56:08.319Z","modified":"2026-04-12T18:36:20.445Z","1.0.0":"2025-12-18T07:56:08.617Z","1.0.1":"2025-12-19T21:26:52.683Z","1.0.2":"2025-12-21T09:39:45.143Z","1.0.3":"2025-12-22T10:20:24.399Z","1.0.4":"2025-12-22T10:30:09.694Z","1.0.5":"2025-12-22T11:35:15.052Z","1.0.6":"2025-12-23T19:58:27.389Z","1.0.7":"2025-12-24T16:49:27.401Z","1.0.8":"2025-12-25T20:05:17.255Z","1.0.9":"2025-12-28T20:01:29.789Z","1.0.10":"2025-12-29T18:23:41.081Z","1.0.11":"2025-12-29T18:41:01.113Z","1.0.12":"2025-12-29T19:59:59.257Z","1.0.13":"2026-01-02T14:08:24.632Z","1.0.14":"2026-01-02T16:37:30.230Z","1.0.15":"2026-01-03T17:33:46.458Z","1.0.17":"2026-01-04T12:24:00.588Z","1.0.18":"2026-01-07T18:48:13.919Z","1.0.19":"2026-01-07T19:05:42.631Z","1.0.20":"2026-01-07T19:51:41.420Z","1.0.21":"2026-01-07T20:57:29.005Z","1.0.22":"2026-01-08T16:02:45.738Z","1.0.23":"2026-01-17T11:37:49.586Z","1.0.24":"2026-01-17T11:47:57.337Z","1.0.25":"2026-01-17T12:04:13.970Z","1.0.26":"2026-04-12T18:36:20.333Z"},"license":"MIT","keywords":["cli","codecrypto","typescript"],"description":"CLI tool for CodeCrypto operations","maintainers":[{"name":"jviejo","email":"jviejo@gmail.com"}],"readme":"# CodeCrypto CLI\n\nCLI tool para desplegar aplicaciones Next.js/Express y smart contracts con Foundry.\n\n## 🚀 Instalación Rápida\n\n```bash\n# Instalación global (recomendado)\nnpm install -g codecrypto-cli\n\n# O usar sin instalar\nnpx codecrypto-cli [command]\n\n# Verificar instalación\ncodecrypto --help\n```\n\n**Primeros pasos:**\n```bash\n# 1. Validar que todo está listo\ncodecrypto doctor\n\n# 2. Autenticarse\ncodecrypto auth\n\n# 3. ¡Listo para usar!\n```\n\n**Desarrollo local:**\n```bash\n# Clonar repositorio\ngit clone https://gitlab.codecrypto.academy/codecrypto/codecrypto-cli.git\ncd codecrypto-cli\n\n# Instalar dependencias\nnpm install\n\n# Compilar\nnpm run build\n\n# Enlazar localmente\nnpm link\n\n# Probar\ncodecrypto --help\n```\n\n---\n\n## 📋 Guía Rápida de Comandos\n\n| Comando | Descripción | Uso Básico |\n|---------|-------------|------------|\n| `auth` | Autenticarse con CodeCrypto | `codecrypto auth` |\n| `doctor` | Validar sistema y prerequisitos | `codecrypto doctor` |\n| `deploy` | Desplegar app Next.js/Express | `codecrypto deploy <ruta-proyecto>` |\n| `deploy-sc` | Desplegar smart contract | `codecrypto deploy-sc <script.s.sol>` |\n| `generate-keys` | Generar claves Foundry | `codecrypto generate-keys` |\n\n### Ejemplos Rápidos\n\n**Desplegar aplicación:**\n```bash\ncodecrypto deploy ../mi-app --deploy\n```\n\n**Desplegar smart contract en Anvil:**\n```bash\ncodecrypto deploy-sc ./script/Deploy.s.sol --anvil\n```\n\n**Generar claves para desarrollo:**\n```bash\ncodecrypto generate-keys --count 10\n```\n\n**Ver ayuda de un comando:**\n```bash\ncodecrypto deploy --help\ncodecrypto deploy-sc --help\n```\n\n---\n\n## 📖 Documentación Completa de Comandos\n\n### 🔐 `auth` - Autenticación\n\nAutentica el CLI con el servidor CodeCrypto.\n\n```bash\ncodecrypto auth\ncodecrypto auth --force  # Forzar renovación de token\n```\n\n**Funcionamiento:**\n- Genera código de autenticación\n- Abre navegador para autorizar\n- Guarda token en `~/.codecrypto/token.json`\n- Incluye certificados Docker en `adminGlobals`\n\n---\n\n### 🏥 `doctor` - Validación del Sistema\n\nValida todos los requisitos necesarios para desplegar.\n\n```bash\ncodecrypto doctor\ncodecrypto doctor --verbose\n```\n\n**Valida:**\n- ✅ Node.js y npm\n- ✅ Docker y Docker Buildx\n- ✅ Docker Hub authentication\n- ✅ CodeCrypto token\n- ✅ Certificados Docker (desde token.json)\n- ✅ Acceso al servidor proyectos.codecrypto.academy\n- ✅ Git\n- ✅ Foundry (forge, cast, anvil)\n- ✅ Anvil corriendo (puerto 8545)\n- ✅ Acceso a cuenta Anvil 0\n- ✅ Acceso a red Besu1 (https://besu1.proyectos.codecrypto.academy)\n- ✅ Acceso a red Besu2 (https://besu2.proyectos.codecrypto.academy)\n\n---\n\n### 🐳 `deploy` - Despliegue de Aplicaciones\n\nDespliega aplicaciones **Next.js** o **Express** usando Docker.\n\n**Detección automática:** Analiza `package.json` para detectar el tipo:\n- Si tiene `next` → Next.js\n- Si tiene `express` → Express\n\n```bash\n# Básico\ncodecrypto deploy <project-path>\n\n# Con opciones\ncodecrypto deploy <project-path> [dest-folder] \\\n  --deploy \\\n  --service-name mi-app \\\n  --port 3000 \\\n  --domain-base proyectos.codecrypto.academy \\\n  --env-file .env \\\n  --image-version 1.0.0 \\\n  --skip-build \\\n  --no-push \\\n  --skip-git-check\n```\n\n**Opciones:**\n- `<project-path>` - Ruta al proyecto (requerido)\n- `[dest-folder]` - Carpeta destino para build Docker (default: `./docker-build`)\n- `--deploy` - Desplegar en servidor remoto después del build\n- `--service-name <name>` - Nombre del servicio para Traefik\n- `--port <port>` - Puerto de la aplicación (default: `3000`)\n- `--domain-base <domain>` - Dominio base (default: `proyectos.codecrypto.academy`)\n- `--env-file <path>` - Archivo `.env` con variables de entorno\n- `--image-version <version>` - Versión/tag de la imagen (sobrescribe package.json)\n- `--skip-build` - Omitir `npm run build`\n- `--no-push` - Construir pero no hacer push a Docker Hub\n- `--skip-git-check` - Omitir verificación de estado Git\n\n**Proceso:**\n1. Detecta tipo de proyecto (Next.js/Express)\n2. Valida estado Git (a menos que se omita)\n3. Build del proyecto (si no se omite)\n4. Genera Dockerfile optimizado\n5. Construye imagen multi-plataforma (linux/amd64, linux/arm64)\n6. Push a Docker Hub (si no se omite)\n7. Despliega en servidor remoto (si `--deploy`)\n\n**Dockerfile generado:**\n- **Next.js:** Usa `node:20-alpine`, copia `.next/standalone`, `.next/static`, `public`\n- **Express:** Usa `node:20-alpine`, multi-stage build, solo dependencias de producción\n\n**Certificados Docker:**\n- Se leen desde `~/.codecrypto/token.json` → `adminGlobals`\n- Keys: `docker-client/ca-pem`, `docker-client/cert.pem`, `docker-client/key.pem`\n\n---\n\n### 🔷 `deploy-sc` - Despliegue de Smart Contracts\n\nDespliega smart contracts usando **Foundry**.\n\n```bash\n# Básico\ncodecrypto deploy-sc <script-path>\n\n# Con opciones\ncodecrypto deploy-sc <script-path> \\\n  --url http://localhost:8545 \\\n  --private-key 0x... \\\n  --account 0 \\\n  --anvil \\\n  --broadcast \\\n  --verify \\\n  --slow \\\n  --debug\n```\n\n**Opciones:**\n- `<script-path>` - Ruta al script Foundry `.s.sol` (requerido)\n- `-u, --url <rpc-url>` - URL RPC (default: `https://besu1.proyectos.codecrypto.academy`)\n- `-k, --private-key <key>` - Clave privada (o usar `PRIVATE_KEY` env var)\n- `--account <index>` - Índice de cuenta (para Anvil, usa `0`)\n- `--anvil` - Forzar uso de cuenta Anvil 0 (ignora private-key)\n- `--verify` - Verificar contrato en block explorer\n- `--broadcast` - Transmitir transacción (default: `true`)\n- `--slow` - Modo lento para deployment\n- `--debug` - Mostrar información de debug\n\n**Proceso:**\n1. Valida que el script existe y es `.s.sol`\n2. Detecta proyecto Foundry (busca `foundry.toml`)\n3. **Valida el saldo de la cuenta** (si se usa `--private-key`, verifica que tenga al menos 0.001 ETH)\n4. Ejecuta `forge script` con configuración\n5. Guarda resultados en `broadcast/`\n6. Sube transacciones a BD vía `/api/uploadSmartContract` en `https://proyectos.proyectos.codecrypto.academy`\n\n**Validación de saldo:**\n- Se valida automáticamente cuando se usa `--private-key`\n- Requiere un saldo mínimo de **1.0 ETH** para continuar\n- Muestra la dirección y el saldo actual antes de desplegar\n- Si el saldo es insuficiente, sugiere usar el faucet: `https://faucet.codecrypto.academy`\n- No se valida cuando se usa `--anvil` o `--account` (desarrollo local)\n\n**Datos subidos a BD:**\n- Email del usuario\n- Carpeta del proyecto\n- JSON completo de transacciones (`run-latest.json`)\n- RPC URL usado\n- Clave privada (o `account-{index}`)\n\n**URL de subida:**\n- Por defecto: `https://proyectos.proyectos.codecrypto.academy/api/uploadSmartContract`\n- Configurable mediante variable de entorno: `CODECRYPTO_UPLOAD_URL` o `UPLOAD_SMART_CONTRACT_URL`\n\n---\n\n### 🔑 `generate-keys` - Generación de Claves Foundry\n\nGenera un archivo de claves Foundry con mnemonic y cuentas derivadas para desarrollo y testing.\n\n```bash\n# Generar claves con mnemonic aleatorio (10 cuentas por defecto)\ncodecrypto generate-keys\n\n# Especificar número de cuentas\ncodecrypto generate-keys --count 20\n\n# Usar mnemonic existente\ncodecrypto generate-keys --mnemonic \"word1 word2 ... word12\"\n\n# Especificar archivo de salida\ncodecrypto generate-keys --output ~/.foundry/keys.json\n\n# Combinar opciones\ncodecrypto generate-keys \\\n  --mnemonic \"your twelve word mnemonic phrase here\" \\\n  --count 5 \\\n  --output ./my-keys.json\n```\n\n**Opciones:**\n- `-m, --mnemonic <mnemonic>` - Frase mnemonic (si no se proporciona, se genera una aleatoria)\n- `-n, --count <number>` - Número de cuentas a generar (default: `10`, máximo: `100`)\n- `-o, --output <path>` - Ruta del archivo de salida (default: `~/.foundry/keys.json`)\n\n**Funcionamiento:**\n1. Genera o valida mnemonic (12 palabras)\n2. Deriva cuentas usando el path estándar BIP44: `m/44'/60'/0'/0/{index}`\n3. Guarda todas las cuentas con sus direcciones y claves privadas\n4. Crea el directorio de salida si no existe\n\n**Formato del archivo generado:**\n```json\n{\n  \"mnemonic\": \"word1 word2 word3 ... word12\",\n  \"accounts\": [\n    {\n      \"address\": \"0x...\",\n      \"private_key\": \"0x...\"\n    },\n    ...\n  ]\n}\n```\n\n**Uso con Foundry:**\n```bash\n# Generar claves\ncodecrypto generate-keys --output ~/.foundry/keys.json\n\n# Usar en scripts Foundry\n# Las claves privadas se pueden usar directamente en forge script\nforge script Deploy.s.sol \\\n  --private-key $(jq -r '.accounts[0].private_key' ~/.foundry/keys.json) \\\n  --rpc-url http://localhost:8545 \\\n  --broadcast\n```\n\n**Seguridad:**\n- ⚠️ **Nunca** compartas tu mnemonic o claves privadas\n- ⚠️ **Nunca** commitees el archivo de claves a control de versiones\n- ⚠️ Usa estas claves solo para desarrollo y testing\n- ⚠️ Para producción, usa un wallet seguro (MetaMask, Ledger, etc.)\n\n---\n\n## Ejemplos de Uso\n\n### Desplegar aplicación Next.js\n\n```bash\n# Build y push a Docker Hub\ncodecrypto deploy ../mi-app-nextjs\n\n# Build, push y deploy en servidor\ncodecrypto deploy ../mi-app-nextjs \\\n  --deploy \\\n  --service-name mi-app \\\n  --env-file ../mi-app-nextjs/.env\n```\n\n### Desplegar aplicación Express\n\n```bash\n# Build y push\ncodecrypto deploy ../mi-api-express\n\n# Con variables de entorno\ncodecrypto deploy ../mi-api-express \\\n  --env-file ../mi-api-express/.env \\\n  --port 3000\n```\n\n### Desplegar Smart Contract\n\n```bash\n# En Anvil local\ncodecrypto deploy-sc ./script/Deploy.s.sol \\\n  --url http://localhost:8545 \\\n  --anvil \\\n  --broadcast\n\n# En red remota con clave privada\ncodecrypto deploy-sc ./script/Deploy.s.sol \\\n  --url https://besu1.proyectos.codecrypto.academy \\\n  --private-key 0x1234567890abcdef... \\\n  --broadcast \\\n  --verify\n```\n\n### Generar claves para desarrollo\n\n```bash\n# Generar claves Foundry\ncodecrypto generate-keys --count 10\n\n# Usar en script de despliegue\ncodecrypto deploy-sc ./script/Deploy.s.sol \\\n  --private-key $(jq -r '.accounts[0].private_key' ~/.foundry/keys.json) \\\n  --anvil\n```\n\n### Workflow completo\n\n```bash\n# 1. Validar sistema\ncodecrypto doctor\n\n# 2. Autenticarse (si es necesario)\ncodecrypto auth\n\n# 3. Generar claves (opcional, para smart contracts)\ncodecrypto generate-keys\n\n# 4. Desplegar aplicación\ncodecrypto deploy ../mi-app --deploy\n\n# 5. Desplegar smart contract\ncodecrypto deploy-sc ./script/Deploy.s.sol --anvil\n```\n\n---\n\n## Estructura del Proyecto\n\n```\ncli-cc/\n├── src/\n│   ├── index.ts              # Punto de entrada\n│   └── commands/\n│       ├── auth.ts           # Autenticación\n│       ├── deploy.ts         # Deploy Next.js/Express\n│       ├── deploy-sc.ts      # Deploy Smart Contracts\n│       ├── doctor.ts         # Validación del sistema\n│       └── generate-keys.ts  # Generación de claves Foundry\n├── dist/                     # Build output\n├── package.json\n├── tsconfig.json\n└── README.md\n```\n\n---\n\n## Desarrollo\n\n```bash\n# Instalar dependencias\nnpm install\n\n# Desarrollo (sin compilar)\nnpm run dev -- deploy --help\n\n# Compilar\nnpm run build\n\n# Probar localmente\nnpm link\ncodecrypto --help\n```\n\n---\n\n## Configuración\n\n### Token de autenticación\n\nGuardado en: `~/.codecrypto/token.json`\n\n```json\n{\n  \"email\": \"usuario@example.com\",\n  \"token\": \"jwt-token\",\n  \"serverUrl\": \"http://server.codecrypto.academy\",\n  \"adminGlobals\": [\n    {\n      \"key\": \"docker-client/ca-pem\",\n      \"value\": \"...\"\n    },\n    {\n      \"key\": \"docker-client/cert.pem\",\n      \"value\": \"...\"\n    },\n    {\n      \"key\": \"docker-client/key.pem\",\n      \"value\": \"...\"\n    }\n  ]\n}\n```\n\n### Variables de entorno\n\nEl CLI puede leer variables de entorno de dos formas:\n\n#### 1. Variables del sistema operativo\n\nConfigura las variables en tu shell:\n\n```bash\n# Linux/Mac\nexport CODECRYPTO_API_URL=http://server.codecrypto.academy:3000\nexport API_URL=http://server.codecrypto.academy:3000\n\n# Windows (PowerShell)\n$env:CODECRYPTO_API_URL=\"http://server.codecrypto.academy:3000\"\n$env:API_URL=\"http://server.codecrypto.academy:3000\"\n\n# Windows (CMD)\nset CODECRYPTO_API_URL=http://server.codecrypto.academy:3000\nset API_URL=http://server.codecrypto.academy:3000\n```\n\n#### 2. Archivo `.env` (recomendado)\n\nCrea un archivo `~/.codecrypto/.env` con tus variables:\n\n```bash\n# El folder ~/.codecrypto se crea automáticamente cuando ejecutas 'codecrypto auth' por primera vez\n# O puedes crearlo manualmente:\nmkdir -p ~/.codecrypto\n\n# Crear archivo .env\ncat > ~/.codecrypto/.env << EOF\nCODECRYPTO_API_URL=http://server.codecrypto.academy:3000\n# O usar API_URL como alternativa\n# API_URL=http://server.codecrypto.academy:3000\nEOF\n```\n\n**Nota:** El folder `~/.codecrypto` se crea automáticamente la primera vez que ejecutas `codecrypto auth`, pero puedes crearlo manualmente antes si lo necesitas.\n\n**Variables disponibles:**\n- `CODECRYPTO_API_URL` o `API_URL` - URL del servidor API (default: `https://proyectos.codecrypto.academy`)\n- `CODECRYPTO_UPLOAD_URL` o `UPLOAD_SMART_CONTRACT_URL` - URL para subir smart contracts (default: `https://proyectos.proyectos.codecrypto.academy`)\n\n**Nota:** Las variables del sistema operativo tienen prioridad sobre el archivo `.env`.\n\n---\n\n## 📋 Prerequisitos Detallados\n\nAntes de usar el CLI, asegúrate de tener instalados y configurados los siguientes componentes:\n\n### Requisitos Obligatorios\n\n#### 1. Node.js y npm\n- **Node.js** >= 16.0.0 (recomendado: >= 18.0.0)\n- **npm** (incluido con Node.js)\n\n**Instalación:**\n```bash\n# Verificar versión instalada\nnode --version\nnpm --version\n\n# Si no está instalado, descargar desde:\n# https://nodejs.org/\n```\n\n#### 2. Docker y Docker Buildx\n- **Docker** >= 20.10.0\n- **Docker Buildx** (incluido en Docker Desktop o instalable por separado)\n\n**Instalación:**\n```bash\n# Verificar instalación\ndocker --version\ndocker buildx version\n\n# Instalar Docker Desktop desde:\n# https://www.docker.com/get-started\n\n# O en Linux:\n# Ubuntu/Debian\nsudo apt-get update\nsudo apt-get install docker.io docker-buildx-plugin\n\n# Verificar que el daemon está corriendo\ndocker info\n```\n\n**Configuración Docker Hub:**\n```bash\n# Autenticarse en Docker Hub\ndocker login\n\n# Verificar autenticación\ndocker info | grep Username\n```\n\n#### 3. Git\n- **Git** >= 2.0.0\n\n**Instalación:**\n```bash\n# Verificar versión\ngit --version\n\n# Si no está instalado:\n# macOS: viene con Xcode Command Line Tools\nxcode-select --install\n\n# Linux\nsudo apt-get install git  # Ubuntu/Debian\nsudo yum install git      # CentOS/RHEL\n\n# Windows: https://git-scm.com/download/win\n```\n\n### Requisitos para Smart Contracts\n\n#### 4. Foundry\n- **forge** (compilador de Solidity)\n- **cast** (herramienta CLI para interactuar con contratos)\n- **anvil** (blockchain local para desarrollo)\n\n**Instalación:**\n```bash\n# Instalar Foundry\ncurl -L https://foundry.paradigm.xyz | bash\nfoundryup\n\n# Verificar instalación\nforge --version\ncast --version\nanvil --version\n```\n\n**Configuración:**\n```bash\n# Crear proyecto Foundry (opcional, para testing)\nforge init my-project\ncd my-project\n```\n\n#### 5. Anvil (Blockchain Local)\nAnvil debe estar corriendo para desplegar smart contracts localmente.\n\n**Iniciar Anvil:**\n```bash\n# Configuración recomendada para CodeCrypto\nanvil --chain-id 3133731337 --port 55556\n\n# O en puerto estándar\nanvil --chain-id 3133731337 --port 8545\n```\n\n**Verificar que está corriendo:**\n```bash\n# Verificar conexión\ncast block-number --rpc-url http://localhost:8545\n\n# O si usas puerto 55556\ncast block-number --rpc-url http://localhost:55556\n```\n\n### Requisitos para Despliegue Remoto\n\n#### 6. Acceso a Servidores CodeCrypto\n- Acceso a `proyectos.codecrypto.academy` (para despliegue de aplicaciones)\n- Acceso a `besu1.proyectos.codecrypto.academy` (red blockchain Besu 1)\n- Acceso a `besu2.proyectos.codecrypto.academy` (red blockchain Besu 2)\n\n**Verificar conectividad:**\n```bash\n# Verificar acceso a servidor de proyectos\ncurl -I https://proyectos.codecrypto.academy\n\n# Verificar acceso a redes blockchain\ncurl -I https://besu1.proyectos.codecrypto.academy\ncurl -I https://besu2.proyectos.codecrypto.academy\n```\n\n### Verificación Completa\n\nEjecuta el comando `doctor` para validar todos los prerequisitos:\n\n```bash\ncodecrypto doctor\n```\n\nO con información detallada:\n\n```bash\ncodecrypto doctor --verbose\n```\n\n---\n\n## Requisitos (Resumen)\n\n**Resumen rápido:**\n- Node.js >= 16.0.0 (recomendado >= 18.0.0)\n- Docker y Docker Buildx\n- Git\n- Foundry (forge, cast, anvil)\n- Anvil corriendo (puerto 8545 o 55556)\n- Acceso a servidores CodeCrypto\n\n**Verificación rápida:**\n```bash\ncodecrypto doctor\n```\n\nPara instrucciones detalladas de instalación, consulta la sección [Prerequisitos Detallados](#-prerequisitos-detallados) arriba.\n\n---\n\n## Ayuda\n\n```bash\n# Ayuda general\ncodecrypto --help\n\n# Ayuda de comando específico\ncodecrypto deploy --help\ncodecrypto deploy-sc --help\ncodecrypto auth --help\ncodecrypto doctor --help\ncodecrypto generate-keys --help\n```\n\n---\n\n## Publicación a NPM\n\n```bash\n# 1. Build\nnpm run build\n\n# 2. Login\nnpm login\n\n# 3. Publicar\nnpm publish\n\n# 4. Actualizar versión\nnpm version patch|minor|major\nnpm publish\n```\n\n---\n\n## Licencia\n\nMIT\n","readmeFilename":"README.md"}