{"_id":"@alwaysai/alwayscli","_rev":"52-0d6a207cd61f65c9972ec99e917a3a0f","name":"@alwaysai/alwayscli","dist-tags":{"latest":"0.3.3"},"versions":{"0.0.0-12":{"name":"@alwaysai/alwayscli","version":"0.0.0-12","keywords":["typescript","nodejs","cli","command","line","interface"],"author":{"name":"alwaysAI, Inc.","email":"contact@alwaysai.co"},"license":"MIT","_id":"@alwaysai/alwayscli@0.0.0-12","maintainers":[{"name":"carnesen","email":"chris.arnesen@gmail.com"}],"homepage":"https://github.com/alwaysai/alwayscli#readme","bugs":{"url":"https://github.com/alwaysai/alwayscli/issues"},"dist":{"shasum":"bf9825e443109c6f8e24d67c369292949f863e96","tarball":"https://registry.npmjs.org/@alwaysai/alwayscli/-/alwayscli-0.0.0-12.tgz","fileCount":255,"integrity":"sha512-rhtuUHOUu60DZxBZGr9nsiHTtSHxvnHDQMV9BJwB3eihnvI4ydJg654zDVuf0jiRsQsLTto4JIdbFm0ZCSC1Hw==","signatures":[{"sig":"MEQCIEPi/QBpGNZ1VH43n6Tf1WxVCfZEL7LuH0TYoO/yszN1AiBGH8CXVTLRzShnCy3bXnM5sLryRZwxk1bY9l5FqCrULA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":177327,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcy1EXCRA9TVsSAnZWagAA7XUQAIn/uCPyu5oY+dSgDKIq\nek9y1YkwhSgXqaTaL0JG29tZLLxkHFmeA2wKh8Kh9u32fICaBWjh1uZ7tWZL\nWS2jx+/84TrMMn44F19JfmcwqmiizORj9dDh/84a416pvyFdLEfQCh35qyaa\nbPNtzn/aqTCVh9SkyuHR27HOzAy81ARqJG4e71sQgEICrbBjVCE2cpWH+Swh\nMjR7OUDWuSPxOBB+11EUG0ci6fQ7DbKoKLweRyluTkYURMFcpsrO8FYXzOBN\n57YCqOqDrxJz2hymRMLBoMdhFaJg8mnu0dpsylWD/UmAvrfInhFYCu3QYPPr\ncmT7of/AUpq40A4VRZ3HcMgDSYxi/tSuckJf24IowBp6pblrJru3WeV+9erV\nwrC9wHKJpVUOONhgomKdNKGcEK1ot8CcENfE5u5uT6/8lodn1P4gfdBOAB1E\nOWJx6EaXaIPuCTfn5kckISlJgju8GO48qk/c+uZDOyCBTJg28UKoTxCWeCM7\neFCOSNO9mVVMf8Vqhka086Va2moIfQDPDpHYstYOrMMM8eStc70NFGb9h6Hw\nsFu9FkoWrpnjgq4pE4R+031xzCSD0ioIPbinkSKsMQlu5hNOjcvzYj5w7lOt\nrPu4zIVxFKbyyqRRfCKbGJx97Yehir/TwfXU8XSzwHfS9YJN/0yRXz+2339h\njz80\r\n=V3CI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=8.0.0"},"gitHead":"d7984f201914acdf2a94ac826d786ce90ddbbbeb","scripts":{"lint":"tslint --project tsconfig.build.json","test":"npm run lint && npm run test:unit && npm run build && npm run examples -- echo ok","build":"tsc --project tsconfig.build.json","examples":"ts-node src/examples/index.ts","lint:fix":"npm run lint -- --fix","test:unit":"jest --coverage src","preversion":"npm test && npm run build:clean","test:watch":"npm run test:unit -- --watch","build:clean":"rimraf lib && npm run build","build:watch":"tsc --project . --watch","postversion":"npm publish"},"_npmUser":{"name":"carnesen","email":"chris.arnesen@gmail.com"},"repository":{"url":"git+https://github.com/alwaysai/alwayscli.git","type":"git"},"_npmVersion":"6.4.1","description":"A library for building command-line interfaces","directories":{},"_nodeVersion":"10.15.3","dependencies":{"chalk":"2.4.2","redent":"3.0.0","parse-json":"4.0.0","read-pkg-up":"5.0.0","@types/parse-json":"4.0.0","@types/read-pkg-up":"3.0.1","@carnesen/run-and-exit":"0.2.0","@carnesen/run-and-catch":"0.0.0-0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.7.1","rimraf":"2.6.3","tslint":"5.16.0","ts-jest":"24.0.2","ts-node":"8.1.0","typescript":"3.4.5","@types/jest":"24.0.11","@types/node":"11.13.8","@alwaysai/tsconfig":"0.0.0","@carnesen/coded-error":"0.1.0","@alwaysai/tslint-config":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/alwayscli_0.0.0-12_1556828439208_0.06215620832115154","host":"s3://npm-registry-packages"}},"0.0.0":{"name":"@alwaysai/alwayscli","version":"0.0.0","keywords":["typescript","nodejs","cli","command","line","interface"],"author":{"name":"alwaysAI, Inc.","email":"contact@alwaysai.co"},"license":"MIT","_id":"@alwaysai/alwayscli@0.0.0","maintainers":[{"name":"carnesen","email":"chris.arnesen@gmail.com"},{"name":"ryanmalone","email":"ryan.malone39@gmail.com"}],"homepage":"https://github.com/alwaysai/alwayscli#readme","bugs":{"url":"https://github.com/alwaysai/alwayscli/issues"},"dist":{"shasum":"b7b6f54c7d6ec7c523a8c7990fb65763e41f3997","tarball":"https://registry.npmjs.org/@alwaysai/alwayscli/-/alwayscli-0.0.0.tgz","fileCount":265,"integrity":"sha512-DKrn4PbiFjnE5j6SE6pOZTRbFnC/JJ9/jdo/LpRHnobxtAJcdHsnLDzlDJ4f2iP6GWvzPU6GWZW4xdKhTfoYTw==","signatures":[{"sig":"MEQCIC9zKHcgmY8gbmsPlCsb/hhWhvHB1GB0MOjJBD5RusvFAiBo6Dc5vSbu3j6MqS3cZgn7tZoqwUCHiPMQPGjiiyk2zg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":181447,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVZNoCRA9TVsSAnZWagAA+aUP/2ygkQA0pvduymTV74m7\nUzoYyqlSx9mg9ZYPwplphgFNHTPfbEZvmYMlXs7YPTyNpg03xOoRX1Ajstpr\nLSml1jKJKhOJfHQb0EwaNuP/e6iSUUlP2nQjZsVAvXDYZj/XLRG2p9nQsyrm\nJ3VPWLcMP7DGejikSWGoe6qmciSiBedIhI2nlv5TaUZ38d2InGYbNt1brGoW\n9LtF3fTXf8yw6N1A78GjNxOFTS7evRpokKYxeIL/h+50AEYbTaVg2p1uX7Fk\n0SSMpB/pM8fzaaHUgf+QDgf/cPw6MXA/6T5Gp5f0m5osuHefTkbSjZja8tY4\n9xSv7zfoZcNYoi6A8Z892rOXKOPFXYX9cZiqKtnTqiFPcUL3MEpc+VxMFF5K\nwZnlvLIjcEsOzmC3ciMYkEPk/tpfIs1qUZeq5+0P69CrWT5+omdAua5xQ/+I\nKdnq758SnqO90djMV8ZZqbTLLs2fhquTldlZVMdKTLDwr7rAm6tzJYsmRmfS\ns+rgT2cUaqhU4EvNux1ifpV51BzeWwF0N968l3ysRWLzYrJlgFA74rTqqf6i\n/fvViyoYjgNV1WeCwmTHidkjEK+BD/AVxItO2LuPpfaqi/BPK5ZxvVo8Hp5t\nQ9ejgY4zoJLQuZK1SIGac4vyrQUw6+mox/rvfnoeKwfWWVWwDK9EXkul1MeJ\nHqYJ\r\n=S8/a\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=8.0.0"},"gitHead":"c36f9e66c29b189a4621a78dc39db5ecf3ba0d2a","scripts":{"lint":"tslint --project tsconfig.build.json","test":"npm run lint && npm run test:unit && npm run build && npm run examples -- echo ok","build":"tsc --project tsconfig.build.json","examples":"ts-node src/examples/index.ts","lint:fix":"npm run lint -- --fix","test:unit":"jest --coverage src","preversion":"npm test && npm run build:clean","test:watch":"npm run test:unit -- --watch","build:clean":"rimraf lib && npm run build","build:watch":"tsc --project . --watch","postversion":"npm publish"},"_npmUser":{"name":"carnesen","email":"chris.arnesen@gmail.com"},"repository":{"url":"git+https://github.com/alwaysai/alwayscli.git","type":"git"},"_npmVersion":"6.10.0","description":"A library for building command-line interfaces","directories":{},"_nodeVersion":"12.7.0","dependencies":{"chalk":"2.4.2","redent":"3.0.0","parse-json":"5.0.0","read-pkg-up":"6.0.0","@types/parse-json":"4.0.0","@carnesen/run-and-exit":"0.2.0","@carnesen/run-and-catch":"0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.8.0","rimraf":"3.0.0","tslint":"5.18.0","ts-jest":"24.0.2","ts-node":"8.3.0","typescript":"3.5.3","@types/jest":"24.0.17","@types/node":"12.7.2","@alwaysai/tsconfig":"0.0.0","@carnesen/coded-error":"0.1.0","@alwaysai/tslint-config":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/alwayscli_0.0.0_1565889383410_0.09469944630969573","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"@alwaysai/alwayscli","version":"0.1.0","keywords":["typescript","nodejs","cli","command","line","interface"],"author":{"name":"alwaysAI, Inc.","email":"contact@alwaysai.co"},"license":"MIT","_id":"@alwaysai/alwayscli@0.1.0","maintainers":[{"name":"carnesen","email":"chris.arnesen@gmail.com"},{"name":"jalakoo","email":"jalakoo@gmail.com"},{"name":"ryanmalone","email":"ryan.malone39@gmail.com"}],"homepage":"https://github.com/alwaysai/alwayscli#readme","bugs":{"url":"https://github.com/alwaysai/alwayscli/issues"},"dist":{"shasum":"4a56bd7ae021a1e287e9d1fcd5aed8b7487087ac","tarball":"https://registry.npmjs.org/@alwaysai/alwayscli/-/alwayscli-0.1.0.tgz","fileCount":270,"integrity":"sha512-w3qX514Ge8Czd5mzPt7oc5UBZYAbg/rVOPh6S3PhuXrrc17rMxiYfqP3Bug6jy/mEgLWHME/AKz73sBKMekeYw==","signatures":[{"sig":"MEQCIFtb7KeOSN7yIPQA4/mZTYo/AxQRc52rW52jsHnVKagQAiAItMZeK3n58KoAK7WAdohZPUEvg2+rZI3yp8PWeJZ5qw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":184503,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdk68kCRA9TVsSAnZWagAAXYoP/As7LnOyB30DQyrG2h8o\nzRwxSbVqig+fDw4bgP7LDa6dD8L9Qg8uWe/01OlkNvMHF/tKyXcxQgSbLGEt\nSMqPOzbFubtBN35rXSk9YsWsTdAFgwuWjAPjvhDZDapViF5FODOFs/2SYEeP\n8357ATJsPvaad8zMw13ScZeqZv17SOiurgcEhzDTQDHZ+zT6rqHDkEFeon5V\nzpeBIbLPAe4w1QCa9uZ2JIuiKXKdbcd6IIzUS1ge9h6lVNEb3JTV5CAz3I80\n8XSi6weSgAqcGN3m133yhTJbDZZzYDnWRpYXYBtezjGy2CMy/MC1GIfh/EQ7\nbOToWP4MF68tjEtdjPIMRLHGttlLQA+b8kVIOqZFMAhiwHWp7eAmCDOU/mco\nmTsC7j+Jp7cbe0Erm/1FlyEMiGIFG/8k6c65VdB4aTP1LGztSkpDeuNPV9BQ\nhcXZySt8POAOL7hF6ojG6TBKkzACV8HvqB8OZ0tyCAOnZnCP4ijOW3Rf5kXe\nHCAFglT9aJR74k1EDnA38xQzMYeJ1RSNIDtAod7cYdAo14yI0AxJ6pXHTW98\nyJK9bGcJQUDJzMMgWtRtTiJijctvyESTewywzqEYaoMInh3hrdWCtr5uGj3y\nJTLDFgmi2w4f9VPO4jDwIUP0r+3rjK21s7tmtdpMha0z2xKvblSrfb1svHcB\nX7Op\r\n=BG7q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=8.0.0"},"gitHead":"4fd2986eeed1c465ccafc4d5c58791201a51e423","scripts":{"lint":"tslint --project tsconfig.build.json","test":"npm run lint && npm run test:unit && npm run build && npm run examples -- echo ok","build":"tsc --project tsconfig.build.json","examples":"ts-node src/examples/index.ts","lint:fix":"npm run lint -- --fix","test:unit":"jest --coverage src","preversion":"npm test && npm run build:clean","test:watch":"npm run test:unit -- --watch","build:clean":"rimraf lib && npm run build","build:watch":"tsc --project . --watch","postversion":"npm publish"},"_npmUser":{"name":"carnesen","email":"chris.arnesen@gmail.com"},"repository":{"url":"git+https://github.com/alwaysai/alwayscli.git","type":"git"},"_npmVersion":"6.10.0","description":"A library for building command-line interfaces","directories":{},"_nodeVersion":"12.7.0","dependencies":{"chalk":"2.4.2","redent":"3.0.0","parse-json":"5.0.0","read-pkg-up":"7.0.0","@types/parse-json":"4.0.0","@carnesen/run-and-exit":"0.2.0","@carnesen/run-and-catch":"0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","rimraf":"3.0.0","tslint":"5.20.0","ts-jest":"24.1.0","ts-node":"8.4.1","typescript":"3.6.3","@types/jest":"24.0.18","@types/node":"12.7.8","@alwaysai/tsconfig":"0.0.0","@carnesen/coded-error":"0.1.0","@alwaysai/tslint-config":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/alwayscli_0.1.0_1569959715792_0.8900277682181958","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@alwaysai/alwayscli","version":"0.2.0","keywords":["typescript","nodejs","cli","command","line","interface"],"author":{"name":"alwaysAI, Inc.","email":"contact@alwaysai.co"},"license":"MIT","_id":"@alwaysai/alwayscli@0.2.0","maintainers":[{"name":"carnesen","email":"chris.arnesen@gmail.com"},{"name":"jalakoo","email":"jalakoo@gmail.com"},{"name":"ryanmalone","email":"ryan.malone39@gmail.com"}],"homepage":"https://github.com/alwaysai/alwayscli#readme","bugs":{"url":"https://github.com/alwaysai/alwayscli/issues"},"dist":{"shasum":"e5ad4526067193ca7b062bcd50380373a6ab567e","tarball":"https://registry.npmjs.org/@alwaysai/alwayscli/-/alwayscli-0.2.0.tgz","fileCount":270,"integrity":"sha512-eqgd6Ka2tGXT1NisxuG97Czl5YGfOgKJm89DQE+/cv1YDMxb/OEmbp2sz55X8DBE0rGg7i1nYnGnN/7OKiyKvw==","signatures":[{"sig":"MEQCIHO9VzKZfoFBDdCDjHlB2bvm0XEMMOIk0VqcDhztpDtvAiA5Xcz3LCny8Y5OoGcnNfAvDzT83/yhyrI3Zx45DajEzA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":197915,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlS8aCRA9TVsSAnZWagAAP5IQAJE1oYAkrd1YPKZ7qD4i\n6j5vWTDDg3sfOd/2rY9ufFYv1yFww/GtZoV1Ajh2WNT8lC0hbkjU+CgtWGhd\nemFylm1XkMcwuTbypj13FilfH/2CpYmMem299aMWYAH/4NWqG+S8XvBDvQPZ\noHn8mXaBu1r2wG+0YheZY1PYDRxcYtZ5tdbxn86bgfmFYH77h88j5LdrIsxa\n5bek6oQXtbuMt3BK1nN8oK12RMrYDDZ4TV2imF+CVgPVphp3zWoHXx0QgAhe\nqLsbsRptIH+vkouLsokAyETapiEJLlYbcwjmg/wlTAcZ8AaryXKjMrNg8j93\nAz39yN6EfUHM5SklQkHMBiXFYcexnkyUerM1mtDubhouIRdfJUlV3iEfdi7O\nXtefj3wqPo2WzNldyIqZA5qXpk1FzX/0mCkBs2mDNAbLUb0vh/NIzMszNgJ8\nebXIlh0tDETK0Y8ZLcpLVRFjSCnctxEgQewB0SYPOHEfMGFXpAui2tBgypW6\n6DujdbrhkepQoq4AGJ4yxdNJ5pD3KrS9RhCsEpSF7VIjJ2gsx9C2J3u95sN6\n3jZAp01JUSLNW51jpwIV1lTaIRvacdoQ6NaWfDUmbTqdnj6i2FAQDYMYt8Eg\nh81wIFzRSqjTDjOo7KHcxSYYlIGYN+VL34Q/OdqcdQarc+FiLo1mjZdQDTlA\ndeD3\r\n=uF5k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=8.0.0"},"gitHead":"7596b4c293260b5ceefeffe322f6cb18ef271521","scripts":{"lint":"tslint --project tsconfig.build.json","test":"npm run lint && npm run test:unit && npm run build && npm run examples -- echo ok","build":"tsc --project tsconfig.build.json","examples":"ts-node src/examples/index.ts","lint:fix":"npm run lint -- --fix","test:unit":"jest --coverage src","preversion":"npm test && npm run build:clean","test:watch":"npm run test:unit -- --watch","build:clean":"rimraf lib && npm run build","build:watch":"tsc --project . --watch","postversion":"npm publish"},"_npmUser":{"name":"carnesen","email":"chris.arnesen@gmail.com"},"repository":{"url":"git+https://github.com/alwaysai/alwayscli.git","type":"git"},"_npmVersion":"6.10.0","description":"A library for building command-line interfaces","directories":{},"_nodeVersion":"12.7.0","dependencies":{"chalk":"2.4.2","redent":"3.0.0","parse-json":"5.0.0","read-pkg-up":"7.0.0","@types/parse-json":"4.0.0","@carnesen/run-and-exit":"0.2.0","@carnesen/run-and-catch":"0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","rimraf":"3.0.0","tslint":"5.20.0","ts-jest":"24.1.0","ts-node":"8.4.1","typescript":"3.6.3","@types/jest":"24.0.18","@types/node":"12.7.9","@alwaysai/tsconfig":"0.0.0","@carnesen/coded-error":"0.1.0","@alwaysai/tslint-config":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/alwayscli_0.2.0_1570058009337_0.7644361756668696","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"@alwaysai/alwayscli","version":"0.3.0","keywords":["typescript","nodejs","cli","command","line","interface"],"author":{"name":"alwaysAI, Inc.","email":"contact@alwaysai.co"},"license":"MIT","_id":"@alwaysai/alwayscli@0.3.0","maintainers":[{"name":"carnesen","email":"chris.arnesen@gmail.com"},{"name":"jalakoo","email":"jalakoo@gmail.com"},{"name":"ryanmalone","email":"ryan.malone39@gmail.com"}],"homepage":"https://github.com/alwaysai/alwayscli#readme","bugs":{"url":"https://github.com/alwaysai/alwayscli/issues"},"dist":{"shasum":"0308fa8d886db8727a601b26a30794934fd2d86a","tarball":"https://registry.npmjs.org/@alwaysai/alwayscli/-/alwayscli-0.3.0.tgz","fileCount":324,"integrity":"sha512-xFIYRcf7oSQBc2DblLDEILCxhqRZ6lDt7W4AhvGq8p8hkbk6gDTbt42HKGMmyGOL0da0rDYV6j1M1nyna44EOw==","signatures":[{"sig":"MEUCIQCUrOBO0f8mYbgyA8/MxLg2gRvGAcyyMTTTm9olj297kAIgdSWg4BkzErpQTiRG4MeTxUt4OFgf+XWHRsHa9/ZrNo4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":259747,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdn7MiCRA9TVsSAnZWagAAaqcP+wWppBb0C5nN9vAlqO1u\nnDFS+U0Mbb/mz2wNaCdKprXC8Ut3NOZzfTdQyK8+pF0JjlzLzGa5ViZQTyKa\nRtffapkBCpiaImV3cF6FTEC4qSGnkiHhBySi2kN1Fcr0B0y6DGKAn9wwfpwS\nvxw+TpSkIKj31+cPAAUq91z2FCfvpaeOTya3bCgEgA6nS9edL7Ayeq+bH2Su\nVavsPMydSGuonD8P3g6dJzx89gPxbmfO5Qbjyf1HxJYXjzcfNdB0jjT9H9JV\nVDNzCYlsHJM3WmgmFOrjhEhpR0wm1rnxW8Vl59lTr/Gxbaf+xP9M/VUTQKYI\neAzyuTrJOsbSLngiQKjMM7y0SW8FTZ/Lqv9tpRNPt3frIbjPxnrkpfv6qDcq\n2ZofuQOPzaMapHC0/xhTiCNt0GFXyl93sgLxbe0Z2tGH0m+gCOZwyq7L8/RA\n+G1ybR9r2DBx2L/esvnP11kJ5bZOq88jIjBMDQhp3nxt3pHqlpYVFiGbB4tn\nO8hb7KuQ46rk2fhAUXUPGntk9ZpQ+/ICx+ts6hwfwBTd2FhjbtMayDqD5r7J\nLC2zNU6+UERhfwoEDVNvFtRmJbrExg8AFk+TenosliDu3OeFJUMGr3MAS8Vw\nTt5yVcU3JUQV6RlT9YoVvJC4O1/1sjtDaiYxruTP9WQoT8WlVRDCG9ZVQa3O\nCosW\r\n=TeiY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=8.0.0"},"gitHead":"d9310fda1e155ba336cffa247f4f34d9d93b4128","scripts":{"lint":"tslint --project tsconfig.build.json","test":"npm run lint && npm run test:unit && npm run build && npm run examples -- echo ok","build":"tsc --project tsconfig.build.json","examples":"ts-node src/examples/index.ts","lint:fix":"npm run lint -- --fix","test:unit":"jest --coverage src","preversion":"npm test && npm run build:clean","test:watch":"npm run test:unit -- --watch","build:clean":"rimraf lib && npm run build","build:watch":"tsc --project . --watch","postversion":"npm publish"},"_npmUser":{"name":"carnesen","email":"chris.arnesen@gmail.com"},"repository":{"url":"git+https://github.com/alwaysai/alwayscli.git","type":"git"},"_npmVersion":"6.10.0","description":"A library for building command-line interfaces","directories":{},"_nodeVersion":"12.7.0","dependencies":{"chalk":"2.4.2","redent":"3.0.0","parse-json":"5.0.0","read-pkg-up":"7.0.0","@types/parse-json":"4.0.0","@carnesen/run-and-exit":"0.2.0","@carnesen/run-and-catch":"0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","rimraf":"3.0.0","tslint":"5.20.0","ts-jest":"24.1.0","ts-node":"8.4.1","typescript":"3.6.3","@types/jest":"24.0.18","@types/node":"12.7.9","@alwaysai/tsconfig":"0.0.0","@carnesen/coded-error":"0.1.0","@alwaysai/tslint-config":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/alwayscli_0.3.0_1570747170294_0.6137609782582683","host":"s3://npm-registry-packages"}},"0.3.1":{"name":"@alwaysai/alwayscli","version":"0.3.1","keywords":["typescript","nodejs","cli","command","line","interface"],"author":{"name":"alwaysAI, Inc.","email":"contact@alwaysai.co"},"license":"MIT","_id":"@alwaysai/alwayscli@0.3.1","maintainers":[{"name":"megulo2525","email":"megulo.abebe@alwaysai.co"},{"name":"tragicjeremy","email":"jeremy@tragic.media"},{"name":"mitchrosenlof","email":"mitchell.rosenlof@alwaysai.co"},{"name":"carloslazo","email":"carlos.lazo@alwaysai.co"},{"name":"thedaltonv","email":"dalton.varney@alwaysai.co"},{"name":"ericvanbuhler","email":"eric.vanbuhler@gmail.com"},{"name":"socalrunner","email":"justin.rich@alwaysai.co"}],"homepage":"https://github.com/alwaysai/alwayscli#readme","bugs":{"url":"https://github.com/alwaysai/alwayscli/issues"},"dist":{"shasum":"e0fd914c3c3103b72b2c843606c547c1958bd1fc","tarball":"https://registry.npmjs.org/@alwaysai/alwayscli/-/alwayscli-0.3.1.tgz","fileCount":324,"integrity":"sha512-c7Y5oew2xS5E9uvm4SESM8DHPyqY9cR8gtid8S46Y4nVvKOUy8FJhSMosJ2lUM6ki1cCVuTxWhKiwXXbPUnBSQ==","signatures":[{"sig":"MEYCIQDRdYVyz3m0vd02bDJX178FukkrQ7Fzg5bVFhRMwGS1LAIhALgrDJJxV//BS3WTPQRwdENl+9DcjNeT2AvEq/j+xHxC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":265588,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiba53ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoDuw/+J78SkA13CciORfHXxCt/c7WKA0lBw8g6rMDExtnxwu/OqXVr\r\nF64kkrXF8v41TWSnZ21GsbR0l3bBq5DF8rXQGaBuaC112hJdn77E/cCBb6wN\r\nYcebggjx3SliZe70yx9oagM4yI/PTKAejxIKtDBH6/5vbdTqMR/mbHIJSWv+\r\nls6G9zhzT3B9KQSkrVuJ4yIrobkTLKbINEQG16/OvQcHGocGN1//PPtxsIjk\r\nFaPM+Az7uxHZzZ9eZJdGCkgxMmsaDOtZehlI8lFAMG+29AY4We5vFREOuNho\r\nlRKWAx4vLEBvQ9iHnIcnY8c1Dd/Kk41b0vM40Rik8CB7cxEgEzo+yatEhFnH\r\nr61arJqE+nz7QLIbQysoZaE7uMQ4SYTVUd6Htw7hYt8r30+IOdHBL46D97vd\r\naWDCD8tG1Etv3W5IuOhieVtXhDwg7rKAwkYJ9C/B1ktoFFfGfCKBlnaIvIGE\r\nF35sBdDfNXiZ/631wj5G6/6aiqAwjSRzEhlmJlDKDlzZ1fCN0So6Z107eYA6\r\nyMr+3NBZmtwrPd4pzIQ5+FL0zpPzaEq+pAxrpu0P9BQUFD1OAmcivSFTXd7z\r\neehTR09vv2oputE6FPTRPrM9qt3B7Hv5T8MsN9QnZWZhsaFyXYnA+rONtj7b\r\nIl3unsEkCud7/BtSU1TRtpSvO4LXRfCSiP8=\r\n=W4au\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"b567ab985865254a363cdee4884532a8fd730ffb","scripts":{"lint":"tslint --project tsconfig.build.json","test":"npm run lint && npm run test:unit && npm run build && npm run examples -- echo ok","build":"tsc --project tsconfig.build.json","examples":"ts-node src/examples/index.ts","lint:fix":"npm run lint -- --fix","test:unit":"jest --coverage src","preversion":"npm test && npm run build:clean","test:watch":"npm run test:unit -- --watch","build:clean":"rimraf lib && npm run build","build:watch":"tsc --project . --watch","postversion":"npm publish"},"_npmUser":{"name":"ericvanbuhler","email":"eric.vanbuhler@gmail.com"},"repository":{"url":"git+https://github.com/alwaysai/alwayscli.git","type":"git"},"_npmVersion":"8.7.0","description":"A library for building command-line interfaces","directories":{},"_nodeVersion":"16.14.2","dependencies":{"chalk":"4.1.2","redent":"3.0.0","read-pkg-up":"7.0.1","@carnesen/run-and-exit":"1.0.0","@carnesen/run-and-catch":"0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"27.4.1","rimraf":"3.0.2","tslint":"5.20.1","ts-jest":"27.1.4","ts-node":"10.7.0","typescript":"4.6.4","@types/jest":"27.4.1","@types/node":"17.0.30","@alwaysai/tsconfig":"0.0.1","@carnesen/coded-error":"0.4.0","@alwaysai/tslint-config":"0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/alwayscli_0.3.1_1651355255509_0.302025387627721","host":"s3://npm-registry-packages"}},"0.3.2":{"name":"@alwaysai/alwayscli","version":"0.3.2","keywords":["typescript","nodejs","cli","command","line","interface"],"author":{"name":"alwaysAI, Inc.","email":"contact@alwaysai.co"},"license":"MIT","_id":"@alwaysai/alwayscli@0.3.2","maintainers":[{"name":"jarrett.thompson","email":"jarrett.thompson@alwaysai.co"},{"name":"dwolner","email":"daniel.wolner@alwaysai.co"},{"name":"olaf.ziel","email":"olaf.ziel@gmail.com"},{"name":"lilamullany","email":"lilamullany@gmail.com"},{"name":"mitchrosenlof","email":"mitchell.rosenlof@alwaysai.co"},{"name":"carloslazo","email":"carlos.lazo@alwaysai.co"},{"name":"thedaltonv","email":"dalton.varney@alwaysai.co"},{"name":"ericvanbuhler","email":"eric.vanbuhler@gmail.com"},{"name":"socalrunner","email":"justin.rich@alwaysai.co"}],"homepage":"https://github.com/alwaysai/alwayscli#readme","bugs":{"url":"https://github.com/alwaysai/alwayscli/issues"},"dist":{"shasum":"ce06e667b997484650c2cc8eef835945362c17fe","tarball":"https://registry.npmjs.org/@alwaysai/alwayscli/-/alwayscli-0.3.2.tgz","fileCount":324,"integrity":"sha512-K0aBpk+VOZMQFcVLs5s8aRlPGgXGgcGA36gUsHxorinefWtp0kJSgMr5GF7FMMxHopvcJLiYC/JEDuuBlHBm5g==","signatures":[{"sig":"MEYCIQDt3qdpubeFqDh5fn6UffLUPOd//VWvS20LwGJcXvXzmQIhAO5yjFkT2ACy1CFJl6dchH+BPwrvaKM1V+3TmthkgvO4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":266966,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhltuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpEfxAAltbUkVZNviGUcrv4nZXu4mxRS2hLW2+FnwycDRBKXpyT53XF\r\n1q5RGyHgCdR4yj2sLWDJ8K7fDACu7Z07P5+Rv63xlUZEvI9t3875Fkf4sTxe\r\nSEJAEWKIy4q3AuxTO4FZDb1DW42zzXOi9KmPskRM3XzF9kibLC1PBpsWDaWS\r\nEZN5OOhvb3Dbvkk1c6bydwvFXp64Ae0Wk/Yug2fM+l77tbX4FHjQwZhzNjT9\r\nzK4XIbEUVMJQtrszCYd0dDjlNsTs1xcffjQitF/hfh0HrhprhF+fQl46E4LH\r\nPrFwelDj4+26TkCUCJmuGdN0c5t309wEUq5USrs3bkqhnld/s1fYBObyvWnW\r\n5eHgdk4qtBX4dpfPXmMtofURpwmca3xBQxcYpc+TM6twiTe0odez9xQogVmj\r\nLTAp3/747QgE180dycb8Jl9rtm+qVG9PZwMWJ5YHyZiGCL2+jMAIlQl2fII7\r\n2WsV7BNGeh+qhtRpLje9Cc0//qj9f06pYpfscmcvjsKaqB5mHTGL7pWIjX/e\r\npa8bs+q6ppPYA9bPCiQYoppIBNC8i33ITmS4J+H3dPYFXXm7vj/Qt6s0rT/7\r\nkVeGvqqczpXxCGqvq78B5qmoBNCky18OdO+Yx+AQgHfPUh6ylOVbdH2g+BDI\r\nkdAVHYSRn4/oFttxYOjOW2Zmc2VV/xY1sck=\r\n=hQgM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"e82019491e7a0ed57a588865f91a233d090d5539","scripts":{"lint":"tslint --project tsconfig.build.json","test":"npm run lint && npm run test:unit && npm run build && npm run examples -- echo ok","build":"tsc --project tsconfig.build.json","examples":"ts-node src/examples/index.ts","lint:fix":"npm run lint -- --fix","test:unit":"jest --coverage src","preversion":"npm test && npm run build:clean","test:watch":"npm run test:unit -- --watch","build:clean":"rimraf lib && npm run build","build:watch":"tsc --project . --watch","postversion":"npm publish"},"_npmUser":{"name":"ericvanbuhler","email":"eric.vanbuhler@gmail.com"},"repository":{"url":"git+https://github.com/alwaysai/alwayscli.git","type":"git"},"_npmVersion":"8.19.2","description":"A library for building command-line interfaces","directories":{},"_nodeVersion":"16.18.1","dependencies":{"chalk":"4.1.2","redent":"3.0.0","read-pkg-up":"7.0.1","@carnesen/run-and-exit":"1.0.0","@carnesen/run-and-catch":"0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"27.4.1","rimraf":"3.0.2","tslint":"5.20.1","ts-jest":"27.1.4","ts-node":"10.7.0","typescript":"4.6.4","@types/jest":"27.4.1","@types/node":"17.0.30","@alwaysai/tsconfig":"0.0.1","@carnesen/coded-error":"0.4.0","@alwaysai/tslint-config":"0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/alwayscli_0.3.2_1669749614509_0.045700238759030176","host":"s3://npm-registry-packages"}},"0.3.3":{"name":"@alwaysai/alwayscli","version":"0.3.3","keywords":["typescript","nodejs","cli","command","line","interface"],"author":{"name":"alwaysAI, Inc.","email":"contact@alwaysai.co"},"license":"SEE LICENSE IN LICENSE","_id":"@alwaysai/alwayscli@0.3.3","maintainers":[{"name":"toddathan","email":"todd.gleed@alwaysai.co"},{"name":"sheshalwaysai","email":"shesh.mali@alwaysai.co"},{"name":"alexbigkid","email":"alex.berger@alwaysai.co"},{"name":"tony-alwaysai","email":"tony.jesudoss@alwaysai.co"},{"name":"jarrett.thompson","email":"jarrett.thompson@alwaysai.co"},{"name":"dwolner","email":"daniel.wolner@alwaysai.co"},{"name":"olaf.ziel","email":"olaf.ziel@gmail.com"},{"name":"lilamullany","email":"lilamullany@gmail.com"},{"name":"mitchrosenlof","email":"mitchell.rosenlof@alwaysai.co"},{"name":"carloslazo","email":"carlos.lazo@alwaysai.co"},{"name":"ericvanbuhler","email":"eric.vanbuhler@gmail.com"},{"name":"socalrunner","email":"justin.rich@alwaysai.co"}],"homepage":"https://alwaysai.co","bugs":{"url":"https://github.com/alwaysai/alwayscli/issues"},"dist":{"shasum":"06b1ea011642de3184c2b8207f4eda185e0ec961","tarball":"https://registry.npmjs.org/@alwaysai/alwayscli/-/alwayscli-0.3.3.tgz","fileCount":59,"integrity":"sha512-maEj2hpnt2/CNhPnd0waehK7XS7ThOC9w2vDiM2FShyJDwhqWNIHc4SpePX1btJOUr+xsZQPRDret7ilCaDiOg==","signatures":[{"sig":"MEUCICxdMB5TiAqWg616wxHuFH12o+rdT+2FUBjNUfLnRM26AiEA0V7T89tksP8wR9YLAU3jwi0ED6wuDzGMLns/JGgl31k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53735},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"201edebaceadbebcde267bcc402c5e9c8ef832d3","scripts":{"lint":"eslint . --ext .ts","test":"npm run lint && npm run test:unit && npm run build:clean && npm run examples -- echo ok","build":"tsc --project tsconfig.build.json","clean":"rimraf lib packages coverage","examples":"ts-node examples/index.ts","lint:fix":"npm run lint -- --fix","test:unit":"jest --coverage --testPathPattern='./tests/'","preversion":"npm test","test:watch":"npm run test:unit -- --watch","build:clean":"npm run clean && npm run build","build:watch":"tsc --project . --watch","postversion":"npm publish","publish:major":"git push && git tag -f major && git push -f origin major && git tag -d major","publish:minor":"git push && git tag -f minor && git push -f origin minor && git tag -d minor","publish:patch":"git push && git tag -f patch && git push -f origin patch && git tag -d patch"},"_npmUser":{"name":"alexbigkid","email":"alex.berger@alwaysai.co"},"repository":{"url":"git+https://github.com/alwaysai/alwayscli.git","type":"git"},"_npmVersion":"10.5.0","description":"A library for building command-line interfaces","directories":{},"_nodeVersion":"20.12.2","dependencies":{"chalk":"4.1.2","redent":"3.0.0","read-pkg-up":"7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","rimraf":"^5.0.5","ts-jest":"^29.1.2","ts-node":"^10.9.2","typescript":"4.6.4","@types/jest":"^29.5.12","@types/node":"17.0.30","@alwaysai/tsconfig":"0.0.1","@carnesen/coded-error":"0.4.0","@alwaysai/eslint-config":"^0.1.3","@carnesen/run-and-catch":"^0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/alwayscli_0.3.3_1715030507820_0.10582571569304156","host":"s3://npm-registry-packages"}}},"time":{"created":"2019-05-02T20:20:39.204Z","modified":"2026-07-10T23:37:45.764Z","0.0.0-12":"2019-05-02T20:20:39.461Z","0.0.0":"2019-08-15T17:16:23.638Z","0.1.0":"2019-10-01T19:55:15.906Z","0.2.0":"2019-10-02T23:13:29.495Z","0.3.0":"2019-10-10T22:39:30.451Z","0.3.1":"2022-04-30T21:47:35.743Z","0.3.2":"2022-11-29T19:20:14.723Z","0.3.3":"2024-05-06T21:21:48.006Z"},"bugs":{"url":"https://github.com/alwaysai/alwayscli/issues"},"author":{"name":"alwaysAI, Inc.","email":"contact@alwaysai.co"},"license":"SEE LICENSE IN LICENSE","homepage":"https://alwaysai.co","keywords":["typescript","nodejs","cli","command","line","interface"],"repository":{"url":"git+https://github.com/alwaysai/alwayscli.git","type":"git"},"description":"A library for building command-line interfaces","maintainers":[{"email":"olaf.ziel@gmail.com","name":"olaf.ziel"},{"email":"eric.vanbuhler@gmail.com","name":"ericvanbuhler"},{"email":"justin.rich@alwaysai.co","name":"socalrunner"},{"email":"shesh.mali@alwaysai.co","name":"sheshalwaysai"},{"email":"lilamullany@gmail.com","name":"lilamullany"},{"email":"todd.gleed@alwaysai.co","name":"toddathan"},{"email":"nisarg.doshi@alwaysai.co","name":"nisarg.doshi"}],"readme":"# `alwaysCLI` [![Build Status](https://travis-ci.com/alwaysai/alwayscli.svg?branch=master)](https://travis-ci.com/alwaysai/alwayscli)\n\nA framework for building command-line interfaces (CLIs) in Node.js. This package includes runtime JavaScript files suitable for Node.js >=8 as well as the corresponding TypeScript type declarations.\n\n## Usage\n\n```\nnpm install @alwaysai/alwayscli\n```\n\nIn an `alwaysCLI` program, commands are organized into a tree. Each \"leaf\" represents an action whereas \"branches\" collect and organize leaves. For example, in the command `alwaysai user login`, `alwaysai` is the \"root\" command (a branch), `user` is a branch of commands related to user authentication and `login` is the action leaf. Your CLI need not have branches. Here is a simple CLI whose root is a leaf:\n```ts\n// readme.ts\nimport {\n  CliLeaf,\n  CliFlagInput,\n  CliNumberArrayInput,\n  runCliAndExit,\n} from '@alwaysai/alwayscli';\n\nexport const root = CliLeaf({\n  name: 'multiply',\n  description: 'Multiply numbers and print the result',\n  positionalInput: CliNumberArrayInput({ required: true }),\n  namedInputs: {\n    squared: CliFlagInput({\n      description: 'Square the result before printing it',\n    }),\n  },\n  action(args, { squared }) {\n    const multiplied = args.reduce((a, b) => a * b, 1);\n    if (squared) {\n      return multiplied * multiplied;\n    }\n    return multiplied;\n  },\n});\n\nif (require.main === module) {\n  runCliAndExit(root);\n}\n```\n\nHere's how that behaves as a CLI.\n```\n$ ts-node readme.ts\nUsage: multiply <num0> [...] [<options>]\n\n   Multiply numbers and print the result\n\nOptions:\n\n   [--squared] : Square the result before printing it\n\nError: \"<num0> [...]\": Value is required\n```\n\nWith arguments:\n```\n$ ts-node readme.ts 1 2 3\n6\n$ ts-node readme.ts 1 2 3 --squared\n36\n```\nThe `if (require.main === module)` conditional is Node.js for \"if this file is the entry point\", which is `true` when you do `ts-node readme.ts`, but not when you do `import { root } from './readme.ts'` for unit tests for example.\n\nMore generally the usage of an `alwaysCLI` CLI is:\n```\n<program> <branch> <leaf> <positional-args> --name <named-args> -- <escaped-args>\n```\nTo invoke an action the user provides (in order):\n- zero or more branch names\n- a leaf name\n- zero or more positional args\n- zero or more \"options\" (inputs of the form `--foo bar`)\n\n## API\n### Input<T, U>\nTODO\n\n### CliLeaf({name, description?, args?, options?, action, hidden?, version?})\nA factory for creating \"action\" commands. Returns the newly-created `leaf`.\n\n#### name\nIf this \"leaf\" is a subcommand, `name` is the string that the user will pass as the \"subcommand\" argument to invoke this action. If this \"leaf\" is the root command, `name` should be the CLI's name.\n\n#### description\n(Optional) A string that will be included in `Usage:` if present.\n\n#### positionalInput\n(Optional) An `Input` for\n\n#### namedInputs\n(Optional) An object of named `Input`s, for example:\n```ts\nconst options = {\n  path: createStringInput({\n    description: 'An absolute or relative path',\n  }),\n}\n```\nThe `args` and `options` properties define how the command-line arguments get parsed and transformed before being passed into the `action` function.\n\n#### action(args, options)\nThe function that defines your command logic. `action` can return a value synchronously like in the \"multiply\" example above, or it can be an `async` function that returns a `Promise`. If `action` returns/resolves a value, that value is `console.log`ged before the CLI exits. If `action` throws/rejects, the exception is `console.log`ged before the CLI exits. That means that if you don't want the user to see a stack trace, your `action` should throw a `string` instead of an `Error` object. The type of the `args` argument received by `action` is derived by the `args` property of the leaf. Similarly, the `options` argument type is derived from `leaf.options`.\n\n#### hidden\n(Optional) `boolean`\n\n#### version\n(Optional) `string`. If provided, this string will be printed when the user does `cli --version` or `cli -v`. If this value is not provided, alwaysCLI will attempt to find a version string in your package.json file.\n\n### CliBranch({name, description, subcommands, hidden?})\nA factory function similar to `CliLeaf`. Returns the newly-created `Branch` object.\n\n#### name\nIf this \"branch\" is not the root command, `name` is the string that the user will pass as the \"subcommand\" argument to invoke actions in this part of the command tree. If this \"branch\" command is the root command, `name` should be the CLI's name.\n\n#### description\n(Optional) A string that will be included in `Usage:` if present.\n\n#### subcommands\nAn array of `Branch` and/or `Leaf` objects.\n\n#### hidden\n(Optional) `boolean`\n\n### createCli(root)\nReturns a function of the form `(...args: string[]) => Promise<any>` that can be invoked as e.g. `cli('foo', 'bar')` for unit tests or as `cli(process.argv.slice(2))` in an executable CLI script.\n\n#### root\nA `Leaf` or `Branch`\n\n### ArgvInterface\n`cli` is a function that takes command-line arguments (strings) as input and returns a `Promise` representing the execution of the arguments. We export `cli` so that we can unit test it [like so](src/examples/__tests__/readme.test.ts).\n\n## More information\nThis library has a couple dozen unit tests with >90% coverage. If you want to see more examples of how things works, check out the `.test.ts` files in the [src](src) directory. Also check out [src/examples](src/examples). If you encounter any bugs or have any questions or feature requests, please don't hesitate to file an issue or submit a pull request on this project's repository on GitHub.\n\n## Release procedure\nTo release the package to [npmjs.org](https://www.npmjs.com/package/@alwaysai/alwayscli) follow the steps:\n- publish new version: <code>npm run publish:<major|minor|patch></code>\n- check the [github pipeline](https://github.com/alwaysai/alwayscli/actions) running, if successful a new version will be created and published to npmjs.org\n- to get the auto-generated commit and tags, simply pull: <code>git pull</code>\n\n## Pipeline is lintng, unit testing and building package on:\n- [x] Ubuntu latest / Node.js: 16.x, 18.x, 20.x, 22.x\n- [x] MacOS latest / Node.js: 16.x, 18.x, 20.x, 22.x\n- [x] Windows latest / Node.js: 16.x, 18.x, 20.x, 22.x\n","readmeFilename":"readme.md"}