{"_id":"@ariso-ai/ari-hooks","_rev":"12-70e3bec56abcf7fe896bda487dd4fe7e","name":"@ariso-ai/ari-hooks","dist-tags":{"latest":"0.1.12"},"versions":{"0.1.0":{"name":"@ariso-ai/ari-hooks","version":"0.1.0","keywords":["claude-code","hooks","ari","ariso"],"license":"UNLICENSED","_id":"@ariso-ai/ari-hooks@0.1.0","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"bin":{"ari-hooks":"bin/ari-hooks.js"},"dist":{"shasum":"127b20a682fca7d0f7a92fcf15d8c9e816b80423","tarball":"https://registry.npmjs.org/@ariso-ai/ari-hooks/-/ari-hooks-0.1.0.tgz","fileCount":8,"integrity":"sha512-mWlIX4IWnQ5bjXIECzb3iuzpxIn9PttQS3c08D4Xtk98ULH/fxSRuadWzR4Pj1Mh5v8/yKPPrzoRHK5sC5W/dg==","signatures":[{"sig":"MEUCIBnni8tzu9t7OpuvC9JW3YHKpPXwHLnyQu4gN4D/wJULAiEAgWihSGubEyZlr0zPNycED6fVsgurBSECRrXOxU1bcXE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17234},"type":"module","engines":{"node":">=18"},"gitHead":"cb2e296c2a31975b7f8ecf06bbef2a77cff66940","scripts":{"test":"node --test"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"_npmVersion":"11.12.1","description":"Set up Claude Code hooks that share your requests and their outcomes with Ari","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ari-hooks_0.1.0_1783624738597_0.8320746974367292","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ariso-ai/ari-hooks","version":"0.1.1","keywords":["claude-code","hooks","ari","ariso"],"license":"UNLICENSED","_id":"@ariso-ai/ari-hooks@0.1.1","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"bin":{"ari-hooks":"bin/ari-hooks.js"},"dist":{"shasum":"3865a22deb5f8502a599aca93b45ad8f770f15e0","tarball":"https://registry.npmjs.org/@ariso-ai/ari-hooks/-/ari-hooks-0.1.1.tgz","fileCount":8,"integrity":"sha512-INkaW1+D6lZinJmFQDJZz1onZcS8tERWTbp9ECWcM2d8W+vSgizc83XsbAxEVuAc8zq//wcGsJXw7A1pED/8Ng==","signatures":[{"sig":"MEUCIBgAZ14e5AtDqWsmtkqueFjyPF3/J8lLu29WoUolZI+QAiEAvMva6fd7JGVAD/3bFv1IftzVy6c6V+CYW6wK7ovlSWQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17311},"type":"module","engines":{"node":">=18"},"gitHead":"fcd30ff3e7e6d6fdd4fefc9d4068b30fda87149d","scripts":{"test":"node --test"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"_npmVersion":"11.12.1","description":"Set up Claude Code hooks that share your requests and their outcomes with Ari","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ari-hooks_0.1.1_1783692655506_0.3299548346884369","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@ariso-ai/ari-hooks","version":"0.1.2","keywords":["claude-code","hooks","ari","ariso"],"license":"UNLICENSED","_id":"@ariso-ai/ari-hooks@0.1.2","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"bin":{"ari-hooks":"bin/ari-hooks.js"},"dist":{"shasum":"800c4df4769c90c41780da13e8bfc82d6612f304","tarball":"https://registry.npmjs.org/@ariso-ai/ari-hooks/-/ari-hooks-0.1.2.tgz","fileCount":8,"integrity":"sha512-q4+SLPtZs5dshuQUNBB6PIrBpwUwDHD3hEiIL9TsHm8l7DTFc0IWv3+zaVzFGfRIclddmT5s6pQs2c7GQ5nvqQ==","signatures":[{"sig":"MEUCIQCUNaa/LU77FapE4keuF+1T/nZrmsWvsCsCKAE+dGuvfgIgbP47yIVVX4rbb7oH0YFf7guatJ3hT+A0MF+hTbBJ2ik=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20597},"type":"module","engines":{"node":">=18"},"gitHead":"46860ab20b1e50bd4150c15d31224cbf2a46b21c","scripts":{"test":"node --test"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"_npmVersion":"11.12.1","description":"Set up Claude Code hooks that share your requests and their outcomes with Ari","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ari-hooks_0.1.2_1783713339615_0.3020507927830096","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@ariso-ai/ari-hooks","version":"0.1.4","keywords":["claude-code","hooks","ari","ariso"],"license":"UNLICENSED","_id":"@ariso-ai/ari-hooks@0.1.4","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"bin":{"ari-hooks":"bin/ari-hooks.js"},"dist":{"shasum":"2f3c05815d24c5d93c635eb330024555ea69ce63","tarball":"https://registry.npmjs.org/@ariso-ai/ari-hooks/-/ari-hooks-0.1.4.tgz","fileCount":8,"integrity":"sha512-PDHbtQ6ahB8KoYXXNorlsVslwA33zQI+4F1thuRIHIaFBOHBuqjhLa9EDgc3S0OqJx7yMm+5Ck3ARJmY3MrVeA==","signatures":[{"sig":"MEYCIQDOIlvBwaxjPa7pHa57dkQhYovTBhw1PSyuZqbF6WiMmgIhAPoREl8rcR2ymMnfQR6oG8lT8gdpAgMS5p/ZZoNhAtk0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20800},"type":"module","engines":{"node":">=18"},"gitHead":"7fb68591b67f110b1c9509b8a6b36e17b270f6d9","scripts":{"test":"node --test"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"_npmVersion":"11.12.1","description":"Set up Claude Code hooks that share your requests and their outcomes with Ari","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ari-hooks_0.1.4_1783961741930_0.8169234789416289","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@ariso-ai/ari-hooks","version":"0.1.5","keywords":["claude-code","hooks","ari","ariso"],"license":"UNLICENSED","_id":"@ariso-ai/ari-hooks@0.1.5","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"bin":{"ari-hooks":"bin/ari-hooks.js"},"dist":{"shasum":"3fae035b68abf0e61338d6703608209cfdb3bfb3","tarball":"https://registry.npmjs.org/@ariso-ai/ari-hooks/-/ari-hooks-0.1.5.tgz","fileCount":8,"integrity":"sha512-NJMM3TryE813C8htKgpp1kVz1NjfyqDjvRSaTsTixDxvZ0jvYtWUdoNNxKnPSCqvwpfqUxs74NuH/oQ3jfEYeg==","signatures":[{"sig":"MEQCIBa8aVFq99yOYSDNhVNfcZEBLZpn1Kh2JslvtjP6+pQOAiBXSXDQeb2qKdcYxZHoaRm+kp1wbW0RhERmoz5iXjhOTA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24829},"type":"module","engines":{"node":">=18"},"gitHead":"227fc72b667b0e1869ebba09f09976a1542c7fe5","scripts":{"test":"node --test"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"_npmVersion":"11.12.1","description":"Set up Claude Code hooks that share your requests and their outcomes with Ari","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ari-hooks_0.1.5_1783964235978_0.8230617171037675","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@ariso-ai/ari-hooks","version":"0.1.6","keywords":["claude-code","hooks","ari","ariso"],"license":"UNLICENSED","_id":"@ariso-ai/ari-hooks@0.1.6","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"bin":{"ari-hooks":"bin/ari-hooks.js"},"dist":{"shasum":"3b107ef7af22f5ff71ef50c7736eb92a08dba4bd","tarball":"https://registry.npmjs.org/@ariso-ai/ari-hooks/-/ari-hooks-0.1.6.tgz","fileCount":8,"integrity":"sha512-H0Lg1ZAD/NrHoGIGpjM971apLUnMcwze2thKsNFvvyzmnNZpaCwZI0WTVX81h07zuF0UZBh3mtXqnSF3s5NpnA==","signatures":[{"sig":"MEUCIQCGKk73MzPzojc4+QzsK7MwdHQ9EKmOePRnR8FFDOZZ9AIgF888XuJy6i1kKSiH4fHtH8btcphX5ufyNZUftwz+Zfo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33441},"type":"module","engines":{"node":">=18"},"gitHead":"4d43b0991ce5b9a11dc3d3a248d0736223e56715","scripts":{"test":"node --test"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"_npmVersion":"11.12.1","description":"Set up Claude Code hooks that share your requests and their outcomes with Ari","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ari-hooks_0.1.6_1783970213012_0.5605117612325754","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@ariso-ai/ari-hooks","version":"0.1.7","keywords":["claude-code","hooks","ari","ariso"],"license":"UNLICENSED","_id":"@ariso-ai/ari-hooks@0.1.7","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"bin":{"ari-hooks":"bin/ari-hooks.js"},"dist":{"shasum":"d485f49ca0bcb2d3ea79f6fe2be7fce8c190f811","tarball":"https://registry.npmjs.org/@ariso-ai/ari-hooks/-/ari-hooks-0.1.7.tgz","fileCount":8,"integrity":"sha512-K6AUp8hz1Sj0bIQ3/5Zp4I7xaa+0HsFkMThALH4rYO3TFWII7ePSvhkGG2HcFnJS7yidpjozgwZ0cjm1dcVjqw==","signatures":[{"sig":"MEUCIGZ4o1Tm6r/F0Xk+RnkyiOCUnKvi5dqc8ITmUgRnNTzeAiEA5KmRhtJE04GCkm1wtSuMEUH3fWce1rywFb9ya71PSFM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34294},"type":"module","engines":{"node":">=18"},"gitHead":"e0e50e08f9169d108a83ea5f3fe1f9a586387956","scripts":{"test":"node --test"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"_npmVersion":"11.12.1","description":"Set up Claude Code hooks that share your requests and their outcomes with Ari","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ari-hooks_0.1.7_1783971291557_0.7709483599696005","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@ariso-ai/ari-hooks","version":"0.1.8","keywords":["claude-code","hooks","ari","ariso"],"license":"UNLICENSED","_id":"@ariso-ai/ari-hooks@0.1.8","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"bin":{"ari-hooks":"bin/ari-hooks.js"},"dist":{"shasum":"d5ff0c40c2c2268a996ddce0a5ec37ffc5c19838","tarball":"https://registry.npmjs.org/@ariso-ai/ari-hooks/-/ari-hooks-0.1.8.tgz","fileCount":8,"integrity":"sha512-x86KT0NP/1tKwqAp4Xx4azGfqU8SMs5SQw7Ewix5OxUTqhFl/Aa4Gh/pdU++vmJ2WBrXYsNhqjaiXfq2JyiP2Q==","signatures":[{"sig":"MEUCIQCjn+mfpLqQeYyNmhtiIexlmCVFgC5iFUKX7eF1Nd1tFQIgUuMlfZlCR1ylcn2WjwlBtDBy59God+cd1O2IwTgTQik=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40332},"type":"module","engines":{"node":">=18"},"gitHead":"0e674b28f179255a602d876e774fc117d9b82d1a","scripts":{"test":"node --test"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"_npmVersion":"11.12.1","description":"Set up Claude Code hooks that share your requests and their outcomes with Ari","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ari-hooks_0.1.8_1783974227905_0.10729917817938572","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@ariso-ai/ari-hooks","version":"0.1.9","keywords":["claude-code","hooks","ari","ariso"],"license":"UNLICENSED","_id":"@ariso-ai/ari-hooks@0.1.9","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"bin":{"ari-hooks":"bin/ari-hooks.js"},"dist":{"shasum":"7b506714894c598c2f04444ea3aa7d801006ee9e","tarball":"https://registry.npmjs.org/@ariso-ai/ari-hooks/-/ari-hooks-0.1.9.tgz","fileCount":8,"integrity":"sha512-ZVAryvuU4cTOcc6eF0QzpAsBQ8UsPtaiWKSccY654o3Obd3ACbuNl/D8fDSxeTPWbdvbgQQ6QryOoXehwnS96w==","signatures":[{"sig":"MEQCIBLMeKaSjGmXybH9SOhCyS+/DGJLLuns34sIQAuFEAr4AiBpcfPTmHp29fUuQjH1jltjdYPBqonPEZflbFsmkYWMXg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41412},"type":"module","engines":{"node":">=18"},"gitHead":"7678bc3fb1315a1587373c87bcdae7bb706f8904","scripts":{"test":"node --test"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"_npmVersion":"11.12.1","description":"Set up Claude Code hooks that share your requests and their outcomes with Ari","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ari-hooks_0.1.9_1784035310855_0.6513348320768373","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@ariso-ai/ari-hooks","version":"0.1.10","keywords":["claude-code","hooks","ari","ariso"],"license":"UNLICENSED","_id":"@ariso-ai/ari-hooks@0.1.10","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"bin":{"ari-hooks":"bin/ari-hooks.js"},"dist":{"shasum":"f935834eb9d6dbedbdeeaf95f8b82ab08e0a66d6","tarball":"https://registry.npmjs.org/@ariso-ai/ari-hooks/-/ari-hooks-0.1.10.tgz","fileCount":8,"integrity":"sha512-ulQUcpdruz+T/mp4lw3bQduSewuXwnONfg0obdXc14RJW8GTqRKP5kCuLMAaiC2bmyNJnMX3doPxXLWsOaVIwg==","signatures":[{"sig":"MEQCIClh1EJGduG0p1XccQZxLBHqWM+WklBgR1nj0LuVBJciAiAa+gPgI5s9p/rBm9ztIQlynvhqAliBF9tTdkY7bHliLw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48229},"type":"module","engines":{"node":">=18"},"gitHead":"2e13929dfdb78348c0bbec0229d2a9ada02e078f","scripts":{"test":"node --test"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"_npmVersion":"11.12.1","description":"Set up Claude Code hooks that share your requests and their outcomes with Ari","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ari-hooks_0.1.10_1788352042928_0.882492790997035","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@ariso-ai/ari-hooks","version":"0.1.11","keywords":["claude-code","hooks","ari","ariso"],"license":"UNLICENSED","_id":"@ariso-ai/ari-hooks@0.1.11","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"bin":{"ari-hooks":"bin/ari-hooks.js"},"dist":{"shasum":"b5df97bd6c6ecfd3e1cd7a9eaee2054f26a314bf","tarball":"https://registry.npmjs.org/@ariso-ai/ari-hooks/-/ari-hooks-0.1.11.tgz","fileCount":8,"integrity":"sha512-+1lLrYyoqTOKwrApOf8YKD1LzakLXZ5WhJOcKknAiS9JvM8MiGqyDDUbyos2695oK5KlsNHZz2Cx6KN3/+/PbA==","signatures":[{"sig":"MEUCIQCOupIZxrVUelWIS4Vogmhk/JY2Xn5vJWoUP/1uhqB1FwIgXK2lhG1z4q/KwMn899ZwgYbB8IKuTiRMcT0GFmxN5qs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCOLzr9wITzqZcswexjymobKq5fEOEAMiBwB/j8iyGlCgIhAJ+jcwo9hNpPekxKfJ+IRGwZSUed78EGtzJ1LZuinzSe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52475},"type":"module","engines":{"node":">=18"},"gitHead":"b85e9360728b1bf5fbaadfc40da8ffd9fb0f0ee8","scripts":{"test":"node --test"},"_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"_npmVersion":"11.12.1","description":"Set up Claude Code hooks that share your requests and their outcomes with Ari","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ari-hooks_0.1.11_1790091536279_0.8922372693835019","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"_id":"@ariso-ai/ari-hooks@0.1.12","bin":{"ari-hooks":"bin/ari-hooks.js"},"dist":{"shasum":"51ed179ff8e93ab8d26507028b9d5d7e151ea215","tarball":"https://registry.npmjs.org/@ariso-ai/ari-hooks/-/ari-hooks-0.1.12.tgz","fileCount":8,"integrity":"sha512-5R41+n3U+FHXd9b29zlATQ2pI785LhzUQ9bL5UvifkBY99aJDD2w5SvPSH69wFVwbGCbFiInacfYaqCLAbAEJA==","signatures":[{"sig":"MEYCIQDT1qLMo5kwRE+/0PH3IPp0V23UUVY0ywYTWyYgFuszPQIhAKQs+aQtVDsH0480KPYRZx7ky8r3TewtLQYBre326nHZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBk1QOwhdHSH/nHIyLzwD2m73ID9qB4wpX62/qjzMRwHAiBCGkUcWlZIpYtFGB8T2yCkip3YuUBNJAJ53Xkz7V8wug=="}],"unpackedSize":52261},"name":"@ariso-ai/ari-hooks","type":"module","engines":{"node":">=18"},"gitHead":"e6f9ab108a3a659a1f192a939750c5615143e615","license":"UNLICENSED","scripts":{"test":"node --test"},"version":"0.1.12","_npmUser":{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},"keywords":["claude-code","hooks","ari","ariso"],"_npmVersion":"11.12.1","description":"Set up Claude Code hooks that share your requests and their outcomes with Ari","directories":{},"maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ari-hooks_0.1.12_1790779330514_0.1364058718095862"}}},"time":{"created":"2026-07-09T19:18:58.447Z","modified":"2026-09-30T14:42:10.865Z","0.1.0":"2026-07-09T19:18:58.771Z","0.1.1":"2026-07-10T14:10:55.666Z","0.1.2":"2026-07-10T19:55:39.775Z","0.1.4":"2026-07-13T16:55:42.062Z","0.1.5":"2026-07-13T17:37:16.161Z","0.1.6":"2026-07-13T19:16:53.164Z","0.1.7":"2026-07-13T19:34:51.676Z","0.1.8":"2026-07-13T20:23:48.066Z","0.1.9":"2026-07-14T13:21:50.982Z","0.1.10":"2026-09-02T12:27:23.070Z","0.1.11":"2026-09-22T15:38:56.357Z","0.1.12":"2026-09-30T14:42:10.602Z"},"license":"UNLICENSED","keywords":["claude-code","hooks","ari","ariso"],"description":"Set up Claude Code hooks that share your requests and their outcomes with Ari","maintainers":[{"name":"maxheckel-ariso","email":"max.heckel@ariso.ai"},{"name":"shawnzh","email":"shawn.zhu@ariso.ai"}],"readme":"# ari-hooks\n\nShares your Claude Code activity with [Ari](https://ariso.ai): after every\nClaude Code turn, the hooks send your request and the final outcome (not the\nintermediate steps) to Ari. When a session starts, Ari suggests the top\nthings Claude can take care of for you right now — pick one and Claude runs\nit.\n\n## Install\n\n```bash\nnpm install -g ari-hooks\n```\n\n## Use\n\nIn any project folder where you use Claude Code:\n\n```bash\nari-hooks install\n```\n\nThat single command:\n\n1. Opens your browser to log in to Ari and mint an API token (stored in\n   `~/.ari-hooks/config.json`, `0600`). Only needed once per machine.\n2. Detects which coding agents you use — Claude Code, Codex, and Cursor — and\n   wires up the hooks for each one it finds (Claude Code by `~/.claude`, Codex\n   by `~/.codex`, Cursor by the environment variables it sets in its terminal).\n   If it can't tell, it defaults to Claude Code.\n3. For Claude Code, adds three hooks to `./.claude/settings.json`:\n   - `SessionStart` — fetches Ari's top suggested tasks and shows them when\n     Claude Code boots; reply with a task number or name to run one\n   - `UserPromptSubmit` — records what you asked for\n   - `Stop` — reads the final assistant message from the transcript and sends\n     the request/outcome pair to the Ari API\n\nExisting settings and hooks are preserved; running it again is a no-op.\n\n### Codex\n\nCodex reads hooks from `.codex/hooks.json` (project) or `~/.codex/hooks.json`\n(machine-wide), using the same nested shape as Claude Code. When `ari-hooks\ninstall` (or `init`) detects Codex, it writes the two activity-sharing hooks\nthere:\n\n- `UserPromptSubmit` — records what you asked for\n- `Stop` — Codex hands the final assistant text to the hook directly (as\n  `last_assistant_message`), and that request/outcome pair is sent to the Ari\n  API\n\nCodex has no user-visible channel to render Ari's suggested-task list, so the\n`SessionStart` task prompt is skipped there.\n\n### Cursor\n\nCursor's agent doesn't read `.claude/settings.json` — it has its own hooks\nsystem in `.cursor/hooks.json`. When `ari-hooks install` (or `init`) runs\ninside Cursor (detected via the `CURSOR_TRACE_ID` / `CURSOR_AGENT`\nenvironment variables Cursor sets in its terminal and CLI agent), it also\nwrites the equivalent hooks there:\n\n- `sessionStart` — injects Ari's suggested tasks as agent context\n- `beforeSubmitPrompt` — records what you asked for\n- `afterAgentResponse` — captures the final assistant text (Cursor's\n  transcript isn't the Claude Code format, so the outcome is taken from\n  this event instead)\n- `stop` — sends the request/outcome pair to the Ari API\n\n`ari-hooks uninstall` cleans up every file — Claude Code, Codex, and Cursor —\nwherever it runs.\n\n### Commands\n\n| Command | What it does |\n|---|---|\n| `ari-hooks install` | Login (if needed) + detect your agents and set up their hooks in the current folder |\n| `ari-hooks uninstall` | Remove the hooks from the Claude Code, Codex (`./.codex/hooks.json`, `~/.codex/hooks.json`), and Cursor files |\n| `ari-hooks login` | Browser login, stores the API token |\n| `ari-hooks init` | Just add the hooks to `./.claude/settings.json` (no login) |\n| `ari-hooks config` | Show configured URLs and login state |\n| `ari-hooks status` | Show login state |\n| `ari-hooks logout` | Delete the stored token |\n\n### Configuration\n\nBy default the CLI talks to production (`https://web.ari.ariso.ai` /\n`https://api.ari.ariso.ai`). To test against a local Ari stack, persist\noverrides with the URL flags (they work on any command):\n\n```bash\nari-hooks config --web-url http://localhost:5173 --api-url http://localhost:4000\nari-hooks login                # browser flow now goes through localhost\nari-hooks config --reset-urls  # back to production\n```\n\nThe overrides are stored in `~/.ari-hooks/config.json`, so the hooks\nthemselves also report to the configured API. Environment variables take\nprecedence over the stored config:\n\n- `ARI_HOOKS_API_URL` — override the API base URL\n- `ARI_HOOKS_WEB_URL` — override the web app URL used for login\n- `ARI_HOOKS_HOME` — override the config directory (default `~/.ari-hooks`)\n\n## Notes\n\n- Hooks never break your Claude Code session: every failure is swallowed and\n  logged to `~/.ari-hooks/error.log`.\n- Only the request text and the final assistant message are sent — no tool\n  calls, diffs, or intermediate steps.\n\n## Author\n\nMax Heckel\n","readmeFilename":"README.md"}