{"_id":"hammoc","_rev":"28-e6236cf8721b2dc900434a7edee48a16","name":"hammoc","dist-tags":{"latest":"1.9.0"},"versions":{"1.0.0":{"name":"hammoc","version":"1.0.0","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.0.0","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"19b224cc2900519665aaacd7bd53ea2ca2fb0ab1","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.0.0.tgz","fileCount":838,"integrity":"sha512-VnRq4quvAM/O++RGSkb0Vm56OHvhrhcSLnjQo22YxwHsgDUGvPsnHafYrCaNLNiIukX/2Q99uf3o+rvld67Rww==","signatures":[{"sig":"MEQCIGIX+4TbtoDzOIRVislrQy5VfO+kpstWqE4yzmU5Z8yEAiBr6RINE3No67j5gW/wMYXvUWlE/FSHmoOLX6sO3LEPAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14582093},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"c07f38adb3455d7153c9ddb72a258725d0e2b4b6","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","bcrypt":"^6.0.0","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","node-pty":"^1.0.0","cross-env":"^10.1.0","socket.io":"^4.8.0","simple-git":"^3.27.0","cookie-session":"^2.1.1","@anthropic-ai/claude-agent-sdk":"^0.2.34"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^4.0.18","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.0.0_1773099135026_0.020034323884246863","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"hammoc","version":"1.0.2","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.0.2","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"3bdd9fc94618eb50d3bf635c1a08bd9b1b5a5d05","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.0.2.tgz","fileCount":844,"integrity":"sha512-Ywf+3c801bGBSUxbg/Q8FE4vjUlFsG66kKobByW82JJThnrprYcCZ1e8+lYeA7gv8iWf7KchpsvSAOt8Op3E+w==","signatures":[{"sig":"MEUCIGBy92t8jEXotjdfq0E/UwvPvBedDgkeN0loWivYDyETAiEA1j1fAUUkp27QutdmJVslRe/u5xp4O8Fcvg/gU7EB9ec=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15466827},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"caff2a9c15b671a62338fbfd77ecc78979eed80d","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","bcrypt":"^6.0.0","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","node-pty":"^1.0.0","cross-env":"^10.1.0","socket.io":"^4.8.0","simple-git":"^3.27.0","cookie-session":"^2.1.1","@anthropic-ai/claude-agent-sdk":"^0.2.34"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^4.0.18","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.0.2_1773190238952_0.2560252008573567","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"hammoc","version":"1.0.3","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.0.3","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"31866c8c6e5aeb4a0a13bd6a1efddc76a64054fe","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.0.3.tgz","fileCount":844,"integrity":"sha512-BVF2zOnwetyVS/SLtnjF58ydwppp1UZtKq+uwi63ba9yo5L0GK7sf8Ai9BAC+6xcQupRlsiizFi6gvepg9G8AQ==","signatures":[{"sig":"MEUCIGdz+ZO9xZ8le//sLNAQ2Alijm18h8dziWk4fRT7DX6SAiEAnMamrcPXS58i13GmbTjOGO0yPk3q+B+Cg2+HmUrtV7s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15466827},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"0ae4956d3fb8c6808cb54f9aa80f25170ab3055a","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","bcrypt":"^6.0.0","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","node-pty":"^1.0.0","cross-env":"^10.1.0","socket.io":"^4.8.0","simple-git":"^3.27.0","cookie-session":"^2.1.1","@anthropic-ai/claude-agent-sdk":"^0.2.34"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^4.0.18","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.0.3_1773191149605_0.8210441322472923","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"hammoc","version":"1.0.4","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.0.4","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"49305938ca940141809e6280cb8604556166acc1","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.0.4.tgz","fileCount":847,"integrity":"sha512-F3Sw9VFmayhYFBuh3us0y8UEeGdnIMMISAt2b7tGJH0UqwZlcfVkQlVNzb6yMl48u4bqO19q7jOcZvpgtncflA==","signatures":[{"sig":"MEQCIE2K0OMXYXARCxobFNClqxj14WhLlfnsV3cQ6nDlxc5HAiA5WZXDoq/SWYlyiIMlOHddeazUxN8tf9cHEXXMp0e5eA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15720806},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"718508b2acc7df428eee2a7b0112fe1274e6adbe","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","bcrypt":"^6.0.0","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","node-pty":"^1.0.0","cross-env":"^10.1.0","socket.io":"^4.8.0","simple-git":"^3.27.0","cookie-session":"^2.1.1","@anthropic-ai/claude-agent-sdk":"^0.2.34"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^4.0.18","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.0.4_1773321889732_0.28380688511595054","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"hammoc","version":"1.1.0","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.1.0","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"eac809a4790a8275e1a630c1ff3588c3c8e5235a","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.1.0.tgz","fileCount":850,"integrity":"sha512-Hvji2OOIABmnOJhfJk/7pOb7Pj9z4shxJxuNGFAtuazwBHY4cHQRS9BcD2srHOe238c6u1VUjmhqTgScGKDGRA==","signatures":[{"sig":"MEUCIQDa+zvtkQOUhwr1C0w/jmgtS3x4ibuC+tm7ldPNGck0gwIgAlvc19ebKQJcwEZdA1W9V8ImSRyQRYM+8sGjhiGwnz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15992872},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"84974bd2e1765262b0721dd64a330ca6e4ffb488","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","bcrypt":"^6.0.0","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","node-pty":"^1.0.0","cross-env":"^10.1.0","socket.io":"^4.8.0","simple-git":"^3.27.0","cookie-session":"^2.1.1","@anthropic-ai/claude-agent-sdk":"^0.2.34"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^4.0.18","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.1.0_1773903590422_0.38580169096378625","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"hammoc","version":"1.1.1","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.1.1","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"6e12be2c7088e463e557f227faf13af2242a8dbb","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.1.1.tgz","fileCount":850,"integrity":"sha512-Xb8+/VeKBXkMaZJ0qrj0/6xhSAEaPuN5zcO6OtHQqoMCqSl75DvtWI/T6HZodNKDYiTfGF3L3QsOemharBip5g==","signatures":[{"sig":"MEQCIFrnDPL+GCBSwv1OcCxMRoDcoS9uMhq3rQ3LLngN0aa2AiBJcC1KgOD4bhdyJS1j2H/TNw6wpfLh0xq8YkV0pNO3Xg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15995806},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"cc52dae1d27ab8baa8fabc7f1f17d6fbd571bde9","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","bcrypt":"^6.0.0","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","node-pty":"^1.0.0","cross-env":"^10.1.0","socket.io":"^4.8.0","simple-git":"^3.27.0","cookie-session":"^2.1.1","@anthropic-ai/claude-agent-sdk":"^0.2.34"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^4.0.18","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.1.1_1773920579812_0.8238034563748791","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"hammoc","version":"1.1.2","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.1.2","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"a66784bb16571d44b1b92355e98c484b4dde3a6f","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.1.2.tgz","fileCount":850,"integrity":"sha512-mV58FUC95NH3y8dWqPb1VFKwFtu24cWgn1svuR794PR53pI0SUYxeZsPS/+lue+GcYZj2FGNnv6M/PZFGvM4Og==","signatures":[{"sig":"MEUCIDZ7K23MxzPut6V114HW6ygz9WpGOugoa6T5l1Pb1UHDAiEAv8rlbUZdEXdmW73P4yWUbxp7LYXTfbgUxNBasxwtFjM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16034653},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"2d563792d8b79efb1d352fcc2e5167f6734cff4f","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","bcrypt":"^6.0.0","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","node-pty":"^1.0.0","cross-env":"^10.1.0","socket.io":"^4.8.0","simple-git":"^3.27.0","cookie-session":"^2.1.1","@anthropic-ai/claude-agent-sdk":"^0.2.34"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^4.0.18","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.1.2_1774094596864_0.20922404159571806","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"hammoc","version":"1.1.3","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.1.3","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"a1dc33551065de45abb6597841fa3fc0adf6ac62","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.1.3.tgz","fileCount":850,"integrity":"sha512-EJ0Biq/YQXoTwZjN/mJRgT3kvY0kGs/spmcerF35YdYa7C8x3AoKbRScNU3OhttkQhv0jatROe6PAe0DYup8AQ==","signatures":[{"sig":"MEUCICKV3nfKN8bRQ8zVCZDTFUkYAqM5HWWqh62oqsA+6ycvAiEAo8tQA8yq9Hd9UX6g5VUZSHJnnuusXdR5sO98UujR4gA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16039936},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"2d6596e37a51c04743338849165206361298cf00","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","bcrypt":"^6.0.0","helmet":"^8.1.0","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","node-pty":"^1.0.0","web-push":"^3.6.7","cross-env":"^10.1.0","socket.io":"^4.8.0","simple-git":"^3.27.0","cookie-session":"^2.1.1","express-rate-limit":"^8.3.1","@anthropic-ai/claude-agent-sdk":"^0.2.34"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^4.0.18","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.1.3_1774104632854_0.13275540567530197","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"hammoc","version":"1.1.4","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.1.4","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"eeec34d5a6f2cb92ef8ce6ef4ce4e117f9f948a2","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.1.4.tgz","fileCount":958,"integrity":"sha512-l+BEsSfD78fdmDv3o+osr+VVcnXbHPtf0voKaHfaHokm5lyhf6VcYbvA+tjEfe12T+gg+Zk3uZw2KET1x1Lt9w==","signatures":[{"sig":"MEUCIQDmyxOglpWikUtB1QdnwkYc8iVj9NEHx2kGe+LkgOLntQIgYbjPDAdfH0MHsxwmx9RrT2tIO74szeYhx7qM2EJ8KZU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16861402},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"db84cacfeab7f9cd540aeef78b31a785424f50f3","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","bcrypt":"^6.0.0","helmet":"^8.1.0","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","node-pty":"^1.0.0","web-push":"^3.6.7","cross-env":"^10.1.0","socket.io":"^4.8.0","simple-git":"^3.27.0","cookie-session":"^2.1.1","express-rate-limit":"^8.3.1","@anthropic-ai/claude-agent-sdk":"^0.2.34"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^4.0.18","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.1.4_1774105165690_0.9460611359468485","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"hammoc","version":"1.1.5","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.1.5","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"d3756831aff848efb33b2300ae4a914853460614","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.1.5.tgz","fileCount":958,"integrity":"sha512-qT8DFyyKz9Ev8I0/dUnmTWVH4JvfvpLBso+W7d+2NGefCTX34y/d3MFGPXjXGpk2/WeeBFSBAiJKWlrYbbVAIg==","signatures":[{"sig":"MEUCIHfgrwpq7Rp5ZgMM4jPeu1a3wjJqwdtMFhBkUuEFHtvpAiEAjDRrS15kMd3AO1PtU8+M0DAZ6NtNf/pdSOON1Q/c7dk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16890752},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"25157cddf308b2531bdaaebd39aaba5514c991f4","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","bcrypt":"^6.0.0","helmet":"^8.1.0","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","node-pty":"^1.0.0","web-push":"^3.6.7","cross-env":"^10.1.0","socket.io":"^4.8.0","simple-git":"^3.27.0","cookie-session":"^2.1.1","express-rate-limit":"^8.3.1","@anthropic-ai/claude-agent-sdk":"^0.2.34"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^4.0.18","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.1.5_1774174818481_0.029281643011991987","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"hammoc","version":"1.1.6","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.1.6","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"b5191fee18f852b66ad2b6f542aa5945502d6900","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.1.6.tgz","fileCount":958,"integrity":"sha512-U8+EGya9Qng6n+qkSgYiqkxCCyu8fPX6eOMNDZscpgVw9V8+sngDtjzJUetg+3OIumLPgI+e5NHiJFDoaEPRkA==","signatures":[{"sig":"MEYCIQDR434v7za5p3YFchpy0JtxATQgnd5gdNH+IBt8eudtOgIhAMVkksyc4YZvmiopTmjaCU7MfcJ9HDStYTU+iaGDS9oX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16940420},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"288f22794cad0e61b32d01f00d80896649e284cd","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","bcrypt":"^6.0.0","helmet":"^8.1.0","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","node-pty":"^1.0.0","web-push":"^3.6.7","cross-env":"^10.1.0","socket.io":"^4.8.0","simple-git":"^3.27.0","cookie-session":"^2.1.1","express-rate-limit":"^8.3.1","@anthropic-ai/claude-agent-sdk":"^0.2.34"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^4.0.18","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.1.6_1774374622864_0.48395982503427804","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"hammoc","version":"1.2.0","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.2.0","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"4303d6d65606758212d93dd92edb9a1c0cc31ac4","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.2.0.tgz","fileCount":991,"integrity":"sha512-CFXNZgvvipN5F5pBZzDt09w9o1gDxGrkGXkqdeQFpzW9rnfczLrG2KK22PY771KseoJHlZrG5rx7tOgyZiIWyA==","signatures":[{"sig":"MEUCIFJZ45V00SuHvx5MCnCnq7f9EPrA5KkYCmgiC1U+F4MDAiEAjMuusamecZTxhQA3fNeuqRSfMBX/UnplXjyE0sz7FtQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17126330},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"d8f77322a5e03f0b17eeefacea8a0594a4649ea1","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","bcrypt":"^6.0.0","helmet":"^8.1.0","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","node-pty":"^1.0.0","web-push":"^3.6.7","cross-env":"^10.1.0","socket.io":"^4.8.0","simple-git":"^3.27.0","cookie-session":"^2.1.1","express-rate-limit":"^8.3.1","@anthropic-ai/claude-agent-sdk":"^0.2.91"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^2.1.9","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.2.0_1775357475050_0.049766696962710855","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"hammoc","version":"1.2.1","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.2.1","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"a4569978216c18f2c0731c9c425bee8a09775eda","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.2.1.tgz","fileCount":991,"integrity":"sha512-rWcWwLCZqss2mW+x8l8SPJMX5fMRoFqszr44tFQ0GjbDt4ynUYCqe7/Ywlu2UUwpmLLtNBmTwwj7Hbgc6+7VTw==","signatures":[{"sig":"MEUCIQCYU+Wc6ZBWkHWgGSPxPbDehDDGmfR+NwcW1C97J34rtQIgV+s6Pj3xyw9M/ELEC6zTmxztXZK4udZ+e0YTsfWWOKA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17127954},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"1193df9a00fb34dd4f3e8b03e3a8a135ecbf3a23","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","bcrypt":"^6.0.0","helmet":"^8.1.0","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","node-pty":"^1.0.0","web-push":"^3.6.7","cross-env":"^10.1.0","socket.io":"^4.8.0","simple-git":"^3.27.0","cookie-session":"^2.1.1","express-rate-limit":"^8.3.1","@anthropic-ai/claude-agent-sdk":"^0.2.91"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^2.1.9","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.2.1_1775366297380_0.6314532548894825","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"hammoc","version":"1.2.2","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.2.2","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"be8c56a647e834f6eca9aef5b696f7eca190876a","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.2.2.tgz","fileCount":995,"integrity":"sha512-DEtWLLpvr5QpBGUvXeeLCHmeysa3FG6cmrN0kswOBIl/29AtQxTUYlytK8K+/CCv3FKwIjDjOQAGpCh+ueqhug==","signatures":[{"sig":"MEQCIFseBLhL9/MsJ9GFNEacqR9l3hIOmFcBCAqPemgru7WpAiBasvxvFAE4eSyP9hkcUT8LTwwloE37SlrV8EJOKGd+aw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17135667},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"38f8676d07dc98c8896dba4897ad2b0d38898447","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","bcrypt":"^6.0.0","helmet":"^8.1.0","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","node-pty":"^1.0.0","web-push":"^3.6.7","cross-env":"^10.1.0","socket.io":"^4.8.0","simple-git":"^3.27.0","cookie-session":"^2.1.1","express-rate-limit":"^8.3.1","@anthropic-ai/claude-agent-sdk":"^0.2.91"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^2.1.9","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.2.2_1775390456648_0.60035132839185","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"hammoc","version":"1.2.3","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.2.3","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"b2f960007d4c4a7cff9ae7b0074ff7f1005aaa1a","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.2.3.tgz","fileCount":1023,"integrity":"sha512-v1isaYrWc1ggvz3mkmlt1h0MPryxgVcDGVYhlFsswOyj0Mwb5JJhZxImlZNrW1bxY+omhLDfhAV6DPiwBbBX8g==","signatures":[{"sig":"MEUCIHgK/ImXJV5KUVbDfPauqAKERNm2UwXElj5+x8Zwvu8ZAiEAgospBlhyo2e06Cp7B/Pm4rSFZ1CmkK9JUftPgbR04M8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17186149},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"fca844d3c5c2d976c8b9e2af3381e9ad337218c4","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","bcrypt":"^6.0.0","helmet":"^8.1.0","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","node-pty":"^1.0.0","web-push":"^3.6.7","cross-env":"^10.1.0","socket.io":"^4.8.0","simple-git":"^3.27.0","cookie-session":"^2.1.1","express-rate-limit":"^8.3.1","@anthropic-ai/claude-agent-sdk":"^0.2.91"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^2.1.9","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.2.3_1775543457636_0.10716787906245395","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"hammoc","version":"1.3.0","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.3.0","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"f9ff0406c7c194360254d98751524e0908f1c589","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.3.0.tgz","fileCount":1023,"integrity":"sha512-Xri4/7Fd2byTkluxSgYKz06sGOSim19ucHkEa62f0dgpyMz51LDanOCmYJJu1Q2FwTx99aCWj/hWUa0/Qcz1sw==","signatures":[{"sig":"MEQCIC2KzAuxAZyly6popMM9ibmVqUlPYCdpPdf08p5tKknlAiA5/C6ccjtnKOmyLJiB9We9/QMBg0CJzyXgFDq1VIJvsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17426606},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"2d1cb5f58bb125fc8f99243b716e6f2a9b9274a6","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","bcrypt":"^6.0.0","helmet":"^8.1.0","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","node-pty":"^1.0.0","web-push":"^3.6.7","cross-env":"^10.1.0","socket.io":"^4.8.0","rehype-raw":"^7.0.0","simple-git":"^3.27.0","cookie-session":"^2.1.1","rehype-sanitize":"^6.0.0","express-rate-limit":"^8.3.1","@anthropic-ai/claude-agent-sdk":"^0.2.91"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^2.1.9","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.3.0_1776324128506_0.04200812892676309","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"hammoc","version":"1.4.0","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.4.0","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"c059cb3d690bfb861e829132403ab428bd4e97bc","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.4.0.tgz","fileCount":1041,"integrity":"sha512-WxzJ/AgsO7Nmd/IV27HEYFWLm5509dQqe5r4g6AKMB4HjZ+7gbdZmalbIiCHuJ91iY9yFo9DZ3LTUKrS/wzDuw==","signatures":[{"sig":"MEUCIFW8Ovk/p2+LreyHLG20TZmQ0SZWBraMqvXSWebRgswtAiEA3zN27xXVDYVqxE9YC68duRYwo5FsNYtfK4FqI6LOlnk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17585114},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"2909afe34ee409de31c39e6bb8cb9983ac11ef8b","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build","test:integration":"node scripts/run-integration-test.mjs"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","bcrypt":"^6.0.0","helmet":"^8.1.0","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","node-pty":"^1.0.0","web-push":"^3.6.7","cross-env":"^10.1.0","socket.io":"^4.8.0","rehype-raw":"^7.0.0","simple-git":"^3.27.0","cookie-session":"^2.1.1","rehype-sanitize":"^6.0.0","express-rate-limit":"^8.3.1","@anthropic-ai/claude-agent-sdk":"^0.2.114"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^2.1.9","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.4.0_1776849016805_0.3317401395263324","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"hammoc","version":"1.5.0","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.5.0","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"2d289613e38ddf22e6ea7b7bd1bc0cf2873a9980","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.5.0.tgz","fileCount":1222,"integrity":"sha512-7C7HbVVZoqeZBRLRD0fMA6CWBmHtWPhOOVp2JPnTlUhf0GNonXEv81NUWRZ9za6dJgBmRrWTBOstmMSNij+O8w==","signatures":[{"sig":"MEYCIQD+YrzIs2SLADtTlzUZzBfauBwBI6OF0EY7lcAjHzNeugIhAOHkkIXe4Bsc4wa3ocKbR+Sg5ZZ7mQgwLY7Gei324eo/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19266387},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"4b61fa17277d9da8bfb0ff68bcf48b20fdda5ba3","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build:manual-shards && npm run build","test:integration":"node scripts/run-integration-test.mjs","build:manual-shards":"node scripts/build-manual-shards.mjs"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","yaml":"^2.8.3","jszip":"^3.10.1","sharp":"^0.34.5","bcrypt":"^6.0.0","helmet":"^8.1.0","ignore":"^5.3.2","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","chokidar":"^5.0.0","node-pty":"^1.0.0","web-push":"^3.6.7","cross-env":"^10.1.0","socket.io":"^4.8.0","rehype-raw":"^7.0.0","simple-git":"^3.27.0","jsonc-parser":"^3.3.1","cookie-session":"^2.1.1","rehype-sanitize":"^6.0.0","@anthropic-ai/claude-agent-sdk":"^0.2.114"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^2.1.9","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.5.0_1779458345469_0.30394204695769145","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"hammoc","version":"1.6.0","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.6.0","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"c769ae5950e8b4fceda02ddff735576039b123c8","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.6.0.tgz","fileCount":1297,"integrity":"sha512-AM9eEQ8rcC+jDPdhsSDOKn4Z0OD0xgBGkk0FWwCN/kip5ha8xZGaaw8G5te/526i/s7hcbe+SbfRJjzOwLZsoA==","signatures":[{"sig":"MEYCIQDmW19tgO0TPFgQFv7jmVLndEADOi1LX+CuC3ZHVFpjGwIhANlJloQw1A0sy6D564Sk7KT61wkUoh7TuvO/jrY/DYNq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20055899},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"cd0c83896e584a3821bc7b105c580d6bf1b7703c","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build:manual-shards && npm run build","test:integration":"node scripts/run-integration-test.mjs","build:manual-shards":"node scripts/build-manual-shards.mjs"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","yaml":"^2.8.3","jszip":"^3.10.1","sharp":"^0.34.5","bcrypt":"^6.0.0","helmet":"^8.1.0","ignore":"^5.3.2","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","chokidar":"^5.0.0","node-pty":"^1.0.0","web-push":"^3.6.7","cross-env":"^10.1.0","socket.io":"^4.8.0","rehype-raw":"^7.0.0","simple-git":"^3.27.0","jsonc-parser":"^3.3.1","cookie-session":"^2.1.1","rehype-sanitize":"^6.0.0","@anthropic-ai/claude-agent-sdk":"^0.3.158"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^2.1.9","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.6.0_1780485037975_0.22510827661203114","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"hammoc","version":"1.7.0","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.7.0","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"caaedf6c82e544aa745838a52a3b6b8cfddcfcca","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.7.0.tgz","fileCount":1413,"integrity":"sha512-sJgJBOvwXGSQ3t4jwI2F+l/IGfa97qlLTSllr1YT1DRPBGkLFFL/VTHwWM7/gAkRCBzf3bsT40XyQVczuJcN8w==","signatures":[{"sig":"MEYCIQCmwe+SXNTGmwTkdZaq8L9oXSsN+PAPAVkvOCT0tyYsWwIhAMC2O7xrm5jgHFzaDTnZWcRusELW8gazAIrXieK1JG7m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20864061},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"2cbb6e1a73129851382bc054a8a11adc6a82ddfc","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build:manual-shards && npm run build","test:integration":"node scripts/run-integration-test.mjs","build:manual-shards":"node scripts/build-manual-shards.mjs"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","yaml":"^2.8.3","jszip":"^3.10.1","sharp":"^0.34.5","bcrypt":"^6.0.0","helmet":"^8.1.0","ignore":"^5.3.2","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","chokidar":"^5.0.0","node-pty":"^1.0.0","web-push":"^3.6.7","cross-env":"^10.1.0","socket.io":"^4.8.0","rehype-raw":"^7.0.0","simple-git":"^3.27.0","jsonc-parser":"^3.3.1","cookie-session":"^2.1.1","rehype-sanitize":"^6.0.0","@anthropic-ai/claude-agent-sdk":"^0.3.177"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^2.1.9","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.7.0_1782006729332_0.19580673546787786","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"hammoc","version":"1.7.1","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.7.1","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"0e034c13af67d6c3575554c0713285e56a2ebf4d","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.7.1.tgz","fileCount":1413,"integrity":"sha512-JCvB7xoPMXwBprmW36Thy562bC5u/ndVbwO4ua1ly48VNItFL03BS079N33JKWdhhlaXQmO8Et2SHHFscD7VzA==","signatures":[{"sig":"MEYCIQCawN3M810OkXJLqJh7grvQJJfO7eBbrzmpqFWv2IKoDAIhANRS90HuZrfTKQetP3O+UatF6ad/SPH2or92NU2o4Glw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20865613},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"c4ac7911f378735bb7c25529526c3ad8c45b2b8f","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build:manual-shards && npm run build","test:integration":"node scripts/run-integration-test.mjs","build:manual-shards":"node scripts/build-manual-shards.mjs"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","yaml":"^2.8.3","jszip":"^3.10.1","sharp":"^0.34.5","bcrypt":"^6.0.0","helmet":"^8.1.0","ignore":"^5.3.2","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","chokidar":"^5.0.0","node-pty":"^1.0.0","web-push":"^3.6.7","cross-env":"^10.1.0","socket.io":"^4.8.0","rehype-raw":"^7.0.0","simple-git":"^3.27.0","jsonc-parser":"^3.3.1","cookie-session":"^2.1.1","rehype-sanitize":"^6.0.0","@anthropic-ai/claude-agent-sdk":"^0.3.177"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^2.1.9","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.7.1_1782021266680_0.2217246102509156","host":"s3://npm-registry-packages-npm-production"}},"1.7.2":{"name":"hammoc","version":"1.7.2","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.7.2","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"6890cee90e16056cc31dd81bad4b2841305c7577","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.7.2.tgz","fileCount":1414,"integrity":"sha512-tm/Wtq8ESCbbnWsnlFud+4Gi3UqXLJ1zsLAcv2zTpLu+NACrHX5xS1rr18I2HexYKPm155CSk4hOzdrdGvu83Q==","signatures":[{"sig":"MEQCIH1kWhKuJfDQ8H2hE++Jal22SporztiMmLmNzT+yaz9pAiBaLsvhAl/82oqTxCkIqZE6xTvksuc3NfySJQomAGyFGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20908843},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"1bc4882496d513b53ab20e419b2e65d816224278","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build:manual-shards && npm run build","test:integration":"node scripts/run-integration-test.mjs","build:manual-shards":"node scripts/build-manual-shards.mjs"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","yaml":"^2.8.3","jszip":"^3.10.1","sharp":"^0.34.5","bcrypt":"^6.0.0","helmet":"^8.1.0","ignore":"^5.3.2","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","chokidar":"^5.0.0","node-pty":"^1.0.0","web-push":"^3.6.7","cross-env":"^10.1.0","socket.io":"^4.8.0","rehype-raw":"^7.0.0","simple-git":"^3.27.0","jsonc-parser":"^3.3.1","cookie-session":"^2.1.1","rehype-sanitize":"^6.0.0","@anthropic-ai/claude-agent-sdk":"^0.3.177"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^2.1.9","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.7.2_1782110814302_0.21834091678475365","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"hammoc","version":"1.8.0","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.8.0","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"43d13be79a9a28aba09d390d2da92b37b32be294","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.8.0.tgz","fileCount":1437,"integrity":"sha512-ZY/3fXb80cHn86Z//H0VfjZZEfMPxAZPf7YUMM2LqJi5c+1D7G/RuyHSKTP50gDf6zhN9i2NfAzI5wUUnj2O1g==","signatures":[{"sig":"MEUCIB98+Fit0shGZVhMJ/Mnh/QbCw/yXhIbgWFSVerAgFe2AiEAvTKErAxWSSdSATfQoV/vLSB+C8ie88fmA39YJrJgZ6w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21106446},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"bfc89ef50c5aad025fe1b6c25042039821237f2c","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build:manual-shards && npm run build","test:integration":"node scripts/run-integration-test.mjs","build:manual-shards":"node scripts/build-manual-shards.mjs"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","yaml":"^2.8.3","jszip":"^3.10.1","sharp":"^0.34.5","bcrypt":"^6.0.0","helmet":"^8.1.0","ignore":"^5.3.2","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","chokidar":"^5.0.0","node-pty":"^1.0.0","web-push":"^3.6.7","cross-env":"^10.1.0","socket.io":"^4.8.0","rehype-raw":"^7.0.0","simple-git":"^3.27.0","jsonc-parser":"^3.3.1","cookie-session":"^2.1.1","rehype-sanitize":"^6.0.0","@anthropic-ai/claude-agent-sdk":"^0.3.177"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^2.1.9","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.8.0_1782387687643_0.34008035147367566","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"hammoc","version":"1.8.1","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.8.1","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"6c2a26ab73fd9a2156f04abce21ac3208271de15","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.8.1.tgz","fileCount":1437,"integrity":"sha512-0Bw63kQs7D6coZLB/nQSMqBSyrFJ2JnLpBpYok6BZz22giWKI4epEARGj0k18rFeTPrI2k8HcLtasAfMuDuZ0A==","signatures":[{"sig":"MEUCIQDQcD2BDto4SuVIpf7gxkeZibYPwpiWdDqhWs5e3RJh7AIgUbAvYso30OS7xF8WMkO7qYRAlNlMuJP/J3VuY+P23VA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21106558},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"16d3870a7cd1c43d79b5284359871addea447a59","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build:manual-shards && npm run build","test:integration":"node scripts/run-integration-test.mjs","build:manual-shards":"node scripts/build-manual-shards.mjs"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","yaml":"^2.8.3","jszip":"^3.10.1","sharp":"^0.34.5","bcrypt":"^6.0.0","helmet":"^8.1.0","ignore":"^5.3.2","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","chokidar":"^5.0.0","node-pty":"^1.0.0","web-push":"^3.6.7","cross-env":"^10.1.0","socket.io":"^4.8.0","rehype-raw":"^7.0.0","simple-git":"^3.27.0","jsonc-parser":"^3.3.1","cookie-session":"^2.1.1","@xterm/headless":"5.5.0","rehype-sanitize":"^6.0.0","@anthropic-ai/sdk":"^0.100.1","@xterm/addon-serialize":"0.14.0","@anthropic-ai/claude-agent-sdk":"^0.3.177"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^2.1.9","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.8.1_1782392959097_0.5058509440340015","host":"s3://npm-registry-packages-npm-production"}},"1.8.2":{"name":"hammoc","version":"1.8.2","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.8.2","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"b51ef8c4e30ec00394faebd8f2a14dd51bf45c1a","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.8.2.tgz","fileCount":1437,"integrity":"sha512-+xAqaVQezdISKLc2XJeZAtGjpzUB3Hol3t4G0SpxCzJ38y5/KCXyPSQpNAUeiMh/ergnlYHgbIRGb0tyvlwH3g==","signatures":[{"sig":"MEQCIAQbBjZM8vbeAGXv7ZxoAI6ydbu2OZj6ZOJlXI2VUSKlAiAvdieAJlL+EyghRZDWIkb+NUW+m9r+e7rnp/ZIP3c//g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21106754},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"5be4c36b8cec5d8065b88a88e808a5ec93650947","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build:manual-shards && npm run build","test:integration":"node scripts/run-integration-test.mjs","build:manual-shards":"node scripts/build-manual-shards.mjs"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","yaml":"^2.8.3","jszip":"^3.10.1","sharp":"^0.34.5","bcrypt":"^6.0.0","helmet":"^8.1.0","ignore":"^5.3.2","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","chokidar":"^5.0.0","web-push":"^3.6.7","cross-env":"^10.1.0","socket.io":"^4.8.0","rehype-raw":"^7.0.0","simple-git":"^3.27.0","jsonc-parser":"^3.3.1","cookie-session":"^2.1.1","@xterm/headless":"5.5.0","rehype-sanitize":"^6.0.0","@anthropic-ai/sdk":"^0.100.1","@xterm/addon-serialize":"0.14.0","@anthropic-ai/claude-agent-sdk":"^0.3.177","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^2.1.9","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.8.2_1782399917531_0.9461468398655994","host":"s3://npm-registry-packages-npm-production"}},"1.8.3":{"name":"hammoc","version":"1.8.3","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.8.3","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"7992c2dd41900746bad5c3761efcde5dab2c30d1","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.8.3.tgz","fileCount":1437,"integrity":"sha512-CJA852tUqxngG9OV7VS3IJOUc0Nrxg8ERWx2glamDmZ9NcPyCP75yhVIqErm/+CsvQrSqODrJ7d1IPcMi2byBA==","signatures":[{"sig":"MEQCID7yeWl8bTBDV4Mw1kA3Lvn6L5h1E+72LrNWPQDDv8liAiBD/j8RzgGm3Sykw6D5FrxWxWGOjPO4g0ALW7Pj0eglXg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21109074},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"e0cf9867233a687b90299b5b3fdd1cbd6a2215f7","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build:manual-shards && npm run build","test:integration":"node scripts/run-integration-test.mjs","build:manual-shards":"node scripts/build-manual-shards.mjs"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","yaml":"^2.8.3","jszip":"^3.10.1","sharp":"^0.34.5","bcrypt":"^6.0.0","helmet":"^8.1.0","ignore":"^5.3.2","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","chokidar":"^5.0.0","web-push":"^3.6.7","cross-env":"^10.1.0","socket.io":"^4.8.0","rehype-raw":"^7.0.0","simple-git":"^3.27.0","jsonc-parser":"^3.3.1","cookie-session":"^2.1.1","@xterm/headless":"5.5.0","rehype-sanitize":"^6.0.0","@anthropic-ai/sdk":"^0.100.1","@xterm/addon-serialize":"0.14.0","@anthropic-ai/claude-agent-sdk":"^0.3.177","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^2.1.9","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.8.3_1782448903968_0.5525380578982693","host":"s3://npm-registry-packages-npm-production"}},"1.8.4":{"name":"hammoc","version":"1.8.4","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"author":{"url":"https://github.com/starsh2001","name":"starsh2001"},"license":"AGPL-3.0-only","_id":"hammoc@1.8.4","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"homepage":"https://github.com/starsh2001/hammoc#readme","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"bin":{"hammoc":"bin/hammoc.js"},"dist":{"shasum":"6742cedd539dd58f9c6fcc4362a939dcc10b1907","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.8.4.tgz","fileCount":1437,"integrity":"sha512-1HPYwSj125ZkfUy1MD06YhvfDOIHDDTlk+hqC/SEhpNFw7OizCP2bQiGbiaBJvqLN7n1qVmOpxPB9vRsbjRxtg==","signatures":[{"sig":"MEQCIGqlKx74ix9vdyYX0Qlqg9BAP3pO7Fr3tOiBpfJprJ5MAiAiBkCtOetjseuveL8Unzi8qEq60XRHzUrvYtINsbQ0yg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21109078},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"5bbf5bfcc90853cb04354d6956c981579856e6da","scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","prod":"npm run build && npm run start","test":"npm run test --workspaces --if-present","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","start":"npm run start -w packages/server","format":"prettier --write packages/*/src","bmad:list":"bmad-method list:agents","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","bmad:refresh":"bmad-method install -f -i codex","bmad:validate":"bmad-method validate","prepublishOnly":"npm run build:manual-shards && npm run build","test:integration":"node scripts/run-integration-test.mjs","build:manual-shards":"node scripts/build-manual-shards.mjs"},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"repository":{"url":"git+https://github.com/starsh2001/hammoc.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","cors":"^2.8.5","yaml":"^2.8.3","jszip":"^3.10.1","sharp":"^0.34.5","bcrypt":"^6.0.0","helmet":"^8.1.0","ignore":"^5.3.2","multer":"^2.1.1","express":"^4.21.0","i18next":"^24.2.3","js-yaml":"^4.1.1","chokidar":"^5.0.0","web-push":"^3.6.7","cross-env":"^10.1.0","socket.io":"^4.8.0","rehype-raw":"^7.0.0","simple-git":"^3.27.0","jsonc-parser":"^3.3.1","cookie-session":"^2.1.1","@xterm/headless":"5.5.0","rehype-sanitize":"^6.0.0","@anthropic-ai/sdk":"^0.100.1","@xterm/addon-serialize":"0.14.0","@anthropic-ai/claude-agent-sdk":"^0.3.177","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.0.0","vitest":"^2.1.9","prettier":"^3.3.0","@eslint/js":"^9.0.0","typescript":"^5.9.3","concurrently":"^8.2.2","@types/web-push":"^3.6.4","typescript-eslint":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hammoc_1.8.4_1782450199434_0.6679440677681423","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"hammoc","version":"1.9.0","description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","type":"module","license":"AGPL-3.0-only","author":{"name":"starsh2001","url":"https://github.com/starsh2001"},"repository":{"type":"git","url":"git+https://github.com/starsh2001/hammoc.git"},"keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"engines":{"node":">=18.0.0"},"workspaces":["packages/*"],"bin":{"hammoc":"bin/hammoc.js"},"scripts":{"dev":"concurrently -n server,client -c blue,green \"npm run dev -w packages/server\" \"npm run dev -w packages/client\"","build":"npm run build -w packages/shared && npm run build --workspaces --if-present","test":"npm run test --workspaces --if-present","start":"npm run start -w packages/server","prod":"npm run build && npm run start","lint":"eslint \"packages/*/src/**/*.{ts,tsx}\"","format":"prettier --write packages/*/src","typecheck":"npm run typecheck --workspaces --if-present","postinstall":"node scripts/postinstall.cjs","prepublishOnly":"npm run build:manual-shards && npm run build","test:integration":"node scripts/run-integration-test.mjs","build:manual-shards":"node scripts/build-manual-shards.mjs","bmad:refresh":"bmad-method install -f -i codex","bmad:list":"bmad-method list:agents","bmad:validate":"bmad-method validate"},"dependencies":{"@anthropic-ai/claude-agent-sdk":"^0.3.177","@anthropic-ai/sdk":"^0.100.1","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1","@xterm/addon-serialize":"0.14.0","@xterm/headless":"5.5.0","bcrypt":"^6.0.0","chokidar":"^5.0.0","cookie-session":"^2.1.1","cors":"^2.8.5","cross-env":"^10.1.0","express":"^4.21.0","helmet":"^8.1.0","i18next":"^24.2.3","ignore":"^5.3.2","js-yaml":"^4.1.1","jsonc-parser":"^3.3.1","jszip":"^3.10.1","multer":"^2.1.1","rehype-raw":"^7.0.0","rehype-sanitize":"^6.0.0","sharp":"^0.34.5","simple-git":"^3.27.0","socket.io":"^4.8.0","web-push":"^3.6.7","yaml":"^2.8.3","zod":"^4.3.6"},"devDependencies":{"@eslint/js":"^9.0.0","@types/web-push":"^3.6.4","concurrently":"^8.2.2","eslint":"^9.0.0","prettier":"^3.3.0","tsx":"^4.21.0","typescript":"^5.9.3","typescript-eslint":"^8.0.0","vitest":"^2.1.9"},"overrides":{"@types/react":"^18.3.0","@types/express":"4.17.25","@types/express-serve-static-core":"4.19.8"},"gitHead":"b66ba81e69cfcd30d5df858e04d39f9078eb4c26","_id":"hammoc@1.9.0","bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"homepage":"https://github.com/starsh2001/hammoc#readme","_nodeVersion":"22.19.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-VIwrU72mIlu9e7NdfSOaDJDahHLNlKp0eeIE3XuPGwl+OxxNS4q8tl0cdSAanYIP+bI5xe0zl69k9mvsbcAxSw==","shasum":"45403bc24b6b37ae6e3d3b5b88981ae58dbc87c0","tarball":"https://registry.npmjs.org/hammoc/-/hammoc-1.9.0.tgz","fileCount":1561,"unpackedSize":26632273,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGmye9BFZb5qy5lxpq2nbDalzlGbsk3RSXgF/lnc/YazAiEAzVSoY6Crt7e3dVGPmWdg0KApSF4AjsU9vGa2GQOi6YI="}]},"_npmUser":{"name":"starsh2001","email":"starsh2001@gmail.com"},"directories":{},"maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/hammoc_1.9.0_1783855194522_0.7389645205198903"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-09T23:32:14.935Z","modified":"2026-07-12T11:19:54.890Z","1.0.0":"2026-03-09T23:32:15.280Z","1.0.2":"2026-03-11T00:50:39.486Z","1.0.3":"2026-03-11T01:05:49.927Z","1.0.4":"2026-03-12T13:24:50.022Z","1.1.0":"2026-03-19T06:59:50.685Z","1.1.1":"2026-03-19T11:43:00.076Z","1.1.2":"2026-03-21T12:03:17.176Z","1.1.3":"2026-03-21T14:50:33.156Z","1.1.4":"2026-03-21T14:59:25.984Z","1.1.5":"2026-03-22T10:20:18.785Z","1.1.6":"2026-03-24T17:50:23.206Z","1.2.0":"2026-04-05T02:51:15.369Z","1.2.1":"2026-04-05T05:18:17.701Z","1.2.2":"2026-04-05T12:00:56.948Z","1.2.3":"2026-04-07T06:30:57.957Z","1.3.0":"2026-04-16T07:22:08.863Z","1.4.0":"2026-04-22T09:10:17.182Z","1.5.0":"2026-05-22T13:59:05.823Z","1.6.0":"2026-06-03T11:10:38.243Z","1.7.0":"2026-06-21T01:52:09.600Z","1.7.1":"2026-06-21T05:54:26.961Z","1.7.2":"2026-06-22T06:46:54.593Z","1.8.0":"2026-06-25T11:41:27.952Z","1.8.1":"2026-06-25T13:09:19.411Z","1.8.2":"2026-06-25T15:05:17.838Z","1.8.3":"2026-06-26T04:41:44.208Z","1.8.4":"2026-06-26T05:03:19.802Z","1.9.0":"2026-07-12T11:19:54.790Z"},"bugs":{"url":"https://github.com/starsh2001/hammoc/issues"},"author":{"name":"starsh2001","url":"https://github.com/starsh2001"},"license":"AGPL-3.0-only","homepage":"https://github.com/starsh2001/hammoc#readme","keywords":["claude","claude-code","ide","ai","session-manager","developer-tools"],"repository":{"type":"git","url":"git+https://github.com/starsh2001/hammoc.git"},"description":"Web-based IDE for managing Claude Code sessions, projects, and workflows","maintainers":[{"name":"starsh2001","email":"starsh2001@gmail.com"}],"readme":"<p align=\"center\">\r\n  <img src=\"logo/Hammoc-Header.png\" alt=\"Hammoc\" width=\"480\">\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <strong>Kick Back. Tap. Ship.</strong><br>\r\n  The web IDE built for AI-driven development workflows — starting with BMAD-METHOD.\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <a href=\"https://www.npmjs.com/package/hammoc\"><img src=\"https://img.shields.io/npm/v/hammoc\" alt=\"npm version\"></a>\r\n  <a href=\"https://www.npmjs.com/package/hammoc\"><img src=\"https://img.shields.io/npm/dm/hammoc\" alt=\"npm downloads\"></a>\r\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/github/license/starsh2001/hammoc\" alt=\"license\"></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <a href=\"docs/MANUAL.md\"><strong>User Manual</strong></a> ·\r\n  <a href=\"#quick-start\"><strong>Quick Start</strong></a> ·\r\n  <a href=\"#features\"><strong>Features</strong></a>\r\n</p>\r\n\r\n---\r\n\r\n## What is Hammoc?\r\n\r\nHammoc is a web IDE optimized for structured AI-driven development methodologies. It currently provides first-class support for the [BMAD-METHOD V4](https://github.com/bmad-code-org/BMAD-METHOD) workflow — with plans to support additional methodologies in the future.\r\n\r\nBuilt on top of [Claude Code](https://docs.anthropic.com/en/docs/claude-code), Hammoc provides everything you need to run a full BMAD workflow from your browser: agent switching, PRD-to-queue automation, epic/story tracking, and a Kanban board — all in one place. No terminal hopping, no context switching.\r\n\r\nFully responsive and mobile-first. Kick back in your hammock, tap a command on your phone, and let the AI ship it. Inspired by Rich Hickey's *Hammock Driven Development* — the idea that real breakthroughs come when you step back, not when you're grinding at the terminal.\r\n\r\n---\r\n\r\n## Quick Start\r\n\r\n### Prerequisites\r\n\r\n- **Node.js** >= 18.0.0 (v22 LTS recommended)\r\n- **Claude Code CLI** installed and authenticated (`claude --version`)\r\n\r\n### Install & Run\r\n\r\n```bash\r\n# Run directly (no install needed)\r\nnpx hammoc\r\n\r\n# Or install globally\r\nnpm install -g hammoc\r\nhammoc\r\n```\r\n\r\nOpen http://localhost:3000 in your browser. First launch guides you through a multi-step onboarding wizard (display name, password, Claude sign-in, project selection).\r\n\r\n### CLI Options\r\n\r\n```\r\nhammoc [options]\r\n\r\nOptions:\r\n  --port <number>        Port to listen on (default: 3000, env: PORT)\r\n  --host <string>        Host to bind to (default: 0.0.0.0, env: HOST)\r\n  --trust-proxy          Enable reverse proxy support (env: TRUST_PROXY)\r\n  --cors-origin <url>    Restrict CORS to specific origin (env: CORS_ORIGIN)\r\n  --reset-password       Reset the admin password\r\n  -h, --help             Show this help message\r\n  -v, --version          Show version number\r\n```\r\n\r\n### Mobile Access\r\n\r\nFully responsive. Access from your phone or tablet at `http://<your-ip>:3000` on the same network.\r\n\r\n### PWA (Progressive Web App)\r\n\r\nHammoc can be installed as a standalone app on your PC or mobile device.\r\n\r\n- **PC (localhost):** Open `http://localhost:3000` in Chrome → click the install icon in the address bar. No extra setup needed.\r\n- **Mobile (local network):** Requires HTTPS. See the [HTTPS Setup](#https-setup-for-mobile-pwa) section below.\r\n\r\n> ⚠️ **Security Notice**\r\n>\r\n> Hammoc is designed for **local network / VPN use**. While it includes security hardening for external exposure (see [Remote Access](#remote-access) below), it has not undergone a formal security audit. For maximum safety, run behind a **trusted VPN** (e.g., Tailscale, WireGuard).\r\n\r\n### Remote Access\r\n\r\nIf you need to expose Hammoc through a reverse proxy (Cloudflare Tunnel, nginx, etc.):\r\n\r\n```bash\r\nnpx hammoc --trust-proxy --cors-origin https://hammoc.yourdomain.com\r\n```\r\n\r\nThis enables:\r\n- **Proxy header support** — Correctly identifies client IPs behind the proxy (CF-Connecting-IP, X-Forwarded-For, X-Real-IP) for localhost/local-network access checks\r\n- **Secure cookies** — Session cookies are set with `Secure` flag for HTTPS\r\n- **CORS restriction** — Only the specified origin can make authenticated requests\r\n\r\n> Hammoc does not apply request rate limiting itself. Configure traffic shaping at your reverse proxy / WAF (e.g. nginx `limit_req`, Cloudflare WAF) — the layer that owns the real client IP and topology.\r\n\r\n**Security features (always active):**\r\n- Helmet.js security headers (CSP, X-Frame-Options, HSTS, X-Content-Type-Options)\r\n- Server management APIs restricted to loopback only (127.0.0.1)\r\n- Terminal access restricted to local network IPs\r\n- Login brute-force protection (5 failed attempts → 30s lockout per IP)\r\n- IP validation with strict format checking and `net.isIP()` verification\r\n- XFF spoofing protection (rightmost IP parsing)\r\n- Debug endpoints disabled in production\r\n\r\n---\r\n\r\n## Features\r\n\r\n### Why Hammoc?\r\n\r\n| | Hammoc | Terminal-based IDE | Generic Web IDE |\r\n|---|:---:|:---:|:---:|\r\n| BMAD-METHOD workflow | **Built-in** | Manual | N/A |\r\n| Agent switching (SM, PM, Dev, QA...) | **One tap** | CLI commands | N/A |\r\n| PRD → Queue automation | **Auto-generate** | Copy-paste | N/A |\r\n| Mobile development | **Full support** | Limited | Partial |\r\n| Kanban + Epic tracking | **Integrated** | Separate tool | Separate tool |\r\n\r\n### Chat Interface\r\n\r\nReal-time conversations with Claude through a rich web UI.\r\n\r\n- **Streaming responses** — Messages appear progressively as Claude generates them\r\n- **Markdown rendering** — Full markdown support with syntax-highlighted code blocks, copy buttons, and inline HTML rendering\r\n- **Mermaid diagram viewer** — Render `mermaid` code blocks in a fullscreen viewer with zoom controls\r\n- **Image & PDF attachments** — Attach up to 5 files per message (PNG, JPEG, GIF, WebP images and PDF documents)\r\n- **Tool call visualization** — See what tools Claude uses, with inputs, outputs, and execution time\r\n- **Diff viewer** — Side-by-side file diff display for code changes\r\n- **Extended thinking** — View Claude's reasoning process in collapsible blocks\r\n- **Message edit** — Edit previous messages to branch the conversation into alternative paths\r\n- **Summarize & Continue** — Compress long conversations with AI-generated summaries\r\n- **Code rewind** — Restore project files to any earlier point in the conversation\r\n- **Session fork** — Branch into a new session from any assistant response\r\n- **Conversation branching** — Navigate between branches with pagination controls, and browse all branches in a read-only viewer\r\n- **Prompt history** — Navigate previous inputs with arrow keys\r\n- **Prompt chaining** — Queue up to 10 prompts for sequential execution (server-synced, multi-browser, drag-to-reorder)\r\n- **Voice input** — Dictate messages using browser speech recognition (Chrome, Edge, Safari)\r\n- **Context usage monitor** — Track token usage and cost in real-time, with auto-compact on context overflow (master switch in Settings)\r\n- **Background task wait card** — When Claude runs background tasks, an amber card shows elapsed time and pending count with an optional Stop button\r\n- **Abort generation** — Stop responses with the abort button or ESC key\r\n\r\n### Session Management\r\n\r\n- **Session list** — Browse past conversations with preview, message count, and date\r\n- **Session search** — Search by name or conversation content (server-side)\r\n- **Session export** — Download any conversation (all branches, tool calls, thinking) as a Markdown file\r\n- **Session renaming & deletion** — Keep conversations organized\r\n- **Quick session panel** — Access sessions without leaving the chat\r\n- **Active streaming indicator** — See which sessions are currently active\r\n- **Pending question indicator** — Spot sessions awaiting user input at a glance\r\n\r\n### Slash Commands, Snippets & Favorites\r\n\r\n- **Command palette** — Type `/` to browse available commands with autocomplete\r\n- **Prompt snippets** — Type `%` to insert reusable prompt templates with argument substitution, context blocks, and multi-prompt chaining\r\n- **Snippet hierarchy** — Project, global, and bundled snippets with override support\r\n- **Favorites bar** — Pin up to 20 frequently used commands above the input\r\n- **Star favorites** — Mark up to 10 star commands for quick access\r\n- **Drag-to-reorder** — Customize favorite command order\r\n- **Agent-specific commands** — Context-aware commands per BMad agent\r\n\r\n### Model & Permission Control\r\n\r\n- **Model selector** — Choose between Claude Sonnet, Opus, Haiku, and Fable variants with the model name on the button, plus a **1M context** toggle (auto-on for Opus 4.8 / Sonnet 5, opt-in for Sonnet 4.6); credit-billed Mythos-class models are gated behind an explicit opt-in with a Credit badge\r\n- **Thinking effort** — Adjust reasoning intensity (Low / Medium / High, plus Max / XHigh on newer models such as Opus 4.7+, Sonnet 5, and Fable 5)\r\n- **Permission modes** — Plan, Ask (default), Auto, or Bypass\r\n- **Conversation engine** — Run chats through the Claude Agent SDK (API credits, Recommended) or the Claude Code CLI (subscription billing, Beta), switchable globally or per-project with side-by-side comparison\r\n- **Per-project overrides** — Different settings per project\r\n\r\n### Project Management\r\n\r\n- **Project list** — Browse all projects with session counts and last activity\r\n- **Project dashboard** — Real-time status: active chats, queue runners, terminals\r\n- **Project creation** — Create new projects with a visual directory picker (Browse) and optional BMad Method initialization\r\n- **Per-project Settings tab** — Each project carries its own Settings tab (model, permission, budget) plus the Harness Workbench (see below). No more switching to the global Settings page and picking a project from a dropdown\r\n- **Hide/unhide projects** — Keep the list clean\r\n\r\n### Harness Workbench\r\n\r\nEdit the `.claude/` configuration tree from inside Hammoc — no need to hand-edit JSON or Markdown on disk.\r\n\r\n- **Plugins, Skills, MCP, Hooks, Slash Commands, Sub-agents** — Card-grid panels for each, with project ↔ global copy actions and conflict dialogs\r\n- **CLAUDE.md editor** — Two-column edit of project and global instruction documents with live Markdown preview\r\n- **Snippets & Favorites** — Manage Hammoc `%snippets` (project / global / bundled) alongside Claude Code slash-command favorites in a single panel\r\n- **Share badges + mode banner** — See at a glance which files are git-tracked vs local, so you know which edits will reach teammates\r\n- **Static lint (7 rules)** — Surfaces duplicate names, invalid hook regex, missing env vars, malformed MCP URLs, non-standard agent tools, etc.; per-rule on/off preferences and a one-click **Fix** that hands the broken file to Claude in a new session\r\n- **Secret-on-shared guard** — Blocks plaintext API keys / tokens from sneaking into committed config files, with one-click \"move to local sibling\" remediation\r\n- **Bundle Export / Import** — Pack the entire workbench (5 domains + `CLAUDE.md` + snippets) into a single `.zip` with a chosen secrets policy (exclude / env-ref placeholders / explicit with multi-layer guards), import on another machine with a per-item conflict preview — round-trip identical, ideal for Mode B projects where `.claude/` is git-ignored\r\n- **Fullscreen editor overlay** — Maximize any body field (skill, command, agent, CLAUDE.md, snippet) into a fullscreen CodeMirror\r\n- **BMad core-config editor** — Form-based editing of `.bmad-core/core-config.yaml` (paths, flags, sharding) for BMad projects, with a raw-YAML fallback\r\n- **Context Builder** — Auto-injects reference files and dynamic variables (current branch, active story, recent commits…) into every new session via a generated SessionStart hook\r\n- **Observability** — MCP/tool call timeline and aggregates, plus per-element token attribution against the model's context window\r\n- **Plugin marketplace** — Browse plugins from registered marketplaces with copy-paste install/uninstall command guides\r\n\r\n### File Explorer & Editor\r\n\r\n- **Grid & List views** — Finder-style grid or traditional list layout\r\n- **Tree navigation** — Directory hierarchy with breadcrumbs\r\n- **Text editor** — Syntax highlighting with save (Ctrl+S) and binary file download\r\n- **Markdown & HTML preview** — Toggle between edit and preview modes (`.md` rendered inline, `.html` in a sandboxed frame)\r\n- **Image viewer** — Full-screen viewer with zoom, fit-to-screen/width/height and 1:1 toggles, touch gestures (pinch, swipe, pan), and multi-image navigation across attachments or folder siblings\r\n- **PDF viewer** — In-app fullscreen PDF rendering with page navigation, zoom, and download\r\n- **External change detection** — Editor alerts you when an open file is modified or deleted on disk, with reload / overwrite options for stale-write conflicts\r\n- **File operations** — Create, rename, and delete files and folders\r\n\r\n### Git Integration\r\n\r\n- **Status panel** — Staged, unstaged, and untracked changes at a glance\r\n- **Stage & commit** — Stage files individually or all at once, write commit messages\r\n- **Branch management** — Create, switch, and view branches\r\n- **Pull & Push** — Sync with remote repositories\r\n- **Quick Git panel** — Lightweight Git access from the chat view\r\n- **AI-assisted split-commit** — One-click chip delegates \"split this messy working tree into logical commits\" to Claude in a fresh session (available in both the full Git tab and the Quick Git panel)\r\n- **Git environment detection** — Actionable UI when Git is not installed or authentication fails\r\n\r\n### Terminal\r\n\r\n- **PTY emulation** — Full terminal emulation powered by xterm.js with a touch-first input model: read-only viewport, dedicated input bar, quick-key buttons (arrows, Tab, Esc, Ctrl combos), and mobile touch selection with drag handles\r\n- **CJK / IME support** — Korean, Japanese, and Chinese input via Input Method Editor with composition preview\r\n- **Multiple tabs** — Run several terminal sessions simultaneously\r\n- **Security** — Restricted to local network by default; configurable via settings\r\n\r\n### Queue Runner (Batch Automation)\r\n\r\nAutomate repetitive prompt sequences.\r\n\r\n- **Queue editor** — Write prompt sequences line by line, with a sticky line-number gutter\r\n- **Special commands** — `@new`, `@save`, `@load`, `@pause`, `@model`, `@delay`, `@pauseword`, `@loop`/`@end`, `@label`/`@jumpif` (forward jumps), `@(/@)`, `#` comments\r\n- **Execution control** — Start, pause (deferred), resume, abort, and edit remaining items while paused\r\n- **Templates** — Save and load reusable queue scripts; ships a ready-to-use BMad story workflow template in the source repo\r\n- **Story-based generation** — Auto-generate queue from PRD epics and stories\r\n- **Variable substitution** — Use `{story_num}`, `{epic_num}`, `{story_index}`, `{story_title}`, `{date}` in templates\r\n\r\n### Project Board (Issue Tracking)\r\n\r\n- **Kanban board** — Visual cards across customizable status columns; issue cards show a `#N` prefix matching their `ISSUE-N.md` file\r\n- **List view** — Tabular alternative with sorting and filtering\r\n- **Issue types** — Bug, Improvement\r\n- **Severity levels** — Low, Medium, High, Critical\r\n- **Status workflow** — Open → Draft → Approved → In Progress → Blocked → Review → Done → Closed\r\n- **Mobile Kanban** — Touch-optimized board for small screens\r\n\r\n### Settings\r\n\r\n- **Theme** — Dark, Light, or System\r\n- **Language** — English, 中文, 日本語, 한국어, Español, Português\r\n- **Chat timeout** — 1m, 3m, 5m (default), 10m, 30m\r\n- **Web Push & Telegram notifications** — Get notified on permission requests, completions, and errors\r\n- **Display name** — Set a preferred name for the agent to use when addressing you\r\n- **Claude account & usage** — In-app Claude sign-in, multi-account management (add/switch/remove), and live usage monitoring: 5h / 7d windows, per-model weekly caps, and extra-usage credit balance\r\n- **System prompt editing** — Customize Claude's behavior per project\r\n- **Advanced** — Server restart, software updates, SDK parameters (thinking tokens, turns, budget — now applied to both chat and queue runs)\r\n\r\n---\r\n\r\n## BMAD-METHOD V4 Integration\r\n\r\nHammoc is the most convenient way to run a full [BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) (Breakthrough Method for Agile AI-Driven Development) workflow. Every step — from project inception to QA — is built into the IDE.\r\n\r\n- **One-click BMad setup** — Initialize `.bmad-core` in any project with version selection\r\n- **BMad Agent switching** — Instantly switch between agents (SM, PM, Architect, Dev, QA, PO, etc.) in chat with a single tap\r\n- **Slash commands per agent** — Context-aware `/commands` that change based on the active BMad agent\r\n- **PRD → Queue automation** — Auto-generate prompt queues directly from your PRD epics and stories\r\n- **Project overview dashboard** — Visual status showing PRD completion, epic progress, and story status\r\n- **Kanban board integration** — Track epics and stories with status workflow, promote/validate actions\r\n- **Story workflows** — Start development, request QA, and apply fixes — all through the board UI\r\n\r\n> **Methodology support roadmap:** Hammoc is designed to be methodology-agnostic. BMAD-METHOD V4 is the first supported workflow, with more development methodologies planned for future releases.\r\n\r\nFor detailed BMAD-METHOD documentation, visit the [official repository](https://github.com/bmad-code-org/BMAD-METHOD).\r\n\r\n---\r\n\r\n## Keyboard Shortcuts\r\n\r\n| Shortcut | Action |\r\n|----------|--------|\r\n| `Enter` | Send message (desktop) |\r\n| `Shift+Enter` | New line in message |\r\n| `ESC` | Abort generation |\r\n| `Ctrl+S` | Save file in editor |\r\n| `Ctrl+=` `Ctrl+-` | Terminal font size |\r\n| `Ctrl+0` | Reset terminal font size |\r\n| `%` | Open snippet autocomplete palette |\r\n| `↑` / `↓` | Navigate prompt history |\r\n| `Alt+1/2/3/4` | Toggle quick panel (Sessions/Files/Git/Terminal) |\r\n\r\n---\r\n\r\n## Architecture\r\n\r\nHammoc is a monorepo with three packages:\r\n\r\n```\r\nhammoc/\r\n├── bin/hammoc.js             # CLI entry point\r\n├── packages/\r\n│   ├── shared/                    # Shared types, constants, utilities\r\n│   ├── server/                    # Express + Socket.io backend\r\n│   └── client/                    # React + Vite frontend\r\n└── scripts/\r\n    └── postinstall.cjs            # Shared package linker\r\n```\r\n\r\n**Tech Stack:**\r\n- **Frontend:** React 18, Vite, Tailwind CSS, Zustand, Socket.io Client, xterm.js\r\n- **Backend:** Node.js, Express, Socket.io, node-pty, Claude Agent SDK\r\n- **Shared:** TypeScript, Zod validation\r\n\r\n---\r\n\r\n## Development\r\n\r\n```bash\r\ngit clone https://github.com/starsh2001/hammoc.git\r\ncd hammoc\r\nnpm install\r\nnpm run dev\r\n```\r\n\r\n| Command | Description |\r\n|---------|-------------|\r\n| `npm run dev` | Start all packages in development mode |\r\n| `npm run build` | Build all packages for production |\r\n| `npm start` | Run server in production mode |\r\n| `npm test` | Run all tests |\r\n| `npm run lint` | Run ESLint on all packages |\r\n| `npm run typecheck` | Run TypeScript type checking |\r\n\r\n---\r\n\r\n## Data Storage\r\n\r\n| Data | Location |\r\n|------|----------|\r\n| App config & password | `~/.hammoc/config.json` |\r\n| User preferences | `~/.hammoc/preferences.json` |\r\n| Queue templates | `<project-root>/.hammoc/queue-templates.json` (per project) |\r\n| Chain failures | `~/.hammoc/chain-failures/<sessionId>.json` (per session) |\r\n| MCP call log & token cache | `~/.hammoc/observability/` (per project; 30-day retention) |\r\n| Snippets (global) | `~/.hammoc/snippets/` (shared across projects) |\r\n| Snippets (project) | `<project-root>/.hammoc/snippets/` (per project) |\r\n| Harness items (global) | `~/.claude/` (skills, agents, commands, hooks, `CLAUDE.md`, `.mcp.json`, `settings.json`) |\r\n| Harness items (project) | `<project-root>/.claude/` (same layout; project wins on conflict) |\r\n| TLS certificates | `~/.hammoc/cert.pem`, `~/.hammoc/key.pem` |\r\n| Manual shards (synced) | `~/.hammoc/docs/manual/` and `~/.hammoc/docs/.manual-version` (auto-synced from package on server boot) |\r\n| Internals docs (synced) | `~/.hammoc/docs/internals/` (agent-only mechanism reference; also re-synced on package version change) |\r\n| Session data | `~/.claude/projects/` (managed by Claude Code CLI) |\r\n\r\n---\r\n\r\n## HTTPS Setup (for Mobile PWA)\r\n\r\nPWA installation on mobile devices requires HTTPS. Hammoc automatically starts in HTTPS mode when TLS certificates are found at `~/.hammoc/cert.pem` and `~/.hammoc/key.pem`. If no certificates are found, it falls back to HTTP.\r\n\r\n### Option 1: mkcert (Recommended)\r\n\r\n1. **Install mkcert:**\r\n\r\n   ```bash\r\n   # Windows\r\n   winget install FiloSottile.mkcert\r\n\r\n   # macOS\r\n   brew install mkcert\r\n\r\n   # Linux\r\n   # See https://github.com/FiloSottile/mkcert#installation\r\n   ```\r\n\r\n2. **Create a local CA and generate certificates:**\r\n\r\n   ```bash\r\n   mkcert -install\r\n   mkcert -key-file ~/.hammoc/key.pem -cert-file ~/.hammoc/cert.pem localhost 127.0.0.1 YOUR_LOCAL_IP\r\n   ```\r\n\r\n   Replace `YOUR_LOCAL_IP` with your PC's IP address (e.g., `192.168.0.10`).\r\n\r\n3. **Install the root CA on your mobile device:**\r\n\r\n   Find the CA certificate location:\r\n   ```bash\r\n   mkcert -CAROOT\r\n   ```\r\n\r\n   Transfer `rootCA.pem` to your mobile device, then:\r\n   - **Android:** Settings → Security → Install certificate\r\n   - **iOS:** Open the file → Install Profile → Settings → General → About → Certificate Trust Settings → Enable\r\n\r\n4. **Start Hammoc** — it will automatically detect the certificates and start in HTTPS mode:\r\n\r\n   ```\r\n   Hammoc Server running on:\r\n     Local:   https://localhost:3000\r\n     Network: https://192.168.0.10:3000\r\n     TLS:     enabled (certs from ~/.hammoc/)\r\n   ```\r\n\r\n5. **Open on mobile:** Navigate to `https://YOUR_LOCAL_IP:3000` and install the PWA.\r\n\r\n### Option 2: Reverse Proxy\r\n\r\nIf you already have a reverse proxy (Nginx, Caddy, etc.) handling HTTPS, simply keep Hammoc running in HTTP mode (no certificates needed) and point your proxy to `http://localhost:3000`.\r\n\r\n---\r\n\r\n## Environment Variables\r\n\r\n| Variable | Default | Description |\r\n|----------|---------|-------------|\r\n| `PORT` | `3000` | Server port |\r\n| `HOST` | `0.0.0.0` | Bind address |\r\n| `NODE_ENV` | — | Set to `production` for optimized mode |\r\n| `TRUST_PROXY` | `false` | Enable reverse proxy support (Cloudflare Tunnel, nginx, etc.) |\r\n| `CORS_ORIGIN` | `true` | CORS origin (`true` allows any; set a URL to restrict) |\r\n| `CHAT_TIMEOUT_MS` | `300000` | Chat response timeout (ms) |\r\n| `LOG_LEVEL` | `INFO`/`DEBUG` | ERROR, WARN, INFO, DEBUG, VERBOSE |\r\n| `TERMINAL_ENABLED` | `true` | Enable/disable terminal feature |\r\n| `TELEGRAM_BOT_TOKEN` | — | Telegram bot token for notifications |\r\n| `TELEGRAM_CHAT_ID` | — | Telegram chat ID for notifications |\r\n\r\n---\r\n\r\n## License\r\n\r\nAGPL-3.0 — See [LICENSE](LICENSE) for details.\r\n\r\n---\r\n\r\n## Acknowledgments\r\n\r\n- [Claude Code](https://docs.anthropic.com/en/docs/claude-code) by Anthropic — The AI coding assistant that powers Hammoc\r\n- [BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) by BMad Code — The agile AI-driven development methodology integrated into Hammoc\r\n","readmeFilename":"README.md"}