{"_id":"@codelook/codem","_rev":"46-d9eaa26bc6d930bc6626dd64056f81ed","name":"@codelook/codem","dist-tags":{"latest":"0.10.2"},"versions":{"0.4.0":{"name":"@codelook/codem","version":"0.4.0","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.4.0","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"25e8b4d9553e74ee17d9226976b5934b170e1894","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.4.0.tgz","fileCount":18,"integrity":"sha512-vV0UxZYLqtiMIMTx1743TfEo2sW+hobhF03ApEOdpevOZ8A6QMFJbk1LiAlXPkQpzasNjpqyOkfWMj5Dan4IYQ==","signatures":[{"sig":"MEYCIQDmNNyxNpYSRb+/3x2/5OoLkgAKW9gzNHTT6yO+6AO+OAIhAMAldOaPVO5Rr0RFl5+8cFzHv3RmHTFOG0F9vxdSG4Co","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":485613},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"e2651b5ea2e7a7b40113855399a1e00ca036a417","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.0.3","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.4.0_1751043624910_0.5833887031920058","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@codelook/codem","version":"0.4.1","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.4.1","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"05924c4f733bc12a0f8539d70c4e5d4f4fefbe39","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.4.1.tgz","fileCount":27,"integrity":"sha512-KjZHzkLU4BX1KHKV9XcLpZISZowxr2ZrVITI6edo/gIB/joyjVI+hpYYu3KrLfp/+ylimj93gs0CBNw6k3ySug==","signatures":[{"sig":"MEQCIBDKMhW+tUyql9w4buLn7n2W07lBDOIsH7SUQ44FIawjAiB+qEes+lcyfUjJ5BVjM0LAFY85HoXHpbTY4PUNttvIKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":667285},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"b8f12a68d2c800dc56c06b5a3520072525b451c0","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.0.3","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.4.1_1751119436715_0.728759268276248","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@codelook/codem","version":"0.4.2","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.4.2","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"fa22bcfc0a1b4ec840701c65cb076e858926a489","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.4.2.tgz","fileCount":27,"integrity":"sha512-3tPKMKxDj0W63B87mer2Eci0oIUKbhgxvaKNBUINShm/zKsgqBpr2YvtVAYdghCR44aZb/mhkGpDLHYYAit71Q==","signatures":[{"sig":"MEUCIQCkltl0H9TkAJ5tLsjH93W5hxeg9M7lInbMquIMRDXCGQIgdDcVp7ajxShUqH5wsTLGIem1Q2UDTRnOHOU22TmbQXY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":688193},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"6b06fb6fb9343bb309bfcc89cde4cd7471493b3c","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.0.3","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.4.2_1751167025674_0.1165805382408287","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@codelook/codem","version":"0.4.3","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.4.3","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"f9b05a6af86fc3efba1dce2d79b08f3ff37f6e81","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.4.3.tgz","fileCount":27,"integrity":"sha512-8mXcLIc5j0JGEA+31o9A7zpkj96MafWGtLC+bGrbG1u6nvp/H6UDmrus4Q+Hk30Al5+T7dPYgjCnKHYnNN5t/w==","signatures":[{"sig":"MEYCIQCo4LKivXwy9r/Er5vKxIkl6IQpbKbzjpaTkhkyrX/KJwIhAKop7DbY3+bi6CusFMfCyzE4oJnbAw47l830ylTZH36v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":735997},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"1d327874dfdedf5b83695c8d489c1aa634d4de63","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.0.3","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.4.3_1751170069296_0.06762530064208372","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@codelook/codem","version":"0.5.0","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.5.0","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"0ee04e71eacce816814aa3da59ee519559e5a7fe","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.5.0.tgz","fileCount":27,"integrity":"sha512-ipL9PHerlt8UBAxwRpEUzMVurhmnsacT1iBqSbn99CImGSmoCqAHe6X9HORTLq7pfmuxdJI0/YKH0bYAKRI89w==","signatures":[{"sig":"MEUCIByd4ym9vbJMbrG4yxuk0Ls4uso7AhIw7BOS1HOWYP8cAiEA8aJDldZb+MWvlFNAXNkCNfzXWG7PlhD4CUC9RBqpVRE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":762356},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"26b498be477402637f83574ac6f5b2b3657ecb2d","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.0.3","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.5.0_1751204192835_0.10728650764845926","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@codelook/codem","version":"0.5.1","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.5.1","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"31868db8c17405ada6a4cca3182adae2a99decf0","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.5.1.tgz","fileCount":27,"integrity":"sha512-/9eQyCZYTvHKGLJ3vpd05dZovi+L7fkUssjK4fK+gEGlu3Izo9e2qqH5xD7rWw5WaQX7rp3fU27ywG9nrR7A6A==","signatures":[{"sig":"MEYCIQCr7EQRtxHfW8R4anRebFIqYDJMW3Niu7cvlb8iH/3IVQIhAJgi0lV3yIz6Sj8v1SQfQk/PkDpI2yfiP54PcCrcu6Cx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":769312},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"d2051fba943c296d07b101a21650a639cbe0b641","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.0.3","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.5.1_1751207713194_0.8807474328737976","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@codelook/codem","version":"0.5.2","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.5.2","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"559dd506fc5417436080ea88032abcf38f3d767d","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.5.2.tgz","fileCount":27,"integrity":"sha512-JnlH12RJAZ1Z6bUgHBmJcGUZFmA+TIyYyBS6KXf7F1RdoPRVKUhKKMUd1qdhHbbZaoH8A5TBVMV4Tm/rasI6eA==","signatures":[{"sig":"MEUCIBJtFTvir6rxfQIaWDWPNfH+jZwqvZrWtY7XvohyatgTAiEA90f7m0nfE5KaNzCEyMVwJiBSaRoeDeXLxHH+JpNUwq0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":785052},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"5d705be08cab98569b78a0c65be4a8ac86dfabf0","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.0.3","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.5.2_1751209022890_0.6260257563091176","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@codelook/codem","version":"0.5.3","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.5.3","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"ee90dd83b288a820c41137dbba5f7ada03790a65","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.5.3.tgz","fileCount":27,"integrity":"sha512-Q1pafhIWeqDT4zy9gPTHd9DBS69egtqwJRErpI13qrrH8TCwR6zNBFw4fTdN1dtM7ISGcrwofDBtR49IqWcdSA==","signatures":[{"sig":"MEQCICemLYFEx7aAeCJ61RYdeO69PRH/nJ1mQdR/P4OPW1y1AiBi3/2KXwwg98ePVhTQxzVVkI8+B22t7E7K0X798Aw1pA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":791003},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"8a35433d16c932329e657b7a8be212218e0cb5bb","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.0.3","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.5.3_1751211013501_0.5158863213179248","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@codelook/codem","version":"0.5.4","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.5.4","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"50be46b3f2d4915cc3125f8edd6024f4af045d95","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.5.4.tgz","fileCount":27,"integrity":"sha512-M9u533ELUpIxRvCyU/33bPYo6FTkssdGHIHctI7ycCazkjJxikf4GBICU6kBiJHZ179x78tfjNhT/WOhJwXanQ==","signatures":[{"sig":"MEYCIQDqo2TbU4Xj8m9X9226INC3euj2HGWTOJUVB8+xVTO+DAIhALJY4ptL2mlcNSZLASMBtwjv1svfkPsaEPaYQXo8nKQb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":817246},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"0de22db032a8aee890a70bad5f9fbcf029b133e5","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.0.3","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.5.4_1751212946962_0.09941582798489468","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"@codelook/codem","version":"0.5.5","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.5.5","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"9e4f81b3b9da3ad0323322c166419fb746c5007a","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.5.5.tgz","fileCount":27,"integrity":"sha512-FSXqsaJVOpmAhpqUmRe2Sv4YzZNmEATBLMqy/bJtDm9I3SbgmyMrW0SWzTA0A/gvfQd9tvMHB9Pvychib/L0Rw==","signatures":[{"sig":"MEUCIGsaHMqIwxkFybRAve7lSK0wDn3qmE2zOwUj4i5Z12mcAiEAl53o8CvpV4J9sGgArGF2ycX931yUe0hMExqYmoQjTZo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":792781},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"45e260d3b2b3ec6b8ef5b23c895869662d5ce5d5","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.0.3","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.5.5_1751213925049_0.2033791012722026","host":"s3://npm-registry-packages-npm-production"}},"0.5.6":{"name":"@codelook/codem","version":"0.5.6","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.5.6","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"30f59c03920be38119ecea0e2d00946471f7b74a","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.5.6.tgz","fileCount":27,"integrity":"sha512-nOTBGb1ZhQK8mC8/I54+JxzbQg1IPzS9Fk3kmNIN1see9KRbtsa3q+V9aThOeeTQwhjb2Az6igq98QXUzTYjBQ==","signatures":[{"sig":"MEUCIQDQO4zvQ7a/k0AGPgqjOsMT+X7OlJjmakiVZFjjQiy84AIgN35AWpHFdKtEmR6t1fs74H8yIRavLJdK9m2XTfu/Zow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":820465},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"d2ad944c163330e0daf9421bc3ffe2362d8ff79e","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.0.3","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.5.6_1751214550493_0.3123117167860532","host":"s3://npm-registry-packages-npm-production"}},"0.5.7":{"name":"@codelook/codem","version":"0.5.7","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.5.7","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"aa90b1ad29ba56ee1a6f884aad4ece3f59abad43","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.5.7.tgz","fileCount":27,"integrity":"sha512-n9sTzHD0Y2/Vb4kPjRZjDM2JMkZVgr3dLxyev3YVpRJkp36WlBVlGC+m0pQH245KtkVj/bkkLquGxzn21LOB4Q==","signatures":[{"sig":"MEUCIEPRTGlu9SZfVG/CJc198Xr5iingPEem/WRWCdHy85HBAiEA4uXlOVlPXT9+LehzdME4/4VDphGshFarOqN/+uK/cqQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":821337},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"4a0a6e175834199445613cc3d941f3a8bab774a7","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.0.3","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.5.7_1751215109804_0.8488602010426864","host":"s3://npm-registry-packages-npm-production"}},"0.5.8":{"name":"@codelook/codem","version":"0.5.8","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.5.8","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"332850fd4c0c97fcae317f44696d6735ccb4afaf","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.5.8.tgz","fileCount":27,"integrity":"sha512-8gfGZH55KgUM845+ruXAEuniSTZMEhDWooel2yi2vUwE6HHHqaY7SvZ2mIXCgPMxuhPx2BIGlOrqpVOGGT+7Mg==","signatures":[{"sig":"MEUCIQCZcc3yi0vVi3V3sDzw1Cn0uWGEtsnkcscKcZILItTD8wIgPxMxoxvSfqHvTQ5WxqwyUG0ngNdRzA26/sfkp8jOrw4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":833174},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"8b9709a99c1ecfbfffecab96aa012c4cdb44e72c","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.0.3","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.5.8_1751217447459_0.3307397916600763","host":"s3://npm-registry-packages-npm-production"}},"0.5.9":{"name":"@codelook/codem","version":"0.5.9","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.5.9","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"d6c52b735dcbf385f139b904048441fb45d40fdd","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.5.9.tgz","fileCount":31,"integrity":"sha512-gWAlXFMuz5IyXQnZ9487YEgdASpN+XGcElvf+yjdPtmYiXk9lE/Y9CJc46+3e1wI+UjGgRb3P0UMXuM0hGfr2g==","signatures":[{"sig":"MEUCIQCF9HVZVtOzWqDFeNB9gOZ1uRVZoG7mMqEEDRgsQy/oZQIgUbPBfgi21AbQjP3j3bbJyrOeYSeziJ6QOU5wYB6vXVw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":977730},"main":"./dist/index.js","type":"module","_from":"file:codelook-codem-0.5.9.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_resolved":"/private/var/folders/9w/b8zyjf257p5db0pty85y22m00000gn/T/f989213e003b7d365161fda164b54314/codelook-codem-0.5.9.tgz","_integrity":"sha512-gWAlXFMuz5IyXQnZ9487YEgdASpN+XGcElvf+yjdPtmYiXk9lE/Y9CJc46+3e1wI+UjGgRb3P0UMXuM0hGfr2g==","_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","clipboardy":"^4.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.1.8","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.5.9_1751286884968_0.33334945978890973","host":"s3://npm-registry-packages-npm-production"}},"0.5.10":{"name":"@codelook/codem","version":"0.5.10","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.5.10","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"e90c81170966a7d57effe394cd7a9e90307bdd90","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.5.10.tgz","fileCount":31,"integrity":"sha512-v5TMFHdn4ombOd6PpEq5Mrd28uU5+XhudlceN03lrGVZIwRKWGetcBTc0VltmvVMgxfrbqrvfAR8CskH8fiYlg==","signatures":[{"sig":"MEYCIQDzXLYyOZpOzlJlqIn9ge2VhBG/s/z7NGW6r3JH4osY+wIhAIev7V8DVqye3otFo/UMGHm2mPbMARsPmBNt0UgIFu1B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":971119},"main":"./dist/index.js","type":"module","_from":"file:codelook-codem-0.5.10.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_resolved":"/private/var/folders/9w/b8zyjf257p5db0pty85y22m00000gn/T/f3ceac5a2f3b0a92163943ac09eb6853/codelook-codem-0.5.10.tgz","_integrity":"sha512-v5TMFHdn4ombOd6PpEq5Mrd28uU5+XhudlceN03lrGVZIwRKWGetcBTc0VltmvVMgxfrbqrvfAR8CskH8fiYlg==","_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","clipboardy":"^4.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.1.8","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.5.10_1751291714365_0.9639965532731563","host":"s3://npm-registry-packages-npm-production"}},"0.5.11":{"name":"@codelook/codem","version":"0.5.11","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.5.11","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"9b0e8b3618c9fb3afe3b88658aeb093e116dabc4","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.5.11.tgz","fileCount":31,"integrity":"sha512-GNAer+YEziEXveuPIXAM4ekk4eEy52LITYhnwPxPXS2W+zJqGD3lrLXJ9ozGj8zA4GJ7K/WVtowYZLl4NMklVQ==","signatures":[{"sig":"MEUCIQCQXnqGdqnTNc4wIccsMYanHVPYpEpy3i8ckU5/xeJxBAIgS51byf3aV9zgBIFYNKyFJenl/OXzO8Ysd+uSgfWcKis=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":969981},"main":"./dist/index.js","type":"module","_from":"file:codelook-codem-0.5.11.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_resolved":"/private/var/folders/9w/b8zyjf257p5db0pty85y22m00000gn/T/6a1bc1720b227a8519ac033f8e334c15/codelook-codem-0.5.11.tgz","_integrity":"sha512-GNAer+YEziEXveuPIXAM4ekk4eEy52LITYhnwPxPXS2W+zJqGD3lrLXJ9ozGj8zA4GJ7K/WVtowYZLl4NMklVQ==","_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","clipboardy":"^4.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.1.8","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.5.11_1751292540225_0.8730396776456284","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@codelook/codem","version":"0.6.0","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.6.0","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"b423eaa213df4fff2b5a4c32a532995b12abf02f","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.6.0.tgz","fileCount":31,"integrity":"sha512-LVhvz93ujrTP/qWstcHZyz6gWMR8J38V6rl83ISFwZlPQQ1oHm0j41AFY7OUv6Zq7tyclD7huW1z2kp/o7OU2Q==","signatures":[{"sig":"MEUCIBdA4Zhbk8TJzVKISbFWUwGcrCgjAxLiVJx8DjDqdRxZAiEAhKaU8C3okzX9uWLieAu0T9TMfDxc04AsMQE/tGf+lXQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":995555},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"3566d722a92a63f1a5edff214ac01961227c2fe4","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","clipboardy":"^4.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.1.8","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.6.0_1751295563723_0.4541717117216233","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@codelook/codem","version":"0.7.0","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.7.0","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"2d42a8325b222e997f3705c4b0fc56ae2d563069","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.7.0.tgz","fileCount":31,"integrity":"sha512-DS4V0/Jz7mBQYLDFeHU432uK0SQyPXjAQaWjOJi3tyCmHAJwcxj2/fRfiKfbPaBZj0gqn5YKxVphUQhp8VB36w==","signatures":[{"sig":"MEYCIQCDRxKrkdunirO9QChmVwtAV5NJUHB8bRrQAHH6aXc5wwIhAPIpTOLThs8MmYAMggZQyeKJIkaYQy8GfBJLeA/b2RSX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":995470},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"39295729a994ac535465725315a0b8778207ed3c","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","dry-run":"make dry-run","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","clipboardy":"^4.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.1.8","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.7.0_1751336467176_0.4968156099515928","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@codelook/codem","version":"0.7.1","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.7.1","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"231ec470632179451a8fb09f4e4cdafbbb8a02a4","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.7.1.tgz","fileCount":31,"integrity":"sha512-1vjh/G1/yY2sxqI9wYtZh/Gdw+DysfO1q14ZOUudt72GC2VVUErke7krvUHlhjSh8DtmGPn7BahMdbOR0Wfuyg==","signatures":[{"sig":"MEQCIBeoDlJ8hwuQvBj9ZBHHDYoFKzVOpJZ1FDc2CWNz8uOrAiAl6fdyqboAI9GLyKnUcmsTjz+t2vtS5fE3rl55yFOQEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1000908},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"7d8a2ae5bb7c69bcebc97f78b529ce681c991ef8","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","dry-run":"make dry-run","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","clipboardy":"^4.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.1.8","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.7.1_1751337203894_0.26597027170357745","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@codelook/codem","version":"0.8.0","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.8.0","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"29f8529354c23ea860359ebb896b182dfc905f94","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.8.0.tgz","fileCount":37,"integrity":"sha512-lyYLnOQAeGnpbHCoego8PPv1Ppk3UfTSCWExKWYOwcTQAzMhdyJQXaUPFda/as/W1UaA3tSl8UXOh7oevyrIiQ==","signatures":[{"sig":"MEYCIQCX3CD5q3u0NV1AZawPyj4BWkCEeYLb0hVsTnHDCvwlbAIhALDbOH+QuS50bubR6ABT8q5+KsvZOYnaWC48l1IjVQY2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1215352},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"d106b622563fd76a2efcb68e8257e14c0069c1d1","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","dry-run":"make dry-run","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","clipboardy":"^4.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.1.8","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.8.0_1751471543940_0.17554767199453014","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@codelook/codem","version":"0.9.2","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.9.2","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"fc0bd8a19dd44d71643d76cb1f3f52ecd96a19bc","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.9.2.tgz","fileCount":37,"integrity":"sha512-O15pXokegiYgNAVeASnY9X8+5W/e59YczJBVus4ezaD59DpfCDSDLjJbUgYvzzH+RTSOgHuRHMp+sjyZQ39RZw==","signatures":[{"sig":"MEYCIQCuddQl6DemDc/orKNw7zHRvlbLmE6lPI7QcIaUwmX/iQIhAPpzQx+U2X22NkQ/QR3XuJ8CqGpqaK7oJoEHWEg+gogs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1270306},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"d07a36524ccf4951fe54d4943caadf8739665672","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","dry-run":"make dry-run","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","clipboardy":"^4.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.1.8","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.9.2_1751543756616_0.034003822683649654","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"@codelook/codem","version":"0.9.4","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.9.4","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"286b3ec6f4944e79fe02309b127300c1011c904f","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.9.4.tgz","fileCount":33,"integrity":"sha512-0V/wa2QXhJ2YXKZzxZpBgDSge+fS+qGNnAwZ0ZqWib6IIt4vG5F/WwbtWGLuZjWRuyZyuD8NYrMFehFzBsnIAg==","signatures":[{"sig":"MEYCIQCxmcDLaf6qjesjkfz/oBhxleDTkF2nXxlgvGDV0eS2QAIhAJoF3+/0THuepaNtDHkXC1NbjXUvogvpzHKWBc9rjm1S","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1200519},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","dry-run":"make dry-run","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","actor":{"name":"foundj","type":"user","email":"mfj@qq.com"},"email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","clipboardy":"^4.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","http-proxy-agent":"^7.0.2","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.1.8","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","@vitest/coverage-v8":"^2.1.9","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.9.4_1751550634501_0.7464406702300712","host":"s3://npm-registry-packages-npm-production"}},"0.9.7":{"name":"@codelook/codem","version":"0.9.7","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.9.7","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"4e7ed80b7203ca7467b1408a3187f0acbe428c2d","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.9.7.tgz","fileCount":33,"integrity":"sha512-I13bfo5jRKgO0HkAoHIVp09arUcQvZvFe1zXPXqwL4w8Nw705lx6sypPY6fpwlNUyr7T91P4ymaaj2P+lzm6vw==","signatures":[{"sig":"MEQCIFsl1x40Iq6/WJK0urygCO5UtZp1oSGmWK4ekiXrByCLAiALbsF+A+QB3GQ9dnZZcAuLz3FXliyUSii6rpin5Y75Bg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1214646},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"4aacf40acede33b2fff20cbbba27903949d14642","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","dry-run":"make dry-run","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","clipboardy":"^4.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","http-proxy-agent":"^7.0.2","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.1.8","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","@vitest/coverage-v8":"^2.1.9","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.9.7_1753598636002_0.47126156969514543","host":"s3://npm-registry-packages-npm-production"}},"0.9.8":{"name":"@codelook/codem","version":"0.9.8","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.9.8","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"dfd53cb45e1c24b31e61354b25a372f730100376","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.9.8.tgz","fileCount":33,"integrity":"sha512-lfALNFkQWGNNnn9vXKpWgohn96Iu/Ua7cBwwr7LMDgmOJBZxrjJzV8UloBqN2yYKirYvHmNm3Eh+yvU6XyB9TA==","signatures":[{"sig":"MEUCIFTjb0sWmHrbwiEqfP+Z47DGbwWqua1SUUfubuTp2IDsAiEAkCJjcsZcPMvXXuZcV6fTB45BBziXm1rXucV1tIfLHwY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1216550},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"4aacf40acede33b2fff20cbbba27903949d14642","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","dry-run":"make dry-run","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","clipboardy":"^4.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","http-proxy-agent":"^7.0.2","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.1.8","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","@vitest/coverage-v8":"^2.1.9","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.9.8_1753609589729_0.27414529240706154","host":"s3://npm-registry-packages-npm-production"}},"0.9.9":{"name":"@codelook/codem","version":"0.9.9","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.9.9","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"c5c172564eaf0efaba8a0251e37de1c466f1705f","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.9.9.tgz","fileCount":33,"integrity":"sha512-QQnWmvHAb/S4HjQCjvVNFLNnMZNxdpiegrzWPEpAIvm+ygDCfHR7oQHFkliXXgeMsVnboM/p5dhS6GbQJA3c1g==","signatures":[{"sig":"MEUCIGNEHjXHTawHbt0puQU1fieMxiEXOqMWeQSszGej3YLXAiEA5yBIGjMeqIuC/0LN6K6y8Vz/3eYWweVXAAOOYNhbQu4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1224144},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"4aacf40acede33b2fff20cbbba27903949d14642","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","dry-run":"make dry-run","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","clipboardy":"^4.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","http-proxy-agent":"^7.0.2","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.1.8","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","@vitest/coverage-v8":"^2.1.9","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.9.9_1753628791933_0.22095103378938474","host":"s3://npm-registry-packages-npm-production"}},"0.9.12":{"name":"@codelook/codem","version":"0.9.12","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.9.12","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"04ae89bc7a0eeab7869d9731b08d0dc1782dcd59","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.9.12.tgz","fileCount":33,"integrity":"sha512-MymM3Z/+SC4Swy6mWjm6L/yT3NvMaZi0Ju8+2/Zf2jdQVUDr6IuQknc5sth656xO9/BrtyYuJM9RcmfmmRh/ww==","signatures":[{"sig":"MEUCIGkey6dHGvIt+x0EmNdhw9FWT6XTlyS3g2Zt9mrGWKQpAiEAuzr8WnutmGuYef6GSvgx3SNPfhxWwjdHhknBBKedI1c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1228457},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"4aacf40acede33b2fff20cbbba27903949d14642","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","dry-run":"make dry-run","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","clipboardy":"^4.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","http-proxy-agent":"^7.0.2","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.1.8","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","@vitest/coverage-v8":"^2.1.9","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.9.12_1753675678221_0.6900504026464194","host":"s3://npm-registry-packages-npm-production"}},"0.9.13":{"name":"@codelook/codem","version":"0.9.13","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.9.13","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"9922bfdead95543d4261cbcc7a85d92015f1a1ae","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.9.13.tgz","fileCount":33,"integrity":"sha512-QK6DqtPqXRyHEb0WGYsAB64N2HRuXuYKQpS+1cSTa+WTqllPGO5dxfMf28AcxRk3/XBNdc0GM/Uza+QLKHBpNQ==","signatures":[{"sig":"MEYCIQC4ixP1EkLLjj/MPypoW4l+EpaGYn3lVHNQtybauxAt3wIhAPjB+F9hXgwe7TQH1awwZSKGv+VErOFLHMlptxrkpCK3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1236929},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"4aacf40acede33b2fff20cbbba27903949d14642","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","dry-run":"make dry-run","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","clipboardy":"^4.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","http-proxy-agent":"^7.0.2","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^8.57.0","vitest":"^2.1.8","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","@vitest/coverage-v8":"^2.1.9","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.9.13_1753691070336_0.05994143963995824","host":"s3://npm-registry-packages-npm-production"}},"0.9.15":{"name":"@codelook/codem","version":"0.9.15","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.9.15","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"2adc54a6839aadf0be233d7eb9b50a06497569a4","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.9.15.tgz","fileCount":33,"integrity":"sha512-B3tujzF+5Q8BGYwG6U17mFO9xbDCjq6yegt4c3WZ0cZTN9dRmkIf4Cy1UHgLFjmWGMOMk0MnWlvnSnGVJLBwmw==","signatures":[{"sig":"MEQCICvkpCEfEyUoEREaGyf0RYnhKcR+/mXSr5K9KAFKhp9/AiB0QbN2oe9Qktc0UVWlltzvHQQpCJDoI+1J/KGIpN16pg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1308240},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"736d5aeea3a2c6976da6d940096f1ce237f3e684","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","dry-run":"make dry-run","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","clipboardy":"^4.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","http-proxy-agent":"^7.0.2","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^9.32.0","vitest":"^3.2.4","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.9.15_1753774498238_0.7817702543612144","host":"s3://npm-registry-packages-npm-production"}},"0.9.17":{"name":"@codelook/codem","version":"0.9.17","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.9.17","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"5ccdb4b55e82554ea1a60bba0292e969302c01c6","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.9.17.tgz","fileCount":33,"integrity":"sha512-czqUT4RMvUeOVrtkNs2u8r7k8CCk1a20sR+Nf09IwdAhafjV4ZT5gnDh+ZgNKYwMVqww4nu34YierLsscVZFPA==","signatures":[{"sig":"MEYCIQDNBeVylBou0F/1Sq5xmQiclc5LdrJz3MlwLdwOWwtxcwIhAMFcMdNFbH/rcWawbObqo8+kxlbn17gIRNLxfiSIKxuL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1320267},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"b4ec561b84ae5a749e73b019267de1960aedb51b","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","dry-run":"make dry-run","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","clipboardy":"^4.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","http-proxy-agent":"^7.0.2","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^9.32.0","vitest":"^3.2.4","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.9.17_1754140027183_0.2662868912923071","host":"s3://npm-registry-packages-npm-production"}},"0.9.20":{"name":"@codelook/codem","version":"0.9.20","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.9.20","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"f6b7d09c06871f30ee6171c83b040dc204764005","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.9.20.tgz","fileCount":33,"integrity":"sha512-9t2DWCX9a1O6kYq1cMqcJBpMooiYtvbEhQpjhWW87MiCBlcLgGDYNg87R/qeVJJ4M8P+74nxrBJbGvXyJ2NCxw==","signatures":[{"sig":"MEQCIHpkN8nLXF83Wn4viFEAFicfD3lzQq0PpUnzaLXw7CStAiBGeQb100Bicl1Xi6ScC8kB7zzOhRogQ5XE9CAQMYmV6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1320817},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"b4ec561b84ae5a749e73b019267de1960aedb51b","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","dry-run":"make dry-run","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","clipboardy":"^4.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","http-proxy-agent":"^7.0.2","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^9.32.0","vitest":"^3.2.4","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.9.20_1754152372928_0.25076217807533685","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@codelook/codem","version":"0.10.0","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codelook/codem@0.10.0","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"dist":{"shasum":"93fa77f6b9eedcf04bf8e26b6229a63768554cd6","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.10.0.tgz","fileCount":33,"integrity":"sha512-tIEEYI34PqB1sL8uudIByPyJ8Dg0x/oQWygTCnuabFdRUElsVi/nhXCQmRIjTYL0ZXxn+1FZku1yfQIW7JOuAQ==","signatures":[{"sig":"MEYCIQCO3nHDwwwqtyV3K0o9Nl3cX7nTATxpFC7a1KVp2/0UuwIhAMHzyeTEqKgkLP0Xw2TIaw0nlKjA3ViKWujO9ob8VWf9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1329795},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"816c082646e7d564396055e0ca4c7b691f5be6a2","scripts":{"dev":"tsx watch src/cli.tsx","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsup","clean":"rm -rf dist","dry-run":"make dry-run","prepack":"npm run clean && npm run build","release":"make release","prebuild":"node scripts/sync-version.js","typecheck":"tsc --noEmit","test:watch":"vitest --watch","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"foundj","email":"mfj@qq.com"},"_npmVersion":"10.9.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ink":"^5.0.1","zod":"^3.23.8","chalk":"^5.3.0","execa":"^8.0.1","react":"^18.3.1","@inkjs/ui":"^2.0.0","commander":"^12.0.0","clipboardy":"^4.0.0","node-fetch":"^3.3.2","ink-spinner":"^5.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","http-proxy-agent":"^7.0.2","ink-select-input":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^8.1.0","eslint":"^9.32.0","vitest":"^3.2.4","typescript":"^5.5.4","@types/node":"^20.14.11","@types/react":"^18.3.3","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.34.0","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/codem_0.10.0_1754746033362_0.04295865558713752","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"@codelook/codem","version":"0.10.2","description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"codem":"dist/cli.js","claude-multi":"dist/cli.js"},"scripts":{"dev":"tsx watch src/cli.tsx","prebuild":"node scripts/sync-version.js","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","lint":"eslint src --ext .ts,.tsx","test":"vitest","test:watch":"vitest --watch","test:coverage":"vitest --coverage","prepublishOnly":"npm run build","prepack":"npm run clean && npm run build","dry-run":"make dry-run","release":"make release","publish:npm":"npm publish --access public --registry https://registry.npmjs.org/"},"dependencies":{"@inkjs/ui":"^2.0.0","chalk":"^5.3.0","clipboardy":"^4.0.0","commander":"^12.0.0","execa":"^8.0.1","http-proxy-agent":"^7.0.2","ink":"^5.0.1","ink-gradient":"^3.0.0","ink-select-input":"^6.0.0","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","node-fetch":"^3.3.2","react":"^18.3.1","zod":"^3.23.8"},"devDependencies":{"@types/node":"^20.14.11","@types/react":"^18.3.3","@typescript-eslint/eslint-plugin":"^6.21.0","@typescript-eslint/parser":"^6.21.0","@vitest/coverage-v8":"^3.2.4","eslint":"^9.32.0","eslint-plugin-react":"^7.34.0","eslint-plugin-react-hooks":"^4.6.0","tsup":"^8.1.0","tsx":"^4.16.2","typescript":"^5.5.4","vitest":"^3.2.4"},"engines":{"node":">=20"},"publishConfig":{"access":"public"},"_id":"@codelook/codem@0.10.2","gitHead":"f79911b373274534d7c8d9336798d00c55b03350","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-dfjsZN750SpPe1kw6FBpMxj3HUVfbe1wX6rogtwcMU/VoESmLuu5bVermuusZvm0Iub8JCVSNH1tsTJNyidKAg==","shasum":"82fa160ee7dc28a824f6ce4095dddf3617815680","tarball":"https://registry.npmjs.org/@codelook/codem/-/codem-0.10.2.tgz","fileCount":33,"unpackedSize":1329795,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC0OWUBC6Q6xZJP+FXBhKPKGgchQ01wo6ZzgQpKP3vQBAIgFjIFYuC4PDlvAHAl+U/US7p99Wpq5qzcsk2Agmdu83c="}]},"_npmUser":{"name":"foundj","email":"mfj@qq.com"},"directories":{},"maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/codem_0.10.2_1754819350165_0.751194735875419"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-26T16:33:24.008Z","modified":"2025-08-10T09:49:10.623Z","0.2.0":"2025-06-26T16:33:24.289Z","0.2.1":"2025-06-27T07:07:38.972Z","0.2.2":"2025-06-27T07:37:17.775Z","0.2.3":"2025-06-27T07:49:00.130Z","0.3.0":"2025-06-27T08:15:54.828Z","0.3.1":"2025-06-27T08:40:55.806Z","0.3.2":"2025-06-27T16:10:36.316Z","0.4.0":"2025-06-27T17:00:25.115Z","0.4.1":"2025-06-28T14:03:56.946Z","0.4.2":"2025-06-29T03:17:05.896Z","0.4.3":"2025-06-29T04:07:49.511Z","0.5.0":"2025-06-29T13:36:33.114Z","0.5.1":"2025-06-29T14:35:13.391Z","0.5.2":"2025-06-29T14:57:03.128Z","0.5.3":"2025-06-29T15:30:13.713Z","0.5.4":"2025-06-29T16:02:27.178Z","0.5.5":"2025-06-29T16:18:45.244Z","0.5.6":"2025-06-29T16:29:10.715Z","0.5.7":"2025-06-29T16:38:30.020Z","0.5.8":"2025-06-29T17:17:27.680Z","0.5.9":"2025-06-30T12:34:45.209Z","0.5.10":"2025-06-30T13:55:14.601Z","0.5.11":"2025-06-30T14:09:00.460Z","0.6.0":"2025-06-30T14:59:23.998Z","0.7.0":"2025-07-01T02:21:07.683Z","0.7.1":"2025-07-01T02:33:24.151Z","0.8.0":"2025-07-02T15:52:24.143Z","0.9.2":"2025-07-03T11:55:56.826Z","0.9.4":"2025-07-03T13:50:34.740Z","0.9.7":"2025-07-27T06:43:56.232Z","0.9.8":"2025-07-27T09:46:29.983Z","0.9.9":"2025-07-27T15:06:32.155Z","0.9.12":"2025-07-28T04:07:58.445Z","0.9.13":"2025-07-28T08:24:30.549Z","0.9.15":"2025-07-29T07:34:58.417Z","0.9.17":"2025-08-02T13:07:07.455Z","0.9.20":"2025-08-02T16:32:53.227Z","0.10.0":"2025-08-09T13:27:13.626Z","0.10.2":"2025-08-10T09:49:10.393Z"},"author":{"name":"UEUI Team"},"license":"PolyForm-Noncommercial-1.0.0","keywords":["claude","claude-code","cli","environment","manager","ink","codem","multi-env"],"description":"Multi-environment manager for Claude Code CLI - codem (code-multi)","maintainers":[{"name":"foundj","email":"mfj@qq.com"}],"readme":"# @codelook/codem\n\nClaude Code CLI 的多环境管理器，具有基于 Ink 的精美界面。\n\n[English](https://github.com/codebox/codebox/blob/main/packages/codem/README.md) | [简体中文](https://github.com/codebox/codebox/blob/main/packages/codem/README.zh-CN.md)\n\n> **codem** = code multi - 一个简单易记的名字，用于管理多个 Claude Code 环境\n>\n> 💡 **向后兼容**：`claude-multi` 命令仍然可用作 `codem` 的别名\n\n## 功能特性\n\n- 🌍 **多环境管理**：创建和管理隔离的 Claude Code 环境\n- 🔐 **API 密钥管理**：为每个环境安全存储不同的 API 密钥\n- 🚀 **全局环境**：跨不同项目共享环境\n- 💰 **使用分析**：跟踪每个环境的令牌使用量和成本\n- 🎨 **精美界面**：使用 Ink 和 React 构建的交互式界面\n- 📤 **导出/导入**：共享环境配置（不包含 API 密钥）\n- 🔄 **快速切换**：在环境之间快速切换\n- 📊 **成本跟踪**：通过详细分析监控 API 使用成本\n- ⚡ **快速启动**：直接运行 `codem run <env>` 启动指定环境（v0.2.2+）\n- 🚀 **即时选择**：运行 `codem` 后直接选择环境运行（v0.2.2+）\n- 🌐 **代理支持**：为每个环境配置独立的 HTTP/HTTPS 代理（v0.3.0+）\n- 🔐 **代理认证**：支持带有 Bearer Token 认证的代理服务器（v0.3.1+）\n- 🔄 **代理池管理**：管理多个代理服务器，支持健康检查和快速切换（v0.4.0+）\n- 🚀 **远程环境共享**：通过代理服务器共享环境，支持团队协作（v0.5.8+）\n- 🎫 **一次性 Token**：生成临时访问令牌，安全分享环境（v0.5.8+）\n- 🔄 **Claude 会话支持**：支持继续对话（-c）和恢复会话（-r）功能（v0.9.16+）\n- 📝 **Task 命令**：直接执行 Claude 任务命令（v0.9.16+）\n\n## 安装\n\n```bash\n# 全局安装\nnpm install -g @codelook/codem@latest\n\n# 或直接使用 npx\nnpx @codelook/codem\n```\n\n## 快速开始\n\n### 交互模式（v0.2.2+ 增强）\n\n只需运行 `codem` 即可启动交互式界面：\n\n```bash\ncodem  # 直接显示环境列表，可快速选择运行\n```\n\n**新功能**：\n\n- 启动后直接显示环境列表，可立即选择环境运行 Claude\n- 支持返回主菜单进行其他操作\n- 修复了列表显示后自动退出的问题\n\n### 命令行模式\n\n```bash\n# 列出所有环境\ncodem list\n\n# 创建新环境\ncodem create work --api-key sk-ant-xxx\n\n# 创建环境并配置代理（v0.3.0+ 新功能）\ncodem create china --proxy http://proxy.example.com:8080\n\n# 使用代理池中的代理创建环境（v0.4.0+ 新功能）\ncodem create work --use-proxy us-proxy\n\n# 从当前 Claude Code 实例创建环境（v0.4.1+ 新功能）\ncodem create dev --from-current\n\n# 管理代理池（v0.4.0+ 新功能）\ncodem proxy add us-proxy http://us.proxy.com:8080 --auth \"pst_token\" --description \"美国区域\"\ncodem proxy list                    # 列出所有代理及健康状态\ncodem proxy test                    # 测试所有代理\ncodem proxy use asia-proxy          # 设置默认代理\ncodem proxy remove old-proxy        # 从池中删除代理\n\n# 全局代理控制（v0.4.0+ 新功能）\ncodem proxy global enable           # 启用全局代理\ncodem proxy global disable          # 禁用全局代理\n\n# 传统代理命令（仍然支持）\ncodem proxy set work http://proxy.example.com:8080\ncodem proxy show work\ncodem proxy remove work\n\n# 切换默认环境\ncodem use work\n\n# 在特定环境中运行 Claude\ncodem run work -- chat \"你好\"\n\n# 直接运行环境（v0.2.2+ 新功能）\ncodem run work  # 直接在 work 环境中启动 Claude，无需额外参数\n\n# 继续最近的对话（v0.9.16+ 新功能）\ncodem -c                    # 使用默认环境继续最近对话\ncodem run work -c           # 在 work 环境中继续最近对话\n\n# 恢复特定会话（v0.9.16+ 新功能）\ncodem -r <session-id>       # 使用默认环境恢复特定会话\ncodem run work -r <id>      # 在 work 环境中恢复特定会话\n\n# 执行任务（v0.9.16+ 新功能）\ncodem task \"编写一个Python脚本\"  # 使用默认环境执行任务\n\n# 查看使用量和成本\ncodem usage               # 所有环境\ncodem usage work          # 特定环境\ncodem usage -d            # 每日明细\ncodem usage -b            # 模型明细\ncodem usage --since 2024-01-01  # 日期范围\n```\n\n## 使用分析\n\nCodem 通过分析 Claude Code 的对话日志自动跟踪每个环境的令牌使用量和成本。\n\n### 功能\n\n- **按环境跟踪**：查看按环境隔离的使用情况\n- **成本计算**：基于当前 Claude API 定价自动计算成本\n- **模型细分**：查看不同 Claude 模型（Opus、Sonnet、Haiku）的使用情况\n- **时间过滤**：按日期范围过滤使用情况\n- **会话分析**：查看单个对话会话\n\n### 使用方法\n\n```bash\n# 交互模式 - 从菜单中选择\"查看使用量和成本\"\ncodem\n\n# 命令行模式\ncodem usage                     # 显示所有环境\ncodem usage work                # 显示特定环境\ncodem usage -d                  # 每日细分\ncodem usage -m                  # 每月汇总\ncodem usage -b                  # 模型细分\ncodem usage --since 2024-01-01  # 从特定日期开始\ncodem usage --until 2024-12-31  # 到特定日期结束\n```\n\n### 输出示例\n\n```\n环境使用情况：work\n总成本：$2.45\n会话数：23\n令牌数：145.2K 输入，89.3K 输出\n缓存：12.5K 令牌\n\n模型细分：\n  claude-opus-4-20250514：\n    成本：$2.10\n    消息：18\n    令牌：120.5K/75.2K\n\n  claude-3-5-sonnet-20241022：\n    成本：$0.35\n    消息：5\n    令牌：24.7K/14.1K\n\n最近会话：\n  2024-01-15 • 45分钟 • 12条消息 • $0.85\n  2024-01-14 • 23分钟 • 8条消息 • $0.42\n```\n\n## 环境共享\n\n### 全局环境\n\n全局环境在机器上的所有项目之间共享：\n\n```bash\n# 创建全局环境\ncodem create shared-work --global\n\n# 全局环境会出现在所有项目中\ncd ~/any-project\ncodem list  # 将显示 'shared-work [全局]'\n```\n\n### 导出/导入\n\n与团队成员共享环境配置：\n\n```bash\n# 导出环境（不包含 API 密钥）\ncodem export work > work-env.json\n\n# 在另一台机器上导入\ncodem import work < work-env.json\n```\n\n## 配置\n\n### 环境存储位置\n\n- **本地环境**：`~/.claude-profiles/<name>/`\n- **全局环境**：`~/.codem/environments/<name>/`\n- **配置文件**：`~/.claude-profiles/config.json`\n\n### API 密钥安全\n\nAPI 密钥存储在每个环境的 `.claude/settings.json` 文件中，并且永远不会包含在导出中。\n\n## 代理配置\n\nCodem v0.3.0+ 支持为每个环境配置独立的 HTTP/HTTPS 代理，v0.4.0+ 引入代理池管理功能，提供更好的可靠性和灵活性。\n\n### 代理池管理（v0.4.0+）\n\n管理多个代理服务器，支持健康检查和快速切换：\n\n```bash\n# 添加代理到池中\ncodem proxy add us-proxy http://us.proxy.com:8080 --auth \"pst_us_token\" --description \"美国区域\"\ncodem proxy add asia-proxy http://asia.proxy.com:8080 --auth \"pst_asia_token\" --description \"亚洲区域\"\ncodem proxy add eu-proxy http://eu.proxy.com:8080 --auth \"pst_eu_token\" --description \"欧洲区域\"\n\n# 列出所有代理及健康状态\ncodem proxy list\n# 输出：\n# 代理池：\n#   ✅ us-proxy (默认) [已认证] - 美国区域\n#      http://us.proxy.com:8080 (2分钟前检查)\n#   ❌ asia-proxy [已认证] - 亚洲区域\n#      http://asia.proxy.com:8080 (5分钟前检查)\n#   ❓ eu-proxy [已认证] - 欧洲区域\n#      http://eu.proxy.com:8080\n\n# 测试代理连接\ncodem proxy test              # 测试所有代理\ncodem proxy test us-proxy    # 测试特定代理\n\n# 切换默认代理\ncodem proxy use asia-proxy\n\n# 从池中删除代理\ncodem proxy remove old-proxy\n\n# 全局代理控制\ncodem proxy global enable    # 启用全局代理（使用默认代理）\ncodem proxy global disable   # 禁用全局代理\ncodem proxy global status    # 查看全局代理状态\n```\n\n### 创建环境时配置代理\n\n```bash\n# 使用代理池中的代理（v0.4.0+）\ncodem create work --use-proxy us-proxy\n\n# 直接配置代理\ncodem create china --proxy http://proxy.example.com:8080\n\n# 分别设置不同的代理\ncodem create corp --http-proxy http://proxy.company.com:8080 --https-proxy https://secure-proxy.company.com:8443\n\n# 设置代理和不代理列表\ncodem create dev --proxy http://localhost:7890 --no-proxy localhost,127.0.0.1,*.local\n\n# 设置带认证的代理（v0.3.1+）\ncodem create secure --proxy http://proxy.example.com:8080 --proxy-auth \"pst_your_token_here\"\n```\n\n### 管理现有环境的代理\n\n```bash\n# 设置代理（传统方式，仍然支持）\ncodem proxy set work http://proxy.example.com:8080\n\n# 设置带认证的代理\ncodem proxy set work http://proxy.example.com:8080 --auth \"pst_your_token_here\"\n\n# 设置不同类型的代理\ncodem proxy set work --http http://proxy.example.com:8080 --https https://proxy.example.com:8443\n\n# 查看代理设置\ncodem proxy show work\n\n# 移除代理设置\ncodem proxy remove work\n```\n\n### 代理优先级\n\n当运行 Claude 时，代理配置按以下优先级生效：\n\n1. **环境使用的代理池代理**：如果环境使用 `--use-proxy` 配置\n2. **环境特定的直接代理**：在环境中直接设置的代理\n3. **全局代理池代理**：如果启用了全局代理\n4. **系统环境变量**：`HTTP_PROXY`、`HTTPS_PROXY`、`NO_PROXY`\n\n### 使用场景\n\n1. **代理故障切换**：配置多个代理，当一个失败时快速切换\n2. **区域优化**：为不同地区使用不同的代理\n3. **企业网络**：管理多个企业代理服务器\n4. **开发调试**：使用本地代理工具（如 Charles、Fiddler）调试 API 请求\n\n### 交互式代理管理\n\n通过交互式界面访问代理管理：\n\n```bash\ncodem\n# 从主菜单选择\"🌐 代理管理\"\n```\n\n在代理管理界面中，您可以：\n\n- 添加带认证的新代理\n- 查看所有代理及健康状态\n- 测试代理连接\n- 设置默认代理\n- 删除代理\n- 控制全局代理设置\n\n## 远程环境共享（v0.5.8+）\n\nCodem 支持通过 codem-proxy 代理服务器实现环境的远程共享，方便团队协作和临时访问。\n\n### 部署代理服务器\n\n首先需要部署 codem-proxy 代理服务器。推荐使用 Cloudflare Workers：\n\n```bash\n# 克隆项目（如果还没有）\ngit clone https://github.com/your-org/codelook.git\ncd codelook/packages/codem-proxy/cloudflare\n\n# 配置你的代理服务器\n# 编辑 wrangler.toml，设置你的账户 ID\n# 编辑 worker.js，设置你的认证 token\n\n# 部署到 Cloudflare Workers\nnpm install -g wrangler\nwrangler deploy --env production\n\n# 部署成功后会得到类似这样的 URL：\n# https://your-proxy.workers.dev\n```\n\n### 远程环境共享使用指南\n\n#### 1. 通过交互式菜单使用（推荐）\n\n```bash\n# 启动 codem\ncodem\n\n# 从主菜单选择 \"🔄 远程环境与共享\"\n# 这会进入统一的远程共享管理界面\n```\n\n在远程共享管理界面，你可以：\n\n- **🔗 连接到代理服务器**：输入代理 URL 和认证 token\n- **📋 查看远程环境列表**：查看代理服务器上的所有环境\n- **⬇️ 拉取远程环境**：下载远程环境到本地\n- **⬆️ 推送本地环境**：上传本地环境到代理服务器\n- **🔄 同步环境**：双向同步本地和远程环境\n- **📤 快捷复制共享命令**：生成分享命令供他人使用\n- **🎫 生成一次性 Token**：创建临时访问令牌（需要代理服务器支持）\n- **👁️ 查看已共享的环境**：查看所有已上传的环境\n\n#### 2. 使用一次性 Token 快速访问\n\n一次性 Token（OTT）是最安全便捷的共享方式：\n\n```bash\n# 直接使用一次性 token 运行远程环境\nnpx @codelook/codem run https://your-proxy.workers.dev --token ott_xxxxx\n\n# 添加 --no-cache 避免缓存到本地\nnpx @codelook/codem run https://your-proxy.workers.dev --token ott_xxxxx --no-cache\n```\n\n**一次性 Token 的特点**：\n\n- 以 `ott_` 前缀开头\n- 使用一次后自动失效\n- 无需提供环境 ID\n- 更加安全，适合临时分享\n\n#### 3. 使用永久共享命令\n\n对于长期团队协作，可以使用永久共享：\n\n```bash\n# 使用环境 ID 和认证 token\nnpx @codelook/codem run https://your-proxy.workers.dev \\\n  --auth \"YOUR_AUTH_TOKEN\" \\\n  --env \"env_xxxxx\"\n```\n\n#### 4. 命令行操作（开发中）\n\n```bash\n# 连接到远程代理\ncodem remote connect https://your-proxy.workers.dev YOUR_TOKEN\n\n# 列出远程环境\ncodem remote list\n\n# 推送本地环境\ncodem remote push myenv\n\n# 拉取远程环境\ncodem remote pull env_xxxxx local-name\n\n# 同步环境\ncodem remote sync myenv --direction pull  # 从远程拉取\ncodem remote sync myenv --direction push  # 推送到远程\n\n# 断开连接\ncodem remote disconnect\n```\n\n### 安全最佳实践\n\n1. **保护你的代理服务器信息**\n   - 永远不要在公开代码中硬编码代理 URL 和 token\n   - 使用环境变量或配置文件存储敏感信息\n   - 定期轮换认证 token\n\n2. **使用一次性 Token**\n   - 临时分享时优先使用一次性 token\n   - 避免分享永久 token 给不信任的用户\n   - 一次性 token 使用后立即失效，更加安全\n\n3. **权限控制**\n   - 为不同团队部署不同的代理服务器\n   - 使用不同的认证 token 区分访问权限\n   - 定期审查和清理不再使用的环境\n\n### 使用场景\n\n1. **团队协作**\n\n   ```bash\n   # 团队成员 A 推送环境\n   codem remote push team-project\n\n   # 团队成员 B 拉取使用\n   codem remote pull env_team-project my-local-copy\n   ```\n\n2. **临时技术支持**\n\n   ```bash\n   # 生成一次性分享命令\n   # 在交互式菜单中选择 \"📤 快捷复制共享命令\"\n   # 发送给需要帮助的人\n   ```\n\n3. **跨设备同步**\n\n   ```bash\n   # 在办公室电脑推送\n   codem remote push my-work\n\n   # 在家里电脑拉取\n   codem remote pull env_my-work home-work\n   ```\n\n### 故障排除\n\n**问题：远程功能显示\"正在开发中\"**\n\n- 当前版本的远程功能仍在完善中\n- 可以使用 `run` 命令的 `--token` 参数作为替代方案\n\n**问题：无法连接到代理服务器**\n\n- 检查代理服务器 URL 是否正确\n- 验证认证 token 是否有效\n- 确保网络连接正常\n\n**问题：一次性 Token 无效**\n\n- 确认 token 以 `ott_` 开头\n- 检查是否已经使用过（一次性 token 只能使用一次）\n- 验证代理服务器是否支持一次性 token 功能\n\n## 高级用法\n\n### 编程接口\n\n```typescript\nimport { EnvironmentManager } from '@codelook/codem';\n\nconst manager = new EnvironmentManager();\nawait manager.initialize();\n\n// 创建环境\nawait manager.createEnvironment({\n  name: 'dev',\n  apiKey: 'sk-ant-xxx',\n  description: '开发环境',\n  global: false,\n});\n\n// 列出环境\nconst environments = await manager.listEnvironments();\n\n// 使用环境运行\nawait manager.runWithEnvironment('dev', ['chat', '你好']);\n```\n\n### 与项目集成\n\n在项目的 `package.json` 中添加：\n\n```json\n{\n  \"scripts\": {\n    \"claude\": \"codem run dev --\",\n    \"claude:prod\": \"codem run prod --\"\n  }\n}\n```\n\n然后使用：\n\n```bash\nnpm run claude chat \"帮我处理这段代码\"\n```\n\n## 常见问题\n\n### 如何迁移现有的 Claude 配置？\n\n如果你已经在使用 Claude Code CLI，codem 会自动检测并兼容现有配置：\n\n```bash\n# 创建基于现有配置的环境\ncodem create default --from-existing\n```\n\n### 如何在 CI/CD 中使用？\n\n```bash\n# 通过环境变量设置 API 密钥\nexport ANTHROPIC_API_KEY=sk-ant-xxx\ncodem create ci --api-key $ANTHROPIC_API_KEY\ncodem run ci -- chat \"运行测试\"\n```\n\n### 如何备份所有环境？\n\n```bash\n# 导出所有环境\nfor env in $(codem list --json | jq -r '.[].name'); do\n  codem export $env > backup-$env.json\ndone\n```\n\n## 故障排除\n\n### 环境未显示\n\n确保你在正确的目录中，或者使用 `--global` 标志查看全局环境：\n\n```bash\ncodem list --global\n```\n\n### API 密钥未保存\n\n确保你有写入权限到配置目录：\n\n```bash\n# 检查权限\nls -la ~/.claude-profiles/\n```\n\n### 成本计算不准确\n\n成本基于 Claude API 的标准定价计算。如果你有特殊定价，可以通过环境变量自定义：\n\n```bash\nexport CLAUDE_OPUS_INPUT_PRICE=0.015\nexport CLAUDE_OPUS_OUTPUT_PRICE=0.075\n```\n\n## 最新更新\n\n### v0.5.11 (2025-06-30)\n\n- 🔄 **统一菜单**：合并\"远程环境共享\"和\"共享管理\"为一个统一的\"远程环境与共享\"菜单\n- 🐛 **错误修复**：修复了调用不存在方法的运行时错误\n- 🔒 **安全改进**：移除了所有硬编码的私有环境配置，保护用户隐私\n\n### v0.5.8 (2025-06-30)\n\n- 🎫 **一次性 Token 共享**：支持使用 `ott_` 前缀的一次性 token，更安全便捷\n- 🔄 **环境共享管理**：新增专门的共享管理界面，快捷复制分享命令\n- 🚀 **远程环境支持**：通过代理服务器实现环境的远程共享和同步\n- 📤 **快速共享**：一键生成分享命令，方便团队协作\n\n### v0.4.1 (2025-06)\n\n- 🔄 **代理池管理**：管理多个代理服务器，支持健康检查和快速切换\n- 🏥 **代理健康检查**：自动测试所有代理的连接性，提供可视化状态指示\n- 🌐 **全局代理控制**：使用 `proxy global enable/disable/status` 命令一键控制全局代理\n- ✨ **增强的代理命令**：新增 `proxy add/list/use/test/remove` 子命令进行全面的代理管理\n- 🎯 **智能默认选择**：添加到空池中的第一个代理自动成为默认代理\n- 🔧 **环境集成**：创建环境时使用 `--use-proxy` 参数引用池中代理\n- 📊 **交互式代理界面**：主界面新增\"🌐 代理管理\"菜单选项\n- 🔀 **导入当前配置**：新增 `--from-current` 选项，可从当前 Claude Code 实例创建环境\n\n### v0.4.0 (2025-01)\n\n- 🎯 **环境模板**：为个人、团队、区域和企业使用提供预配置模板\n- 🧾 **健康检查**：新增 `codem health` 命令验证环境配置\n- 🛡️ **增强错误处理**：提供有用的错误信息和恢复建议\n- 🎆 **交互式设置向导**：为新环境提供引导式设置\n\n### v0.3.0 (2025-06)\n\n- 🌐 新增代理支持：为每个环境配置独立的 HTTP/HTTPS 代理\n- ✨ 新增 `proxy` 命令：管理环境的代理设置（set/show/remove）\n- 🔧 支持在创建环境时直接配置代理\n- 📝 完善代理配置文档和使用示例\n\n### v0.2.3 (2024-12)\n\n- 🐛 修复了交互式选择环境运行 Claude 时的报错问题\n- 🔧 改进了 Ink 界面的卸载机制，避免与 Claude 交互冲突\n\n### v0.2.2 (2024-12)\n\n- ✨ 支持 `codem run <env>` 直接运行环境，无需额外参数\n- 🎯 改进主界面：运行 `codem` 后直接显示环境列表供快速选择\n- 🐛 修复了列表显示后自动退出的问题\n- ✅ 实现了所有主菜单功能（运行、切换、删除、导出等）\n\n### v0.2.1 (2024-12)\n\n- 🐛 修复了 CLI 启动时的 shebang 错误\n- 📝 添加了完整的中文文档\n\n## 贡献\n\n欢迎贡献！在提交 PR 之前，请阅读我们的贡献指南。\n\n## 许可证\n\nMIT © CodeBox 团队\n\n---\n\n[English](./README.md) | 简体中文\n","readmeFilename":"README.zh-CN.md"}