{"_id":"@ariso-ai/ivan","_rev":"46-92bcbb3a82ef0803bf054b8ba931bec7","name":"@ariso-ai/ivan","dist-tags":{"latest":"1.0.45"},"versions":{"1.0.0":{"name":"@ariso-ai/ivan","version":"1.0.0","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.0","maintainers":[{"name":"ariso-ai","email":"max.heckel@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"61ce2f4e00598f1ee8df98194bb3114cee596ef1","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.0.tgz","fileCount":150,"integrity":"sha512-mFrpzM5zgyItsMlB3mbjRxKN0MiW3RMTqc8hTdAc9nC0YGQt3bjGex9bio3Hl3ND8JFuorM4aQXswBc6BQlwIw==","signatures":[{"sig":"MEQCIE3Y4mHHcjzA9e/C+DN0SZm0+xT2wFNy11QLix+5c8+uAiBjOVEj8ehAdjnV2Jena1LjDuG+q/SxUXbWZmqXU65+4Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":505054},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"a8831ac6a6711f6ccd67bee37abf5cf23d173795","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ariso-ai","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"10.9.2","description":"Ivan - A coding orchestration agent CLI","directories":{},"_nodeVersion":"22.16.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.0_1759679939661_0.34070974722759395","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@ariso-ai/ivan","version":"1.0.1","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.1","maintainers":[{"name":"ariso-ai","email":"max.heckel@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"7917283ed3b6e72e954412d931eb4947fb7172f8","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.1.tgz","fileCount":150,"integrity":"sha512-JJp0PB192UWukhNOU5yiSu3SCDMEZGus6Hy8916Hgnc2H2RfFzYilswG/56yDFciMbaRdG9iPP8zX5YyBXwsoQ==","signatures":[{"sig":"MEYCIQD6a6RQrS0d1OxZH8LufptjCjW3VQh/+dWlKr6IsdLdFgIhAPqJsbq6d1hT/Ps4McIn/dhEYzkucJysc0qzJbNEgGn3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":506248},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"d00b3870ea587404724a99a360de86b66612a3ca","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ariso-ai","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"10.9.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"22.16.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.1_1759680213896_0.6900284181926564","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@ariso-ai/ivan","version":"1.0.2","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.2","maintainers":[{"name":"ariso-ai","email":"max.heckel@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"2660f21550d6ae0eed56135ef163e9f937a60d4b","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.2.tgz","fileCount":150,"integrity":"sha512-cYu/0mCdiZvJkOQ01tezUDa/1ys1qmTTyWLRpb9egBa4Vb4EFkIH8VhomTODm+4Y529DYlHkNNXhtZfJnHYx9A==","signatures":[{"sig":"MEYCIQDKUp7OOyNNnDyoTXu0EXtzWgFCyC9cMcpdxX16b//JHAIhAPTpdy5daJ28xeq7dvO8oIWpEIvKt/pgGWI424MKEPC/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":506210},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"7e9e07afa24d7c77dcc4b2dae04e33aa8057e670","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ariso-ai","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"10.9.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.2_1759680311792_0.22479022234248958","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@ariso-ai/ivan","version":"1.0.3","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.3","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"f4c253345499bdd3dafe2e45aaaf782e1d7fd289","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.3.tgz","fileCount":150,"integrity":"sha512-l2SnhuJW7ZUN/O0LbCO8RhH1zalCGaUCy8O5RMpM7EnlK+/moCgl7ghtdYdk9BjR9/Fhra1nPYpfPlQQUpflSg==","signatures":[{"sig":"MEUCIFHomgm0wnyc7WCBn6oOysguDg64G6OIS1JhqNs2VSk4AiEAu/tVg06hNc2B4/kU9uKLMDvhQeC3izRrrXfj5SYSl04=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":506752},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"ff79778f13b3eebb42cd448526ed951cd9c887b9","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"10.9.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.3_1759773140529_0.11384722090038579","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@ariso-ai/ivan","version":"1.0.4","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.4","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"93b5077c2b4654d994d441e1497fa2a7223c5fd3","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.4.tgz","fileCount":150,"integrity":"sha512-fEJACyyAV8IyCkuWtUQUSZgOYZYMHWWkoH+I0SDhAO4A6XgV78gLdbjgYTvTBVf9ijixJzSEl09A/+HGrRuflw==","signatures":[{"sig":"MEYCIQCnN9h99YPRZJZe6682xhlVnH7Qqop/HjfONt4JKm8AlgIhAP2vkycTeGoWCvl13vVHTyiRgZS38oQ2XAOXZJHWfrSz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":507916},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"0ab920f7aa1ae5781950c84ff981c8b2d433a2e4","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"10.9.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.4_1759946926899_0.15424253949209143","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@ariso-ai/ivan","version":"1.0.5","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.5","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"4a38ea8b2dab56deef1752c93e91c0ef62fee685","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.5.tgz","fileCount":126,"integrity":"sha512-OdwG9vsy1O/FfGepdGkhVgF5uixNkKODO17xSB7J7jiv1is+7YUHwN+vkoo8YuyWNwF4p7WutVK4JR/SMhmrnA==","signatures":[{"sig":"MEUCIDFrZI9Jaqb4SjBNebRVCSP+X9pusVaiDxjnD7p7oYsqAiEArqEIy2YbUOqo9Kkpywxd4KcoPcoFVAJh79acyZOL50Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":462127},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"d6909e8f2dcfeb274e2f74ee6158bd682c8f966e","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"10.9.4","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.5_1765469761241_0.07156555952573718","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@ariso-ai/ivan","version":"1.0.6","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.6","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"488153ad8b38288501532c5a0fb9e758c92428c4","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.6.tgz","fileCount":186,"integrity":"sha512-bahReSfk1dCtRWjE8rGtjHb3rrSUoHn81syVUK7xuV6Tt0KPBiPKrBsttnbGT+FXqav3RIFhx3Rq9SmgrSLeag==","signatures":[{"sig":"MEYCIQDwO9vRoMugbIZITyHQd2L0b/1MzgBrIU2qouAts14S/gIhALqmqvNH957ODQ9NsDcxBNTbvw/lPgvngZbKOh02pB4l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":715929},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"3eaa321d6979d9d159ee0f67ce111f249f984b9c","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.6.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.6_1771360867579_0.10941038875967402","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@ariso-ai/ivan","version":"1.0.7","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.7","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"c803931c41172e06152baf940dea4030b2b81290","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.7.tgz","fileCount":186,"integrity":"sha512-Nqgsobpydsi7JPUJt4Xf+I7RE2Yjf6MEEbRuM1D56wbSslw8crLNwHMo2KdwiHfovvI0JZeinYdO1Vc1UjlYNg==","signatures":[{"sig":"MEYCIQChnVEVLCN7a+8JbX1bIJ5Imc+C/bzqZezdX0+VwzTpRwIhAJ88V6Mt3VMjtF+ZPXbdjL3ep1lJU2AIMFXjESmKMk6n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":716429},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"3eaa321d6979d9d159ee0f67ce111f249f984b9c","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.6.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.7_1771361619759_0.19123772699283714","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@ariso-ai/ivan","version":"1.0.8","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.8","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"10b2040a8cccfc0ba9307b778405d04ace586d2d","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.8.tgz","fileCount":186,"integrity":"sha512-CKOFQP4rH6FaBsl+OenuInh4dmcM2CgJIlNfPvn6XDKsiF3vPhQAWTi6AucVN2dFzU0FMUKD1aYeBcfNXxgx1g==","signatures":[{"sig":"MEYCIQCp3XOG/7hCTqlGvGxs+w/Lppnjbd4nnKwUvq0O/iRUoAIhAPZoJYGyVifxXYSR7otoi+zEzFrGr2ZQFZsQfxRNjig2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":718069},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"e96dfe7965e33b5e0c3fa10ae539b595ccc82cab","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.6.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.8_1771362601950_0.20770114651631078","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@ariso-ai/ivan","version":"1.0.9","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.9","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"1cfc1e3977087bd0638f376739defcfbc080bbad","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.9.tgz","fileCount":187,"integrity":"sha512-bsY3AzGiX+r8fSsBC0YYfy4YI0nAxAMKQhhK/n93h9wZ96jCT1e4475AFB2YhAWBOL8FIP0PLwMR1SG1q4otVw==","signatures":[{"sig":"MEQCIDSZvSWM9WOUgLD9cuGoQhbMxiEMVAr+QA9reLPUN6xtAiBbzhfrJdD42EzLzFLyf729i55rmUfH1NAAW8AM0Qv65g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":735213},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"3cb47ebf1a0835dc6aed2e608518b5624663baa4","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.6.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.9_1771363633115_0.04592790258880819","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@ariso-ai/ivan","version":"1.0.10","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.10","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"3bf7ed2937490a366bd9a410368b3ba24c7df724","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.10.tgz","fileCount":187,"integrity":"sha512-QCvGp1+kwbtP47cbA5w/Fzk0xVfv9DOK5uIQSkAIKh/UM9AINhkb3hS+c62LSV3wW0by2SuCVbgFhPJDbEc0eA==","signatures":[{"sig":"MEQCIFJKkpku6afXC1trPW0C01VkAcxdnCwEUZkJyvu6OomlAiAhjnjkDCkKSgQ+rJMbFlWFySL2Kcv/gPvB8pcp/EDNCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":750221},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"301a13ae6a5262d1a7cf3d859554056d62e64889","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.6.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.10_1771382180575_0.5843036035418365","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@ariso-ai/ivan","version":"1.0.11","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.11","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"1a88d13c9f3e27d0dfa3db75e3fe22385ae57187","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.11.tgz","fileCount":187,"integrity":"sha512-eP06EDXn5G/D9IgI6NW9O6FlwUZ37GQ9zamgGCNXxFqHitF1P/zZX1IE1A2dfcPMDCa/1YhHcPL2O3MsvLDmXA==","signatures":[{"sig":"MEYCIQDj2iBnFfXNfKNsIVp2yS04s6aJ5dubnYbaDdkVn3WsIAIhAMYs+6oo5DZRvS1268nU+LZqga3V3ZoURnsMJBhUhq5d","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":750619},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"7caf3c9228209535996da2035ce9f9826a35e5c5","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.6.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.11_1771383033316_0.841036134437434","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@ariso-ai/ivan","version":"1.0.12","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.12","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"eef0db28d30148370e19832220e2b95531b1b006","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.12.tgz","fileCount":187,"integrity":"sha512-SHhEYJIC3C+xPqNcGBHTR4cSUZg5d4f41MxCofiqu0BeOds+tt/vDmhZm0ccBXnDEi3xV/FnUglRePGftz0W/g==","signatures":[{"sig":"MEYCIQCdX+JBsiO4wvqlRtxD4AY78PpgAeztzjmUy/F41lAongIhAIXA57ATQTay8MdTTgy1KBCUlRgc4U9vr7XiF51a1qqC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":759280},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"f0937bc2f9af1213c8e3236fe1cf4767954168c8","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.6.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.12_1771388049050_0.025942825128131064","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@ariso-ai/ivan","version":"1.0.13","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.13","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"0c84e28c6d63ef6bc87426bad3b2cc244b25d5d6","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.13.tgz","fileCount":187,"integrity":"sha512-ZrD5nX/EQxoZxAO3nxBpojQ+ElXc4A7NDsY0yWLA4FdQ43JhJmI2NvWo7AduVF7i8rWzpugzeHTNekVs+R8bEw==","signatures":[{"sig":"MEUCIQCfdZJf3F/jAuiZuWUebz0HJUV3imfSbE9zekN7KdDKtQIgdinxqDBsr/juFwgvvZJ9KQPiHiZp7njwY92Hh/Z7AjQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":764523},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"8a5c40f444c0f033cebb161e55e9cd8513b164ba","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.6.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.13_1771421333566_0.42317111387002493","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@ariso-ai/ivan","version":"1.0.14","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.14","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"066ca461f35fc152fe0add4bac467b8b2668ac82","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.14.tgz","fileCount":187,"integrity":"sha512-sCnGvKjpJCHC5pBNFFM5ciToahUvcbP0fmBdjXitEcbEwgynPz1OURPbOz7HnzF3ckcmztNpgC94GXDI3DNPZA==","signatures":[{"sig":"MEUCIGqWiSYKJehde1+gpNCTJnfg+Om7WzdDkvBvYZp8U2q4AiEA6ljqroJ+x1Hc2C+P/lZ4MG5du10EXwdMAtpht1dbRkA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":763880},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"04498bdacc05c113db5883c539578a1dd77fd095","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.6.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.14_1771421989874_0.21471864410739716","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@ariso-ai/ivan","version":"1.0.15","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.15","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"cfaf4e68073d733cdbbfbfa4787864b2001e5378","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.15.tgz","fileCount":187,"integrity":"sha512-Sqo7/OKmzyq2AL0m5vavjovCJzd+Sot0SiXpwmZbVyHCWbomnF6LelyeYkkbyguS3AvOEiNTKvty+lDvykOmjA==","signatures":[{"sig":"MEYCIQCNtzHjxtb5kFBJhE9hQ+ZCHwQ0qn3V4rNC1xe8JChOJAIhAJ3yty0WgGuKIev3Ccv7AxwKPl9E5ORKdFmvMyYHsgeH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":767156},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"35750c63380525327f2c2c2b1e69866e70687839","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.6.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.15_1771422112262_0.7592607432843559","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"@ariso-ai/ivan","version":"1.0.16","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.16","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"0bd12d3de2af254598c0317ff2c519d04919d6ac","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.16.tgz","fileCount":187,"integrity":"sha512-iOg739mRMZbqGg5xUCGxL/4l6aqncFQcOED1BVtENVeMBdMVB2yws/gr+A/TzwE7uQY1OxR3qFtSmCP6O/g8qA==","signatures":[{"sig":"MEUCIFiwbLaN+lcYEKuRqdGCMZ3Rey3UVkaXW3K3Gjc8WITlAiEAkTgLyqpyXVUUdXKxg2U4l1QxMYGhqOwpEhAj09OKEcA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":774872},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"59e2a4c9b9b0b53a23b5298bf3c4f91e657638eb","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.6.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.16_1771423063642_0.9122575358864573","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"@ariso-ai/ivan","version":"1.0.17","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.17","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"846c9394f8c63feb4d5bcb2b2a8c07b8cd103eaf","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.17.tgz","fileCount":187,"integrity":"sha512-KEtrJY58rG58+XdyTKjRh4ltHkF2vInoSc0jWXURctAGP49z9poQ7MSutw8P9SOazjMpx+0iTm97KRTf7HBYmw==","signatures":[{"sig":"MEQCIHIxUa0NRzEKEP8FVKz69tR9tyi/5iuCRvz1QVUuTtLPAiAb8zre10EwS9epbI9qQodYgrbSm8KR8xx4cWXmyAcy8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":779651},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"d87365a9f890da686392e624a4fc44246a8f89fd","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.6.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.17_1771435719462_0.04664559854530537","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@ariso-ai/ivan","version":"1.0.18","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.18","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"47684ba9c10f03ce788a4921616b27668d8d75f5","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.18.tgz","fileCount":187,"integrity":"sha512-M88gevdFVbNXg6MRXSLpRaOW4qWRmV6VrndK5h4pDyxwo8TS9KgY3sTKP9VkSrU9yVnSSNopyJAv2R4yyhyeow==","signatures":[{"sig":"MEUCIQCcqZbYt5UsSUof5ADmt37+uz+69QkJ+XPt/qQ+58jnUwIgVpQgyxxM6RsWIkXigDG7fXfu1ZbhtGYd9+dizZFaz8M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":785697},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"fd871245cd2b821557eefcda59994a48878a8193","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.6.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.18_1771440556267_0.6696107658212604","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"@ariso-ai/ivan","version":"1.0.19","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.19","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"8cf72a86d9835e5b69f37f698830ea03b5e8906f","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.19.tgz","fileCount":187,"integrity":"sha512-zEW/HXCW2pc3DOuzZDNCD1Htx5bvCmA1ZKnq12+rlqcjwvOL4kIzQ4rINy3aJcpgDB9MTCu0ZD8qDiscfj5EAw==","signatures":[{"sig":"MEQCIE6nXIjDtT51+cKc424SOa/NaoRGrpshCWyi2/rCjQayAiBL5QE8Fttt/fnJrVNzo1sdubpaOK6uXYkezdJ0ckoV6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":789925},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"e7d2073845110bd9f79c8faf5b85d83ab7a5cbae","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.6.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.19_1771446626670_0.5788553137903278","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"@ariso-ai/ivan","version":"1.0.20","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.20","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"620e0debe32486839de641e123842d7a26c9ff59","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.20.tgz","fileCount":187,"integrity":"sha512-IcuLn1ZuwsnYsWvvpHzRoTUNjI9O3m/p8vnX/pZ/U5+zqI5bFL5OxnBq3pRVpvJO3t69dO1XXE1paB7iV2ouxw==","signatures":[{"sig":"MEQCIEYX8STvpOKgYMhvxQ3skBc+1fec+skWCfGCDZv4pE02AiA1n9VTxdrWbqve38sIs+W6UbBRZLUT/NvlEMUUAU8Thg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":793628},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"e5c47cf2b29fc341056859535dd55eec64e9d138","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.6.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.20_1771510956125_0.6189255027388609","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"@ariso-ai/ivan","version":"1.0.21","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.21","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"caf13956dba576e6ca4015ba82cca5f008eed81d","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.21.tgz","fileCount":187,"integrity":"sha512-E0qm+RMyU4Y8udsiMqtMCQwVfJm4I8mMZjX95JM1frd5A5fRGIf17r05a3/w7Hdvm06DlWbxWqApXi7qxJLz9g==","signatures":[{"sig":"MEYCIQDmunZUh0cuTdWODcAAwPRxKNzdks7PZOPTThF3VnHwnwIhAKo67PynElo/unBqEbb+jPePKZ1JgFmYK29Xk09kroOv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":795218},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"38bb675cd5a68e548853d10a78fef6ba40e2356b","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.6.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.21_1771512790760_0.12537090634778725","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"@ariso-ai/ivan","version":"1.0.22","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.22","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"ee91e3e5ab34e02cea7192cb6ed9c6bd8caf10e9","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.22.tgz","fileCount":195,"integrity":"sha512-iZTeHcwZFIpI7NGoZ/Iux1lfvgJmKDpzwZ1+KCSC3mDOIeG7Byvi1P7FKk/A1sBamxXtQA0ycwb4uQ8fMaCrmQ==","signatures":[{"sig":"MEYCIQDZL5vQaEfhxmDZ/T/tYrJvMnNT2As9I8nigRb78YyHlAIhALYfmQDYyny7y7n/LA8EcJgXWL8DlqSooRfurBKvGDu5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":800632},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"a90165f1f2c75cf3c9bbcc360245a9a88f6858a7","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.6.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.22_1772039226865_0.5221875520889885","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@ariso-ai/ivan","version":"1.0.23","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.23","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"3aedba1a665b337df59f6ae3b5020e1172c4f457","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.23.tgz","fileCount":203,"integrity":"sha512-Si/e2+RI4oye1n8Bq6ec8KlAb/hBWDfePIOJCLGcPkOGbWtgXDujWd7SKTyFO8C1PcAV206p4EfINji8ekYRhA==","signatures":[{"sig":"MEUCIQDz9gtAkeYuou7YTpmxdWzWdsgLNGegZvyfHJbESW+4fQIgSUAz3XzUiWH4RvK5cNH6fOdbCSFQ9r9dPqjOr+rzqTc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":822385},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"594d9c1590b34e4aeaf7522afc42914962f86253","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.{ts,json}\"","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,json}\""},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.6.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","prettier":"^3.8.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.23_1773013485432_0.8587159294807376","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"@ariso-ai/ivan","version":"1.0.24","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.24","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"ba66ac4cc71ede50b6f69e90357c97f19530c329","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.24.tgz","fileCount":207,"integrity":"sha512-2ga1lcT6wiU8dTaTqFKJt6gaWrf7eiqSOGfBtFk3EMRtItOhitKrX2uFEymwuxxg9tq9V5iB3T7FXIKvGtdbxA==","signatures":[{"sig":"MEYCIQC9uM6SdBuJ/dGupiFWaDHqu9ceXsXqnSfq9FM5bvpiRwIhAM5XSqwPLMlkj10sqIe2hZtO11H+M1JktQuWrTDE7rFw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":834297},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"b46b283aa4b7444097c38d78748d204a10034a77","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.{ts,json}\"","prepare":"npm run build","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,json}\""},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.6.2","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","prettier":"^3.8.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.24_1773197551984_0.6911052929940213","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"@ariso-ai/ivan","version":"1.0.25","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.25","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"08fb3e000715e0328c5cb2d27dc4a30c0724d38b","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.25.tgz","fileCount":311,"integrity":"sha512-vvwOpum0mtMDgTivbQ05/jL76jJX6esG2qNJaoxG+qKix5W6ujhPgyBaehSQV3jpfkspKVxggeAot1fqTrjmtA==","signatures":[{"sig":"MEUCIQC9nAyINONSQXFTLQsUPxrsA+P9/zcPNHBhoA/XQbvJ7AIgB8vfyZm6AIJgy8WoQLN1mXm5qhYY1gp3Gn/d2UPQQu4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1052232},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"7db858bcbdc3aa034c71a0193976470786aac6ef","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"npm run build && node --experimental-vm-modules ./node_modules/jest/bin/jest.js --runInBand --config jest.config.cjs","build":"tsc --noEmitOnError false","start":"node dist/index.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.{ts,json}\"","prepare":"npm run build && git config core.hooksPath .githooks","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,json}\"","test:e2e:learnings":"node scripts/test-learnings-e2e.mjs"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.9.0","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","sqlite-vec":"^0.1.7","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","prettier":"^3.8.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.25_1776181244950_0.790533657239149","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"@ariso-ai/ivan","version":"1.0.26","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.26","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"64a931e3c70d6a0d762f41ce1458064652cc6896","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.26.tgz","fileCount":319,"integrity":"sha512-IPhVZvtvOBu87vsmlh4JQT4iLRWAI1LUBS2hvoADnyPczBs9mHOGGxNNBqcc+BdZZSrswAPzFaJvYphu2bseQA==","signatures":[{"sig":"MEUCIQC/sHnks2FcXQwvCkxhA3RIAzPrgSzGS1i7fZoxijAs+QIgZboyKBlWbr4Fyw5qtNTRVmUI8uDbbZmBDky5qOUdYrM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1065296},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"7db858bcbdc3aa034c71a0193976470786aac6ef","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"npm run build && node --experimental-vm-modules ./node_modules/jest/bin/jest.js --runInBand --config jest.config.cjs","build":"tsc --noEmitOnError false","start":"node dist/index.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.{ts,json}\"","prepare":"npm run build && git config core.hooksPath .githooks","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,json}\"","test:e2e:learnings":"node scripts/test-learnings-e2e.mjs"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.9.0","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","sqlite-vec":"^0.1.7","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","prettier":"^3.8.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.26_1777686745090_0.7547161536340183","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"@ariso-ai/ivan","version":"1.0.28","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.28","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"aed970e43f4a724a77fbe15f03c0743dfdb9120b","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.28.tgz","fileCount":335,"integrity":"sha512-GCPpSAP9ZiZqNi1HJRauzNrmlnVgKbnmFJx8CM10R5rB6FtnS2PgdSh77/SLLnkXeLsVR56e0YSuSL1YXVH81g==","signatures":[{"sig":"MEYCIQCqOeMypoZBcyDhXSrNX728nnR9vqcR3WmDIbSg7nzpMgIhAKFt7lCJLNw4J14VcHUPjAYB3a1c+RwBuqHmdsvwHy+d","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1136102},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"21e984e5e418a9827c52f6671655b273093fd9f1","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"npm run build && node --experimental-vm-modules ./node_modules/jest/bin/jest.js --runInBand --config jest.config.cjs","build":"tsc --noEmitOnError false","start":"node dist/index.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.{ts,json}\"","prepare":"npm run build && git config core.hooksPath .githooks","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,json}\"","test:e2e:learnings":"node scripts/test-learnings-e2e.mjs"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.12.1","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","sqlite-vec":"^0.1.9","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","prettier":"^3.8.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.28_1780418857336_0.5813701601309635","host":"s3://npm-registry-packages-npm-production"}},"1.0.29":{"name":"@ariso-ai/ivan","version":"1.0.29","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.29","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"5a29970b5b4b135cea8d29c8c7d7347ad39d06ae","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.29.tgz","fileCount":339,"integrity":"sha512-+PxljOLXn035a6tB6dxFvHkD5CY6KGFTkWAs5WmaDlxUvUnfoJyZUHE33Sm/3f0GQfofrKDvAmgDm1PweREVQw==","signatures":[{"sig":"MEQCIFP/2Sy7KhHMtBbgeZzhHQKizAfG0EM9iaDg9n/XbNXSAiB0rBOGTTYT4bT5o2BNUYjQ0dU0lIknr2dRF8yPSb7/gw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1177003},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"7c0af02e30f7869557e7acb828cf2181c935145e","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"npm run build && node --experimental-vm-modules ./node_modules/jest/bin/jest.js --runInBand --config jest.config.cjs","build":"tsc --noEmitOnError false","start":"node dist/index.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.{ts,json}\"","prepare":"npm run build && git config core.hooksPath .githooks","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,json}\"","test:e2e:learnings":"node scripts/test-learnings-e2e.mjs"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.12.1","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","sqlite-vec":"^0.1.9","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","prettier":"^3.8.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.29_1780929534746_0.14157464011186782","host":"s3://npm-registry-packages-npm-production"}},"1.0.30":{"name":"@ariso-ai/ivan","version":"1.0.30","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.30","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"8b1dfb0446d997cd2ef2a16b9d2763c60991b606","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.30.tgz","fileCount":339,"integrity":"sha512-qWopQ6EU0AoMLJHHvSYibC1hkyTxUih/6e8IiGt8RgGHG/BrIzIpelu0tiIujWB/4m0zN22dmo5HE4Te4wxO4A==","signatures":[{"sig":"MEYCIQCHjkRPpNKwp5F1vGtpIetuTm88o3hb6RT3I776+OB7PgIhAICHRVUFimElQoUoTUIZUhK9Z2OZ28PCIKLow0GRjjp8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1177759},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"b0d08f62261176d670f557709c82fb4fcc9f654e","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"npm run build && node --experimental-vm-modules ./node_modules/jest/bin/jest.js --runInBand --config jest.config.cjs","build":"tsc --noEmitOnError false","start":"node dist/index.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.{ts,json}\"","prepare":"npm run build && git config core.hooksPath .githooks","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,json}\"","test:e2e:learnings":"node scripts/test-learnings-e2e.mjs"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.12.1","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","sqlite-vec":"^0.1.9","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","prettier":"^3.8.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.30_1781012398328_0.5357925014350526","host":"s3://npm-registry-packages-npm-production"}},"1.0.31":{"name":"@ariso-ai/ivan","version":"1.0.31","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.31","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"e297aa69d0d125c8f7f3e7bc0e13e57f220d1f45","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.31.tgz","fileCount":339,"integrity":"sha512-bO4ZbyTQ20PXiIa4UVmzF/VtLeU5BfDFawcRf65TyFG+ytHDgXUa+GBTYZLyiYq4F4S3aKMPDeQvURu+ju5vog==","signatures":[{"sig":"MEYCIQDiVYLnqPoQF81ncpBZmsUOlU87LdouO8y8vMwXjDKluwIhAMQs7GhjoJMySycdbp/MNG1YlcRoo8mdmDWZu+3uGd0O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1177832},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"beb6b3f8ea0107958b354cfae329d0e9c58dde2a","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"npm run build && node --experimental-vm-modules ./node_modules/jest/bin/jest.js --runInBand --config jest.config.cjs","build":"tsc --noEmitOnError false","start":"node dist/index.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.{ts,json}\"","prepare":"npm run build && git config core.hooksPath .githooks","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,json}\"","test:e2e:learnings":"node scripts/test-learnings-e2e.mjs"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.12.1","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","sqlite-vec":"^0.1.9","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","prettier":"^3.8.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.31_1782848031385_0.4761567394514319","host":"s3://npm-registry-packages-npm-production"}},"1.0.32":{"name":"@ariso-ai/ivan","version":"1.0.32","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.32","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"4c156a21888be5afb0c0e75727ab720f41ae26b5","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.32.tgz","fileCount":339,"integrity":"sha512-LnkXUs50Kefdvf70uwYtZGtLzZfQLzQzEAgI/8OtyzfoyWEq0DEWB0pOUAkEfyFOVydCt3BlCxnOcbS7gBomcQ==","signatures":[{"sig":"MEUCIQD3g5Ef2A+bixBzJ1u3Tqukh9ODy8ogZ6oRE0wsWMFewwIgA3gl1wvNRdh8CCYl6ogSjFoq+T06LHMrycBaFGH90qI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1178916},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"5a118657397c6b6e30143144e3cea00823f89058","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"npm run build && node --experimental-vm-modules ./node_modules/jest/bin/jest.js --runInBand --config jest.config.cjs","build":"tsc --noEmitOnError false","start":"node dist/index.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.{ts,json}\"","prepare":"npm run build && git config core.hooksPath .githooks","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,json}\"","test:e2e:learnings":"node scripts/test-learnings-e2e.mjs"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.12.1","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","sqlite-vec":"^0.1.9","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","prettier":"^3.8.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.32_1782848827674_0.33387275814914763","host":"s3://npm-registry-packages-npm-production"}},"1.0.33":{"name":"@ariso-ai/ivan","version":"1.0.33","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.33","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"fef68490c134f1cc223fb54f30612610d79bed7c","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.33.tgz","fileCount":343,"integrity":"sha512-r8TEkODAagM7Zc8CI5Iud9YL3Mn+1vSLiAfEBopM2/hc8rldZ+/AvTP72rFF2V495C6Z7m4QqzcCRlQR4Rng+w==","signatures":[{"sig":"MEQCIAusBizM7g3hcOIPeROinJsdqQ20VKsyyaH+w8B3DcZzAiBzA6MlMHwgSK2FIetaiTdB4Ejeo11xvUISbtI+82gMgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1195398},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"7a28191e6ca1a1897336ff530c3bb1ac3d602b89","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"npm run build && node --experimental-vm-modules ./node_modules/jest/bin/jest.js --runInBand --config jest.config.cjs","build":"tsc --noEmitOnError false","start":"node dist/index.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.{ts,json}\"","prepare":"npm run build && git config core.hooksPath .githooks","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,json}\"","test:e2e:learnings":"node scripts/test-learnings-e2e.mjs"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.12.1","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","sqlite-vec":"^0.1.9","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","prettier":"^3.8.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.33_1782913920079_0.05730955292133322","host":"s3://npm-registry-packages-npm-production"}},"1.0.34":{"name":"@ariso-ai/ivan","version":"1.0.34","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.34","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"8271e1e296c1d2daf6277c96aee8e989f38675a4","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.34.tgz","fileCount":351,"integrity":"sha512-6i+jsEQ7QlKe6qskmPxzD/Jka27m+MjwBstAK8Kc/dPkRMpL9btwI+VyITwnq6XEGba9OidhArzCUExMnw02nQ==","signatures":[{"sig":"MEUCIQCqrtq4NDi0UJLQswBRCLo4RlT1qAciksutsuGUKrWTmwIgR2GgZBe9JMH4RLzVKB2Hlo5prL09tpYVD/o+H3mXVFg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1234825},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"2e3402540f128390766efb326d14c2b64de41e59","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"npm run build && node --experimental-vm-modules ./node_modules/jest/bin/jest.js --runInBand --config jest.config.cjs","build":"tsc --noEmitOnError false","start":"node dist/index.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.{ts,json}\"","prepare":"npm run build && git config core.hooksPath .githooks","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,json}\"","test:e2e:learnings":"node scripts/test-learnings-e2e.mjs"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.12.1","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","sqlite-vec":"^0.1.9","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","prettier":"^3.8.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.34_1784059406500_0.5370860205744892","host":"s3://npm-registry-packages-npm-production"}},"1.0.35":{"name":"@ariso-ai/ivan","version":"1.0.35","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.35","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"6fdd70fe356217608527de20527881382067be88","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.35.tgz","fileCount":355,"integrity":"sha512-86p3bfD9VrvxGFqVtYmhbd5CbIbpmajeZp5Jr98Gc5qO37uw7VvoRVvch2IM4ZZHvKtNnqXRnj5zSAUzAAwnpg==","signatures":[{"sig":"MEUCIGMAjSBJoMa2XNvr2k2xpOrjIgT6TWx9T45H7dZbQG+ZAiEArN4p3spRdUMCIISTlw0fTZh4ut/wbFU/7R9Ly2TfCzY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1260416},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"2ebcbe4ae4397e127404925c4f04c490fde5bdc6","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"npm run build && node --experimental-vm-modules ./node_modules/jest/bin/jest.js --runInBand --config jest.config.cjs","build":"tsc --noEmitOnError false","start":"node dist/index.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.{ts,json}\"","prepare":"npm run build && git config core.hooksPath .githooks","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,json}\"","test:e2e:learnings":"node scripts/test-learnings-e2e.mjs"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.12.1","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","sqlite-vec":"^0.1.9","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","prettier":"^3.8.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.35_1784298350333_0.3472114382477054","host":"s3://npm-registry-packages-npm-production"}},"1.0.37":{"name":"@ariso-ai/ivan","version":"1.0.37","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.37","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"e809063c81155bc51ba8af0c1131f52d5807f253","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.37.tgz","fileCount":359,"integrity":"sha512-frRuqPxUv9UEBR/iP0v9gVQKI8eyvi7dkayBpuRsvPGke+l/amBZI4h2yR/C8wLkfw100zG159indFbVOXIDwQ==","signatures":[{"sig":"MEUCIQCHxj8M8Jt7yH/+4Y5cuAeXbksz53D9tBvU5UEndHulegIgIAio6h84799MzBOtQKEXa8bw0QYBG2ZCnD4dgqQrCj4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1276299},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"9650dc8f6721146235cc6c4e4f5539a95f8bf75d","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"npm run build && node --experimental-vm-modules ./node_modules/jest/bin/jest.js --runInBand --config jest.config.cjs","build":"tsc --noEmitOnError false","start":"node dist/index.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.{ts,json}\"","prepare":"npm run build && git config core.hooksPath .githooks","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,json}\"","test:e2e:learnings":"node scripts/test-learnings-e2e.mjs"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.12.1","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","sqlite-vec":"^0.1.9","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","prettier":"^3.8.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.37_1784336665607_0.9253886715078139","host":"s3://npm-registry-packages-npm-production"}},"1.0.38":{"name":"@ariso-ai/ivan","version":"1.0.38","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.38","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"8f363d308c33af0779388ea32cf2d392da43491a","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.38.tgz","fileCount":363,"integrity":"sha512-1/PWaz3VF5Z+2LVDpNSXvEzOBRGXbDnl8TswLkc4pWg2C87rVkOuypDF+bq+R4MFelInniAGcrayrDsOhwnj3A==","signatures":[{"sig":"MEYCIQDjvNqwVeK8s9bn8plQAhnk7tEHFeAGnLLPW1dOJj6s6AIhAJVx+8T0yyLIPttP/slpl2wNDetiB49BDUPfXvUO4/0E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1317064},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"5da89d9f5c422f29bb9ac7d9d8c1ac20d9986792","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"npm run build && node --experimental-vm-modules ./node_modules/jest/bin/jest.js --runInBand --config jest.config.cjs","build":"tsc --noEmitOnError false","start":"node dist/index.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.{ts,json}\"","prepare":"npm run build && git config core.hooksPath .githooks","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,json}\"","test:e2e:learnings":"node scripts/test-learnings-e2e.mjs"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.12.1","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","sqlite-vec":"^0.1.9","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.111.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","prettier":"^3.8.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.38_1784499344458_0.1765231255122377","host":"s3://npm-registry-packages-npm-production"}},"1.0.39":{"name":"@ariso-ai/ivan","version":"1.0.39","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.39","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"a6c4c138bee730c030a97d85398dd1925f4b69c2","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.39.tgz","fileCount":363,"integrity":"sha512-wq0Na51KmJEeHnLzKg4ngvUarRM7f7HJrqVy0ZamKOxh3mlx/HXjNCUVp1LiSkQ+XblcrvvB+00JoI9BZMfAcw==","signatures":[{"sig":"MEQCIBhyPftR3Z4WmRtgi1LfZxyh5hC5DgMjDJCaA3sa/BF8AiBQwoVbUT3TCMOgCsPDEe1qaYu5EyMGLX+jp32CewYd8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1317394},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"006681ebcff1874ced05a7285d76eabca6d2c4d1","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"npm run build && node --experimental-vm-modules ./node_modules/jest/bin/jest.js --runInBand --config jest.config.cjs","build":"tsc --noEmitOnError false","start":"node dist/index.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.{ts,json}\"","prepare":"npm run build && git config core.hooksPath .githooks","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,json}\"","test:e2e:learnings":"node scripts/test-learnings-e2e.mjs"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.12.1","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","sqlite-vec":"^0.1.9","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.111.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","prettier":"^3.8.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.39_1784503628724_0.1364305839400759","host":"s3://npm-registry-packages-npm-production"}},"1.0.40":{"name":"@ariso-ai/ivan","version":"1.0.40","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.40","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"c10307481aa81fe6adf63975478c0cd59016b8ec","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.40.tgz","fileCount":363,"integrity":"sha512-aoJHUjH7zOLpi4gYUORQP3XVb6l9CPdbKV6+tM8gxyPHS005XLFWiSx9n1L8CQWBTSk/2WdTfSoK7IavQ4xzdg==","signatures":[{"sig":"MEUCIQCEGGoHbLZ1tVhrhYKvthV0cgd2Ibd0p1AILOILLzSB8QIgPFQMhMjM9ORhj8zFUyyXKgt1OeueAnTR6LQRtkPw0Vk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1317394},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"975882e3695004abce1e31c98ce63d7f8fcde873","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"npm run build && node --experimental-vm-modules ./node_modules/jest/bin/jest.js --runInBand --config jest.config.cjs","build":"tsc --noEmitOnError false","start":"node dist/index.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.{ts,json}\"","prepare":"npm run build && git config core.hooksPath .githooks","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,json}\"","test:e2e:learnings":"node scripts/test-learnings-e2e.mjs"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.12.1","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","sqlite-vec":"^0.1.9","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.111.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","prettier":"^3.8.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.40_1784503723099_0.3670687921914826","host":"s3://npm-registry-packages-npm-production"}},"1.0.41":{"name":"@ariso-ai/ivan","version":"1.0.41","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.41","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"5dd6ba53915da78f508f2676fa62429f27e5cbdf","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.41.tgz","fileCount":363,"integrity":"sha512-1DLcV4ItTLUYGPpmGZ9NfhYF3eM3geUev2ZVNKhvGoEGphVneNbU7qlpCTrJZn9CONubVrV9Z7NGRvlmn2fCoA==","signatures":[{"sig":"MEUCIQD7YIn+0kYwL336bj9EUVcAI7hDX1m8T5ODrOEuA1SXMgIgKmSKmyrwBTlqBNdssAgkD840XLGGyZHzg6izsJuZqqI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1309048},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"3841d66f8abdd4da2754e8bb730cd696d97e6ebc","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"npm run build && node --experimental-vm-modules ./node_modules/jest/bin/jest.js --runInBand --config jest.config.cjs","build":"tsc --noEmitOnError false","start":"node dist/index.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.{ts,json}\"","prepare":"npm run build && git config core.hooksPath .githooks","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,json}\"","test:e2e:learnings":"node scripts/test-learnings-e2e.mjs"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.12.1","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","sqlite-vec":"^0.1.9","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.111.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","prettier":"^3.8.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.41_1784572108899_0.5543438838547723","host":"s3://npm-registry-packages-npm-production"}},"1.0.42":{"name":"@ariso-ai/ivan","version":"1.0.42","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.42","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"39022ff0058b88f60f54c84b62cbf720430305d3","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.42.tgz","fileCount":367,"integrity":"sha512-fOcKTeSWMyBkauxmc03iiIWYaFUghT6dQHDv1mJMyBgiwzAAob8k0HNa9aeBbqn62J+jOfjwUdv9SXcMW4BPtg==","signatures":[{"sig":"MEYCIQCab2t41yS+B+eaILx3QcAPimDfE1gsSkCQF3iP6drdcQIhAOzsEFur+vvD+lNnZ3T3WjmusCu76qC0WsnrpFcfFiDF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1328505},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"f6c601b367c9b26ec5f2c57bd2656085c62ab4f4","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"npm run build && node --experimental-vm-modules ./node_modules/jest/bin/jest.js --runInBand --config jest.config.cjs","build":"tsc --noEmitOnError false","start":"node dist/index.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.{ts,json}\"","prepare":"npm run build && git config core.hooksPath .githooks","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,json}\"","test:e2e:learnings":"node scripts/test-learnings-e2e.mjs"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.12.1","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^5.16.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","sqlite-vec":"^0.1.9","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.111.0","@anthropic-ai/claude-agent-sdk":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","prettier":"^3.8.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.42_1784857647084_0.13095876137490547","host":"s3://npm-registry-packages-npm-production"}},"1.0.43":{"name":"@ariso-ai/ivan","version":"1.0.43","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.43","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"27c1e646ba385645d999b66733408d7b03c85e34","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.43.tgz","fileCount":367,"integrity":"sha512-ALSuFw4XL9RfpwU3LdjJguGj9ufUD04ShdiDKfqd7E0Gvxa5Lcr+RQWyXf5ze/PCBnaNZgO8B56HByCSmeJDfw==","signatures":[{"sig":"MEQCIEo3PlMjIi2M3MLITEIHq7oTNn4ntjAlf7+H8yEr3t/3AiABxgVsQO4OIM6Ush9AimLdehFnxZ2p4WlcTaTnS8VQyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1333108},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"76bf69914f963bf27cecf88abfb649fb90e9bdeb","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"npm run build && node --experimental-vm-modules ./node_modules/jest/bin/jest.js --runInBand --config jest.config.cjs","build":"tsc --noEmitOnError false","start":"node dist/index.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.{ts,json}\"","prepare":"npm run build && git config core.hooksPath .githooks","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,json}\"","test:e2e:learnings":"node scripts/test-learnings-e2e.mjs"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.12.1","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^7.4.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","sqlite-vec":"^0.1.9","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.111.0","@anthropic-ai/claude-agent-sdk":"^0.3.227"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","prettier":"^3.8.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.43_1786447602822_0.5049640412083376","host":"s3://npm-registry-packages-npm-production"}},"1.0.44":{"name":"@ariso-ai/ivan","version":"1.0.44","keywords":["cli","ai","orchestration","claude","openai"],"author":{"name":"Ariso AI"},"license":"MIT","_id":"@ariso-ai/ivan@1.0.44","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"homepage":"https://github.com/ariso-ai/ivan#readme","bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"bin":{"ivan":"dist/index.js"},"dist":{"shasum":"2f8f88e58b9750c8ecb2e10f3be538c4f56d1d2d","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.44.tgz","fileCount":367,"integrity":"sha512-BtfaYYjykr4fasGI8u0L0rqT3Nkt6EbRxJBba0KnX13kgHDGePxQsALAmsX8992oSTgQeAdTk+SrkTs9jv5AzQ==","signatures":[{"sig":"MEUCIFOPyv4/xuW9FWjc0OmKpZL5/8nyTqxgltSvvopd0ma9AiEAr24UquNNpdk1xZDqrrwGiOfzklZZXMDisgpxMTz+Q1k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1337961},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"c2636e3bd7c4048d23879fc7ceb74c5d33011d35","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"npm run build && node --experimental-vm-modules ./node_modules/jest/bin/jest.js --runInBand --config jest.config.cjs","build":"tsc --noEmitOnError false","start":"node dist/index.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.{ts,json}\"","prepare":"npm run build && git config core.hooksPath .githooks","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,json}\"","test:e2e:learnings":"node scripts/test-learnings-e2e.mjs"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"repository":{"url":"git+https://github.com/ariso-ai/ivan.git","type":"git"},"_npmVersion":"11.12.1","description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.6.0","dotenv":"^17.2.1","kysely":"^0.28.5","openai":"^7.4.0","express":"^5.1.0","inquirer":"^12.9.4","commander":"^14.0.0","sqlite-vec":"^0.1.9","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.111.0","@anthropic-ai/claude-agent-sdk":"^0.3.227"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","jest":"^30.1.3","eslint":"^9.34.0","ts-jest":"^29.4.1","prettier":"^3.8.1","@eslint/js":"^9.34.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^24.3.0","@jest/globals":"^30.1.2","@types/inquirer":"^9.0.9","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.41.0","@typescript-eslint/eslint-plugin":"^8.41.0"},"_npmOperationalInternal":{"tmp":"tmp/ivan_1.0.44_1786452183747_0.3170615616991743","host":"s3://npm-registry-packages-npm-production"}},"1.0.45":{"name":"@ariso-ai/ivan","version":"1.0.45","type":"module","main":"dist/index.js","bin":{"ivan":"dist/index.js"},"scripts":{"build":"tsc --noEmitOnError false","watch":"tsc --watch","dev":"tsx src/index.ts","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,json}\"","format:check":"prettier --check \"src/**/*.{ts,json}\"","lint":"eslint src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test":"npm run build && node --experimental-vm-modules ./node_modules/jest/bin/jest.js --runInBand --config jest.config.cjs","test:e2e:learnings":"node scripts/test-learnings-e2e.mjs","prepare":"npm run build && git config core.hooksPath .githooks"},"author":{"name":"Ariso AI"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/ariso-ai/ivan.git"},"bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"homepage":"https://github.com/ariso-ai/ivan#readme","keywords":["cli","ai","orchestration","claude","openai"],"description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","devDependencies":{"@eslint/js":"^9.34.0","@jest/globals":"^30.1.2","@types/better-sqlite3":"^7.6.13","@types/inquirer":"^9.0.9","@types/jest":"^30.0.0","@types/node":"^24.3.0","@typescript-eslint/eslint-plugin":"^8.41.0","@typescript-eslint/parser":"^8.41.0","eslint":"^9.34.0","eslint-config-prettier":"^10.1.8","jest":"^30.1.3","prettier":"^3.8.1","ts-jest":"^29.4.1","tsx":"^4.20.5","typescript":"^5.9.2"},"dependencies":{"@anthropic-ai/claude-agent-sdk":"^0.3.227","@anthropic-ai/sdk":"^0.111.0","@types/express":"^5.0.3","better-sqlite3":"^12.2.0","chalk":"^5.6.0","commander":"^14.0.0","dotenv":"^17.2.1","express":"^5.1.0","inquirer":"^12.9.4","kysely":"^0.28.5","openai":"^7.4.0","ora":"^8.2.0","sqlite-vec":"^0.1.9"},"gitHead":"90b97f0926852f8a9c75e6ed53dc4e0e12046d4d","types":"./dist/index.d.ts","_id":"@ariso-ai/ivan@1.0.45","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-dUopgBnA7Dw5xShcnU/ex0qO20GG+i+FE/aOMizewH8IeqMUGedr+IYPfX8PbAZhOWsUFxAFbdh94KTCF0Eong==","shasum":"d58e8c30f6bbadab2a0f39b122c8d694764f4a35","tarball":"https://registry.npmjs.org/@ariso-ai/ivan/-/ivan-1.0.45.tgz","fileCount":367,"unpackedSize":1342791,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDDc01aGEp2C+IByskJ3vYUNySzRhVaW49Ic7YJxW+AoAiEApzrNsxr79gCywLLMydO9gjv5kkdJRU6Flx2g7D8aFnY="}]},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"directories":{},"maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ivan_1.0.45_1786453307244_0.5940123312795818"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-05T15:58:59.578Z","modified":"2026-08-11T13:01:48.037Z","1.0.0":"2025-10-05T15:58:59.878Z","1.0.1":"2025-10-05T16:03:34.125Z","1.0.2":"2025-10-05T16:05:12.018Z","1.0.3":"2025-10-06T17:52:20.748Z","1.0.4":"2025-10-08T18:08:47.099Z","1.0.5":"2025-12-11T16:16:01.405Z","1.0.6":"2026-02-17T20:41:07.918Z","1.0.7":"2026-02-17T20:53:39.940Z","1.0.8":"2026-02-17T21:10:02.156Z","1.0.9":"2026-02-17T21:27:13.255Z","1.0.10":"2026-02-18T02:36:20.742Z","1.0.11":"2026-02-18T02:50:33.486Z","1.0.12":"2026-02-18T04:14:09.202Z","1.0.13":"2026-02-18T13:28:53.729Z","1.0.14":"2026-02-18T13:39:50.024Z","1.0.15":"2026-02-18T13:41:52.444Z","1.0.16":"2026-02-18T13:57:43.780Z","1.0.17":"2026-02-18T17:28:39.624Z","1.0.18":"2026-02-18T18:49:16.416Z","1.0.19":"2026-02-18T20:30:26.836Z","1.0.20":"2026-02-19T14:22:36.297Z","1.0.21":"2026-02-19T14:53:10.918Z","1.0.22":"2026-02-25T17:07:07.122Z","1.0.23":"2026-03-08T23:44:45.574Z","1.0.24":"2026-03-11T02:52:32.378Z","1.0.25":"2026-04-14T15:40:45.167Z","1.0.26":"2026-05-02T01:52:25.341Z","1.0.28":"2026-06-02T16:47:37.521Z","1.0.29":"2026-06-08T14:38:54.882Z","1.0.30":"2026-06-09T13:39:58.535Z","1.0.31":"2026-06-30T19:33:51.589Z","1.0.32":"2026-06-30T19:47:07.846Z","1.0.33":"2026-07-01T13:52:00.284Z","1.0.34":"2026-07-14T20:03:26.672Z","1.0.35":"2026-07-17T14:25:50.497Z","1.0.37":"2026-07-18T01:04:25.758Z","1.0.38":"2026-07-19T22:15:44.638Z","1.0.39":"2026-07-19T23:27:08.878Z","1.0.40":"2026-07-19T23:28:43.259Z","1.0.41":"2026-07-20T18:28:29.108Z","1.0.42":"2026-07-24T01:47:27.268Z","1.0.43":"2026-08-11T11:26:42.988Z","1.0.44":"2026-08-11T12:43:03.883Z","1.0.45":"2026-08-11T13:01:47.468Z"},"bugs":{"url":"https://github.com/ariso-ai/ivan/issues"},"author":{"name":"Ariso AI"},"license":"MIT","homepage":"https://github.com/ariso-ai/ivan#readme","keywords":["cli","ai","orchestration","claude","openai"],"repository":{"type":"git","url":"git+https://github.com/ariso-ai/ivan.git"},"description":"AI-powered development assistant that automates complex workflows by breaking down tasks, implementing them with Claude, and creating PRs. Install with: npm i -g @ariso-ai/ivan","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"readme":"<div align=\"center\">\n\n# Ivan 👺 — Ships Code While You Sleep\n\n### The AI engineering teammate that ships pull requests — and remembers your team's lessons while doing it.\n\nIvan is an open-source **autonomous AI coding agent** built on [Claude Code](https://docs.anthropic.com/claude/docs/claude-code) that turns a plain-English task into a real, reviewed **GitHub pull request** — no copy-pasting diffs, no babysitting a chat window.\n\nGive Ivan a sentence. Ivan breaks it into PR-sized tasks, **debates its own design with a principal-engineer persona**, writes the code, reviews it, opens the PR, and then **handles the review comments too**.\n\n<img src=\"./assets/ivan-mascot.png\" alt=\"Ivan mascot — a caffeinated goblin coder wearing headphones, hunched over a laptop covered in git and GitHub stickers, backpack stuffed with pull requests, under a hand-drawn 'Pull Request Approved' sign, captioned Autonomous. Relentless. Ship it.\" width=\"320\" />\n\n[![npm version](https://img.shields.io/npm/v/@ariso-ai/ivan?color=cb3837&label=npm&logo=npm)](https://www.npmjs.com/package/@ariso-ai/ivan)\n[![npm downloads](https://img.shields.io/npm/dm/@ariso-ai/ivan?color=cb3837&logo=npm)](https://www.npmjs.com/package/@ariso-ai/ivan)\n[![license](https://img.shields.io/npm/l/@ariso-ai/ivan?color=blue)](#license)\n[![Built with Claude](https://img.shields.io/badge/built%20with-Claude-d97757?logo=anthropic&logoColor=white)](https://www.anthropic.com)\n[![PRs welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](#contributing)\n\n```bash\nnpm i -g @ariso-ai/ivan && ivan \"Add rate limiting to the public API\"\n```\n\n[Quick Start](#-quick-start) · [Expert Mode](#-expert-mode-an-ai-that-argues-with-itself-so-you-dont-have-to) · [Institutional Memory](#-institutional-memory-ivan-learns-your-team) · [Commands](#-cli-reference) · [Contributing](#-contributing)\n\n</div>\n\n---\n\n## Why Ivan?\n\nMost AI coding tools have two problems: they **forget everything** between sessions, and they **ship code that nobody reviewed**. Ivan was built to fix both — as a self-hosted **AI software engineer agent** that behaves like an actual teammate: it plans, argues with itself, implements, opens the PR, and follows up on review comments.\n\n> 🎒 **It remembers.** Ivan distills your team's real PRs and coding sessions into *institutional knowledge*, then injects those hard-won lessons into every future task. The more your team works, the smarter Ivan gets.\n>\n> 🧌 **It reviews itself.** In **Expert mode**, a separate principal-engineer persona critiques the plan *and* the diff across multiple rounds before a single line reaches your PR — like having a senior reviewer pair with the implementer, automatically.\n>\n> 🔁 **It closes the loop.** Ivan doesn't stop at \"PR opened.\" It addresses inline review comments, replies with the fixing commit, and can be triggered straight from a GitHub issue with `@ivan-agent /build`.\n\nIvan runs **locally, with your credentials**, on top of [Claude Code](https://docs.anthropic.com/claude/docs/claude-code) — bring your Anthropic API key, or a Claude Max subscription via the CLI driver.\n\n---\n\n## 🍄 Quick Start\n\n```bash\n# 1. Install\nnpm i -g @ariso-ai/ivan\n\n# 2. Run it in any git repo — Ivan walks you through API keys & preferences on first run\nivan \"Add user authentication with JWT tokens\"\n```\n\nThat's it. Ivan will:\n\n1. 🗺️ **Break down** your request into manageable, PR-ready tasks\n2. 🌿 **Branch & implement** each one using Claude Code\n3. 🪶 **Write** conventional commit messages and a detailed PR description\n4. 🪧 **Open the PR** with context-specific review instructions\n\nWant Ivan to think harder? Add one flag:\n\n```bash\nivan --mode expert \"Refactor the billing module to support proration\"\n```\n\n**💬 Changed your mind mid-run?** While Ivan is working, just type a message and press Enter — your context is streamed straight into the running Claude session (SDK executor) or applied in an automatic follow-up turn (CLI executor), exactly like interjecting in an interactive Claude Code session.\n\n```\n⠸ Executing task with Claude Code...\nalso add rate-limit headers to the responses ⏎\n💬 Context sent to Claude — it will be incorporated into the current task\n```\n\n---\n\n## 🧌 Expert Mode: an AI that argues with itself so you don't have to\n\nIvan ships two execution modes. Pick per-run with `--mode`:\n\n| Mode | What it does | Best for |\n| --- | --- | --- |\n| **`simple`** *(default)* | A fast, one-shot hand-off to Claude Code. | Quick changes, well-scoped tasks. |\n| **`expert`** | A collaborative **architect ↔ implementer** loop, grounded in your team's learnings. | High-stakes changes where design quality matters. |\n\nIn **Expert mode**, Ivan splits into two minds. The **Implementer** writes the code. A separate **Architect** session — adopting a principal-engineer persona that *holds your team's institutional knowledge* — challenges it. They go back and forth on the **design**, then on the **diff**, and the Architect decides when the work is good enough to ship.\n\n```\n            🎒 Institutional knowledge  (your past PRs + coding sessions)\n                          │  injected into every round, weighed heavily\n                          ▼\n   ┌──────────────────┐   plan ──▶ critique ──▶ revise         ┌──────────────────────────┐\n   │  ⚒️  Implementer  │  ═════════════════════════════════════▶ │  🧌  Architect           │\n   │   writes code    │ ◀═════════════════════════════════════ │  principal engineer      │\n   └──────────────────┘   APPROVE / APPROVE_WITH_NITS / REVISE │  read-only, never edits  │\n                          │                                    └──────────────────────────┘\n                          ▼\n     🗺️ Design rounds  ──▶  ⚒️  Implementation  ──▶  🧌 Code-review rounds  ──▶  🪧 PR\n```\n\n- The Architect is **read-only** — it inspects the codebase to ground its critique but never touches the code.\n- Every turn ends with a calibrated verdict — `APPROVE`, `APPROVE_WITH_NITS` (minor notes folded in without another round), or `REVISE` (a blocking issue worth another pass).\n- **Rounds are dynamic, not fixed.** The loop ends the moment the Architect approves, bails early if it keeps raising the same unresolved concern, and only runs to the configured cap on genuinely hard tasks. Simple changes finish in a single round.\n- By default the Architect runs on a stronger reasoning model (**Claude Opus**) while the Implementer uses your configured model — a senior reviewer + a fast builder.\n\n**Tune it** in `~/.ivan/config.json` (the round counts are *safety ceilings*, not targets):\n\n```jsonc\n{\n  \"collaborative\": {\n    \"architectModel\": \"claude-opus-4-8\", // the reviewer's brain\n    \"maxDesignRounds\": 5,                 // max design back-and-forths before building\n    \"maxReviewRounds\": 3                  // max code-review back-and-forths before shipping\n  }\n}\n```\n\n---\n\n## 🎒 Institutional Memory: Ivan learns your team\n\nIvan's edge is that it doesn't start every task from zero. The `ivan learn` command builds a durable, queryable store of your team's engineering wisdom — and Expert mode reads from it on every task.\n\n```bash\n# Initialize the learnings store in a repo\nivan learn init --repo /path/to/repo\n\n# Learn from your merged PRs (review comments are a goldmine of lessons)\nivan learn ingest-repo --repo /path/to/repo --state merged --limit 100\n\n# Learn from how you actually think — mine your local Claude Code sessions\nivan learn coding-sessions --repo /path/to/repo\n\n# See what Ivan knows\nivan learn query --repo /path/to/repo --text \"error handling for async locks\"\n```\n\n**How it works:**\n\n- 💰 **`ingest-pr` / `ingest-repo`** — fetches PR review feedback from GitHub and distills it into reusable *engineering lessons* and *repo conventions*.\n- 🧬 **`coding-sessions`** — analyzes your local Claude Code transcripts to extract **thinking patterns** (how you reason about architecture, product, and quality) and **example interactions** (the questions and corrections that reveal how a senior engineer thinks).\n- 📦 **Canonical & committable** — learnings are stored as plain JSONL under `.ivan/`, so they live in git, travel with the repo, and are reviewable like any other artifact. A derived local `.ivan/db.sqlite` powers fast semantic retrieval; queries never hit the network.\n- 🪝 **`install-hooks`** — wires Ivan's retrieval surface into Claude Code itself (`UserPromptSubmit` and `PostToolUse(Edit|Write|MultiEdit)`), so the right lesson surfaces at the right moment.\n\n```bash\nivan learn install-hooks --repo /path/to/repo   # learnings show up live, mid-edit\nivan learn rebuild --repo /path/to/repo          # rebuild the derived index\n```\n\n---\n\n## 🦆 Address review comments — automatically\n\nIvan treats review feedback and red CI as first-class workflows, not an afterthought.\n\n```bash\nivan address                       # scan all open PRs for unaddressed comments or failing checks\nivan address 123                   # just PR #123\nivan address --from-user alice     # only comments from specific reviewers\nivan address --yes                 # skip confirmation prompts\nivan address --non-interactive     # accept all comments without prompting (CI-friendly)\n```\n\nFor each unresolved inline comment, Ivan implements the fix, commits it with co-author attribution, and replies to the thread with the fixing commit — using the GitHub GraphQL API to track resolution state so it never double-handles a comment. It can also pick up **failing checks** on a PR and push fixes for them.\n\n---\n\n## 🪤 GitHub Actions: trigger Ivan from an issue\n\nTurn any issue into a PR. Run once:\n\n```bash\nivan add-action\n```\n\nThis installs a workflow so that when someone comments `@ivan-agent /build` on an issue, Ivan reads the issue, opens a PR, waits ~15 minutes for reviews, and then runs `ivan address` to handle any comments — fully hands-off.\n\n**Required repository secrets** (Settings → Secrets and variables → Actions):\n\n| Secret | Purpose |\n| --- | --- |\n| `ANTHROPIC_KEY` | Claude Code execution |\n| `OPEN_AI_KEY` | Commit messages & PR descriptions |\n| `PAT` | GitHub token with `repo` + `pull_requests` permissions |\n\n---\n\n## 🗝️ Drivers: run it your way\n\nIvan is deliberately flexible about *how* it talks to Claude and to GitHub.\n\n**Claude execution** — switch anytime with `ivan configure-executor`:\n\n- **SDK mode** *(default)* — uses the Anthropic API directly. Reliable, CI/CD-friendly. Needs an `sk-ant-...` key.\n- **CLI mode** — drives your locally installed Claude Code CLI. **No API costs for Claude Max subscribers**, with real-time streaming output.\n\n**GitHub auth** — chosen during setup:\n\n- **GitHub CLI** *(default)* — `gh auth login`, easy and secure for local use.\n- **Personal Access Token (PAT)** — for CI, Actions, and non-interactive environments.\n\n---\n\n## ⚒️ Configuration\n\nIvan prompts for everything it needs on first run. Settings live in `~/.ivan/config.json`; the local database in `~/.ivan/db.sqlite`.\n\n```bash\nivan reconfigure              # re-run the full setup\nivan configure-executor       # SDK (API) vs CLI (Claude Max)\nivan choose-model             # pick the implementer model\nivan configure-review-agent   # which bot to tag for PR reviews\nivan show-config              # view current settings\n```\n\n**Models** (`ivan choose-model`):\n\n- **Claude Sonnet 4.6** — recommended default, great balance of speed and quality\n- **Claude Haiku 4.5** — faster, ideal for simpler tasks\n- **Claude Opus 4.8** — most capable, slower (and the default Architect in Expert mode)\n\n**Per-repository settings:**\n\n```bash\nivan edit-repo-instructions   # coding guidelines applied to every task in this repo\nivan config-tools             # allow-list tools Claude Code may use\nivan config-blocked-tools     # block specific tools (least-privilege by repo)\n```\n\n---\n\n## 📜 CLI Reference\n\n<details>\n<summary><strong>Core</strong></summary>\n\n```bash\nivan                          # interactive: Ivan asks what to build\nivan \"task description\"       # headless: run a task directly\nivan --mode expert \"task\"     # collaborative architect ↔ implementer loop\nivan --base-branch dev \"task\" # branch work off a specific local base branch\nivan --self-review \"task\"     # Claude self-reviews the branch before opening the PR\nivan -c config.json           # run from a JSON config (CI-friendly)\nivan -c '{\"tasks\":[\"A\",\"B\"],\"mode\":\"expert\"}'   # inline JSON config\nivan address [PR#]            # address PR review comments or failing checks\nivan add-action               # install the GitHub Actions workflow\n```\n\n</details>\n\n<details>\n<summary><strong>Configuration</strong></summary>\n\n```bash\nivan reconfigure\nivan configure-executor       # SDK vs CLI\nivan choose-model             # Sonnet / Haiku / Opus\nivan configure-review-agent   # PR review bot\nivan show-config\nivan edit-repo-instructions\nivan config-tools\nivan config-blocked-tools\n```\n\n</details>\n\n<details>\n<summary><strong>Learnings (<code>ivan learn</code>, alias <code>ivan learnings</code>)</strong></summary>\n\n```bash\nivan learn init --repo <path>\nivan learn ingest-pr --repo <path> --pr <number>\nivan learn ingest-repo --repo <path> [--state merged|open|closed|all] [--limit N]\nivan learn coding-sessions --repo <path> [--project <name>] [--recent <days>] [--dry-run] [--force] [--reset]\nivan learn install-hooks --repo <path>\nivan learn rebuild --repo <path> [--if-stale]\nivan learn query --repo <path> --text \"<search>\" [--limit N]\n```\n\n</details>\n\n<details>\n<summary><strong>Web interface</strong></summary>\n\n```bash\nivan web [--port <port>]      # monitor jobs, tasks, logs & PR links in your browser\nivan web-stop [--port <port>]\n```\n\nOpen http://localhost:3000 to watch jobs, task progress, execution logs, and PR links in real time.\n\n</details>\n\n---\n\n## 🕯️ How It Works\n\n**Build workflow**\n\n```\nrequest ─▶ task breakdown ─▶ branch ─▶ implement ─▶ smart commit ─▶ PR\n                                  │                                    │\n                          (expert mode: design + review rounds)  (optional: wait & auto-address)\n```\n\n**Address workflow** — finds unresolved inline comments via the GitHub GraphQL API, implements each fix, replies with the fixing commit, and adds context-specific review instructions.\n\n**Everything is tracked** — a local SQLite database records every job, task, status transition, branch, PR link, and Claude Code tool call, viewable through `ivan web`.\n\n---\n\n## 🕸️ Architecture\n\n```\nivan/\n├── src/\n│   ├── services/\n│   │   ├── task-executor.ts          # orchestrates the build workflow (simple | expert)\n│   │   ├── collaborative-executor.ts # the architect ↔ implementer loop (expert mode)\n│   │   ├── claude-executor.ts        # Claude Code SDK driver\n│   │   ├── claude-cli-executor.ts    # Claude Code CLI driver (Claude Max)\n│   │   ├── address-executor.ts       # PR comment addressing workflow\n│   │   ├── git-manager-*.ts          # git ops over gh CLI or PAT\n│   │   └── openai-service.ts         # commit messages & PR descriptions\n│   ├── learnings/                    # institutional-knowledge pipeline\n│   │   ├── ingest-*.ts               # PR & repo evidence ingestion\n│   │   ├── session-analyzer.ts       # mines Claude Code sessions for thinking patterns\n│   │   ├── extractor.ts              # distills evidence into reusable lessons\n│   │   └── builder.ts                # rebuilds the derived sqlite index\n│   ├── config.ts                     # drivers, auth, models, collaborative settings\n│   ├── web-server.ts                 # job/task dashboard\n│   └── index.ts                      # CLI entry point\n├── .github/workflows/ivanagent.yml   # @ivan-agent /build automation\n└── ~/.ivan/                          # config.json + db.sqlite (per user)\n```\n\n---\n\n## ☕ Contributing\n\nIvan is open source and contributions are genuinely welcome — whether it's a bug fix, a new driver, better learnings extraction, or docs.\n\n```bash\ngit clone https://github.com/ariso-ai/ivan.git\ncd ivan\nnpm install\nnpm run build      # compile TypeScript\nnpm link           # use your local build as the global `ivan`\n\n# Development\nnpm run dev        # run from source with tsx\nnpm run watch      # rebuild on change\nnpm run lint       # eslint\nnpm run typecheck  # tsc --noEmit\nnpm test           # build + jest\n```\n\nFound a bug or have an idea? [Open an issue](https://github.com/ariso-ai/ivan/issues) or send a PR. If Ivan saved you time, a ⭐ on the repo helps other developers find it.\n\n---\n\n## 🛡️ Security\n\n- **Keys stay local** — stored in `~/.ivan/config.json`, never in the database, and masked on entry.\n- **Your environment, your credentials** — tasks run locally; nothing is executed on someone else's infrastructure.\n- **Least privilege** — restrict Claude Code's tools per repository with `ivan config-tools` / `ivan config-blocked-tools`.\n- **CI secrets** — for GitHub Actions, keys live in GitHub's encrypted secrets store.\n\n---\n\n## 🕳️ Limitations\n\n- **GitHub-first** — GitLab / Bitbucket support is on the roadmap.\n- **Internet required** — Claude and OpenAI are called over the network.\n- **Scope** — tasks must be completable by Claude Code in your repo.\n\n---\n\n## ❓ FAQ\n\n<details>\n<summary><strong>What is Ivan?</strong></summary>\n\nIvan is an open-source, self-hosted **AI coding agent** that converts a plain-English task into a fully-opened, reviewed **GitHub pull request**. It runs on top of [Claude Code](https://docs.anthropic.com/claude/docs/claude-code), using your own Anthropic API key or Claude Max subscription — nothing runs on third-party infrastructure.\n\n</details>\n\n<details>\n<summary><strong>How is Ivan different from GitHub Copilot, Cursor, or Devin?</strong></summary>\n\nThose tools assist you while you write code, or run as a hosted black box. Ivan is a **local, autonomous PR agent**: point it at a repo and a task, and it plans, self-reviews via an architect ↔ implementer loop (Expert mode), opens the pull request, and later goes back to **address human review comments and failing CI checks** — all from your own machine and credentials.\n\n</details>\n\n<details>\n<summary><strong>Does Ivan learn from my team's codebase?</strong></summary>\n\nYes — `ivan learn` mines merged PR review comments and local Claude Code sessions to build a durable **institutional memory** of your team's conventions and lessons, stored as plain JSONL in `.ivan/` so it travels with the repo in git.\n\n</details>\n\n<details>\n<summary><strong>What models and providers does Ivan support?</strong></summary>\n\nIvan runs on Claude models (Sonnet, Haiku, Opus) via the Anthropic API (SDK mode) or your local Claude Code CLI (CLI mode, no extra API cost for Claude Max subscribers). GitHub auth works via the `gh` CLI or a personal access token.\n\n</details>\n\n---\n\n## License\n\nReleased under the **MIT License**.\n\n© ariso.ai\n\n**Built with 💚 to make AI-powered engineering reviewable, repeatable, and a little bit wiser every day.**\n\nIf Ivan ships you a good PR, give it a ⭐\n\n<sub>Keywords: AI coding agent · autonomous pull requests · AI code review agent · Claude Code agent · AI pair programmer · GitHub automation · AI software engineer · institutional knowledge for AI coding</sub>\n","readmeFilename":"README.md"}