{"_id":"citty","_rev":"4498842","name":"citty","description":"Elegant CLI Builder","dist-tags":{"latest":"0.2.2"},"maintainers":[{"name":"pi0","email":"pooya@pi0.ir"}],"time":{"modified":"2026-04-09T01:41:00.000Z","created":"2022-04-23T08:20:56.526Z","0.2.2":"2026-04-01T18:24:39.653Z","0.2.1":"2026-02-12T13:07:38.421Z","0.2.0":"2026-01-20T11:49:43.592Z","0.1.6":"2024-02-14T13:09:33.620Z","0.1.5":"2023-11-20T15:31:45.700Z","0.1.4":"2023-09-09T12:39:56.042Z","0.1.3":"2023-08-24T17:35:28.681Z","0.1.2":"2023-07-05T23:29:30.699Z","0.1.1":"2023-04-03T10:18:47.345Z","0.1.0":"2023-03-31T15:13:26.386Z","0.0.2":"2023-03-28T18:12:08.014Z","0.0.1":"2023-03-14T13:02:54.922Z","0.0.0":"2022-04-23T08:20:56.526Z"},"users":{},"repository":{"type":"git","url":"git+https://github.com/unjs/citty.git"},"versions":{"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":{"shasum":"92d3f7d13868a730ab06c420bb10bded06cf259f","size":10298,"noattachment":false,"key":"/citty/-/citty-0.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/citty/download/citty-0.2.2.tgz"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"pi0","email":"pooya@pi0.ir"}],"_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","_cnpm_publish_time":1775067879653},"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":{"shasum":"1b150777a3357b7b92e173fff38ea0d6ad2d08da","size":7764,"noattachment":false,"key":"/citty/-/citty-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/citty/download/citty-0.2.1.tgz"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"pi0","email":"pooya@pi0.ir"}],"_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","_cnpm_publish_time":1770901658421},"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":{"shasum":"2426b145c4bf2a2c5c33bd66a634dfe3d5ea67ea","size":7645,"noattachment":false,"key":"/citty/-/citty-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/citty/download/citty-0.2.0.tgz"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"pi0","email":"pooya@pi0.ir"}],"_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","_cnpm_publish_time":1768909783592},"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":{"shasum":"0f7904da1ed4625e1a9ea7e0fa780981aab7c5e4","size":7996,"noattachment":false,"key":"/citty/-/citty-0.1.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/citty/download/citty-0.1.6.tgz"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"pi0","email":"pooya@pi0.ir"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/citty_0.1.6_1707916173440_0.04888301958143759"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-02-14T13:09:33.620Z","publish_time":1707916173620,"_source_registry_name":"default","_cnpm_publish_time":1707916173620},"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":{"shasum":"fe37ceae5dc764af75eb2fece99d2bf527ea4e50","size":7879,"noattachment":false,"key":"/citty/-/citty-0.1.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/citty/download/citty-0.1.5.tgz"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"pi0","email":"pooya@pi0.ir"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/citty_0.1.5_1700494305543_0.5645739405242196"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-11-20T15:31:45.700Z","publish_time":1700494305700,"_source_registry_name":"default","_cnpm_publish_time":1700494305700},"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":{"shasum":"91091be06ae4951dffa42fd443de7fe72245f2e0","size":7789,"noattachment":false,"key":"/citty/-/citty-0.1.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/citty/download/citty-0.1.4.tgz"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"pi0","email":"pooya@pi0.ir"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/citty_0.1.4_1694263195888_0.8611374557295901"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-09-09T12:39:56.042Z","publish_time":1694263196042,"_source_registry_name":"default","_cnpm_publish_time":1694263196042},"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":{"shasum":"ee5192e662fe55b5c258f59c5eaa614337590e17","size":7557,"noattachment":false,"key":"/citty/-/citty-0.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/citty/download/citty-0.1.3.tgz"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"pi0","email":"pooya@pi0.ir"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/citty_0.1.3_1692898528459_0.7635890447812523"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-24T17:35:28.681Z","publish_time":1692898528681,"_source_registry_name":"default","_cnpm_publish_time":1692898528681},"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":{"shasum":"bae07bfd1962439735d7698c7954f76025690603","size":7425,"noattachment":false,"key":"/citty/-/citty-0.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/citty/download/citty-0.1.2.tgz"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"pi0","email":"pooya@pi0.ir"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/citty_0.1.2_1688599770502_0.716282507553903"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-07-05T23:29:30.699Z","publish_time":1688599770699,"_source_registry_name":"default","_cnpm_publish_time":1688599770699},"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":{"shasum":"2d722479b9a95453269165184dca6b2c5d808784","size":8500,"noattachment":false,"key":"/citty/-/citty-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/citty/download/citty-0.1.1.tgz"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"pi0","email":"pooya@pi0.ir"}],"_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,"_cnpm_publish_time":1680517127345},"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":{"shasum":"b221a78f74ca8eba6470d2e831a97ab83eae3c05","size":6821,"noattachment":false,"key":"/citty/-/citty-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/citty/download/citty-0.1.0.tgz"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"pi0","email":"pooya@pi0.ir"}],"_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,"_cnpm_publish_time":1680275606386},"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":{"shasum":"279977e36f4a25dd1b6f2ce316d9d97b8218643b","size":8004,"noattachment":false,"key":"/citty/-/citty-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/citty/download/citty-0.0.2.tgz"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"pi0","email":"pooya@pi0.ir"}],"_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,"_cnpm_publish_time":1680027128014},"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":{"shasum":"ef2123751453198dea53fced72c230c575937871","size":7755,"noattachment":false,"key":"/citty/-/citty-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/citty/download/citty-0.0.1.tgz"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"pi0","email":"pooya@pi0.ir"}],"_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,"_cnpm_publish_time":1678798974922},"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":{"shasum":"0d915332f2114c9021fbb9c85a5685f7acc61a28","size":149,"noattachment":false,"key":"/citty/-/citty-0.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/citty/download/citty-0.0.0.tgz"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"directories":{},"maintainers":[{"name":"pi0","email":"pooya@pi0.ir"}],"_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","publish_time":1650702056526,"_cnpm_publish_time":1650702056526}},"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).\n","_attachments":{},"homepage":"https://github.com/unjs/citty#readme","bugs":{"url":"https://github.com/unjs/citty/issues"},"license":"MIT"}