{"versions":{"0.0.0":{"name":"citty","version":"0.0.0","license":"MIT","_id":"citty@0.0.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-0EbzV9eOkaevyWp4yyBqicg5mYOuld+pIgTwi8kkI9o62Gs7bMyddD/K8d0E/HdeRmhhiBSQP/NlLWQjeyBCWA==","shasum":"0d915332f2114c9021fbb9c85a5685f7acc61a28","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/citty/-/citty-0.0.0.tgz","fileCount":1,"unpackedSize":60,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDD/SVMCFjCuvU/igtgqSVcJ+3N1QoWHVxTq3OLBrCiaQIhAOC3vjD2CJPV2vBm6Cmim51C3d2++ShpX9XTlfy3S1G/"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiY7boACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmodOA/+OC6rw187zgDSVg8pOODft9+gSPIps8fy465i97jPG9S6yI3r\r\nFq8f9mofn9QK+3R1e+6ztbR1NZ7bZgYe5E+FV3uQHVVs0jJHJChKL0/ixuJJ\r\nkr1MLTKzISX9uJK6pjSOxx31u7KzYoqPBn0Gc2dexsqC8LrPeHa8dqei5ckQ\r\nHP9lcxJ19WxKqG0sWdm82OZBVOkhTbTVTX5d0qZJvETpSXHwQGl8aKxJ+Alg\r\nE6H99Ttt2YEweijTfHPeB7/T99VKVu2jaC4VlWHMoYC80DTfo7tINg2cpbGb\r\nKwcD/Pg+sAefn76fosfCxE63E/V2+QjFtu87zfPehzRwbnLgZsOniTSPxLDh\r\nbGPU6+V81zWchSRCUaXC2PvT7hFV1qzLgs95HxZidJ0nqjF9W+D4A4yj9/UX\r\nbFBHAIV+3+ViwLaUpfuZnGFJAkr9HPdmFWW7a3LWplL8ZER78qXonjFDXZBi\r\nXg3vgxEFJygqCVHhjvNKZ31UiOmtw9yIdsvBfwxcn2R6RK+EUg/ARcCbm85e\r\nEXvKfXfJqKKEMqY98PThfeBItpCqlQoMOHU94RyZPVGlU6nqNY3OUaUED/UA\r\nzdMt/3wH6tvJVDrAClzZsRVrQeY+KmcJM8jKhEuPQ5ASSQ2juK2EtCptrjP4\r\npAlJqhFbHlJvjzFEQiWx+ytdzsLseX5X7c0=\r\n=5svs\r\n-----END PGP SIGNATURE-----\r\n","size":149},"_npmUser":{"name":"anonymous","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"pyapar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/citty_0.0.0_1650702056388_0.44106026727022063"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-04-23T08:21:03.380Z","contributors":[]},"0.0.1":{"name":"citty","version":"0.0.1","description":"Elegant CLI Builder","repository":{"type":"git","url":"git+https://github.com/unjs/citty.git"},"license":"MIT","sideEffects":false,"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","scripts":{"build":"unbuild","dev":"vitest dev","lint":"eslint --cache --ext .ts,.js,.mjs,.cjs . && prettier -c src test","lint:fix":"eslint --cache --ext .ts,.js,.mjs,.cjs . --fix && prettier -c src test -w","prepack":"pnpm run build","play":"jiti ./playground/cli.ts","release":"pnpm test && changelogen --release --push && npm publish","test":"pnpm lint && vitest run --coverage"},"devDependencies":{"@types/node":"^18.15.3","@vitest/coverage-c8":"^0.29.2","changelogen":"^0.5.1","colorette":"^2.0.19","eslint":"^8.36.0","eslint-config-unjs":"^0.1.0","jiti":"^1.17.2","prettier":"^2.8.4","typescript":"^4.9.5","unbuild":"^1.1.2","vitest":"^0.29.2"},"packageManager":"pnpm@7.25.1","gitHead":"1f377a9e88e3099d03311ce455bb512138c98e05","bugs":{"url":"https://github.com/unjs/citty/issues"},"homepage":"https://github.com/unjs/citty#readme","_id":"citty@0.0.1","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-/rV6iJWqUUn4YOBYQzBAUE46sMvnI/evSUhDyCmjB1Jm+xDcUQ36gYq2irGgowLwm8XKMq1BEUvH7pOG7LgUwg==","shasum":"ef2123751453198dea53fced72c230c575937871","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/citty/-/citty-0.0.1.tgz","fileCount":6,"unpackedSize":38652,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHBc51F2QZFo3mN18zIjJdbe14C8GICUE7bDi8MqfXf/AiAAguV0F1CEKWDfzqigB4b1VNAruwPYaWaYSBBSFMEmxg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEHB+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoRLBAAnovpPFmqX0IbcWANx5ma0QiG0AEjXDiagOUIaO44aQ4zOC4e\r\nOIIt2di+Rri4GvUGicaKtL3ro72xy5ex/ZoeOHlv+98b3dOPHFaCmjiq6sgE\r\n5RQOXX2xaRGBZ7lusptxTWfyW1psDdJ4XeNe73pKl1blgG8k7km+pco0BX/n\r\nP0zYU7qurEZGTC9OZD2/9BSeEngOedMwwnditqg5sp5wcGpsyF6znInVuHCo\r\ncM2sMliuz+uePTUHuW/QgnUte8eswDr2MWA5bkxqKLpcEorYgGG9z67q+/Q8\r\ntTof2EVyXrwhG/f9ByCQaKdy/GNkwksxyGQ1Vbq2wukZIubCh/ASYyUzU5e9\r\nRqtwgsAvI6g7wYxdeRVGW2MoVBzQAmFFb4/ckC/6ojIvOwVBMkT2XWVSRmuF\r\nsl+M2ji4kdowAeb0LnElA05A6XdTriw8pgTESZ6Fnrq6Ws8r7z77WsPg0Nxh\r\n5+jkZLRe1gE1LYaE6HC3mvfO+NCnbSxFVycmbBQKN3UI5eQbVXmXcgM8gDzO\r\ne5B6lUt20t1pv5W+RvpL0zTnTI9VX/n2NbdO4HIjPlnBoEK9DDSx9iAMQYmM\r\nzQIT41Gjs1cdK6GIyHVwK/w7MQn99LEqe8ywJuCXbiCbu8wGnqEbm5ZLbKXs\r\nNmbMwfJ6gtOvDF4gIDWcYxn+On/QcZ38sSU=\r\n=JI1c\r\n-----END PGP SIGNATURE-----\r\n","size":7755},"_npmUser":{"name":"anonymous","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"pyapar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/citty_0.0.1_1678798974752_0.6819950686290073"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-14T13:02:54.922Z","publish_time":1678798974922,"contributors":[]},"0.0.2":{"name":"citty","version":"0.0.2","description":"Elegant CLI Builder","repository":{"type":"git","url":"git+https://github.com/unjs/citty.git"},"license":"MIT","sideEffects":false,"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","scripts":{"build":"unbuild","dev":"vitest dev","lint":"eslint --cache --ext .ts,.js,.mjs,.cjs . && prettier -c src test","lint:fix":"eslint --cache --ext .ts,.js,.mjs,.cjs . --fix && prettier -c src test -w","prepack":"pnpm run build","play":"jiti ./playground/cli.ts","release":"pnpm test && changelogen --release --push && npm publish","test":"pnpm lint && vitest run --coverage"},"dependencies":{"scule":"^1.0.0"},"devDependencies":{"@types/node":"^18.15.10","@vitest/coverage-c8":"^0.29.8","changelogen":"^0.5.2","colorette":"^2.0.19","eslint":"^8.36.0","eslint-config-unjs":"^0.1.0","jiti":"^1.18.2","prettier":"^2.8.7","typescript":"^5.0.2","unbuild":"^1.1.2","vitest":"^0.29.8"},"packageManager":"pnpm@8.0.0","gitHead":"b2e406cb6d91eb47d1a7af4fc5c59e44ff04da2b","bugs":{"url":"https://github.com/unjs/citty/issues"},"homepage":"https://github.com/unjs/citty#readme","_id":"citty@0.0.2","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-ldPzYh4szFTCOU7l4mj8WstdzjLaSoBza7Q2g5wct3IOZYohwajZ+cDrl0ZdEnWgzgpB9jBXlcVyKKZlQQCk3w==","shasum":"279977e36f4a25dd1b6f2ce316d9d97b8218643b","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/citty/-/citty-0.0.2.tgz","fileCount":6,"unpackedSize":40187,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQ30TUz2iO+UqWE5WaZ4o6tWix0ltaI4X7nqDmM15a2wIgYkL+MsN0lNgunodqhU54d/g627D3tJhe+LAERVa7d8I="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIy34ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp8pw//X4uI+wIqgOcpsZjxMo8v8gwjC5jH9avnCkSHkiYE1go3TQzJ\r\n/HNX0rFBtyqeclCE8jRT3lnwlKFZO9ySaJWPSNPM6QEYtefYAKWJMnah/0k1\r\n0/AmNRTddF9QL4oufMM0eK397mJffu+xovzh8tRafO5WEh8WeHwct/ijm8Q5\r\nvsY5CUM8XIH0NW5Kn8cDCP536SY05h/7YbZ4TOoBRPqckgkL199lPPhNLznk\r\nf6eHLpc8jfcO9OT8g1qgK3DBXttSVmrSIpPae5L+CdO5efFl2lAwoTJOoW+K\r\ng7zo23wJol9ad9LHNeSB8Hby7d4Y7J6b2F7gZ02RpgnpBGP1ffs/n7bDi09f\r\nWF/Rz0Hqu3gWhH0Pi4EhYaZjSeI5U7PnomcE6PkEZFG2f7v1HMOXHT6mPhwh\r\nT/1ZXdsP4zgjmudQfYqhAVAdRduAnQcUzsa4hg1vgvpcQnz2yLlteWhEYLnS\r\nkGhxhrYUIlt/4OtOc8Kr9nSoIWJ4Zd66gxaVRvATRAPGEARKits2o1xNl8jV\r\nWToDmPONp/ZcJUvnXLZuvKmYZc0B4I07gKd63uiZF/aSU0dxdgJ0JLwBPpYh\r\nIln4he4/ERLH0VhJXS1jogvqGzOhB0G3tRfYiSszJY+JZCD02swGWzwA08tA\r\nBg/ZKEMDImVzdw9tkvqnVOol1cIaztyATpc=\r\n=IT9/\r\n-----END PGP SIGNATURE-----\r\n","size":8004},"_npmUser":{"name":"anonymous","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"pyapar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/citty_0.0.2_1680027127806_0.4949834858385771"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-28T18:12:08.014Z","publish_time":1680027128014,"contributors":[]},"0.1.0":{"name":"citty","version":"0.1.0","description":"Elegant CLI Builder","repository":{"type":"git","url":"git+https://github.com/unjs/citty.git"},"license":"MIT","sideEffects":false,"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","scripts":{"build":"unbuild","dev":"vitest dev","lint":"eslint --cache --ext .ts,.js,.mjs,.cjs . && prettier -c src test","lint:fix":"eslint --cache --ext .ts,.js,.mjs,.cjs . --fix && prettier -c src test -w","prepack":"pnpm run build","play":"jiti ./playground/cli.ts","release":"pnpm test && changelogen --release --push && npm publish","test":"pnpm lint && vitest run --coverage"},"dependencies":{"@types/node":"^18.15.11","@vitest/coverage-c8":"^0.29.8","changelogen":"^0.5.2","colorette":"^2.0.19","eslint":"^8.37.0","eslint-config-unjs":"^0.1.0","jiti":"^1.18.2","prettier":"^2.8.7","scule":"^1.0.0","typescript":"^5.0.3","unbuild":"^1.1.2","vitest":"^0.29.8"},"packageManager":"pnpm@8.1.0","gitHead":"267d9ea7bd1c4816ab3f249700657eb3e63fa150","bugs":{"url":"https://github.com/unjs/citty/issues"},"homepage":"https://github.com/unjs/citty#readme","_id":"citty@0.1.0","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-J4n+3qfEqr0FqQ4MqY0rRsk0o6VUKEP5cz7o6fkw3DbgxO4I98KrCrmYaiC0Dtz7gRrKJm44373w3TE24oKrlA==","shasum":"b221a78f74ca8eba6470d2e831a97ab83eae3c05","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/citty/-/citty-0.1.0.tgz","fileCount":6,"unpackedSize":33223,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0e/Bz1LJ/PDt8Sd4G9+tnIPVkJfRRaTEzr/3PWlMrEAIgbecKBcNVRk5GgtoyykJzvuRmLNrXgjX8aaQDedk2wLw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJviWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq6ARAAg25x4Aa3i2J41Sao66LQzfhMHSX7+2a/pb7iaaORWC0BEYFA\r\nBs7084PB6ZCvLGqQ4eH6g2HZSC4aTxCmAPspTXKjMVM9X3bofoaook5wl544\r\nuQUIQoyrYaW4XGhVID96LshupMRdnC9Rw2/h+87wKvUKmyHO0LikgVZg13Go\r\nXiMy0YsteJUMqV3o1Pd6HxShckNEgVYkDdQ1KQxDs6XCjI66SdJJez1u8sdi\r\nEPIFq0T8ZDZZkKpDxVyRRBbyqUerUGve4JrwK99Unq6r2cKKt8i2RH5jL1cF\r\nyiv4JNkA2it/JvqWDTVB7yYXHKgqBuJ8qn/0sqjjGMxTixh8o7/5zFyLfP8U\r\npPjJsdyGSAldkUCuRB6ql8MPC2/PJMEPazRhLpQAjX3xRQAU7URz0UEK9Oym\r\nwLj4WnMD0HPkdKcDSfo/UahY7CqVqCJdzjjBlv2pkscPIf3HEf+e5/6dHvUZ\r\nKzpOK4H2ldCKD2SaVqECG8dMkP2aQry0jBWGERKFiUeQhXNNduS+X/UYSuf+\r\n6WI8mqLXiQ6ims9n/Eh4Pf80CI74KTpWlyb9XF9r0tB68Sj7q6CQoHlaeQPP\r\nvBxi0yV6Ccin3orpB+oNAZIfyNJ7XlnJiJAl3gXoPhvpGyneTeRmSFoD2cTV\r\nuNGGBPhHD/fAk5k7tD8Vh1JPxrGHtYh1oh8=\r\n=2R36\r\n-----END PGP SIGNATURE-----\r\n","size":6821},"_npmUser":{"name":"anonymous","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"pyapar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/citty_0.1.0_1680275606256_0.45543557245667343"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-31T15:13:26.386Z","publish_time":1680275606386,"contributors":[]},"0.1.1":{"name":"citty","version":"0.1.1","description":"Elegant CLI Builder","repository":{"type":"git","url":"git+https://github.com/unjs/citty.git"},"license":"MIT","sideEffects":false,"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","scripts":{"build":"unbuild","dev":"vitest dev","lint":"eslint --cache --ext .ts,.js,.mjs,.cjs . && prettier -c src test","lint:fix":"eslint --cache --ext .ts,.js,.mjs,.cjs . --fix && prettier -c src test -w","prepack":"pnpm run build","play":"jiti ./playground/cli.ts","release":"pnpm test && changelogen --release --push && npm publish","test":"pnpm lint && vitest run --coverage"},"devDependencies":{"@types/node":"^18.15.11","@vitest/coverage-c8":"^0.29.8","changelogen":"^0.5.2","colorette":"^2.0.19","eslint":"^8.37.0","eslint-config-unjs":"^0.1.0","jiti":"^1.18.2","prettier":"^2.8.7","scule":"^1.0.0","typescript":"^5.0.3","unbuild":"^1.2.0","vitest":"^0.29.8"},"packageManager":"pnpm@8.1.0","gitHead":"7f859be434bcccb6fad221d273023e4aaf32330a","bugs":{"url":"https://github.com/unjs/citty/issues"},"homepage":"https://github.com/unjs/citty#readme","_id":"citty@0.1.1","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-fL/EEp9TyXlNkgYFQYNqtMJhnAk2tAq8lCST7O5LPn1NrzWPsOKE5wafR7J+8W87oxqolpxNli+w7khq5WP7tg==","shasum":"2d722479b9a95453269165184dca6b2c5d808784","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/citty/-/citty-0.1.1.tgz","fileCount":6,"unpackedSize":44240,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4AdQeyCXsCmgs8mbGqpz0BYx6iZ0FGHqzuSQfW5RMXQIhALeDJpXw5BisWVyjhNHIfBd6kt297RFe2LQNliQl5nRS"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkKqgHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoonw/8DWIUWnht7HpalBj4Kw4ChuufzGnKigVRIAV+xhj0LZG6K1Lq\r\nOZZlKqNnVnx2i6AJ2WAn8qDiNxZROstB2CLQyf7O4q4cCVtEtyn16ps8wSMP\r\n1OFHnIFjI5xVkP4/nAR1oNrYNFMgbMmimRSbH6FyDVQ583tb9TG6jKiAJWwf\r\nQwkwpVnHCz+q8hXiBafLUp/9JsvwLVLrBEJ2kIa40mDqAKcnvkkwfqexjo81\r\nucpj3L/1wVLTWc/vR8NSs176/R3v5QoVmpLx9AueOGYJBRhodEvXjQK4dPJT\r\n7S2mDIA4FvpA6hL+Esl/CPlmQhvgYeuEI1sbVV+0uYywFS70wtV6Yfn0nNq4\r\n4W3I+AiHNqYlQnZrReYfPYwIdob/Xo+MzADlsNic+hxPH1NtDsEYpJ19ZcdA\r\nqJWdc4khwir1yxWTnOTUoNTgo82zgM9mTIy0+2VuQi5HhdzFiABa92mjL2VZ\r\nzDWPFz6UKB8vfMKFfCgcAp2LjC/1S2JWHlknD9uscSBlPbhIPe2E+XhxGYtx\r\n/ATYBw5Sh6ooqaXTumYykBKKoyglNqB+yIQaUUYgSdB8bBCaUor1o53YfmjC\r\n5YTv8OBJMWabTCSEox1K7RRsMokEYbPcUxJ/axlHIqh/9CSVGQz6aMRD2a22\r\nHshi1XYC7j8W8wF685HugGENDr03e5YuOGY=\r\n=geRt\r\n-----END PGP SIGNATURE-----\r\n","size":8500},"_npmUser":{"name":"anonymous","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"pyapar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/citty_0.1.1_1680517127148_0.933630833255243"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-04-03T10:18:47.345Z","publish_time":1680517127345,"contributors":[]},"0.1.2":{"name":"citty","version":"0.1.2","description":"Elegant CLI Builder","repository":{"type":"git","url":"git+https://github.com/unjs/citty.git"},"license":"MIT","sideEffects":false,"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","scripts":{"build":"unbuild","dev":"vitest dev","lint":"eslint --cache --ext .ts,.js,.mjs,.cjs . && prettier -c src test","lint:fix":"eslint --cache --ext .ts,.js,.mjs,.cjs . --fix && prettier -c src test -w","prepack":"pnpm run build","play":"jiti ./playground/cli.ts","release":"pnpm test && changelogen --release --push && npm publish","test":"pnpm lint && vitest run --coverage"},"dependencies":{"consola":"^3.2.3"},"devDependencies":{"@types/node":"^20.4.0","@vitest/coverage-v8":"^0.32.4","changelogen":"^0.5.4","eslint":"^8.44.0","eslint-config-unjs":"^0.2.1","jiti":"^1.19.1","prettier":"^3.0.0","scule":"^1.0.0","typescript":"^5.1.6","unbuild":"^1.2.1","vitest":"^0.32.4"},"packageManager":"pnpm@8.6.6","gitHead":"8e42eaf00d460a7ef8dcf33979b4180fa8b0e762","bugs":{"url":"https://github.com/unjs/citty/issues"},"homepage":"https://github.com/unjs/citty#readme","_id":"citty@0.1.2","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-Me9nf0/BEmMOnuQzMOVXgpzkMUNbd0Am8lTl/13p0aRGAoLGk5T5sdet/42CrIGmWdG67BgHUhcKK1my1ujUEg==","shasum":"bae07bfd1962439735d7698c7954f76025690603","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/citty/-/citty-0.1.2.tgz","fileCount":6,"unpackedSize":37152,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHDAETJAjxBPaYOuErf04Cx9CjSQRkRjaRwjgqtFTj2wAiBwWIYNjgxhznOyR9iUV77NMOZh6CJJN85koDVeCoLfPA=="}]},"_npmUser":{"name":"anonymous","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"pyapar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/citty_0.1.2_1688599770502_0.716282507553903"},"_hasShrinkwrap":false,"contributors":[]},"0.1.3":{"name":"citty","version":"0.1.3","description":"Elegant CLI Builder","repository":{"type":"git","url":"git+https://github.com/unjs/citty.git"},"license":"MIT","sideEffects":false,"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","scripts":{"build":"unbuild","dev":"vitest dev","lint":"eslint --cache --ext .ts,.js,.mjs,.cjs . && prettier -c src test","lint:fix":"eslint --cache --ext .ts,.js,.mjs,.cjs . --fix && prettier -c src test -w","prepack":"pnpm run build","play":"jiti ./playground/cli.ts","release":"pnpm test && changelogen --release --push && npm publish","test":"pnpm lint && vitest run --coverage"},"dependencies":{"consola":"^3.2.3"},"devDependencies":{"@types/node":"^20.5.4","@vitest/coverage-v8":"^0.34.2","changelogen":"^0.5.5","eslint":"^8.47.0","eslint-config-unjs":"^0.2.1","jiti":"^1.19.3","prettier":"^3.0.2","scule":"^1.0.0","typescript":"^5.2.2","unbuild":"^2.0.0","vitest":"^0.34.2"},"packageManager":"pnpm@8.6.12","gitHead":"087a0a00f501cc19e95aaea44d4f8ba92216bb40","bugs":{"url":"https://github.com/unjs/citty/issues"},"homepage":"https://github.com/unjs/citty#readme","_id":"citty@0.1.3","_nodeVersion":"18.16.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-tb6zTEb2BDSrzFedqFYFUKUuKNaxVJWCm7o02K4kADGkBDyyiz7D40rDMpguczdZyAN3aetd5fhpB01HkreNyg==","shasum":"ee5192e662fe55b5c258f59c5eaa614337590e17","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/citty/-/citty-0.1.3.tgz","fileCount":8,"unpackedSize":43364,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGdXk3k3NdJmHz7tz2940hacjnE5uAsBBbFPgVAEDPCXAiA7WCAAr67Ov8R6CceS/QO2Lf3wM/nXX8VP1rGEHfmlkA=="}]},"_npmUser":{"name":"anonymous","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"pyapar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/citty_0.1.3_1692898528459_0.7635890447812523"},"_hasShrinkwrap":false,"contributors":[]},"0.1.4":{"name":"citty","version":"0.1.4","description":"Elegant CLI Builder","repository":{"type":"git","url":"git+https://github.com/unjs/citty.git"},"license":"MIT","sideEffects":false,"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","scripts":{"build":"unbuild","dev":"vitest dev","lint":"eslint --cache --ext .ts,.js,.mjs,.cjs . && prettier -c src test","lint:fix":"eslint --cache --ext .ts,.js,.mjs,.cjs . --fix && prettier -c src test -w","prepack":"pnpm run build","play":"jiti ./playground/cli.ts","release":"pnpm test && changelogen --release --push && npm publish","test":"pnpm lint && vitest run --coverage"},"dependencies":{"consola":"^3.2.3"},"devDependencies":{"@types/node":"^20.6.0","@vitest/coverage-v8":"^0.34.4","changelogen":"^0.5.5","eslint":"^8.49.0","eslint-config-unjs":"^0.2.1","jiti":"^1.20.0","prettier":"^3.0.3","scule":"^1.0.0","typescript":"^5.2.2","unbuild":"^2.0.0","vitest":"^0.34.4"},"packageManager":"pnpm@8.7.4","gitHead":"f4c4447ab3b6dd13f422379e7619cbc5b06ce5a4","bugs":{"url":"https://github.com/unjs/citty/issues"},"homepage":"https://github.com/unjs/citty#readme","_id":"citty@0.1.4","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-Q3bK1huLxzQrvj7hImJ7Z1vKYJRPQCDnd0EjXfHMidcjecGOMuLrmuQmtWmFkuKLcMThlGh1yCKG8IEc6VeNXQ==","shasum":"91091be06ae4951dffa42fd443de7fe72245f2e0","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/citty/-/citty-0.1.4.tgz","fileCount":8,"unpackedSize":45032,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdFHE1Z2WZC4R+k/HMQntvnSOYEfVQsUSYDcRNGz9WZwIgeQ6FsCiNI6w6WvbVG+H6pjmpves8+4A3ZUVIpc+jRF4="}]},"_npmUser":{"name":"anonymous","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"pyapar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/citty_0.1.4_1694263195888_0.8611374557295901"},"_hasShrinkwrap":false,"contributors":[]},"0.1.5":{"name":"citty","version":"0.1.5","description":"Elegant CLI Builder","repository":{"type":"git","url":"git+https://github.com/unjs/citty.git"},"license":"MIT","sideEffects":false,"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","scripts":{"build":"unbuild","dev":"vitest dev","lint":"eslint --cache --ext .ts,.js,.mjs,.cjs . && prettier -c src test","lint:fix":"eslint --cache --ext .ts,.js,.mjs,.cjs . --fix && prettier -c src test -w","prepack":"pnpm run build","play":"jiti ./playground/cli.ts","release":"pnpm test && changelogen --release --push && npm publish","test":"pnpm lint && vitest run --coverage"},"dependencies":{"consola":"^3.2.3"},"devDependencies":{"@types/node":"^20.9.0","@vitest/coverage-v8":"^0.34.6","changelogen":"^0.5.5","eslint":"^8.53.0","eslint-config-unjs":"^0.2.1","jiti":"^1.21.0","prettier":"^3.1.0","scule":"^1.0.0","typescript":"^5.2.2","unbuild":"^2.0.0","vitest":"^0.34.6"},"packageManager":"pnpm@8.10.3","gitHead":"f24f3582bf6ce1cf58cd49d6c068d2987300b2b4","bugs":{"url":"https://github.com/unjs/citty/issues"},"homepage":"https://github.com/unjs/citty#readme","_id":"citty@0.1.5","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-AS7n5NSc0OQVMV9v6wt3ByujNIrne0/cTjiC2MYqhvao57VNfiuVksTSr2p17nVOhEr2KtqiAkGwHcgMC/qUuQ==","shasum":"fe37ceae5dc764af75eb2fece99d2bf527ea4e50","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/citty/-/citty-0.1.5.tgz","fileCount":8,"unpackedSize":45476,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCw69rVZxNHIMlgRdTLyjcPdT5jhiz1bHEaqnG0E6H2kQIhAIwTLz9wnWLykMYVGWKoFyLaui50Cd40qHoXZbsUFncy"}]},"_npmUser":{"name":"anonymous","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"pyapar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/citty_0.1.5_1700494305543_0.5645739405242196"},"_hasShrinkwrap":false,"contributors":[]},"0.1.6":{"name":"citty","version":"0.1.6","description":"Elegant CLI Builder","repository":{"type":"git","url":"git+https://github.com/unjs/citty.git"},"license":"MIT","sideEffects":false,"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","scripts":{"build":"unbuild","dev":"vitest dev","lint":"eslint --cache --ext .ts,.js,.mjs,.cjs . && prettier -c src test","lint:fix":"eslint --cache --ext .ts,.js,.mjs,.cjs . --fix && prettier -c src test -w","prepack":"pnpm run build","play":"jiti ./playground/cli.ts","release":"pnpm test && changelogen --release --push && npm publish","test":"pnpm lint && vitest run --coverage"},"dependencies":{"consola":"^3.2.3"},"devDependencies":{"@types/node":"^20.11.17","@vitest/coverage-v8":"^1.2.2","changelogen":"^0.5.5","eslint":"^8.56.0","eslint-config-unjs":"^0.2.1","jiti":"^1.21.0","prettier":"^3.2.5","scule":"^1.3.0","typescript":"^5.3.3","unbuild":"^2.0.0","vitest":"^1.2.2"},"packageManager":"pnpm@8.15.1","_id":"citty@0.1.6","gitHead":"57b6c5cd4b190011674d18a52a2fe0ed9ff3b2a3","bugs":{"url":"https://github.com/unjs/citty/issues"},"homepage":"https://github.com/unjs/citty#readme","_nodeVersion":"20.11.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==","shasum":"0f7904da1ed4625e1a9ea7e0fa780981aab7c5e4","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/citty/-/citty-0.1.6.tgz","fileCount":8,"unpackedSize":45534,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICxV0Ht1iGX+hf2m2+aFmDETAiyiEaQXVAOCmXSs1HLuAiEAv8oq+FTLzoSodIEYvyecLLYMFOlJx4U67MYhTkMqbnE="}]},"_npmUser":{"name":"anonymous","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"pyapar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/citty_0.1.6_1707916173440_0.04888301958143759"},"_hasShrinkwrap":false,"contributors":[]},"0.2.0":{"name":"citty","version":"0.2.0","description":"Elegant CLI Builder","repository":{"type":"git","url":"git+https://github.com/unjs/citty.git"},"license":"MIT","sideEffects":false,"type":"module","exports":{".":"./dist/index.mjs"},"types":"./dist/index.d.mts","scripts":{"build":"obuild","dev":"vitest dev","lint":"eslint --cache . && prettier -c src test","lint:fix":"eslint --cache . --fix && prettier -c src test -w","prepack":"pnpm run build","play":"node ./playground/cli.ts","release":"pnpm test && pnpm build && changelogen --release --push && npm publish","test":"pnpm lint && pnpm test:types && vitest run --coverage","test:types":"tsc --noEmit"},"devDependencies":{"@types/node":"^25.0.9","@vitest/coverage-v8":"^4.0.17","automd":"^0.4.2","changelogen":"^0.6.2","eslint":"^9.39.2","eslint-config-unjs":"^0.6.2","obuild":"^0.4.18","prettier":"^3.8.0","scule":"^1.3.0","typescript":"^5.9.3","vitest":"^4.0.17"},"packageManager":"pnpm@10.28.1","gitHead":"97d89f962f8b10ce7411e24831636873f4b93422","_id":"citty@0.2.0","bugs":{"url":"https://github.com/unjs/citty/issues"},"homepage":"https://github.com/unjs/citty#readme","_nodeVersion":"24.11.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-8csy5IBFI2ex2hTVpaHN2j+LNE199AgiI7y4dMintrr8i0lQiFn+0AWMZrWdHKIgMOer65f8IThysYhoReqjWA==","shasum":"2426b145c4bf2a2c5c33bd66a634dfe3d5ea67ea","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/citty/-/citty-0.2.0.tgz","fileCount":6,"unpackedSize":23363,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAwr0wkJeaD73QU8ubkkdYs/x2rP9Ccty0B3CLCn9KuJAiEAzaiAA51X8sBF+nKOoWF45O5fecsF6UTHmTbj/TuuKTY="}],"size":7645},"_npmUser":{"name":"anonymous","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"pyapar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/citty_0.2.0_1768909783457_0.6679400314766557"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-20T11:49:43.592Z","publish_time":1768909783592,"_source_registry_name":"default","contributors":[]},"0.2.1":{"name":"citty","version":"0.2.1","description":"Elegant CLI Builder","license":"MIT","repository":{"type":"git","url":"git+https://github.com/unjs/citty.git"},"type":"module","sideEffects":false,"types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs"},"scripts":{"build":"obuild","dev":"vitest dev","lint":"oxlint . && oxfmt --check","lint:fix":"oxlint . --fix && oxfmt","prepack":"pnpm run build","play":"node ./playground/cli.ts","release":"pnpm test && pnpm build && changelogen --release --push && npm publish","test":"pnpm lint && pnpm test:types && vitest run --coverage","test:types":"tsgo --noEmit"},"devDependencies":{"@types/node":"^25.2.3","@typescript/native-preview":"7.0.0-dev.20260212.1","@vitest/coverage-v8":"^4.0.18","automd":"^0.4.3","changelogen":"^0.6.2","eslint-config-unjs":"^0.6.2","obuild":"^0.4.27","oxfmt":"^0.32.0","oxlint":"^1.47.0","scule":"^1.3.0","typescript":"^5.9.3","vitest":"^4.0.18"},"packageManager":"pnpm@10.29.3","gitHead":"c9673e2fc100d444104a6834d51da989e9bd858b","_id":"citty@0.2.1","bugs":{"url":"https://github.com/unjs/citty/issues"},"homepage":"https://github.com/unjs/citty#readme","_nodeVersion":"24.10.0","_npmVersion":"11.6.1","dist":{"integrity":"sha512-kEV95lFBhQgtogAPlQfJJ0WGVSokvLr/UEoFPiKKOXF7pl98HfUVUD0ejsuTCld/9xH9vogSywZ5KqHzXrZpqg==","shasum":"1b150777a3357b7b92e173fff38ea0d6ad2d08da","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/citty/-/citty-0.2.1.tgz","fileCount":7,"unpackedSize":24397,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDaqelvSyNX3xpbd8BCKTmhkNDDZiV7dLjheDGrKfDX9AiAp6s5DF3GSePZ+jcLA/kBzbFKNj2J2UMWZ8J9qEgFSVg=="}],"size":7764},"_npmUser":{"name":"anonymous","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"pyapar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/citty_0.2.1_1770901658277_0.9105939832466023"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-12T13:07:38.421Z","publish_time":1770901658421,"_source_registry_name":"default","contributors":[]},"0.2.2":{"name":"citty","version":"0.2.2","description":"Elegant CLI Builder","license":"MIT","repository":{"type":"git","url":"git+https://github.com/unjs/citty.git"},"type":"module","sideEffects":false,"types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs"},"scripts":{"build":"obuild","dev":"vitest dev","lint":"oxlint . && oxfmt --check","fmt":"oxlint . --fix && oxfmt","prepack":"pnpm run build","play":"node ./playground/cli.ts","release":"pnpm test && pnpm build && changelogen --release --push && npm publish","test":"pnpm lint && pnpm test:types && vitest run --coverage","test:types":"tsgo --noEmit"},"devDependencies":{"@types/node":"^25.5.0","@typescript/native-preview":"^7.0.0-dev.20260401.1","@vitest/coverage-v8":"^4.1.2","automd":"^0.4.3","changelogen":"^0.6.2","eslint-config-unjs":"^0.6.2","obuild":"^0.4.32","oxfmt":"^0.43.0","oxlint":"^1.58.0","scule":"^1.3.0","typescript":"^6.0.2","vitest":"^4.1.2"},"packageManager":"pnpm@10.33.0","gitHead":"9cb0edcc55c133ea04d3cbb350284a9a3548946e","_id":"citty@0.2.2","bugs":{"url":"https://github.com/unjs/citty/issues"},"homepage":"https://github.com/unjs/citty#readme","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-+6vJA3L98yv+IdfKGZHBNiGW5KHn22e/JwID0Strsz8h4S/csAu/OuICwxrg44k5MRiZHWIo8XXuJgQTriRP4w==","shasum":"92d3f7d13868a730ab06c420bb10bded06cf259f","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/citty/-/citty-0.2.2.tgz","fileCount":7,"unpackedSize":34558,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDKV8nGZjbQNjcFRdZEEpxzzzhxSeWQzICeGUy/PqXIOAIhANS4loFlJF/79kKVZ7ktZQ+DBMmwkabkmH/SzfWo398h"}],"size":10298},"_npmUser":{"name":"anonymous","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"pyapar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/citty_0.2.2_1775067879437_0.6226873679214706"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-04-01T18:24:39.653Z","publish_time":1775067879653,"_source_registry_name":"default","contributors":[]}},"dist-tags":{"latest":"0.2.2"},"name":"citty","time":{"created":"2022-04-23T08:21:05.317Z","modified":"2026-04-01T18:25:12.534Z","0.0.0":"2022-04-23T08:20:56.526Z","0.0.1":"2023-03-14T13:02:54.922Z","0.0.2":"2023-03-28T18:12:08.014Z","0.1.0":"2023-03-31T15:13:26.386Z","0.1.1":"2023-04-03T10:18:47.345Z","0.1.2":"2023-07-05T23:29:30.699Z","0.1.3":"2023-08-24T17:35:28.681Z","0.1.4":"2023-09-09T12:39:56.042Z","0.1.5":"2023-11-20T15:31:45.700Z","0.1.6":"2024-02-14T13:09:33.620Z","0.2.0":"2026-01-20T11:49:43.592Z","0.2.1":"2026-02-12T13:07:38.421Z","0.2.2":"2026-04-01T18:24:39.653Z"},"readme":"# 🌆 citty\n\n<!-- automd:badges color=yellow bundlephobia -->\n\n[![npm version](https://img.shields.io/npm/v/citty?color=yellow)](https://npmjs.com/package/citty)\n[![npm downloads](https://img.shields.io/npm/dm/citty?color=yellow)](https://npmjs.com/package/citty)\n[![bundle size](https://img.shields.io/bundlephobia/minzip/citty?color=yellow)](https://bundlephobia.com/package/citty)\n\n<!-- /automd -->\n\nElegant CLI Builder\n\n- Zero dependency, fast and lightweight (based on native [`util.parseArgs`](https://nodejs.org/api/util.html#utilparseargsconfig))\n- Smart value parsing with typecast and boolean shortcuts\n- Nested sub-commands with lazy and async loading\n- Pluggable and composable API with auto generated usage\n\n## Usage\n\n```sh\nnpx nypm add -D citty\n```\n\n```js\nimport { defineCommand, runMain } from \"citty\";\n\nconst main = defineCommand({\n  meta: {\n    name: \"hello\",\n    version: \"1.0.0\",\n    description: \"My Awesome CLI App\",\n  },\n  args: {\n    name: {\n      type: \"positional\",\n      description: \"Your name\",\n      required: true,\n    },\n    friendly: {\n      type: \"boolean\",\n      description: \"Use friendly greeting\",\n    },\n  },\n  setup({ args }) {\n    console.log(`now setup ${args.command}`);\n  },\n  cleanup({ args }) {\n    console.log(`now cleanup ${args.command}`);\n  },\n  run({ args }) {\n    console.log(`${args.friendly ? \"Hi\" : \"Greetings\"} ${args.name}!`);\n  },\n});\n\nrunMain(main);\n```\n\n```sh\nnode index.mjs john\n# Greetings john!\n```\n\n### Sub Commands\n\nSub commands can be nested recursively. Use lazy imports for large CLIs to avoid loading all commands at once.\n\n```js\nimport { defineCommand, runMain } from \"citty\";\n\nconst sub = defineCommand({\n  meta: { name: \"sub\", description: \"Sub command\" },\n  args: {\n    name: { type: \"positional\", description: \"Your name\", required: true },\n  },\n  run({ args }) {\n    console.log(`Hello ${args.name}!`);\n  },\n});\n\nconst main = defineCommand({\n  meta: { name: \"hello\", version: \"1.0.0\", description: \"My Awesome CLI App\" },\n  subCommands: { sub },\n});\n\nrunMain(main);\n```\n\nSubcommands support `meta.alias` (e.g., `[\"i\", \"add\"]`) and `meta.hidden: true` to hide from help output.\n\n### Lazy Commands\n\nFor large CLIs, lazy load sub commands so only the executed command is imported:\n\n```js\nconst main = defineCommand({\n  meta: { name: \"hello\", version: \"1.0.0\", description: \"My Awesome CLI App\" },\n  subCommands: {\n    sub: () => import(\"./sub.mjs\").then((m) => m.default),\n  },\n});\n```\n\n`meta`, `args`, and `subCommands` all accept `Resolvable<T>` values — a value, Promise, function, or async function — enabling lazy and dynamic resolution.\n\n### Hooks\n\nCommands support `setup` and `cleanup` functions called before and after `run()`. Only the executed command's hooks run. `cleanup` always runs, even if `run()` throws.\n\n```js\nconst main = defineCommand({\n  meta: { name: \"hello\", version: \"1.0.0\", description: \"My Awesome CLI App\" },\n  setup() {\n    console.log(\"Setting up...\");\n  },\n  cleanup() {\n    console.log(\"Cleaning up...\");\n  },\n  run() {\n    console.log(\"Hello World!\");\n  },\n});\n```\n\n### Plugins\n\nPlugins extend commands with reusable `setup` and `cleanup` hooks:\n\n```js\nimport { defineCommand, defineCittyPlugin, runMain } from \"citty\";\n\nconst logger = defineCittyPlugin({\n  name: \"logger\",\n  setup({ args }) {\n    console.log(\"Logger setup, args:\", args);\n  },\n  cleanup() {\n    console.log(\"Logger cleanup\");\n  },\n});\n\nconst main = defineCommand({\n  meta: { name: \"hello\", description: \"My CLI App\" },\n  plugins: [logger],\n  run() {\n    console.log(\"Hello!\");\n  },\n});\n\nrunMain(main);\n```\n\nPlugin `setup` hooks run before the command's `setup` (in order), `cleanup` hooks run after (in reverse). Plugins can be async or factory functions.\n\n## Arguments\n\n### Argument Types\n\n| Type         | Description                              | Example                     |\n| ------------ | ---------------------------------------- | --------------------------- |\n| `positional` | Unnamed positional args                  | `cli <name>`                |\n| `string`     | Named string options                     | `--name value`              |\n| `boolean`    | Boolean flags, supports `--no-` negation | `--verbose`                 |\n| `enum`       | Constrained to `options` array           | `--level=info\\|warn\\|error` |\n\n### Common Options\n\n| Option        | Description                                                   |\n| ------------- | ------------------------------------------------------------- |\n| `description` | Help text shown in usage output                               |\n| `required`    | Whether the argument is required                              |\n| `default`     | Default value when not provided                               |\n| `alias`       | Short aliases (e.g., `[\"f\"]`). Not for `positional`           |\n| `valueHint`   | Display hint in help (e.g., `\"host\"` renders `--name=<host>`) |\n\n### Example\n\n```js\nconst main = defineCommand({\n  args: {\n    name: { type: \"positional\", description: \"Your name\", required: true },\n    friendly: { type: \"boolean\", description: \"Use friendly greeting\", alias: [\"f\"] },\n    greeting: { type: \"string\", description: \"Custom greeting\", default: \"Hello\" },\n    level: {\n      type: \"enum\",\n      description: \"Log level\",\n      options: [\"debug\", \"info\", \"warn\", \"error\"],\n      default: \"info\",\n    },\n  },\n  run({ args }) {\n    console.log(`${args.greeting} ${args.name}! (level: ${args.level})`);\n  },\n});\n```\n\n### Boolean Negation\n\nBoolean args support `--no-` prefix. The negative variant appears in help when `default: true` or `negativeDescription` is set.\n\n### Case-Agnostic Access\n\nKebab-case args can be accessed as camelCase: `args[\"output-dir\"]` and `args.outputDir` both work.\n\n## Built-in Flags\n\n`--help` / `-h` and `--version` / `-v` are handled automatically. Disabled if your command defines args with the same names or aliases.\n\n## API\n\n| Function                      | Description                                                                |\n| ----------------------------- | -------------------------------------------------------------------------- |\n| `defineCommand(def)`          | Type helper for defining commands                                          |\n| `runMain(cmd, opts?)`         | Run a command with usage support and graceful error handling               |\n| `createMain(cmd)`             | Create a wrapper that calls `runMain` when invoked                         |\n| `runCommand(cmd, opts)`       | Parse args and run command/sub-commands; access `result` from return value |\n| `parseArgs(rawArgs, argsDef)` | Parse input arguments and apply defaults                                   |\n| `renderUsage(cmd, parent?)`   | Render command usage to a string                                           |\n| `showUsage(cmd, parent?)`     | Render usage and print to console                                          |\n| `defineCittyPlugin(def)`      | Type helper for defining plugins                                           |\n\n## Development\n\n- Clone this repository\n- Install latest LTS version of [Node.js](https://nodejs.org/en/)\n- Enable [Corepack](https://github.com/nodejs/corepack) using `corepack enable`\n- Install dependencies using `pnpm install`\n- Run interactive tests using `pnpm dev`\n\n## License\n\nMade with 💛 Published under [MIT License](./LICENSE).","users":{}}