{"_id":"@2amtech/hai","_rev":"10-075cf067fd7675f46f2059f917605b13","name":"@2amtech/hai","dist-tags":{"latest":"0.0.10"},"versions":{"0.0.1":{"name":"@2amtech/hai","version":"0.0.1","keywords":["AI","CLI","environment","initialize","initializer","setup","workflow"],"author":{"name":"Aleksandar Panic"},"license":"Apache-2.0","_id":"@2amtech/hai@0.0.1","maintainers":[{"name":"2amtech","email":"accounts@2am.tech"}],"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"bin":{"hai":"dist/cli.js"},"dist":{"shasum":"2d7dba55a02442c5c9cd41b5ee16329ebf9ce6fd","tarball":"https://registry.npmjs.org/@2amtech/hai/-/hai-0.0.1.tgz","fileCount":239,"integrity":"sha512-IAbrRAYEe6xvOzetNvd0MzLXNd76W/KFGCO2UfuN/6UG3vQdn5Dt6fb7j8g/xHn4R3kejbWENloPWR/CtiNhAg==","signatures":[{"sig":"MEUCIQDpNyRrchOw0x77iaQ1E0jmNmZ+RQOgEZJTenNiQGDF0wIgRtFc+m1q0Rw/Zzbn0fj6GdTtgVXAkKSxn4asXi6TCLQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":375793},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"b7d778f58d4ddbbb6f0ab08bd9263f3d56d236c2","scripts":{"cli":"tsc && node dist/cli.js","dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint .","build":"tsc","format":"prettier --write .","lint:fix":"eslint . --fix","install-cli":"npm run build && npm install -g .","uninstall-cli":"npm uninstall -g @2amtech/hai","prepublishOnly":"npm run build"},"_npmUser":{"name":"2amtech","email":"accounts@2am.tech"},"prettier":"@vdemedes/prettier-config","_npmVersion":"11.6.2","description":"Helper AI (HAI) is an AI environment initializer setting up a standardized AI workflow supporting multiple AI providers.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ink":"^4.1.0","zod":"^4.3.6","meow":"^11.0.0","react":"^18.2.0","jira.js":"^5.3.1","smol-toml":"^1.6.0","confluence.js":"^2.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^5.2.0","chalk":"^5.2.0","eslint":"^9.0.0","ts-node":"^10.9.1","prettier":"^2.8.7","@eslint/js":"^9.0.0","typescript":"^5.0.3","@types/react":"^18.0.32","typescript-eslint":"^8.0.0","eslint-plugin-react":"^7.37.0","ink-testing-library":"^3.0.0","@sindresorhus/tsconfig":"^3.0.1","eslint-config-prettier":"^10.0.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hai_0.0.1_1774359309041_0.9126338143990733","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@2amtech/hai","version":"0.0.2","keywords":["AI","CLI","environment","initialize","initializer","setup","workflow"],"author":{"name":"Aleksandar Panic"},"license":"Apache-2.0","_id":"@2amtech/hai@0.0.2","maintainers":[{"name":"2amtech","email":"accounts@2am.tech"}],"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"bin":{"hai":"dist/cli.js"},"dist":{"shasum":"0227771506a4f4cef75f0ee7fd233bca8f70d366","tarball":"https://registry.npmjs.org/@2amtech/hai/-/hai-0.0.2.tgz","fileCount":239,"integrity":"sha512-wP5CiTcXAuR0Z6W7jbRSm949evPDM4A04tGJ/v5qafDMuplfUWtibbHbn1ZezNK3p+PjtKKPeP/fu1ibD705Nw==","signatures":[{"sig":"MEUCIQDmyRz06T0FFS0hfKxWSCzDM8AW+FGdXFB2DBquo8+vxQIgQJUzHsNX3xtdEZf6TBNvtvi73IiXYwkB1A5sC0L8NgM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":377653},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"09376274642f703e710e5d5abf2d30b82ea5e702","scripts":{"cli":"tsc && node dist/cli.js","dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint .","build":"tsc","format":"prettier --write .","lint:fix":"eslint . --fix","install-cli":"npm run build && npm install -g .","uninstall-cli":"npm uninstall -g @2amtech/hai","prepublishOnly":"npm run build"},"_npmUser":{"name":"2amtech","email":"accounts@2am.tech"},"prettier":"@vdemedes/prettier-config","_npmVersion":"11.6.2","description":"Helper AI (HAI) is an AI environment initializer setting up a standardized AI workflow supporting multiple AI providers.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ink":"^4.1.0","zod":"^4.3.6","meow":"^11.0.0","react":"^18.2.0","jira.js":"^5.3.1","smol-toml":"^1.6.0","confluence.js":"^2.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^5.2.0","chalk":"^5.2.0","eslint":"^9.0.0","ts-node":"^10.9.1","prettier":"^2.8.7","@eslint/js":"^9.0.0","typescript":"^5.0.3","@types/react":"^18.0.32","typescript-eslint":"^8.0.0","eslint-plugin-react":"^7.37.0","ink-testing-library":"^3.0.0","@sindresorhus/tsconfig":"^3.0.1","eslint-config-prettier":"^10.0.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hai_0.0.2_1774360539662_0.3817083102434815","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@2amtech/hai","version":"0.0.3","keywords":["AI","CLI","environment","initialize","initializer","setup","workflow"],"author":{"name":"Aleksandar Panic"},"license":"Apache-2.0","_id":"@2amtech/hai@0.0.3","maintainers":[{"name":"2amtech","email":"accounts@2am.tech"}],"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"bin":{"hai":"dist/cli.js"},"dist":{"shasum":"bf2f62c1df02264c5aeb0b9ff92a4ccb31f25afb","tarball":"https://registry.npmjs.org/@2amtech/hai/-/hai-0.0.3.tgz","fileCount":245,"integrity":"sha512-t1eJRvqPARZaoFqTPI+AprxKj3TQYa78eKCnA36SnXpgBk1ZkHsK8A9XlYKOI7o8MekrfCh5wi5CkhT3eoV3rw==","signatures":[{"sig":"MEUCIBYD8c8EsJirlpPMIlxHt0I2MD1w8iEUCxbAHLmZZibZAiEAkAv8gRzMOqYElhzvBWhzixmR5A8CtysNC1V16KtFs+o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":382858},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"749e4aec1a8d9e11c6aab75f68b6992fc179d7d0","scripts":{"cli":"tsc && node dist/cli.js","dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint .","build":"tsc","format":"prettier --write .","lint:fix":"eslint . --fix","install-cli":"npm run build && npm install -g .","uninstall-cli":"npm uninstall -g @2amtech/hai","prepublishOnly":"npm run build"},"_npmUser":{"name":"2amtech","email":"accounts@2am.tech"},"prettier":"@vdemedes/prettier-config","_npmVersion":"11.6.2","description":"Helper AI (HAI) is an AI environment initializer setting up a standardized AI workflow supporting multiple AI providers.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ink":"^4.1.0","zod":"^4.3.6","meow":"^11.0.0","react":"^18.2.0","jira.js":"^5.3.1","smol-toml":"^1.6.0","confluence.js":"^2.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^5.2.0","chalk":"^5.2.0","eslint":"^9.0.0","ts-node":"^10.9.1","prettier":"^2.8.7","@eslint/js":"^9.0.0","typescript":"^5.0.3","@types/react":"^18.0.32","typescript-eslint":"^8.0.0","eslint-plugin-react":"^7.37.0","ink-testing-library":"^3.0.0","@sindresorhus/tsconfig":"^3.0.1","eslint-config-prettier":"^10.0.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hai_0.0.3_1774959696331_0.37816524240212046","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@2amtech/hai","version":"0.0.4","keywords":["AI","CLI","environment","initialize","initializer","setup","workflow"],"author":{"name":"Aleksandar Panic"},"license":"Apache-2.0","_id":"@2amtech/hai@0.0.4","maintainers":[{"name":"2amtech","email":"accounts@2am.tech"}],"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"bin":{"hai":"dist/cli.js"},"dist":{"shasum":"ef37792251ec224926ef7c94453d2eb66ba36c18","tarball":"https://registry.npmjs.org/@2amtech/hai/-/hai-0.0.4.tgz","fileCount":245,"integrity":"sha512-iWQxnif5tLUuEqKXOXJWF9eHRn64KqNSKhS+cV649nisceq/sBAXXjmOopL9BFt6LXOM+e7qqiT0K6hmqqnaRg==","signatures":[{"sig":"MEUCIQCMAPcndujakJGEw2raZjVcybMR+d7Uuxkpj8svdctjhQIgQYyz3vAey5wBWNIFqpI0w1ZRkHM19uLxkm0PA5M64V4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":386951},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"749e4aec1a8d9e11c6aab75f68b6992fc179d7d0","scripts":{"cli":"tsc && node dist/cli.js","dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint .","build":"tsc","format":"prettier --write .","lint:fix":"eslint . --fix","install-cli":"npm run build && npm install -g .","uninstall-cli":"npm uninstall -g @2amtech/hai","prepublishOnly":"npm run build"},"_npmUser":{"name":"2amtech","email":"accounts@2am.tech"},"prettier":"@vdemedes/prettier-config","_npmVersion":"11.6.2","description":"Helper AI (HAI) is an AI environment initializer setting up a standardized AI workflow supporting multiple AI providers.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ink":"^4.1.0","zod":"^4.3.6","meow":"^11.0.0","react":"^18.2.0","jira.js":"^5.3.1","smol-toml":"^1.6.0","confluence.js":"^2.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^5.2.0","chalk":"^5.2.0","eslint":"^9.0.0","ts-node":"^10.9.1","prettier":"^2.8.7","@eslint/js":"^9.0.0","typescript":"^5.0.3","@types/react":"^18.0.32","typescript-eslint":"^8.0.0","eslint-plugin-react":"^7.37.0","ink-testing-library":"^3.0.0","@sindresorhus/tsconfig":"^3.0.1","eslint-config-prettier":"^10.0.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hai_0.0.4_1776273594465_0.989372489947344","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@2amtech/hai","version":"0.0.5","keywords":["AI","CLI","environment","initialize","initializer","setup","workflow"],"author":{"name":"Aleksandar Panic"},"license":"Apache-2.0","_id":"@2amtech/hai@0.0.5","maintainers":[{"name":"2amtech","email":"accounts@2am.tech"}],"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx"]},"bin":{"hai":"dist/cli.js"},"dist":{"shasum":"261691751625376914d3491e7dd4bfe7f320f9fd","tarball":"https://registry.npmjs.org/@2amtech/hai/-/hai-0.0.5.tgz","fileCount":254,"integrity":"sha512-CD1phgsnMbquSDGRWqIej8XzwfH+5r1FrXLgGAaHrXEoSDdNVyMEtup3DWqjqEMSJuKmcb9X/6+VVRrqbmhjsw==","signatures":[{"sig":"MEYCIQDi5fBcL8rQUNlfO6lIkfhpq4kkCpa+roSoJRsOKg6rRQIhAKZKtfsKh1tcJH72NI5ZqTxmGhaEsn6oT4Cv/vx4Fnds","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":373812},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"24e78bd1fe57c650ed8384e9d28043f7e7d89cc4","scripts":{"cli":"tsc && node dist/cli.js","dev":"tsc --watch","lint":"eslint .","test":"ava && prettier --check . && eslint .","build":"tsc","format":"prettier --write .","lint:fix":"eslint . --fix","test:unit":"ava","install-cli":"npm run build && npm install -g .","uninstall-cli":"npm uninstall -g @2amtech/hai","prepublishOnly":"npm run build"},"_npmUser":{"name":"2amtech","email":"accounts@2am.tech"},"prettier":"@vdemedes/prettier-config","_npmVersion":"11.6.2","description":"Helper AI (HAI) is an AI environment initializer setting up a standardized AI workflow supporting multiple AI providers.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ink":"^4.1.0","zod":"^4.3.6","meow":"^11.0.0","react":"^18.2.0","jira.js":"^5.3.1","smol-toml":"^1.6.0","confluence.js":"^2.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^5.2.0","tsx":"^4.22.4","chalk":"^5.2.0","eslint":"^9.0.0","prettier":"^2.8.7","@eslint/js":"^9.0.0","typescript":"^5.0.3","@types/node":"^24.13.0","@types/react":"^18.0.32","typescript-eslint":"^8.0.0","eslint-plugin-react":"^7.37.0","ink-testing-library":"^3.0.0","@sindresorhus/tsconfig":"^3.0.1","eslint-config-prettier":"^10.0.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hai_0.0.5_1780662620587_0.6564931181070364","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@2amtech/hai","version":"0.0.6","keywords":["AI","CLI","environment","initialize","initializer","setup","workflow"],"author":{"name":"Aleksandar Panic"},"license":"Apache-2.0","_id":"@2amtech/hai@0.0.6","maintainers":[{"name":"2amtech","email":"accounts@2am.tech"}],"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx"]},"bin":{"hai":"dist/cli.js"},"dist":{"shasum":"0a8734f95c4a3cece6f311c2ec5d59bd08cee177","tarball":"https://registry.npmjs.org/@2amtech/hai/-/hai-0.0.6.tgz","fileCount":263,"integrity":"sha512-XrEipEEhFBIxkWIs3ncu/NRtHJYpaBMcolTR/JHTH0n5B8zp43QnmL/X4rBlb4ro1cLiSSqNDJ/qm5CNeHVdrw==","signatures":[{"sig":"MEQCICE4/NaEE/v0RxHy1ddjMEnpHqeVQFcf8KZVNftXyyPTAiA8LTuY4spguzU4x8BoENI2s3G9gUW0W+PzNeryCfcRmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":399570},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"05f19becfb7e6a5c20e865139ca921fb382d5625","scripts":{"cli":"tsc && node dist/cli.js","dev":"tsc --watch","lint":"eslint .","test":"ava && prettier --check . && eslint .","build":"tsc","format":"prettier --write .","lint:fix":"eslint . --fix","test:unit":"ava","install-cli":"npm run build && npm install -g .","uninstall-cli":"npm uninstall -g @2amtech/hai","prepublishOnly":"npm run build"},"_npmUser":{"name":"2amtech","email":"accounts@2am.tech"},"prettier":"@vdemedes/prettier-config","_npmVersion":"11.6.2","description":"Helper AI (HAI) is an AI environment initializer setting up a standardized AI workflow supporting multiple AI providers.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ink":"^4.1.0","zod":"^4.3.6","meow":"^11.0.0","react":"^18.2.0","jira.js":"^5.3.1","smol-toml":"^1.6.0","confluence.js":"^2.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^5.2.0","tsx":"^4.22.4","chalk":"^5.2.0","eslint":"^9.0.0","prettier":"^2.8.7","@eslint/js":"^9.0.0","typescript":"^5.0.3","@types/node":"^24.13.0","@types/react":"^18.0.32","typescript-eslint":"^8.0.0","eslint-plugin-react":"^7.37.0","ink-testing-library":"^3.0.0","@sindresorhus/tsconfig":"^3.0.1","eslint-config-prettier":"^10.0.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hai_0.0.6_1781526046221_0.7106835302712151","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@2amtech/hai","version":"0.0.7","keywords":["AI","CLI","environment","initialize","initializer","setup","workflow"],"author":{"name":"Aleksandar Panic"},"license":"Apache-2.0","_id":"@2amtech/hai@0.0.7","maintainers":[{"name":"2amtech","email":"accounts@2am.tech"}],"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx"]},"bin":{"hai":"dist/cli.js"},"dist":{"shasum":"b574992605e749be8ed527ffe3741a960884de6c","tarball":"https://registry.npmjs.org/@2amtech/hai/-/hai-0.0.7.tgz","fileCount":272,"integrity":"sha512-WC0uduTYwo00DzMMou/3PNEh0Og9z8iUBPZQX6H13e+JWG88A2IOeB+TYcVOQ4BRlRTgjz7Zs5ZtxqtnegzWLQ==","signatures":[{"sig":"MEUCIDdyacPH3edVBhj1m83/MESYJa98T8zhYhpcKJzlshd2AiEAvsJz6b5qWCoR4LL5Wk9COgUnItnTbMusM20522+bPy0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":415069},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"05f19becfb7e6a5c20e865139ca921fb382d5625","scripts":{"cli":"tsc && node dist/cli.js","dev":"tsc --watch","lint":"eslint .","test":"ava && prettier --check . && eslint .","build":"tsc","format":"prettier --write .","lint:fix":"eslint . --fix","test:unit":"ava","install-cli":"npm run build && npm install -g .","uninstall-cli":"npm uninstall -g @2amtech/hai","prepublishOnly":"npm run build"},"_npmUser":{"name":"2amtech","email":"accounts@2am.tech"},"prettier":"@vdemedes/prettier-config","_npmVersion":"11.6.2","description":"Helper AI (HAI) is an AI environment initializer setting up a standardized AI workflow supporting multiple AI providers.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ink":"^4.1.0","zod":"^4.3.6","meow":"^11.0.0","react":"^18.2.0","jira.js":"^5.3.1","smol-toml":"^1.6.0","confluence.js":"^2.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^5.2.0","tsx":"^4.22.4","chalk":"^5.2.0","eslint":"^9.0.0","prettier":"^2.8.7","@eslint/js":"^9.0.0","typescript":"^5.0.3","@types/node":"^24.13.0","@types/react":"^18.0.32","typescript-eslint":"^8.0.0","eslint-plugin-react":"^7.37.0","ink-testing-library":"^3.0.0","@sindresorhus/tsconfig":"^3.0.1","eslint-config-prettier":"^10.0.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hai_0.0.7_1781529033313_0.7758164667292096","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@2amtech/hai","version":"0.0.8","keywords":["AI","CLI","environment","initialize","initializer","setup","workflow"],"author":{"name":"Aleksandar Panic"},"license":"Apache-2.0","_id":"@2amtech/hai@0.0.8","maintainers":[{"name":"2amtech","email":"accounts@2am.tech"}],"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx"]},"bin":{"hai":"dist/cli.js"},"dist":{"shasum":"82c15319df26ee9b90a34caf66bf96fcf87f940f","tarball":"https://registry.npmjs.org/@2amtech/hai/-/hai-0.0.8.tgz","fileCount":272,"integrity":"sha512-Ux2iN+4ciuxP3r3cZ8CIaKfRHbJyqolsiI0Yt6TOswmdBJ7Ph++ibuMIlTB1VT+DXCyaLWkKH4XU9b6m+lqbgQ==","signatures":[{"sig":"MEQCIH6jEEQcPKNmkf9JpPvnUjRFkq6FbPQVF9YXAi0cmTeMAiB7ggbNHZkiMSo8skZkthqb3Pjg6vUG9w6rYW25NY1Hog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":414409},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"1c3b5be1fd8b484bec03cfdc35455d6c34408763","scripts":{"cli":"tsc && node dist/cli.js","dev":"tsc --watch","lint":"eslint .","test":"ava && prettier --check . && eslint .","build":"tsc","format":"prettier --write .","lint:fix":"eslint . --fix","test:unit":"ava","install-cli":"npm run build && npm install -g .","uninstall-cli":"npm uninstall -g @2amtech/hai","prepublishOnly":"npm run build"},"_npmUser":{"name":"2amtech","email":"accounts@2am.tech"},"prettier":"@vdemedes/prettier-config","_npmVersion":"11.6.2","description":"Helper AI (HAI) is an AI environment initializer setting up a standardized AI workflow supporting multiple AI providers.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ink":"^4.1.0","zod":"^4.3.6","meow":"^11.0.0","react":"^18.2.0","jira.js":"^5.3.1","smol-toml":"^1.6.0","confluence.js":"^2.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^5.2.0","tsx":"^4.22.4","chalk":"^5.2.0","eslint":"^9.0.0","prettier":"^2.8.7","@eslint/js":"^9.0.0","typescript":"^5.0.3","@types/node":"^24.13.0","@types/react":"^18.0.32","typescript-eslint":"^8.0.0","eslint-plugin-react":"^7.37.0","ink-testing-library":"^3.0.0","@sindresorhus/tsconfig":"^3.0.1","eslint-config-prettier":"^10.0.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hai_0.0.8_1781530214007_0.6149934756785678","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@2amtech/hai","version":"0.0.9","keywords":["AI","CLI","environment","initialize","initializer","setup","workflow"],"author":{"name":"Aleksandar Panic"},"license":"Apache-2.0","_id":"@2amtech/hai@0.0.9","maintainers":[{"name":"2amtech","email":"accounts@2am.tech"}],"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx"]},"bin":{"hai":"dist/cli.js"},"dist":{"shasum":"8051a98e20a015f676abfbca05c7aab4fb636016","tarball":"https://registry.npmjs.org/@2amtech/hai/-/hai-0.0.9.tgz","fileCount":278,"integrity":"sha512-M20c81Hl+XBrjIMw/KeCMSKFhf+eoi+9eOrMVpAjVGUafHsFKKi0BJGsGJxkKylxf59RNZAj2gnLdugYAyhOaA==","signatures":[{"sig":"MEUCIQC0eafeTlJzWo1RMNUGZniXjSxEfQbnsUiciIpFgqIijAIgKpHxiQzw/EUngaA+l1kYe6NnNbcGbFvLEb4CghBzN/k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445620},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"849cf45a49742fa500c20a3838ac67e0b10d22ff","scripts":{"cli":"tsc && node dist/cli.js","dev":"tsc --watch","lint":"eslint .","test":"ava && prettier --check . && eslint .","build":"tsc","format":"prettier --write .","lint:fix":"eslint . --fix","test:unit":"ava","install-cli":"npm run build && npm install -g .","uninstall-cli":"npm uninstall -g @2amtech/hai","prepublishOnly":"npm run build"},"_npmUser":{"name":"2amtech","email":"accounts@2am.tech"},"prettier":"@vdemedes/prettier-config","_npmVersion":"11.16.0","description":"Helper AI (HAI) is an AI environment initializer setting up a standardized AI workflow supporting multiple AI providers.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ink":"^4.1.0","zod":"^4.3.6","meow":"^11.0.0","react":"^18.2.0","jira.js":"^5.3.1","smol-toml":"^1.6.0","confluence.js":"^2.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^5.2.0","tsx":"^4.22.4","chalk":"^5.2.0","eslint":"^9.0.0","prettier":"^2.8.7","@eslint/js":"^9.0.0","typescript":"^5.0.3","@types/node":"^24.13.0","@types/react":"^18.0.32","typescript-eslint":"^8.0.0","eslint-plugin-react":"^7.37.0","ink-testing-library":"^3.0.0","@sindresorhus/tsconfig":"^3.0.1","eslint-config-prettier":"^10.0.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hai_0.0.9_1783503663728_0.30002636238511116","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@2amtech/hai","version":"0.0.10","license":"Apache-2.0","description":"Helper AI (HAI) is an AI environment initializer setting up a standardized AI workflow supporting multiple AI providers.","author":{"name":"Aleksandar Panic"},"bin":{"hai":"dist/cli.js"},"main":"dist/cli.js","keywords":["AI","CLI","environment","initialize","initializer","setup","workflow"],"publishConfig":{"access":"public"},"type":"module","engines":{"node":">=16"},"scripts":{"build":"tsc","dev":"tsc --watch","cli":"tsc && node dist/cli.js","test":"ava && prettier --check . && eslint .","test:unit":"ava","lint":"eslint .","lint:fix":"eslint . --fix","format":"prettier --write .","prepublishOnly":"npm run build","install-cli":"npm run build && npm install -g .","uninstall-cli":"npm uninstall -g @2amtech/hai"},"dependencies":{"@modelcontextprotocol/sdk":"^1.27.1","confluence.js":"^2.1.0","ink":"^4.1.0","jira.js":"^5.3.1","meow":"^11.0.0","react":"^18.2.0","smol-toml":"^1.6.0","zod":"^4.3.6"},"devDependencies":{"@eslint/js":"^9.0.0","@sindresorhus/tsconfig":"^3.0.1","@types/node":"^24.13.0","@types/react":"^18.0.32","@vdemedes/prettier-config":"^2.0.1","ava":"^5.2.0","chalk":"^5.2.0","eslint":"^9.0.0","eslint-config-prettier":"^10.0.0","eslint-plugin-react":"^7.37.0","eslint-plugin-react-hooks":"^5.0.0","ink-testing-library":"^3.0.0","prettier":"^2.8.7","tsx":"^4.22.4","typescript":"^5.0.3","typescript-eslint":"^8.0.0"},"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx"]},"prettier":"@vdemedes/prettier-config","gitHead":"97937f0f4f7949b273a81d8b3d6a42fc64d709ed","types":"./dist/cli.d.ts","_id":"@2amtech/hai@0.0.10","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-fOhqjeTAw/mHHb0BRPkjEv3eW90MxHvwVJpa6GK2EcbJ8qDCzE8eCjvHqHd0iDvUIuEOAue1A5DkmnbkwQ1i2Q==","shasum":"4a57ab4771c1213497cb355f96bcd2e682e2a55e","tarball":"https://registry.npmjs.org/@2amtech/hai/-/hai-0.0.10.tgz","fileCount":278,"unpackedSize":445407,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCoqS7p6DCCKDkbaVIEofNVqY6KarSQUVHsFyMdGet7mAIhAIubGPtE8xTxl5PwSbwYl9umxwlrMqwTEag7nIMjF3eD"}]},"_npmUser":{"name":"2amtech","email":"accounts@2am.tech"},"directories":{},"maintainers":[{"name":"2amtech","email":"accounts@2am.tech"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/hai_0.0.10_1783504195205_0.2801078263052432"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-24T13:35:08.975Z","modified":"2026-07-08T09:49:55.487Z","0.0.1":"2026-03-24T13:35:09.170Z","0.0.2":"2026-03-24T13:55:39.823Z","0.0.3":"2026-03-31T12:21:36.484Z","0.0.4":"2026-04-15T17:19:54.627Z","0.0.5":"2026-06-05T12:30:20.725Z","0.0.6":"2026-06-15T12:20:46.376Z","0.0.7":"2026-06-15T13:10:33.471Z","0.0.8":"2026-06-15T13:30:14.131Z","0.0.9":"2026-07-08T09:41:03.895Z","0.0.10":"2026-07-08T09:49:55.345Z"},"author":{"name":"Aleksandar Panic"},"license":"Apache-2.0","keywords":["AI","CLI","environment","initialize","initializer","setup","workflow"],"description":"Helper AI (HAI) is an AI environment initializer setting up a standardized AI workflow supporting multiple AI providers.","maintainers":[{"name":"2amtech","email":"accounts@2am.tech"}],"readme":"# @2amtech/hai\n\n**Helper AI (HAI)** is an npm CLI that sets up a standardized AI-assisted development workflow for your project. It syncs tickets and specs from platforms like Jira and Confluence into a local (git ignored) `.ai/` directory and exposes an MCP server to your AI, and installs purpose-built prompts and subagents into your AI coding environment — so your AI assistant can plan, research, and implement work with full project context and easily pull tickets and specification in AI readable MD files.\n\n## Installation\n\n```bash\nnpm install -g @2amtech/hai\n```\n\n## Quick start\n\n```bash\nhai init     # Interactive wizard — pick your AI provider, ticket source, and spec source\nhai pull     # Sync tickets and specs to .ai/\n```\n\nThat's it. Your AI assistant now has access to your project's tickets, specs, prompts, and agents.\n\nMCP server will automatically be added for your provider. If you need add mcp server manually you can add it as:\n\n```bash\nhai mcp .\n```\n\n## Commands\n\n| Command                             | Description                                                                                          |\n| ----------------------------------- | ---------------------------------------------------------------------------------------------------- |\n| `hai init`                          | Interactive setup wizard — select providers, enter credentials                                       |\n| `hai pull`                          | Sync tickets and specs to `.ai/`                                                                     |\n| `hai status`                        | Show sync status (ticket counts, last sync time)                                                     |\n| `hai get <KEY>`                     | Fetch a specific ticket (e.g. `PROJ-123`)                                                            |\n| `hai download <ticket\\|spec> <url>` | Download a ticket/spec image to `.ai/images/` (using that provider's credentials) and print its path |\n| `hai mcp [dir]`                     | Start the MCP server over stdio                                                                      |\n\n### Flags\n\n| Flag                | Commands | Description                           |\n| ------------------- | -------- | ------------------------------------- |\n| `--tickets`, `-t`   | `pull`   | Sync tickets only                     |\n| `--specs`, `-s`     | `pull`   | Sync specs only                       |\n| `--dry-run`         | `pull`   | Preview changes without writing       |\n| `--update-local`    | `pull`   | Remove local files not found remotely |\n| `--recursive`, `-r` | `get`    | Also fetch linked issues              |\n\n## Supported AI providers\n\nHAI integrates with the following AI coding environments:\n\n| Provider           | ID               | MCP config location  | Prompts installed to | Agents installed to |\n| ------------------ | ---------------- | -------------------- | -------------------- | ------------------- |\n| **Claude Code**    | `claude-code`    | `.mcp.json`          | `.claude/commands/`  | `.claude/agents/`   |\n| **GitHub Copilot** | `vscode-copilot` | `.vscode/mcp.json`   | `.github/prompts/`   | `.github/agents/`   |\n| **Cursor**         | `cursor`         | `.cursor/mcp.json`   | `.cursor/commands/`  | `.cursor/agents/`   |\n| **Codex**          | `codex`          | `.codex/config.toml` | `.agents/skills/`    | `.codex/agents/`    |\n| **Other**          | `other`          | _(manual setup)_     | `.ai/prompts/`       | `.ai/agents/`       |\n\nAll providers register the HAI MCP server and install the full set of prompts and agents into the appropriate directories for that environment.\n\n## Supported ticket and spec providers\n\n| Provider      | ID          | Capabilities    | Description                            |\n| ------------- | ----------- | --------------- | -------------------------------------- |\n| **Atlassian** | `atlassian` | Tickets + Specs | Jira for tickets, Confluence for specs |\n| **Local**     | `local`     | Tickets + Specs | Read from local filesystem directories |\n| **None**      | `none`      | Tickets + Specs | Disabled / no-op provider              |\n\n### Atlassian provider\n\n-   **Jira**: Fetches active and done tickets by project, supports recursive linked-issue fetching, custom fields, and comments\n-   **Confluence**: Fetches pages by space (optionally scoped to an ancestor page), converts Atlassian Document Format (ADF) to Markdown, and preserves page hierarchy\n\n## Prompts\n\nHAI ships with 6 built-in prompts that are installed into your AI editor as commands:\n\n| Prompt             | Description                                                                                                            |\n| ------------------ | ---------------------------------------------------------------------------------------------------------------------- |\n| **implement**      | Full implementation workflow — fetches tickets, researches context, plans, and spawns dev agents in parallel by domain |\n| **pull**           | Pull both tickets and specs from remote via MCP                                                                        |\n| **pull-tickets**   | Pull only tickets from remote via MCP                                                                                  |\n| **pull-specs**     | Pull only specs from remote via MCP                                                                                    |\n| **optimize-ai**    | Optimize AI agents and prompts for your project needs                                                                  |\n| **review-changes** | Review the git diff of uncommitted changes, reporting findings grouped by severity (critical/major/minor/nitpick)      |\n\n### The `implement` workflow\n\nThe `implement` prompt orchestrates a multi-phase, domain-parallel coding workflow:\n\n1. **Fetch** — pulls the target ticket(s) via MCP with recursive linking\n2. **Research** — spawns a `researcher` subagent to read tickets, specs, and codebase patterns\n3. **Plan** — enters plan mode, creates structured TODOs grouped by domain (backend, frontend, etc.)\n4. **Implement** — spawns `backend-dev` and `frontend-dev` subagents **in parallel** for each domain\n5. **Verify** — validates each subagent's output and collects implementation decisions\n\n## Agents\n\nHAI installs 7 specialized subagents that prompts can orchestrate:\n\n| Agent                 | Role                                                  | Writes code? |\n| --------------------- | ----------------------------------------------------- | ------------ |\n| **researcher**        | Read-only exploration of specs, tickets, and codebase | No           |\n| **architect**         | Designs detailed implementation plans from research   | No           |\n| **backend-dev**       | Implements backend tasks                              | Yes          |\n| **frontend-dev**      | Implements frontend tasks                             | Yes          |\n| **refactorer**        | Refactors existing code                               | Yes          |\n| **security-reviewer** | Reviews code for security issues                      | No           |\n| **verifier**          | Verification and QA                                   | No           |\n\nDev agents (`backend-dev`, `frontend-dev`) automatically spawn a `researcher` subagent first to gather context before writing code.\n\n## MCP server\n\nThe MCP server (`hai mcp`) exposes project context to AI assistants over stdio. It provides three tools:\n\n| Tool               | Description                                                                                          |\n| ------------------ | ---------------------------------------------------------------------------------------------------- |\n| **pull**           | Sync tickets and/or specs from remote to `.ai/`. Supports dry-run and selective sync (tickets/specs) |\n| **ticket_pull**    | Pull a specific ticket by key, with optional recursive linking                                       |\n| **image_download** | Download an image/attachment referenced in a ticket or spec to a local file so the AI can read it    |\n\nThe server also provides instructions that direct AI assistants to read `.ai/specification-index.md` and `.ai/ticket-index.md` for discovering available project context.\n\n### `image_download`\n\nAttachment URLs in tickets and specs point at the remote provider and are **authenticated** — an AI cannot fetch them directly. The `image_download` tool retrieves an attachment using the configured credentials and saves it locally so the AI can read it:\n\n-   Takes a `source` of `ticket` or `spec` and uses the matching provider's credentials — the ticket (Jira) auth for ticket images, the spec (Confluence) auth for spec images. Each falls back to the shared `all` credentials when a provider-specific one isn't configured.\n-   Downloads to `.ai/images/`, naming each file by a hash of the source URL plus its extension (e.g. `.ai/images/<hash>.png`)\n-   Checks the cache first — repeated calls for the same URL reuse the existing file instead of re-downloading\n-   Restricts downloads to the configured provider's host (prevents the credentials being sent elsewhere)\n-   Returns the local file path; the AI then reads that path to view the image\n\nRendered tickets surface attachment URLs in an **Images** section and inline in the description (e.g. screenshots embedded in a Jira \"Bug report\" field); Confluence specs surface them inline in the page body. The AI passes those URLs to `image_download` on demand.\n\n## The `.ai/` directory\n\nAfter running `hai pull`, your project contains:\n\n```\n.ai/\n├── ticket-index.md              # Index of all synced tickets\n├── specification-index.md       # Index of all synced specs\n├── AGENTS.md                    # Auto-generated agent info\n├── tickets/                     # Provider dependent structure (example is for Atlassian)\n│   └── <PROJECT>/\n│       ├── PROJ-101.md\n│       ├── PROJ-102.md\n│       └── ...\n├── images/                      # Ticket images downloaded on demand via the image_download MCP tool\n│   └── <hash>.png\n└── specs/                     # Provider dependent structure (example is for Atlassian)\n    └── <SPACE>/\n        ├── page-title.md\n        └── subfolder/\n            └── nested-page.md\n```\n\nTicket files include: summary, status, assignee, priority, description, comments, and links. The description merges the standard description field with any rich-text custom fields on the issue (e.g. a Jira \"Bug report\" field), each rendered under its own heading. Attachment/image URLs appear in an Images section and inline in the description — fetch them locally with the `image_download` MCP tool. Downloaded images are stored under `.ai/images/`. Spec files contain the page content converted to Markdown with hierarchy preserved.\n\n## Configuration\n\nRunning `hai init` creates a `hai.json` at the project root (should be gitignored) that stores provider configuration:\n\n```json\n{\n\t\"plugins\": [\n\t\t{\n\t\t\t\"plugin\": \"atlassian\",\n\t\t\t\"provides\": [\"tickets\", \"specs\"],\n\t\t\t\"host\": \"https://your-org.atlassian.net\",\n\t\t\t\"email\": \"you@example.com\",\n\t\t\t\"token\": \"...\",\n\t\t\t\"projects\": [\"PROJ\"],\n\t\t\t\"spaces\": [\"TEAM\"]\n\t\t},\n\t\t{\n\t\t\t\"plugin\": \"claude-code\",\n\t\t\t\"provides\": [\"ai\"]\n\t\t}\n\t]\n}\n```\n\nUse `hai init` again to reconfigure at any time.\n\n## License\n\n```\nCopyright 2026 2am.tech\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n","readmeFilename":"README.md"}