{"_id":"@annnormanr/sandbox","_rev":"14-95ac5ad8748409b94583fd745c9caba5","name":"@annnormanr/sandbox","dist-tags":{"latest":"0.6.5"},"versions":{"0.0.1":{"name":"@annnormanr/sandbox","version":"0.0.1","_id":"@annnormanr/sandbox@0.0.1","maintainers":[{"name":"rubixibuc","email":"rubixibuc@gmail.com"}],"dist":{"shasum":"b6c0c440086c551bcbe90bec9d077009fb7074dd","tarball":"https://registry.npmjs.org/@annnormanr/sandbox/-/sandbox-0.0.1.tgz","fileCount":2,"integrity":"sha512-yGcpFx07PutVk9ajV+L/KvtgUewzaOqxqey6LjXUpRu8/U00mUzXYr26xUWeKrtpWvURfjH0dVGA9QLGiM+Sow==","signatures":[{"sig":"MEYCIQDPkXRDCdYigjFYg6OtZlOBdFUuxai4ZgN0Nk+54FECVQIhAPUh4e9MQzbdq0ZzXTbSlhTQ7KH3ssxNag4YD0Ieul0/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16336},"main":"index.js","type":"module","gitHead":"4f17259b0ba6c9244f3f7b2c2b78aaa22a245537","_npmUser":{"name":"rubixibuc","email":"rubixibuc@gmail.com"},"_npmVersion":"11.14.1","description":"Isolated Docker sandbox + git branch isolation","directories":{},"_nodeVersion":"26.1.0","dependencies":{"chalk":"^5.0.0","execa":"^9.0.0","figlet":"^1.0.0","@inquirer/prompts":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.0.1_1779476871824_0.5283343326212777","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@annnormanr/sandbox","version":"0.1.0","_id":"@annnormanr/sandbox@0.1.0","maintainers":[{"name":"rubixibuc","email":"rubixibuc@gmail.com"}],"bin":{"sandbox":"index.js"},"dist":{"shasum":"a7838944bf76798204f876723a0f1051f2899237","tarball":"https://registry.npmjs.org/@annnormanr/sandbox/-/sandbox-0.1.0.tgz","fileCount":2,"integrity":"sha512-pcqyctM9arSUBFoiSx6+AGwHFTYS/DpO2o8t1eHIIymSSQTHbOsPV1J0Vn12mJ45nXWRGUiFGGzD80L+91rsjg==","signatures":[{"sig":"MEUCICGGWL7JcaARNuD5/soIaoRO0vJf3bgE34gXqh2JvV14AiEA1ulrw9yNTLmh0CWnOgdmGKWSmvU1Kt+nWzFjMR3ra+s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16380},"main":"index.js","type":"module","gitHead":"4a0b02cd24f4b80773f743e81d2a9e37fe7a7f3d","_npmUser":{"name":"rubixibuc","email":"rubixibuc@gmail.com"},"_npmVersion":"11.14.1","description":"Isolated Docker sandbox + git branch isolation","directories":{},"_nodeVersion":"26.1.0","dependencies":{"chalk":"^5.0.0","execa":"^9.0.0","figlet":"^1.0.0","@inquirer/prompts":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.1.0_1779477272277_0.21233744045532732","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@annnormanr/sandbox","version":"0.2.0","_id":"@annnormanr/sandbox@0.2.0","maintainers":[{"name":"rubixibuc","email":"rubixibuc@gmail.com"}],"bin":{"sandbox":"index.js"},"dist":{"shasum":"d2a6bbfcbfb9456df747a9f4cd61b004d0b9afbe","tarball":"https://registry.npmjs.org/@annnormanr/sandbox/-/sandbox-0.2.0.tgz","fileCount":3,"integrity":"sha512-Csp8zHEmq8//QhVxY8uig165mgeCeWke7v10B0wjD0/bB4/5dp7YYCzcs7xgrjFm+7Zrd25+BgoE4cJ8nlHIjA==","signatures":[{"sig":"MEUCIQC1vGdMKOygPToLW2lZkr3JrYN9LgR4mlwD1mReOH3sSgIgcO0sxa4sm4lgKpJGK5Sdav7qWfKFd7IFKGCvdO7xPio=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22522},"main":"index.js","type":"module","gitHead":"0e1c8c1b27f3f4e1a1445722087e8b65a69a18d4","_npmUser":{"name":"rubixibuc","email":"rubixibuc@gmail.com"},"_npmVersion":"11.14.1","description":"Isolated Docker sandbox + git branch isolation","directories":{},"_nodeVersion":"26.1.0","dependencies":{"chalk":"^5.0.0","execa":"^9.0.0","figlet":"^1.0.0","@inquirer/prompts":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.2.0_1779478443133_0.6764130455551816","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@annnormanr/sandbox","version":"0.2.1","_id":"@annnormanr/sandbox@0.2.1","maintainers":[{"name":"rubixibuc","email":"rubixibuc@gmail.com"}],"bin":{"sandbox":"index.js"},"dist":{"shasum":"3bdfd30ad4b38502fbb67127b2872c05647d6882","tarball":"https://registry.npmjs.org/@annnormanr/sandbox/-/sandbox-0.2.1.tgz","fileCount":3,"integrity":"sha512-Vx0wfvkaYjaPF0I4Nnyd/2zyc43ljSLdWZSomwi5gu2UwTUgEvHpzgKkSWyxaEUosXLW2xzynDuWiEmemyz6sw==","signatures":[{"sig":"MEQCIEEQ6S9Yp4FBHpnM6cmpa4VuLSNF3rqtoKOePHLR5LF5AiAXxispG+O8DHS2K0WwaxdeGUe3vLKNUzSt0Eq0q8ixyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22560},"main":"index.js","type":"module","gitHead":"2af0841a1a8647d2174e2158ae27586af48498cb","_npmUser":{"name":"rubixibuc","email":"rubixibuc@gmail.com"},"_npmVersion":"11.14.1","description":"Isolated Docker sandbox + git branch isolation","directories":{},"_nodeVersion":"26.1.0","dependencies":{"chalk":"^5.0.0","execa":"^9.0.0","figlet":"^1.0.0","@inquirer/prompts":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.2.1_1779478880775_0.8427810200828756","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@annnormanr/sandbox","version":"0.3.0","_id":"@annnormanr/sandbox@0.3.0","maintainers":[{"name":"rubixibuc","email":"rubixibuc@gmail.com"}],"bin":{"sandbox":"index.js"},"dist":{"shasum":"5a07a7fa23e305b56336674e735c616051e0542a","tarball":"https://registry.npmjs.org/@annnormanr/sandbox/-/sandbox-0.3.0.tgz","fileCount":3,"integrity":"sha512-/LiJ8Mlt88qEupAdWpuyNuG4zz6ep99aDWo35HHo6zukysg8vYEJTPGzNyKZ53C4KEuMXVdaXdgWZrqTpPbDTQ==","signatures":[{"sig":"MEYCIQCwRVLSLMtCfKY6hLEtlux8W0+8UWjinZeUTkJ+LnxM5gIhAPtouifdKCartVXdFo2CxpBNHptBCoUaQuT108T6XHxu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22969},"main":"index.js","type":"module","gitHead":"22bd3f2d959921d4b6511c04a9258facc3f122a8","_npmUser":{"name":"rubixibuc","email":"rubixibuc@gmail.com"},"_npmVersion":"11.14.1","description":"Isolated Docker sandbox + git branch isolation","directories":{},"_nodeVersion":"26.1.0","dependencies":{"chalk":"^5.0.0","execa":"^9.0.0","figlet":"^1.0.0","@inquirer/prompts":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.3.0_1779480084872_0.6998893162114364","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@annnormanr/sandbox","version":"0.3.1","_id":"@annnormanr/sandbox@0.3.1","maintainers":[{"name":"rubixibuc","email":"rubixibuc@gmail.com"}],"bin":{"sandbox":"index.js"},"dist":{"shasum":"783ead63dcad2ce810f7f8ab77df64e399e0da86","tarball":"https://registry.npmjs.org/@annnormanr/sandbox/-/sandbox-0.3.1.tgz","fileCount":3,"integrity":"sha512-TqMeNYy6TiOB0/bms/GxePuX9TRe3FTJGK4jetFc4KG7W0Xd0f68RoDRgWD3+tOIHrM9hSt2AuDB40lYisW+vw==","signatures":[{"sig":"MEUCIQDWTKabSLG9xx2bFf8I0PWV3A8zbMNfyD5/PXRzl+ZoQQIgA7MxGH5YDNvH0E9+yW4nJAukdHP/Zp+9XT8EBd8lHwk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22938},"main":"index.js","type":"module","gitHead":"6e57be88869dee8b5ad09c679026640fdd274927","_npmUser":{"name":"rubixibuc","email":"rubixibuc@gmail.com"},"_npmVersion":"11.14.1","description":"Isolated Docker sandbox + git branch isolation","directories":{},"_nodeVersion":"26.1.0","dependencies":{"chalk":"^5.0.0","execa":"^9.0.0","figlet":"^1.0.0","@inquirer/prompts":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.3.1_1779480503642_0.588507541670874","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@annnormanr/sandbox","version":"0.3.2","_id":"@annnormanr/sandbox@0.3.2","maintainers":[{"name":"rubixibuc","email":"rubixibuc@gmail.com"}],"bin":{"sandbox":"index.js"},"dist":{"shasum":"98bc3bbfee3507c65b236b5e465e7ad25976603c","tarball":"https://registry.npmjs.org/@annnormanr/sandbox/-/sandbox-0.3.2.tgz","fileCount":3,"integrity":"sha512-pKSvdxivb0SsQIz43nUJtDOQ+GOSTlrYJKG6c+k/E9gLUgNXSLqC87uhz7MpjPIy7ZD9v++Ol6N3+o/JbdAcXw==","signatures":[{"sig":"MEUCIAt8S8nkAgYXKaXzsa6y+W8fagXkbSsX6QZSJgshxu5LAiEAt7kNSS/conGzGlUp84zwlrNVa5kipRvVlUvvXtL07kU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22951},"main":"index.js","type":"module","gitHead":"4fc9f6b498ab01681dfdca4fc3ed08ba11451ba0","_npmUser":{"name":"rubixibuc","email":"rubixibuc@gmail.com"},"_npmVersion":"11.14.1","description":"Isolated Docker sandbox + git branch isolation","directories":{},"_nodeVersion":"26.1.0","dependencies":{"chalk":"^5.0.0","execa":"^9.0.0","figlet":"^1.0.0","@inquirer/prompts":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.3.2_1779481348188_0.4337129324868383","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@annnormanr/sandbox","version":"0.4.0","_id":"@annnormanr/sandbox@0.4.0","maintainers":[{"name":"rubixibuc","email":"rubixibuc@gmail.com"}],"bin":{"sandbox":"index.js"},"dist":{"shasum":"21aaeade0fa2b572d230210fbfcf11d02f36a710","tarball":"https://registry.npmjs.org/@annnormanr/sandbox/-/sandbox-0.4.0.tgz","fileCount":3,"integrity":"sha512-YVxJvFrGKsMzFKcdnWIkRGJiver65GeeJcOop/8hqI/ukHh3IFbQuGYgWI4ohLcz/IyCwUEoC993XVBqHHOUxw==","signatures":[{"sig":"MEQCIHyCbRQD36plrSE78FGR/86u61uPUZTolLQWHoKjIvlbAiBpA0Mrsbq2cOF0H8YSJ81KK0D0N/UINftvqT6vdOz45Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23573},"main":"index.js","type":"module","gitHead":"0908806665630eb26596614a4c09a7dc25bbbcb5","_npmUser":{"name":"rubixibuc","email":"rubixibuc@gmail.com"},"_npmVersion":"11.6.2","description":"Isolated Docker sandbox + git branch isolation","directories":{},"_nodeVersion":"24.13.0","dependencies":{"chalk":"^5.0.0","execa":"^9.0.0","figlet":"^1.0.0","@inquirer/prompts":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.4.0_1779482966471_0.0766181268021","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@annnormanr/sandbox","version":"0.5.0","_id":"@annnormanr/sandbox@0.5.0","maintainers":[{"name":"rubixibuc","email":"rubixibuc@gmail.com"}],"bin":{"sbx":"index.js"},"dist":{"shasum":"ece2fdc8061a02da2bc9f0b678b8e84e1e0807c5","tarball":"https://registry.npmjs.org/@annnormanr/sandbox/-/sandbox-0.5.0.tgz","fileCount":3,"integrity":"sha512-AmlQlFQnXLtIZlIL3kf4VNE1Ito770mBI6EL9gFHknl6GQrcbgC6trH5NHUs1EfSjAHzDLdk2DYPEKazLugMxw==","signatures":[{"sig":"MEQCIAEViyw8nfK0k04V4aNdml9NLJ9DPMWdXt1/xaXogM19AiBKSIsgHuMTyM82zNp0tm6AZ4xAEP7CXQzAFYFIO7BXEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23545},"main":"index.js","type":"module","gitHead":"31eff3cd57dfc44755defa3cc8ba25ede05eeda4","_npmUser":{"name":"rubixibuc","email":"rubixibuc@gmail.com"},"_npmVersion":"11.6.2","description":"Isolated Docker sandbox + git branch isolation","directories":{},"_nodeVersion":"24.13.0","dependencies":{"chalk":"^5.0.0","execa":"^9.0.0","figlet":"^1.0.0","@inquirer/prompts":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.5.0_1779487012056_0.27398554575409073","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@annnormanr/sandbox","version":"0.6.0","_id":"@annnormanr/sandbox@0.6.0","maintainers":[{"name":"rubixibuc","email":"rubixibuc@gmail.com"}],"bin":{"sbx":"index.js"},"dist":{"shasum":"176acf6a4a091d947a5856782d6cc6606b5c11cc","tarball":"https://registry.npmjs.org/@annnormanr/sandbox/-/sandbox-0.6.0.tgz","fileCount":3,"integrity":"sha512-lJ+eaF4o5K7SDhl0WNAfGVXT3J3M3V+EnRO0w3svp5BSG/Xg7HZcnW4vuskFUgbVkyAtX+QhQeLHNlC3DTrTdQ==","signatures":[{"sig":"MEUCIQDtfza7SmXio8JM8i143jD1P4Un85ITAbx6bdYhl2ywfwIgekCftinTLkaF4biydbHd9+oakPc0dKz1+BilKal+z4o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26332},"main":"index.js","type":"module","gitHead":"82fac12d0907df5e871054146c564758de823151","_npmUser":{"name":"rubixibuc","email":"rubixibuc@gmail.com"},"_npmVersion":"11.14.1","description":"Isolated Docker sandbox + git branch isolation","directories":{},"_nodeVersion":"26.1.0","dependencies":{"chalk":"^5.0.0","execa":"^9.0.0","figlet":"^1.0.0","@inquirer/prompts":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.6.0_1779493490412_0.23125954462585585","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@annnormanr/sandbox","version":"0.6.1","_id":"@annnormanr/sandbox@0.6.1","maintainers":[{"name":"rubixibuc","email":"rubixibuc@gmail.com"}],"bin":{"sbx":"index.js"},"dist":{"shasum":"eee1f95d0583a6ddfa71aad89dbe15d4a70a700d","tarball":"https://registry.npmjs.org/@annnormanr/sandbox/-/sandbox-0.6.1.tgz","fileCount":3,"integrity":"sha512-q9DmG7xD3+wu7W6lD9rGSOt2R90lvtbdRpshmAmd81+twC8jiWCUS5EPOsHgJ8ZKyh2mHwd5acSTE24JTCd4pA==","signatures":[{"sig":"MEUCIQCDxtz7WLIYl69pX1rnRlC4rguFRDm/KyaK8+U9roj2QwIgKmQx3KO3F6gYTYi+0huKAZa3U9GDk1O8NhwNTNAJdDw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25170},"main":"index.js","type":"module","gitHead":"28bbf7a670d1762fd53b0d5eb7f908f04089c9a9","_npmUser":{"name":"rubixibuc","email":"rubixibuc@gmail.com"},"_npmVersion":"11.14.1","description":"Isolated Docker sandbox + git branch isolation","directories":{},"_nodeVersion":"26.1.0","dependencies":{"chalk":"^5.0.0","execa":"^9.0.0","figlet":"^1.0.0","@inquirer/prompts":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.6.1_1779498852082_0.3465483191524663","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@annnormanr/sandbox","version":"0.6.2","_id":"@annnormanr/sandbox@0.6.2","maintainers":[{"name":"rubixibuc","email":"rubixibuc@gmail.com"}],"bin":{"sbx":"index.js"},"dist":{"shasum":"2ab0749303dd8e3e9e836eb0d5a76c62c89d3333","tarball":"https://registry.npmjs.org/@annnormanr/sandbox/-/sandbox-0.6.2.tgz","fileCount":3,"integrity":"sha512-4nCNblnP5B2G0iDl2lXFye5AG2uMfOI+bI64znRc5QtV+Z2aibXu9uPzd+a8C+Nzo4VH9HBsskrl/UhIvbWpvg==","signatures":[{"sig":"MEQCICBU7+HQSnRpJOyo3JcgcsHb5h5fU4IyXvYzCnReRyGFAiBbYuWS20EdNZYtdiyBXtTyMm36ZjJ15GYtotaWvFyJfA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25170},"main":"index.js","type":"module","gitHead":"6f9375133ed610213856da117e23306af08d4620","_npmUser":{"name":"rubixibuc","email":"rubixibuc@gmail.com"},"_npmVersion":"11.14.1","description":"Isolated Docker sandbox + git branch isolation","directories":{},"_nodeVersion":"26.1.0","dependencies":{"chalk":"^5.0.0","execa":"^9.0.0","figlet":"^1.0.0","@inquirer/prompts":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.6.2_1779500522478_0.9644188227429142","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"@annnormanr/sandbox","version":"0.6.3","_id":"@annnormanr/sandbox@0.6.3","maintainers":[{"name":"rubixibuc","email":"rubixibuc@gmail.com"}],"bin":{"sbx":"index.js"},"dist":{"shasum":"13e3407b420b5010b017dbd6a048e1dfd0c161ae","tarball":"https://registry.npmjs.org/@annnormanr/sandbox/-/sandbox-0.6.3.tgz","fileCount":3,"integrity":"sha512-bqPTiEQFJDTHBb9cPPhupj1SAevNNwSxalrGCf+abkZdUEEL1O0iL+Q8/rNh0BK2vWApO3egNGJd9vHE9E9fqw==","signatures":[{"sig":"MEUCICQzQmgMOKgPly/MyzKMnJBkncuX6O078po+x/UtgfzNAiEAxCJ9aVozLyhCbcjaOTEdHNSIbwvhPuc0UgEWWpqrsAg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24751},"main":"index.js","type":"module","gitHead":"a92a1ffb943a4ac67f4dd2c3329b7cb6e49829fb","_npmUser":{"name":"rubixibuc","email":"rubixibuc@gmail.com"},"_npmVersion":"11.14.1","description":"Isolated Docker sandbox + git branch isolation","directories":{},"_nodeVersion":"26.1.0","dependencies":{"chalk":"^5.0.0","execa":"^9.0.0","figlet":"^1.0.0","@inquirer/prompts":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sandbox_0.6.3_1779506052861_0.35330578694315484","host":"s3://npm-registry-packages-npm-production"}},"0.6.5":{"name":"@annnormanr/sandbox","version":"0.6.5","type":"module","description":"Isolated Docker sandbox + git branch isolation","main":"index.js","bin":{"sbx":"index.js"},"publishConfig":{"access":"public"},"dependencies":{"@inquirer/prompts":"^7.0.0","chalk":"^5.0.0","execa":"^9.0.0","figlet":"^1.0.0"},"gitHead":"dea056b51ee6f3f15c5abdd06f05ab98036003eb","_id":"@annnormanr/sandbox@0.6.5","_nodeVersion":"26.1.0","_npmVersion":"11.14.1","dist":{"integrity":"sha512-rAnygqk5aWDwGMxG2gsEnt0A6CDrFpJ0XMPVZPdu8lsICyLl9SAfnvRom/qgM0whwKzacrFAYq53PZNKCLV0lA==","shasum":"959e7fe2ccabae9db84c50b64c8cd72b325ed3b0","tarball":"https://registry.npmjs.org/@annnormanr/sandbox/-/sandbox-0.6.5.tgz","fileCount":3,"unpackedSize":26155,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIB7BQZ2hH2ylW5yfRo2AqwZwi5BbVM+HK16rugu2R+b7AiEAiO5KIyW9C+PL4zhYSgnk6q0IRyVcJA07TtbDZ85LgvQ="}]},"_npmUser":{"name":"rubixibuc","email":"rubixibuc@gmail.com"},"directories":{},"maintainers":[{"name":"rubixibuc","email":"rubixibuc@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sandbox_0.6.5_1779515655267_0.698761838268086"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-22T19:07:51.705Z","modified":"2026-05-23T05:54:15.515Z","0.0.1":"2026-05-22T19:07:52.048Z","0.1.0":"2026-05-22T19:14:32.440Z","0.2.0":"2026-05-22T19:34:03.274Z","0.2.1":"2026-05-22T19:41:20.917Z","0.3.0":"2026-05-22T20:01:25.024Z","0.3.1":"2026-05-22T20:08:23.780Z","0.3.2":"2026-05-22T20:22:28.324Z","0.4.0":"2026-05-22T20:49:26.629Z","0.5.0":"2026-05-22T21:56:52.196Z","0.6.0":"2026-05-22T23:44:50.544Z","0.6.1":"2026-05-23T01:14:12.219Z","0.6.2":"2026-05-23T01:42:02.693Z","0.6.3":"2026-05-23T03:14:13.006Z","0.6.5":"2026-05-23T05:54:15.408Z"},"description":"Isolated Docker sandbox + git branch isolation","maintainers":[{"name":"rubixibuc","email":"rubixibuc@gmail.com"}],"readme":"# sandbox\n\nIsolated git experimentation using a disposable Docker container with branch isolation. Try out ideas, run scripts, refactor code, or let AI tools loose, all in a throwaway clone. When you're done, review the diff and decide whether to pull the branch back into your real repo.\n\nWhether you're experimenting with a bold refactor, running an untrusted script, or giving an AI coding tool free rein, `sandbox` ensures your real repo stays untouched until you choose to merge.\n\n## Quick Start\n\n```bash\nnpx @annnormanr/sandbox\n```\n\nNo install required. Drops you into an interactive zsh shell (oh-my-zsh + powerlevel10k) inside the container. Docker or Podman required.\n\n```bash\nnpx @annnormanr/sandbox -- npm test       # run a specific command\nnpx @annnormanr/sandbox --base develop -- npm test  # branch from develop\n```\n\n## What You Get\n\n- **Git branch isolation**: work happens on an `isolated/` branch in a clone, never touching your real repo until you merge\n- **Hardened container**: read-only rootfs, all capabilities dropped, no new privileges, pids-limited\n- **Host PATH available**: commands from the host's `PATH` are mounted read-only into the sandbox by default, so tools like `gh`, `python`, `rg`, etc. just work. Disable with `--no-path`.\n- **Host filesystem stays read-only**: even with host PATH mounted, the host's filesystem remains read-only — only the sandbox clone (`/work`) and `/tmp` are writable\n- **Push is physically impossible**: no remote, config locked down, git remote helpers masked\n- **Persistent sandboxes**: resume where you left off from an interactive menu of past sessions, scoped per repo\n- **Config overlay**: drop files into `.sandbox/` in your repo and they are shadowed into every sandbox clone, invisible to git\n- **Uncommitted changes guard**: on exit, warns about unsaved work and offers to auto-commit or discard\n- **Review before merge**: see exactly what changed, then merge, keep, or delete\n- **Cross-platform**: runs on Linux and macOS. Windows users should run from WSL2.\n\n## Usage\n\n```\nsbx                                  interactive shell (zsh + oh-my-zsh)\nsbx -- npm test                      run a specific command\nsbx --base develop -- npm test       branch from a custom base ref\nsbx --rebuild                        rebuild the sandbox Docker image\nsbx --no-path                        disable host PATH mounting\n```\n\n### Environment Variables\n\n| Variable          | Default          | Description                                |\n| ----------------- | ---------------- | ------------------------------------------ |\n| `SANDBOX_IMAGE`   | `sandbox:latest` | Docker image to use                        |\n| `SANDBOX_NETWORK` | `host`           | Container network mode                     |\n| `SANDBOX_MEMORY`  | `4g`             | Memory limit                               |\n| `SANDBOX_CPUS`    | `2`              | CPU limit                                  |\n| `SANDBOX_PIDS`    | `200`            | Max processes                              |\n| `SANDBOX_TIMEOUT` | _(none)_         | Hard wall-clock timeout (e.g. `30m`, `1h`) |\n\n## Workflow\n\n1. Run `sbx`: your repo is cloned to `.sandbox-cache/`, an isolated branch is created, and you're dropped into a shell inside the container\n2. Do your work: run tools, make commits, experiment freely\n3. Exit the container: if you have uncommitted changes you'll be prompted to save or discard them, then a menu asks whether to **merge** the branch back, **keep** it for later, or **delete** everything\n4. Your real repo was never touched until you chose to merge\n\n## Configuration Overlay\n\nDrop files into `.sandbox/` in your repo root and they are automatically shadowed into every sandbox clone. The files appear in the sandbox but are excluded from git tracking inside the clone, so they never show up as changes.\n\n```bash\n# Example: permissive Claude Code settings for sandbox use\nmkdir -p .sandbox/.claude\ncat > .sandbox/.claude/settings.json << 'EOF'\n{\n  \"permissions\": {\n    \"allow\": [\"Bash(git *)\", \"Bash(npm *)\", \"Bash(node *)\", \"...\"],\n    \"deny\": [\"Bash(git push*)\", \"Bash(git config*)\"]\n  }\n}\nEOF\n```\n\nCommit `.sandbox/` to share config with your team, or keep it local. The overlay works for any file or tool, not just Claude Code.\n\n## Requirements\n\n- Linux or macOS. Windows users must run from [WSL2](https://learn.microsoft.com/en-us/windows/wsl/install).\n- [Docker](https://docs.docker.com/get-docker/) or [Podman](https://podman.io/)\n- Git\n- Node.js 18+\n\n## Install\n\n```bash\nnpm install -g @annnormanr/sandbox\nsbx\n```\n\nOr run on-demand with `npx`:\n\n```bash\nnpx @annnormanr/sandbox\n```\n","readmeFilename":"README.md"}