{"_id":"@dhananjay_kaushik/claude-orchestrator","_rev":"9-e1815374414e06f0d0014ed8ceb3ad7a","name":"@dhananjay_kaushik/claude-orchestrator","dist-tags":{"latest":"0.1.13"},"versions":{"0.1.1":{"name":"@dhananjay_kaushik/claude-orchestrator","version":"0.1.1","keywords":["claude","orchestrator","cli"],"author":{"name":"Dhananjay Kaushik"},"license":"MIT","_id":"@dhananjay_kaushik/claude-orchestrator@0.1.1","maintainers":[{"name":"dhananjay_kaushik","email":"dhananjaykaushik96@gmail.com"}],"homepage":"https://github.com/dhananjay-kaushik/claude-orchestrator#readme","bugs":{"url":"https://github.com/dhananjay-kaushik/claude-orchestrator/issues"},"bin":{"claude-orchestrator":"bin/claude-orchestrator.js"},"dist":{"shasum":"eba25951603f638e1ba5f965ccac4386785de59b","tarball":"https://registry.npmjs.org/@dhananjay_kaushik/claude-orchestrator/-/claude-orchestrator-0.1.1.tgz","fileCount":34,"integrity":"sha512-VxZvOp+lvZMwd3fp0jefyOUASGFkGUQGsT7GrpbX0rMw7iJ6tS1k7UDvheWmAHeZjgDvtqDwxBdZknB1W+AuFg==","signatures":[{"sig":"MEUCIGEdP0bQt+7KJaW7Dh9QPd8PTg3GIgQCksCqOnd6mrtWAiEAzVlt0tEd/HYc9H5waPSp9v4sRt1Hc56axfua05D8tnY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92891},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"05e03b33bb97f686476285b5ea6cf8a0aca1c601","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"dhananjay_kaushik","email":"dhananjaykaushik96@gmail.com"},"repository":{"url":"git+https://github.com/dhananjay-kaushik/claude-orchestrator.git","type":"git"},"_npmVersion":"10.9.8","description":"Stateful Workflow Engine on top of Claude Code","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","execa":"^9.6.1","commander":"^15.0.0","picocolors":"^1.1.1","@clack/prompts":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.6.0","vitest":"^4.1.9","prettier":"^3.9.4","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.0","typescript-eslint":"^8.62.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6"},"_npmOperationalInternal":{"tmp":"tmp/claude-orchestrator_0.1.1_1783172580214_0.307366361422172","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@dhananjay_kaushik/claude-orchestrator","version":"0.1.2","keywords":["claude","orchestrator","cli"],"author":{"name":"Dhananjay Kaushik"},"license":"MIT","_id":"@dhananjay_kaushik/claude-orchestrator@0.1.2","maintainers":[{"name":"dhananjay_kaushik","email":"dhananjaykaushik96@gmail.com"}],"homepage":"https://github.com/dhananjay-kaushik/claude-orchestrator#readme","bugs":{"url":"https://github.com/dhananjay-kaushik/claude-orchestrator/issues"},"bin":{"claude-orchestrator":"bin/claude-orchestrator.js"},"dist":{"shasum":"b86ab6d72560b94d2bddae44d42f557de87cc0e8","tarball":"https://registry.npmjs.org/@dhananjay_kaushik/claude-orchestrator/-/claude-orchestrator-0.1.2.tgz","fileCount":34,"integrity":"sha512-xuNe5/58vuVeFMLclBYZBsfysaidQob1tEO4DjcMlpmOT1mo7zBu4D8F29gECPiDSBrov2rFpGMjIHHxMoxNEA==","signatures":[{"sig":"MEUCIB3/xAbE/wTE75US01tViu9ZmnV7lDl4n9hT5RSX5VkYAiEAwy1BGgcwv2IRFxu/AlvdkEcmZz2mPEc3KSPMWDfVCRA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92967},"main":"dist/index.js","type":"module","_from":"file:dhananjay_kaushik-claude-orchestrator-0.1.2.tgz","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dhananjay_kaushik","email":"dhananjaykaushik96@gmail.com"},"_resolved":"/tmp/6177db91958c89f53ba2c355abe2aefb/dhananjay_kaushik-claude-orchestrator-0.1.2.tgz","_integrity":"sha512-xuNe5/58vuVeFMLclBYZBsfysaidQob1tEO4DjcMlpmOT1mo7zBu4D8F29gECPiDSBrov2rFpGMjIHHxMoxNEA==","repository":{"url":"git+https://github.com/dhananjay-kaushik/claude-orchestrator.git","type":"git"},"_npmVersion":"10.8.2","description":"Stateful Workflow Engine on top of Claude Code","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","execa":"^9.6.1","commander":"^15.0.0","picocolors":"^1.1.1","@clack/prompts":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.6.0","vitest":"^4.1.9","prettier":"^3.9.4","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.0","typescript-eslint":"^8.62.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6"},"_npmOperationalInternal":{"tmp":"tmp/claude-orchestrator_0.1.2_1783173088570_0.3704207090262881","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@dhananjay_kaushik/claude-orchestrator","version":"0.1.3","keywords":["claude","orchestrator","cli"],"author":{"name":"Dhananjay Kaushik"},"license":"MIT","_id":"@dhananjay_kaushik/claude-orchestrator@0.1.3","maintainers":[{"name":"dhananjay_kaushik","email":"dhananjaykaushik96@gmail.com"}],"homepage":"https://github.com/dhananjay-kaushik/claude-orchestrator#readme","bugs":{"url":"https://github.com/dhananjay-kaushik/claude-orchestrator/issues"},"bin":{"claude-orchestrator":"bin/claude-orchestrator.js"},"dist":{"shasum":"952b3fd73fd6a6f39d80a95c47029c73da9426de","tarball":"https://registry.npmjs.org/@dhananjay_kaushik/claude-orchestrator/-/claude-orchestrator-0.1.3.tgz","fileCount":34,"integrity":"sha512-wFSXzHuNnf++xjKe0bKo8f0yfC33tWnSFI82X2UDvnPffKwtz82AxREmR/JuX59TdGa1Ap7Z8VZTm5YA8G+qcw==","signatures":[{"sig":"MEUCIHUryf9F39FkCC9FdScClkYacg9EuDxfaGJKMvjmjJqqAiEAgPR/R2nlE1u3tG73bRF1mvMjfXwFMYlzUA9xuROdDro=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93078},"main":"dist/index.js","type":"module","_from":"file:dhananjay_kaushik-claude-orchestrator-0.1.3.tgz","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dhananjay_kaushik","email":"dhananjaykaushik96@gmail.com"},"_resolved":"/tmp/0313a82a5a40373391e097e6f6eb8911/dhananjay_kaushik-claude-orchestrator-0.1.3.tgz","_integrity":"sha512-wFSXzHuNnf++xjKe0bKo8f0yfC33tWnSFI82X2UDvnPffKwtz82AxREmR/JuX59TdGa1Ap7Z8VZTm5YA8G+qcw==","repository":{"url":"git+https://github.com/dhananjay-kaushik/claude-orchestrator.git","type":"git"},"_npmVersion":"10.8.2","description":"Stateful Workflow Engine on top of Claude Code","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","execa":"^9.6.1","commander":"^15.0.0","picocolors":"^1.1.1","@clack/prompts":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.6.0","vitest":"^4.1.9","prettier":"^3.9.4","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.0","typescript-eslint":"^8.62.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6"},"_npmOperationalInternal":{"tmp":"tmp/claude-orchestrator_0.1.3_1783174310993_0.44638293998037315","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@dhananjay_kaushik/claude-orchestrator","version":"0.1.4","keywords":["claude","orchestrator","cli"],"author":{"name":"Dhananjay Kaushik"},"license":"MIT","_id":"@dhananjay_kaushik/claude-orchestrator@0.1.4","maintainers":[{"name":"dhananjay_kaushik","email":"dhananjaykaushik96@gmail.com"}],"homepage":"https://github.com/dhananjay-kaushik/claude-orchestrator#readme","bugs":{"url":"https://github.com/dhananjay-kaushik/claude-orchestrator/issues"},"bin":{"claude-orchestrator":"bin/claude-orchestrator.js"},"dist":{"shasum":"4e99c400a6df82515075b2fa78fb1fc3c8c0d806","tarball":"https://registry.npmjs.org/@dhananjay_kaushik/claude-orchestrator/-/claude-orchestrator-0.1.4.tgz","fileCount":34,"integrity":"sha512-pqgM1yo5rQ4n48PTEDdXcQdA6mlxf1xQW2qF4shzZ67tOp3yk69e4CAVeu3wCon7wOTOSfBi8uUBGGtEJbG30w==","signatures":[{"sig":"MEUCICHzCYWHfTzgzt9LtAwpNsopmivYBkHFzwsCE9SJwxm7AiEAgxFBa0yDLlxjL2tT5nMdNGIzMgWc2Ps9MutS7ZTbKAw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94239},"main":"dist/index.js","type":"module","_from":"file:dhananjay_kaushik-claude-orchestrator-0.1.4.tgz","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dhananjay_kaushik","email":"dhananjaykaushik96@gmail.com"},"_resolved":"/tmp/a5218a839e5bf7719802fba03c78cf10/dhananjay_kaushik-claude-orchestrator-0.1.4.tgz","_integrity":"sha512-pqgM1yo5rQ4n48PTEDdXcQdA6mlxf1xQW2qF4shzZ67tOp3yk69e4CAVeu3wCon7wOTOSfBi8uUBGGtEJbG30w==","repository":{"url":"git+https://github.com/dhananjay-kaushik/claude-orchestrator.git","type":"git"},"_npmVersion":"10.8.2","description":"Stateful Workflow Engine on top of Claude Code","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","execa":"^9.6.1","commander":"^15.0.0","picocolors":"^1.1.1","@clack/prompts":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.6.0","vitest":"^4.1.9","prettier":"^3.9.4","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.0","typescript-eslint":"^8.62.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6"},"_npmOperationalInternal":{"tmp":"tmp/claude-orchestrator_0.1.4_1783187405020_0.4106586451427474","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@dhananjay_kaushik/claude-orchestrator","version":"0.1.5","keywords":["claude","orchestrator","cli"],"author":{"name":"Dhananjay Kaushik"},"license":"MIT","_id":"@dhananjay_kaushik/claude-orchestrator@0.1.5","maintainers":[{"name":"dhananjay_kaushik","email":"dhananjaykaushik96@gmail.com"}],"homepage":"https://github.com/dhananjay-kaushik/claude-orchestrator#readme","bugs":{"url":"https://github.com/dhananjay-kaushik/claude-orchestrator/issues"},"bin":{"claude-orchestrator":"bin/claude-orchestrator.js"},"dist":{"shasum":"af67a7fc6e4864fdd16f97d80fe36d9679243004","tarball":"https://registry.npmjs.org/@dhananjay_kaushik/claude-orchestrator/-/claude-orchestrator-0.1.5.tgz","fileCount":35,"integrity":"sha512-ezELB4kRqpNXwtzDs5zsq/aG730b2rwwmXGOK9pB1rVpFrHlkX8EtGYg01xYHzUw44KFPvvKqhjYXEN5sghypQ==","signatures":[{"sig":"MEUCIQCl1ikuziY+hh7SXQS4q3hyBuCCAx5BNGYhAUK4OwydDgIgGQjYXIViUBy7n4hDo8Mn1QLx3rGLtaYz5wy5q9lKTLI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99449},"main":"dist/index.js","type":"module","_from":"file:dhananjay_kaushik-claude-orchestrator-0.1.5.tgz","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dhananjay_kaushik","email":"dhananjaykaushik96@gmail.com"},"_resolved":"/tmp/447533058989643d1185267c42e6c1ac/dhananjay_kaushik-claude-orchestrator-0.1.5.tgz","_integrity":"sha512-ezELB4kRqpNXwtzDs5zsq/aG730b2rwwmXGOK9pB1rVpFrHlkX8EtGYg01xYHzUw44KFPvvKqhjYXEN5sghypQ==","repository":{"url":"git+https://github.com/dhananjay-kaushik/claude-orchestrator.git","type":"git"},"_npmVersion":"10.8.2","description":"Stateful Workflow Engine on top of Claude Code","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","execa":"^9.6.1","commander":"^15.0.0","picocolors":"^1.1.1","@clack/prompts":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.6.0","vitest":"^4.1.9","prettier":"^3.9.4","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.0","typescript-eslint":"^8.62.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6"},"_npmOperationalInternal":{"tmp":"tmp/claude-orchestrator_0.1.5_1783269566346_0.26025984612676467","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@dhananjay_kaushik/claude-orchestrator","version":"0.1.6","keywords":["claude","orchestrator","cli"],"author":{"name":"Dhananjay Kaushik"},"license":"MIT","_id":"@dhananjay_kaushik/claude-orchestrator@0.1.6","maintainers":[{"name":"dhananjay_kaushik","email":"dhananjaykaushik96@gmail.com"}],"homepage":"https://github.com/dhananjay-kaushik/claude-orchestrator#readme","bugs":{"url":"https://github.com/dhananjay-kaushik/claude-orchestrator/issues"},"bin":{"claude-orchestrator":"bin/claude-orchestrator.js"},"dist":{"shasum":"fcf1190cfa23985bf10d0bba613a77c5a0a45e41","tarball":"https://registry.npmjs.org/@dhananjay_kaushik/claude-orchestrator/-/claude-orchestrator-0.1.6.tgz","fileCount":36,"integrity":"sha512-ZSEhjzwQYs4IULCghfhEz73Pi3asCIYRw6H7fsq7IZ7hRIzRIGaWnhzpER7U6Iy2EPLT3SBMJ4idW0EGyuz5fg==","signatures":[{"sig":"MEUCIAokVKCecjXvQSML067BO7CgFfA//r2dPDjo4kYlDwR8AiEAxHwd/ZrLf7UtWmaWAamVRaJCB+qKsBKr101LdetqZJo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104287},"main":"dist/index.js","type":"module","_from":"file:dhananjay_kaushik-claude-orchestrator-0.1.6.tgz","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dhananjay_kaushik","email":"dhananjaykaushik96@gmail.com"},"_resolved":"/tmp/40c714971b6fbce33f247e489dc16612/dhananjay_kaushik-claude-orchestrator-0.1.6.tgz","_integrity":"sha512-ZSEhjzwQYs4IULCghfhEz73Pi3asCIYRw6H7fsq7IZ7hRIzRIGaWnhzpER7U6Iy2EPLT3SBMJ4idW0EGyuz5fg==","repository":{"url":"git+https://github.com/dhananjay-kaushik/claude-orchestrator.git","type":"git"},"_npmVersion":"10.8.2","description":"Stateful Workflow Engine on top of Claude Code","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","execa":"^9.6.1","commander":"^15.0.0","picocolors":"^1.1.1","@clack/prompts":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.6.0","vitest":"^4.1.9","prettier":"^3.9.4","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.0","typescript-eslint":"^8.62.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6"},"_npmOperationalInternal":{"tmp":"tmp/claude-orchestrator_0.1.6_1783277834930_0.33872076289144526","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@dhananjay_kaushik/claude-orchestrator","version":"0.1.7","keywords":["claude","orchestrator","cli"],"author":{"name":"Dhananjay Kaushik"},"license":"MIT","_id":"@dhananjay_kaushik/claude-orchestrator@0.1.7","maintainers":[{"name":"dhananjay_kaushik","email":"dhananjaykaushik96@gmail.com"}],"homepage":"https://github.com/dhananjay-kaushik/claude-orchestrator#readme","bugs":{"url":"https://github.com/dhananjay-kaushik/claude-orchestrator/issues"},"bin":{"claude-orchestrator":"bin/claude-orchestrator.js"},"dist":{"shasum":"3f1787eba8b3f2768756bb483ca2cb69c932f32f","tarball":"https://registry.npmjs.org/@dhananjay_kaushik/claude-orchestrator/-/claude-orchestrator-0.1.7.tgz","fileCount":36,"integrity":"sha512-5Xfu9tEQQ8/sIy1Abo4CqVGlyLQekCxFwTzTyH4EJLlkCSQOgtaChJ6hPmFzwUgZguaPILUVFXAa2KDTlDryrw==","signatures":[{"sig":"MEUCIGzo9ceM9STyX2aC9LpJVoF8Zv/H+aQpqVPdwn4PytYXAiEAqnPo3vvYg+DTK8Qz9+uiUrN3x0HaHpchMtEFsGaaXqc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104601},"main":"dist/index.js","type":"module","_from":"file:dhananjay_kaushik-claude-orchestrator-0.1.7.tgz","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dhananjay_kaushik","email":"dhananjaykaushik96@gmail.com"},"_resolved":"/tmp/b4aed0ce94fffda27ea07f2e77ce0284/dhananjay_kaushik-claude-orchestrator-0.1.7.tgz","_integrity":"sha512-5Xfu9tEQQ8/sIy1Abo4CqVGlyLQekCxFwTzTyH4EJLlkCSQOgtaChJ6hPmFzwUgZguaPILUVFXAa2KDTlDryrw==","repository":{"url":"git+https://github.com/dhananjay-kaushik/claude-orchestrator.git","type":"git"},"_npmVersion":"10.8.2","description":"Stateful Workflow Engine on top of Claude Code","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","execa":"^9.6.1","commander":"^15.0.0","picocolors":"^1.1.1","@clack/prompts":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.6.0","vitest":"^4.1.9","prettier":"^3.9.4","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.0","typescript-eslint":"^8.62.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6"},"_npmOperationalInternal":{"tmp":"tmp/claude-orchestrator_0.1.7_1783289282591_0.8561317529082797","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@dhananjay_kaushik/claude-orchestrator","version":"0.1.12","keywords":["claude","orchestrator","cli"],"author":{"name":"Dhananjay Kaushik"},"license":"MIT","_id":"@dhananjay_kaushik/claude-orchestrator@0.1.12","maintainers":[{"name":"dhananjay_kaushik","email":"dhananjaykaushik96@gmail.com"}],"homepage":"https://github.com/dhananjay-kaushik/claude-orchestrator#readme","bugs":{"url":"https://github.com/dhananjay-kaushik/claude-orchestrator/issues"},"bin":{"claude-orchestrator":"bin/claude-orchestrator.js"},"dist":{"shasum":"f04dd08b629df7e2242ec7da0b8477ae4a51a980","tarball":"https://registry.npmjs.org/@dhananjay_kaushik/claude-orchestrator/-/claude-orchestrator-0.1.12.tgz","fileCount":36,"integrity":"sha512-OaxJT3QDfssUFAKQ+Bi2esv0we8pzjfo537kij4BC5QOHikQFaz4AgWiPpWoj9f4CdgYPJyKZb4LIXyIRGhIFA==","signatures":[{"sig":"MEQCIDNqYkuI6s68GXdXpfO61skuyoiAZGFyZdeJARuHfbF/AiAmVTVXP4oSHy3oGg7cNUKZ5gVAtHBwx2Yhv0Wy0fo50Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108158},"main":"dist/index.js","type":"module","_from":"file:dhananjay_kaushik-claude-orchestrator-0.1.12.tgz","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dhananjay_kaushik","email":"dhananjaykaushik96@gmail.com"},"_resolved":"/tmp/9da91a5b16d1fd5bb6efc46665d0ff2f/dhananjay_kaushik-claude-orchestrator-0.1.12.tgz","_integrity":"sha512-OaxJT3QDfssUFAKQ+Bi2esv0we8pzjfo537kij4BC5QOHikQFaz4AgWiPpWoj9f4CdgYPJyKZb4LIXyIRGhIFA==","repository":{"url":"git+https://github.com/dhananjay-kaushik/claude-orchestrator.git","type":"git"},"_npmVersion":"10.8.2","description":"Stateful Workflow Engine on top of Claude Code","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.4.3","execa":"^9.6.1","commander":"^15.0.0","picocolors":"^1.1.1","@clack/prompts":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.6.0","vitest":"^4.1.9","prettier":"^3.9.4","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.0","typescript-eslint":"^8.62.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6"},"_npmOperationalInternal":{"tmp":"tmp/claude-orchestrator_0.1.12_1783410591973_0.10615478978423387","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@dhananjay_kaushik/claude-orchestrator","version":"0.1.13","description":"Stateful Workflow Engine on top of Claude Code","type":"module","main":"dist/index.js","bin":{"claude-orchestrator":"bin/claude-orchestrator.js"},"keywords":["claude","orchestrator","cli"],"author":{"name":"Dhananjay Kaushik"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/dhananjay-kaushik/claude-orchestrator.git"},"homepage":"https://github.com/dhananjay-kaushik/claude-orchestrator#readme","bugs":{"url":"https://github.com/dhananjay-kaushik/claude-orchestrator/issues"},"engines":{"node":">=18.0.0"},"publishConfig":{"access":"public"},"devDependencies":{"@eslint/js":"^10.0.1","@types/node":"^26.1.0","eslint":"^10.6.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","prettier":"^3.9.4","typescript":"^6.0.3","typescript-eslint":"^8.62.1","vitest":"^4.1.9"},"dependencies":{"@clack/prompts":"^1.7.0","commander":"^15.0.0","execa":"^9.6.1","picocolors":"^1.1.1","zod":"^4.4.3"},"scripts":{"build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit","lint":"eslint .","format":"prettier --write .","test":"vitest run"},"_id":"@dhananjay_kaushik/claude-orchestrator@0.1.13","_integrity":"sha512-4fOCdQRMcRh3fyWhMP5BsAqi1o2LUrxNr0ujtXS5KLXqP3RRTmCzvNMol8Kp6YjSzrETvosQT7lic27WU58dtA==","_resolved":"/tmp/a851731738e36b63b7a5943c95fb049b/dhananjay_kaushik-claude-orchestrator-0.1.13.tgz","_from":"file:dhananjay_kaushik-claude-orchestrator-0.1.13.tgz","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-4fOCdQRMcRh3fyWhMP5BsAqi1o2LUrxNr0ujtXS5KLXqP3RRTmCzvNMol8Kp6YjSzrETvosQT7lic27WU58dtA==","shasum":"304abb6d605808ccd3a3155acb03c0935b70258e","tarball":"https://registry.npmjs.org/@dhananjay_kaushik/claude-orchestrator/-/claude-orchestrator-0.1.13.tgz","fileCount":36,"unpackedSize":109228,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDDa3PutG2MhJ9xRSuffO2Sw/N/HaZwXxvY6KSeey3fkwIhANheuz2CvxBitfAi6nQ1X1m6Er7NhozuF6U+ozQMbx96"}]},"_npmUser":{"name":"dhananjay_kaushik","email":"dhananjaykaushik96@gmail.com"},"directories":{},"maintainers":[{"name":"dhananjay_kaushik","email":"dhananjaykaushik96@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/claude-orchestrator_0.1.13_1784036661308_0.27619954351691955"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-04T13:43:00.020Z","modified":"2026-07-14T13:44:21.557Z","0.1.1":"2026-07-04T13:43:00.342Z","0.1.2":"2026-07-04T13:51:28.828Z","0.1.3":"2026-07-04T14:11:51.129Z","0.1.4":"2026-07-04T17:50:05.142Z","0.1.5":"2026-07-05T16:39:26.477Z","0.1.6":"2026-07-05T18:57:15.066Z","0.1.7":"2026-07-05T22:08:02.727Z","0.1.12":"2026-07-07T07:49:52.104Z","0.1.13":"2026-07-14T13:44:21.448Z"},"bugs":{"url":"https://github.com/dhananjay-kaushik/claude-orchestrator/issues"},"author":{"name":"Dhananjay Kaushik"},"license":"MIT","homepage":"https://github.com/dhananjay-kaushik/claude-orchestrator#readme","keywords":["claude","orchestrator","cli"],"repository":{"type":"git","url":"git+https://github.com/dhananjay-kaushik/claude-orchestrator.git"},"description":"Stateful Workflow Engine on top of Claude Code","maintainers":[{"name":"dhananjay_kaushik","email":"dhananjaykaushik96@gmail.com"}],"readme":"# Claude Code Orchestrator\n\nClaude Code Orchestrator is a TypeScript CLI for running Claude Code through a test-driven, task-by-task workflow with verification, logs, resumability, and safe Git commits.\n\nThe core rule is:\n\n**Claude implements one selected task. The orchestrator owns lifecycle state.**\n\nClaude task sessions commit their own work but do not mark tasks `DONE`, push, or decide whether work is complete. The orchestrator validates the plan, runs Claude headlessly, checks structured results, runs verification commands, updates task state, and only marks a task `DONE` after verification passes (falling back to its own commit if Claude's edits were somehow left uncommitted).\n\n## Status\n\nThe MVP described below is implemented and tested. The original implementation contract is documented in [PLAN.md](./PLAN.md), [SKILLS.md](./SKILLS.md), and [AGENTS.md](./AGENTS.md).\n\n## Installation\n\n```bash\nnpm install -g @dhananjay_kaushik/claude-orchestrator\n```\n\nRequires Node.js >= 18 and the `claude` CLI on your `PATH`.\n\n## Quick Start\n\n```bash\ncd your-project\nclaude-orchestrator init      # create .claude-orchestrator.json\nclaude-orchestrator plan      # generate a Markdown task plan\nclaude-orchestrator run       # execute the next task\nclaude-orchestrator run --loop  # execute tasks until one needs attention\n```\n\n## Workflow\n\nThe intended workflow is:\n\n1. Create or validate config.\n2. Generate a Markdown implementation plan.\n3. Validate the plan.\n4. Select one task.\n5. Create or reuse an isolated per-task Git worktree.\n6. Run Claude Code headlessly for that task; Claude commits its own changes before finishing.\n7. Parse Claude's structured JSON result.\n8. Run verification commands.\n9. Mark the task `DONE` only if verification passes (falling back to a commit if Claude somehow left changes uncommitted).\n10. Stop, resume later, or explicitly continue in loop mode.\n\n## Plan Format\n\nPlans live in `planDir`, defaulting to `workflow_generated_plans`.\n\nTasks use a strict 5-state Markdown checkbox format:\n\n- `- [ ]` or `* [ ]`: `NOT_DONE`\n- `- [-]` or `* [-]`: `IN_PROGRESS`\n- `- [x]`, `- [X]`, `* [x]`, or `* [X]`: `DONE`\n- `- [f]`, `- [F]`, `* [f]`, or `* [F]`: `FAILED`\n- `- [b]`, `- [B]`, `* [b]`, or `* [B]`: `BLOCKED`\n\nTask identity is based on a stable slug/hash of normalized task text and heading context. Line numbers are not used as persistent task IDs because plan files can change as handoff notes or content are added.\n\nTask text must be unique across the whole plan, not just within a section — the parser rejects a plan with two tasks that read the same, even under different headings.\n\nAdd a Status Tracker section near the top with running counts (`Total`, `NOT_DONE`, `IN_PROGRESS`, `DONE`, `FAILED`, `BLOCKED`) — the orchestrator's planning prompt generates one, and it's the fastest way for a human or a resumed session to see plan progress at a glance.\n\n## Claude Execution Contract\n\nPlanning and execution use different Claude modes:\n\n- `plan` is interactive.\n- `run` is headless.\n\nExecution must use Claude Code's non-interactive JSON mode:\n\n```text\nclaude -p \"<prompt>\" --output-format json\n```\n\nThe orchestrator expects structured JSON fields such as:\n\n- `result`\n- `total_cost_usd`\n- `usage`\n- `session_id`\n- `is_error`\n\nThe orchestrator stores the raw JSON response in the task log directory. Token usage and cost are read from structured JSON fields, not scraped from terminal text.\n\nThe `result` field must include an orchestrator sentinel:\n\n- `ORCHESTRATOR_RESULT: SUCCESS`\n- `ORCHESTRATOR_RESULT: BLOCKED`\n- `ORCHESTRATOR_RESULT: NEEDS_RETRY_CONTEXT`\n\n`DONE` is never inferred from Claude output. `DONE` requires successful verification.\n\n## Commands\n\n### `claude-orchestrator init`\n\nCreate or update `.claude-orchestrator.json` interactively.\n\nExpected behavior:\n\n- Prompt for plan directory, base branch, verification commands, timeouts, and Claude permission settings.\n- Write a validated config file.\n- Avoid adding post-MVP features such as notifications unless explicitly supported later.\n\n### `claude-orchestrator doctor`\n\nCheck whether the current project can safely run orchestration.\n\nChecks include:\n\n- Claude binary exists.\n- Claude authentication can be verified if Claude exposes a stable check.\n- Current directory is a Git repository.\n- Config is valid.\n- Plan directory is readable.\n- State, log, and worktree directories are writable.\n- Verification commands satisfy command policy.\n- Claude permission settings are safe.\n\nNo task state is mutated by `doctor`.\n\n### `claude-orchestrator validate`\n\nValidate config and plan files without executing Claude.\n\nChecks include:\n\n- `.claude-orchestrator.json` schema and defaults.\n- Structured verification commands.\n- Protected paths.\n- Plan checkbox states.\n- Duplicate or unstable task identity.\n- Unsupported or ambiguous task markers.\n\n### `claude-orchestrator plan`\n\nStart an interactive planning session with Claude Code.\n\nExpected behavior:\n\n- Prompt for planning model if needed.\n- Ensure the plan directory exists.\n- Inject the planning prompt.\n- Ask Claude to create a machine-parseable Markdown plan using the 5-state checkbox system.\n\n### `claude-orchestrator run`\n\nExecute one selected task from a plan.\n\nDefault behavior:\n\n- Validate config and plan.\n- Run Claude binary/auth preflight.\n- Select the next executable task.\n- Create or reuse a per-task worktree.\n- Run Claude headlessly in JSON mode.\n- Enforce `taskTimeoutMs`.\n- Parse the sentinel from Claude's JSON `result`.\n- Run verification commands only after a `SUCCESS` sentinel.\n- Mark `DONE` only after verification passes (Claude already committed its own changes; the orchestrator only commits as a fallback if something was left uncommitted).\n- Stop after one task.\n\n### `claude-orchestrator run --loop`\n\nRun multiple tasks in sequence.\n\nLoop mode must be explicit. It should still stop on:\n\n- verification failure after retry cap\n- `BLOCKED`\n- session-limit pause\n- timeout\n- dirty worktree requiring user choice\n- invalid plan/config\n\n### `claude-orchestrator run --dry-run`\n\nPreview the next execution without mutating files.\n\nShows:\n\n- selected plan\n- selected task\n- stable task ID\n- intended worktree\n- Claude command shape\n- verification commands\n- timeout settings\n- log and state paths\n\nDoes not:\n\n- spawn Claude\n- edit Markdown\n- create commits\n- create branches\n- run verification commands\n\n### `claude-orchestrator status`\n\nShow current orchestration state.\n\nExpected output:\n\n- selected/current plan\n- task counts by status\n- active or next task\n- current worktree state\n- last Claude `session_id`\n- last result\n- retry count\n- session-limit pause details if present\n- resume command\n\n### `claude-orchestrator logs`\n\nShow paths to relevant logs without dumping full verbose output by default.\n\nLogs include:\n\n- raw Claude JSON response\n- Claude stderr\n- verification stdout/stderr\n- task state snapshots\n- command policy decisions\n- summary reports\n\n### `claude-orchestrator reset last-task`\n\nReset the blocking failed task (out of retries) back to `NOT_DONE` so a fresh `run` can retry it.\n\n### `claude-orchestrator reset plan`\n\nReset every task in a plan back to `NOT_DONE` and clear its execution state. Use this to restart a plan from scratch.\n\n### Resuming interrupted work\n\nThere is no separate `resume` command. An interrupted, `IN_PROGRESS`, or `BLOCKED: SESSION_LIMIT` task is just state on disk, so re-running `claude-orchestrator run --plan <path>` picks it back up automatically:\n\n- Re-validates config and plan.\n- Detects dirty task worktree state and prompts whether to continue in the existing worktree, retry from a clean base, or halt.\n- Preserves previous logs and retry context.\n- Does not consume retry budget for session-limit pauses.\n\n## Configuration\n\nConfiguration lives in `.claude-orchestrator.json` at the project root.\n\nTop-level config areas:\n\n- `version`: config schema version.\n- `planDir`: project-relative plan directory.\n- `baseBranch`: base branch for task worktrees.\n- `branchPrefix`: branch name prefix for orchestrator work.\n- `models`: planning/execution model defaults.\n- `claude`: Claude binary, permission mode, allowed tools, and safe extra args.\n- `taskTimeoutMs`: per-task Claude wall-clock timeout.\n- `verificationCommands`: ordered structured verification commands.\n- `maxRetries`: bounded retry cap.\n- `logsDir`: log directory.\n- `stateDir`: state directory.\n- `worktreeDir`: per-task worktree directory.\n- `commitMessageTemplate`: verified task commit template.\n- `sessionLimits`: Claude usage-limit behavior.\n- `security`: command allowlist, denylist, protected paths, and network policy.\n\n### Verification Commands\n\nVerification commands must be structured objects, not shell strings.\n\nRequired fields:\n\n- `command`: executable name or absolute path.\n- `args`: literal argument array.\n- `timeoutMs`: finite timeout.\n\nOptional fields:\n\n- `name`: display name.\n- `cwd`: project-relative working directory that must resolve inside the task worktree at execution time.\n- `env`: explicit environment key/value overrides.\n- `allowFailure`: advisory command flag, default false.\n\nCommands run with `shell: false`. Shell chains, redirection, command substitution, and interpolated environment expressions are not part of the MVP command model.\n\n## Safety Model\n\nThe MVP safety model relies on real execution boundaries, not only prompt instructions.\n\n- Each task runs in an isolated Git worktree or equivalent sandbox.\n- Claude execution uses validated permission settings.\n- `--dangerously-skip-permissions` is not allowed for normal execution.\n- Protected path patterns are checked before and after execution.\n- Destructive Git operations are blocked.\n- Claude task sessions commit their own work (and must fix any pre-commit hook failures before reporting success), but do not amend, push, force-push, reset, clean, rebase, delete branches, or otherwise rewrite history.\n- The orchestrator does not auto-push in the MVP.\n- Verification commands are structured and policy-checked.\n- Secret-looking values are redacted from logs.\n\nPrompt instructions still tell Claude not to touch secrets or run destructive Git, but prompt text is treated as advisory unless backed by a technical boundary.\n\n## Timeouts, Retries & Resume\n\nEvery Claude task execution has a finite wall-clock timeout. Timeout behavior:\n\n- Kill the Claude child process.\n- Preserve logs.\n- Preserve the task worktree for inspection.\n- Mark or report the task according to tested executor rules.\n- Do not commit.\n\nRetry behavior:\n\n- Verification or implementation failures increment retry count.\n- Retry prompts include concise, redacted prior failure context.\n- Session-limit pauses do not consume retry budget.\n- Retries stop at the configured cap and hard maximum.\n\nResume behavior:\n\n- Interrupted work remains inspectable in its task worktree.\n- On resume, dirty worktree state is detected.\n- The user chooses whether to continue, retry cleanly, or halt.\n\n## Session Limits\n\nThe orchestrator should show Claude session-limit information when Claude exposes it through stable output/status.\n\nIf remaining usage or reset time is available, it appears in pre-run and summary output. If unavailable, the CLI says `unknown` rather than guessing.\n\nIf Claude stops because of a session limit:\n\n- the task is paused as resumable work\n- normal retry count is not incremented\n- reset time is saved when known\n- the terminal shows the resume command\n- no commit is created\n\nAutomatic resume after reset is post-MVP unless an explicit automation feature is added later.\n\n## Logs & Completion Overview\n\nTerminal output should stay concise. Full details go to files under `logsDir`.\n\nOn task completion, the terminal should show:\n\n- task result\n- verification result\n- retry count\n- commit hash when created\n- log path\n- next action\n\nWhen all tasks are `DONE`, the orchestrator should close cleanly and show:\n\n- plan path\n- final status\n- completed, failed, and blocked counts\n- commits created\n- verification status\n- retry summary\n- estimated cost/usage from Claude JSON when available\n- detailed log directory\n\n## Post-MVP\n\nThese features are explicitly post-MVP:\n\n- desktop notifications\n- webhooks\n- automatic resume after session reset\n- network-aware verification policy\n- dangerous override modes\n","readmeFilename":"README.md"}