{"_id":"@dotworld/shadow-canary-templates","_rev":"17-894e058d79dfd65a8734a51c4a3461da","name":"@dotworld/shadow-canary-templates","dist-tags":{"latest":"0.8.0"},"versions":{"0.1.0":{"name":"@dotworld/shadow-canary-templates","version":"0.1.0","license":"MIT","_id":"@dotworld/shadow-canary-templates@0.1.0","maintainers":[{"name":"gtko","email":"gtux.prog@gmail.com"}],"homepage":"https://github.com/your-org/shadow-canary#readme","bugs":{"url":"https://github.com/your-org/shadow-canary/issues"},"bin":{"shadow-canary-copy":"bin/copy.js"},"dist":{"shasum":"9258c9902b71fbd0082997bf381f739691f67b63","tarball":"https://registry.npmjs.org/@dotworld/shadow-canary-templates/-/shadow-canary-templates-0.1.0.tgz","fileCount":36,"integrity":"sha512-WcFoOGnPL8lbDv1lT01eh1fUU6vbPIzREV/roHU93LhiRo4WFMBFReMJYwDDE3tCvuqrn4hKFojIROynDnwQgA==","signatures":[{"sig":"MEQCIHgP1GJVpwnshV7PorBDw9oV8GpJViaNjUJ0Ntj1HCJgAiAxIXkhUbJtWNZAIepmRr+2BqanrGaXzAEDRMq6ZpRU9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103548},"type":"module","_from":"file:dotworld-shadow-canary-templates-0.1.0.tgz","_npmUser":{"name":"gtko","email":"gtux.prog@gmail.com"},"_resolved":"/private/var/folders/18/lpyq94bj5p30jnxrfsqsgt700000gn/T/4690e335b6fe0573c9395d81be9fccbb/dotworld-shadow-canary-templates-0.1.0.tgz","_integrity":"sha512-WcFoOGnPL8lbDv1lT01eh1fUU6vbPIzREV/roHU93LhiRo4WFMBFReMJYwDDE3tCvuqrn4hKFojIROynDnwQgA==","repository":{"url":"git+https://github.com/your-org/shadow-canary.git","type":"git","directory":"packages/templates"},"_npmVersion":"10.8.2","description":"File payload for shadow-canary, copyable into Next.js projects","directories":{},"_nodeVersion":"20.19.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shadow-canary-templates_0.1.0_1776951771031_0.5790133058983444","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@dotworld/shadow-canary-templates","version":"0.2.0","license":"MIT","_id":"@dotworld/shadow-canary-templates@0.2.0","maintainers":[{"name":"gtko","email":"gtux.prog@gmail.com"}],"homepage":"https://github.com/mus-inn/shadow-canary#readme","bugs":{"url":"https://github.com/mus-inn/shadow-canary/issues"},"bin":{"shadow-canary-copy":"bin/copy.js"},"dist":{"shasum":"3691832398ddc0f7ba96a70ac47bb9ea54520547","tarball":"https://registry.npmjs.org/@dotworld/shadow-canary-templates/-/shadow-canary-templates-0.2.0.tgz","fileCount":36,"integrity":"sha512-dkqtlqHOfpgqjSolNatuQSmuglwU7SMT7kllXUF1J9kt4bOswKDbG2utuJNzPxA2d+uO59rAHodxm2NnZg2G+w==","signatures":[{"sig":"MEUCIQDzmj57sSZQ7XgoxBpGqmtGpAj6nd8tQc6HSZagt5oMdQIgYWdANIknyUqlgRrXNK0P/+2OY6mv9jw6Rlmnk733mlU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103877},"type":"module","_from":"file:dotworld-shadow-canary-templates-0.2.0.tgz","_npmUser":{"name":"gtko","email":"gtux.prog@gmail.com"},"_resolved":"/private/var/folders/18/lpyq94bj5p30jnxrfsqsgt700000gn/T/de1f4ace2df492ad39f29d4767c618e9/dotworld-shadow-canary-templates-0.2.0.tgz","_integrity":"sha512-dkqtlqHOfpgqjSolNatuQSmuglwU7SMT7kllXUF1J9kt4bOswKDbG2utuJNzPxA2d+uO59rAHodxm2NnZg2G+w==","repository":{"url":"git+https://github.com/mus-inn/shadow-canary.git","type":"git","directory":"packages/templates"},"_npmVersion":"10.8.2","description":"File payload for shadow-canary, copyable into Next.js projects","directories":{},"_nodeVersion":"20.19.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shadow-canary-templates_0.2.0_1776955117425_0.09192698264336507","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@dotworld/shadow-canary-templates","version":"0.2.1","license":"MIT","_id":"@dotworld/shadow-canary-templates@0.2.1","maintainers":[{"name":"gtko","email":"gtux.prog@gmail.com"}],"homepage":"https://github.com/mus-inn/shadow-canary#readme","bugs":{"url":"https://github.com/mus-inn/shadow-canary/issues"},"bin":{"shadow-canary-copy":"bin/copy.js"},"dist":{"shasum":"e9ee4613a77039b54483e5b9ff1d7b3201ba95fe","tarball":"https://registry.npmjs.org/@dotworld/shadow-canary-templates/-/shadow-canary-templates-0.2.1.tgz","fileCount":36,"integrity":"sha512-A0iodLf5MxKhEQBfzyD2D/P1gGkp+pmNr+ROdRKyFxponLNXHdlB1n1mhSvwHwKI061Vco6bPt43Uh4MxiH36w==","signatures":[{"sig":"MEYCIQDIRgauewR9+iPI4Yt8g1uoln/7C6nKVGTE+yF0lBzzrQIhAOf6LXQz9dKCbbP3LFOt2vxL15AX/9uZDFeIziXecvvW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104240},"type":"module","_from":"file:dotworld-shadow-canary-templates-0.2.1.tgz","_npmUser":{"name":"gtko","email":"gtux.prog@gmail.com"},"_resolved":"/private/var/folders/18/lpyq94bj5p30jnxrfsqsgt700000gn/T/af17f753ef58ad08cf49f5d3ef936f70/dotworld-shadow-canary-templates-0.2.1.tgz","_integrity":"sha512-A0iodLf5MxKhEQBfzyD2D/P1gGkp+pmNr+ROdRKyFxponLNXHdlB1n1mhSvwHwKI061Vco6bPt43Uh4MxiH36w==","repository":{"url":"git+https://github.com/mus-inn/shadow-canary.git","type":"git","directory":"packages/templates"},"_npmVersion":"10.8.2","description":"File payload for shadow-canary, copyable into Next.js projects","directories":{},"_nodeVersion":"20.19.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shadow-canary-templates_0.2.1_1776966293027_0.028173234551170934","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@dotworld/shadow-canary-templates","version":"0.2.2","license":"MIT","_id":"@dotworld/shadow-canary-templates@0.2.2","maintainers":[{"name":"gtko","email":"gtux.prog@gmail.com"}],"homepage":"https://github.com/mus-inn/shadow-canary#readme","bugs":{"url":"https://github.com/mus-inn/shadow-canary/issues"},"bin":{"shadow-canary-copy":"bin/copy.js"},"dist":{"shasum":"c31b0ed08871aeedcf6669510fdbb7a0cf1ac158","tarball":"https://registry.npmjs.org/@dotworld/shadow-canary-templates/-/shadow-canary-templates-0.2.2.tgz","fileCount":36,"integrity":"sha512-A3TcCtLHWZpWpTu5vSUZusVMVH56qWbseaDFgOrNNsGvo5mk5UcEmur+APxcMBkTrDMTRd+W72nuoBUGY7owjw==","signatures":[{"sig":"MEUCIQDBTbXkfwib2aRkEI9M98X4MAQQwgNTd9Ux1oeO4OXGGgIgMM6RyN8GQZNYwm5/qaNPri+bTH3YYMrA1pkNopldQqU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104240},"type":"module","_from":"file:dotworld-shadow-canary-templates-0.2.2.tgz","_npmUser":{"name":"gtko","email":"gtux.prog@gmail.com"},"_resolved":"/private/var/folders/18/lpyq94bj5p30jnxrfsqsgt700000gn/T/ce9eec42d43dcad44bb04c3818fe59ae/dotworld-shadow-canary-templates-0.2.2.tgz","_integrity":"sha512-A3TcCtLHWZpWpTu5vSUZusVMVH56qWbseaDFgOrNNsGvo5mk5UcEmur+APxcMBkTrDMTRd+W72nuoBUGY7owjw==","repository":{"url":"git+https://github.com/mus-inn/shadow-canary.git","type":"git","directory":"packages/templates"},"_npmVersion":"10.8.2","description":"File payload for shadow-canary, copyable into Next.js projects","directories":{},"_nodeVersion":"20.19.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shadow-canary-templates_0.2.2_1776968111169_0.9874379224651777","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@dotworld/shadow-canary-templates","version":"0.2.3","license":"MIT","_id":"@dotworld/shadow-canary-templates@0.2.3","maintainers":[{"name":"gtko","email":"gtux.prog@gmail.com"}],"homepage":"https://github.com/mus-inn/shadow-canary#readme","bugs":{"url":"https://github.com/mus-inn/shadow-canary/issues"},"bin":{"shadow-canary-copy":"bin/copy.js"},"dist":{"shasum":"e81deea86a55014c3537645a4fe8e272efd21060","tarball":"https://registry.npmjs.org/@dotworld/shadow-canary-templates/-/shadow-canary-templates-0.2.3.tgz","fileCount":36,"integrity":"sha512-8YWlB//oqEyg2ZCaovUSkZp4qgpYJFWnqCUFTNXQ5qH9SgPftDt6dPAiWJ93FZtomT0uL58Ad3VBS6jNyDRDmw==","signatures":[{"sig":"MEUCIB22VTw4dlVBfLzzA0AlvNs04jT8DCNx/4vQ9/IFLPOfAiEAtWKOyFDNgi3R5cTTdvuv53SchMcfaloOsKeer/dBIgs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104240},"type":"module","_from":"file:dotworld-shadow-canary-templates-0.2.3.tgz","_npmUser":{"name":"gtko","email":"gtux.prog@gmail.com"},"_resolved":"/private/var/folders/18/lpyq94bj5p30jnxrfsqsgt700000gn/T/7412c94a6f34a11a9a10431cae51aafc/dotworld-shadow-canary-templates-0.2.3.tgz","_integrity":"sha512-8YWlB//oqEyg2ZCaovUSkZp4qgpYJFWnqCUFTNXQ5qH9SgPftDt6dPAiWJ93FZtomT0uL58Ad3VBS6jNyDRDmw==","repository":{"url":"git+https://github.com/mus-inn/shadow-canary.git","type":"git","directory":"packages/templates"},"_npmVersion":"10.8.2","description":"File payload for shadow-canary, copyable into Next.js projects","directories":{},"_nodeVersion":"20.19.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shadow-canary-templates_0.2.3_1776980086861_0.25163549920079653","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@dotworld/shadow-canary-templates","version":"0.2.4","license":"MIT","_id":"@dotworld/shadow-canary-templates@0.2.4","maintainers":[{"name":"gtko","email":"gtux.prog@gmail.com"}],"homepage":"https://github.com/mus-inn/shadow-canary#readme","bugs":{"url":"https://github.com/mus-inn/shadow-canary/issues"},"bin":{"shadow-canary-copy":"bin/copy.js"},"dist":{"shasum":"bb6d7f8b91ef4dc8169abb86165e5c055015d0e2","tarball":"https://registry.npmjs.org/@dotworld/shadow-canary-templates/-/shadow-canary-templates-0.2.4.tgz","fileCount":36,"integrity":"sha512-1pkCl9RE4Xd7PO+AlRlXMqqhjj8dUDyhtGBdhcEGtsv1Si3SsC4xqGOHNsyVuceRjqYBdiGYkgl3OHzTyCORVg==","signatures":[{"sig":"MEQCIAjjmgYgtK3rjHdWRxr8yWDJ/13PTcO88L4jznxD2InCAiBsEU792A5bU6cyYfch9HpWlo8i+nYs3cXmYs6GndyAwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109854},"type":"module","_from":"file:dotworld-shadow-canary-templates-0.2.4.tgz","_npmUser":{"name":"gtko","email":"gtux.prog@gmail.com"},"_resolved":"/private/var/folders/18/lpyq94bj5p30jnxrfsqsgt700000gn/T/7683a33223f8e6c3d2c05250cd6abb1c/dotworld-shadow-canary-templates-0.2.4.tgz","_integrity":"sha512-1pkCl9RE4Xd7PO+AlRlXMqqhjj8dUDyhtGBdhcEGtsv1Si3SsC4xqGOHNsyVuceRjqYBdiGYkgl3OHzTyCORVg==","repository":{"url":"git+https://github.com/mus-inn/shadow-canary.git","type":"git","directory":"packages/templates"},"_npmVersion":"10.8.2","description":"File payload for shadow-canary, copyable into Next.js projects","directories":{},"_nodeVersion":"20.19.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shadow-canary-templates_0.2.4_1776981732342_0.36773197196883944","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@dotworld/shadow-canary-templates","version":"0.3.0","license":"MIT","_id":"@dotworld/shadow-canary-templates@0.3.0","maintainers":[{"name":"gtko","email":"gtux.prog@gmail.com"}],"homepage":"https://github.com/mus-inn/shadow-canary#readme","bugs":{"url":"https://github.com/mus-inn/shadow-canary/issues"},"bin":{"shadow-canary-copy":"bin/copy.js"},"dist":{"shasum":"71be16a931f02ab8a1fa4ea97b51d49c0a79bd7c","tarball":"https://registry.npmjs.org/@dotworld/shadow-canary-templates/-/shadow-canary-templates-0.3.0.tgz","fileCount":36,"integrity":"sha512-dPHAXsjOAcDArbQx9SR9Zx5NApLSqKdZAj98xnuYk+NNhqhFnWnXESKaaCoUeeHfEM5Kpm+LlZqwbXAWa+pW+g==","signatures":[{"sig":"MEYCIQDSI7I0OrSHPbCEYQ7qrDE32bwkdPJhGdhHLjaAAdxU9AIhAIMf+Hom7OoOfyBrY5EPGGurmaXhZeX6oYjVzJl30lqE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106517},"type":"module","_from":"file:dotworld-shadow-canary-templates-0.3.0.tgz","_npmUser":{"name":"gtko","email":"gtux.prog@gmail.com"},"_resolved":"/tmp/b2030644c2527f487a806c803d8b3239/dotworld-shadow-canary-templates-0.3.0.tgz","_integrity":"sha512-dPHAXsjOAcDArbQx9SR9Zx5NApLSqKdZAj98xnuYk+NNhqhFnWnXESKaaCoUeeHfEM5Kpm+LlZqwbXAWa+pW+g==","repository":{"url":"git+https://github.com/mus-inn/shadow-canary.git","type":"git","directory":"packages/templates"},"_npmVersion":"10.8.2","description":"File payload for shadow-canary, copyable into Next.js projects","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shadow-canary-templates_0.3.0_1776985930376_0.4125677700867527","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@dotworld/shadow-canary-templates","version":"0.4.0","license":"MIT","_id":"@dotworld/shadow-canary-templates@0.4.0","maintainers":[{"name":"gtko","email":"gtux.prog@gmail.com"}],"homepage":"https://github.com/mus-inn/shadow-canary#readme","bugs":{"url":"https://github.com/mus-inn/shadow-canary/issues"},"bin":{"shadow-canary-copy":"bin/copy.js"},"dist":{"shasum":"0db845233710ae30428be5221dcaf74d8138611d","tarball":"https://registry.npmjs.org/@dotworld/shadow-canary-templates/-/shadow-canary-templates-0.4.0.tgz","fileCount":38,"integrity":"sha512-8vN1vf321A2IhdRlAkSqba0mUwK7nuonRDiFp5miq8sQvj55TRRL8YPKqKjhcjndjkGH1OAL/Ph1ITpqE8yz5A==","signatures":[{"sig":"MEQCICYIfxV/2++ylpjqsOycWYcgmpBtAayL6fYYGvrpLEkVAiAqh+IB+fPc8xLiiLZBak1NmziL6sCgd2z2U5g9QEHkOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122912},"type":"module","_from":"file:dotworld-shadow-canary-templates-0.4.0.tgz","_npmUser":{"name":"gtko","email":"gtux.prog@gmail.com"},"_resolved":"/tmp/2cd22fa7e779c9bd1d6913f816a161ec/dotworld-shadow-canary-templates-0.4.0.tgz","_integrity":"sha512-8vN1vf321A2IhdRlAkSqba0mUwK7nuonRDiFp5miq8sQvj55TRRL8YPKqKjhcjndjkGH1OAL/Ph1ITpqE8yz5A==","repository":{"url":"git+https://github.com/mus-inn/shadow-canary.git","type":"git","directory":"packages/templates"},"_npmVersion":"10.8.2","description":"File payload for shadow-canary, copyable into Next.js projects","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shadow-canary-templates_0.4.0_1777016813437_0.035579835457555165","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@dotworld/shadow-canary-templates","version":"0.4.1","license":"MIT","_id":"@dotworld/shadow-canary-templates@0.4.1","maintainers":[{"name":"gtko","email":"gtux.prog@gmail.com"}],"homepage":"https://github.com/mus-inn/shadow-canary#readme","bugs":{"url":"https://github.com/mus-inn/shadow-canary/issues"},"bin":{"shadow-canary-copy":"bin/copy.js"},"dist":{"shasum":"aa597d7982f00849f1fbe5d9d135a03dce568b2f","tarball":"https://registry.npmjs.org/@dotworld/shadow-canary-templates/-/shadow-canary-templates-0.4.1.tgz","fileCount":38,"integrity":"sha512-06M3b7AFcKIjq1Yc+RAs/j3Brf0UO+y9XO/ln2+teCGYapx3ZGfvbTn1pBBDfebJmOq8rlpGsLDMqShtgvE4Xw==","signatures":[{"sig":"MEUCIAn9xkoSYqyv8nEODbP6ef6T0pYAJa8pO/F4m4QS/4VeAiEAgmEiejaSYvcS2X9tUrEHC7j7mZjl/vYqd2OQxTiXp2Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127713},"type":"module","_from":"file:dotworld-shadow-canary-templates-0.4.1.tgz","_npmUser":{"name":"gtko","email":"gtux.prog@gmail.com"},"_resolved":"/tmp/c5111f6cca623d1b410af0635f8871e8/dotworld-shadow-canary-templates-0.4.1.tgz","_integrity":"sha512-06M3b7AFcKIjq1Yc+RAs/j3Brf0UO+y9XO/ln2+teCGYapx3ZGfvbTn1pBBDfebJmOq8rlpGsLDMqShtgvE4Xw==","repository":{"url":"git+https://github.com/mus-inn/shadow-canary.git","type":"git","directory":"packages/templates"},"_npmVersion":"10.8.2","description":"File payload for shadow-canary, copyable into Next.js projects","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shadow-canary-templates_0.4.1_1777018928069_0.027399429802999364","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@dotworld/shadow-canary-templates","version":"0.5.0","license":"MIT","_id":"@dotworld/shadow-canary-templates@0.5.0","maintainers":[{"name":"gtko","email":"gtux.prog@gmail.com"}],"homepage":"https://github.com/mus-inn/shadow-canary#readme","bugs":{"url":"https://github.com/mus-inn/shadow-canary/issues"},"bin":{"shadow-canary-copy":"bin/copy.js"},"dist":{"shasum":"c8ff73913df203d279816e771a21489189877eb2","tarball":"https://registry.npmjs.org/@dotworld/shadow-canary-templates/-/shadow-canary-templates-0.5.0.tgz","fileCount":39,"integrity":"sha512-2gjBOp3k5Vk8PIwPjkCh7B/jK08PI7liURrwoJqwbkuhEG8Idloj066en5gOHyI4tFds5iiYs0U1fTTaZWzN4g==","signatures":[{"sig":"MEYCIQDxscji1XWyJ92z9nDGFTKjx8lMOI6cvlAhsiwxb2UBpAIhALbV4dNEqBLcBGSq5m6z7oWbX4iz8iH9tsvEvTxSg747","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137670},"type":"module","_from":"file:dotworld-shadow-canary-templates-0.5.0.tgz","_npmUser":{"name":"gtko","email":"gtux.prog@gmail.com"},"_resolved":"/tmp/a3450e09d7278b04adb418944e80a823/dotworld-shadow-canary-templates-0.5.0.tgz","_integrity":"sha512-2gjBOp3k5Vk8PIwPjkCh7B/jK08PI7liURrwoJqwbkuhEG8Idloj066en5gOHyI4tFds5iiYs0U1fTTaZWzN4g==","repository":{"url":"git+https://github.com/mus-inn/shadow-canary.git","type":"git","directory":"packages/templates"},"_npmVersion":"10.8.2","description":"File payload for shadow-canary, copyable into Next.js projects","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shadow-canary-templates_0.5.0_1777020043202_0.1561834842870773","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@dotworld/shadow-canary-templates","version":"0.5.1","license":"MIT","_id":"@dotworld/shadow-canary-templates@0.5.1","maintainers":[{"name":"gtko","email":"gtux.prog@gmail.com"}],"homepage":"https://github.com/mus-inn/shadow-canary#readme","bugs":{"url":"https://github.com/mus-inn/shadow-canary/issues"},"bin":{"shadow-canary-copy":"bin/copy.js"},"dist":{"shasum":"80689524fe73e4194db27d5589e0bb925274d767","tarball":"https://registry.npmjs.org/@dotworld/shadow-canary-templates/-/shadow-canary-templates-0.5.1.tgz","fileCount":39,"integrity":"sha512-5EN3K+ggDfn52XYKJ+xO47Knm+kkVqZz/RHkVRgEqdLRiKfQiQNY0LyUh35Zvm/ThuGEeCSe4/ssRYw0Vpbqjw==","signatures":[{"sig":"MEQCIBU/DsgQpfz6CcownvEa0rjhelPqSl+8Qa4UmOm8ZxSFAiA/Wt/CUs/WMqoLoOiEB1IcpKeVljIWEAHsIl3EjLECRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139598},"type":"module","_from":"file:dotworld-shadow-canary-templates-0.5.1.tgz","_npmUser":{"name":"gtko","email":"gtux.prog@gmail.com"},"_resolved":"/tmp/a4c330027b6b88200ac061928d51056c/dotworld-shadow-canary-templates-0.5.1.tgz","_integrity":"sha512-5EN3K+ggDfn52XYKJ+xO47Knm+kkVqZz/RHkVRgEqdLRiKfQiQNY0LyUh35Zvm/ThuGEeCSe4/ssRYw0Vpbqjw==","repository":{"url":"git+https://github.com/mus-inn/shadow-canary.git","type":"git","directory":"packages/templates"},"_npmVersion":"10.8.2","description":"File payload for shadow-canary, copyable into Next.js projects","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shadow-canary-templates_0.5.1_1777024799408_0.7826691121997782","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@dotworld/shadow-canary-templates","version":"0.6.0","license":"MIT","_id":"@dotworld/shadow-canary-templates@0.6.0","maintainers":[{"name":"gtko","email":"gtux.prog@gmail.com"}],"homepage":"https://github.com/mus-inn/shadow-canary#readme","bugs":{"url":"https://github.com/mus-inn/shadow-canary/issues"},"bin":{"shadow-canary-copy":"bin/copy.js"},"dist":{"shasum":"d062b2ca515b2f577b07cd48280c11abc18369fc","tarball":"https://registry.npmjs.org/@dotworld/shadow-canary-templates/-/shadow-canary-templates-0.6.0.tgz","fileCount":39,"integrity":"sha512-zl9n36ihZ4TVSvjKCzfjPHlvh1QtYw437Z8jEMQdQfnd2HA5MiBWshnd0QBlX1Ntu5dzENPwjj81Dv1BVZmSgQ==","signatures":[{"sig":"MEUCICEiTCkW7fXcM0TWocXFMm3OmRMn+QNXFwRZLFRSq525AiEA+C9EyYMwWI1iY1XvMA1UaLhM3Cj6MUhIf8ZfeZM/n38=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140755},"type":"module","_from":"file:dotworld-shadow-canary-templates-0.6.0.tgz","_npmUser":{"name":"gtko","email":"gtux.prog@gmail.com"},"_resolved":"/tmp/4c7a5dcfe9f34c6d471f291b93ea28f1/dotworld-shadow-canary-templates-0.6.0.tgz","_integrity":"sha512-zl9n36ihZ4TVSvjKCzfjPHlvh1QtYw437Z8jEMQdQfnd2HA5MiBWshnd0QBlX1Ntu5dzENPwjj81Dv1BVZmSgQ==","repository":{"url":"git+https://github.com/mus-inn/shadow-canary.git","type":"git","directory":"packages/templates"},"_npmVersion":"10.8.2","description":"File payload for shadow-canary, copyable into Next.js projects","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shadow-canary-templates_0.6.0_1777362090923_0.08216997706953255","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@dotworld/shadow-canary-templates","version":"0.7.0","license":"MIT","_id":"@dotworld/shadow-canary-templates@0.7.0","maintainers":[{"name":"gtko","email":"gtux.prog@gmail.com"}],"homepage":"https://github.com/mus-inn/shadow-canary#readme","bugs":{"url":"https://github.com/mus-inn/shadow-canary/issues"},"bin":{"shadow-canary-copy":"bin/copy.js"},"dist":{"shasum":"0c52053f1647b5f0797463d07041d749ecdf0be6","tarball":"https://registry.npmjs.org/@dotworld/shadow-canary-templates/-/shadow-canary-templates-0.7.0.tgz","fileCount":39,"integrity":"sha512-z9EXE7YJiKfsERDXi95STNPq9ZGYFezJeem9UMK2QzzMQ9SC2BsQYYUZG/n7V7SpAkz4Yw2Zh8gtgqRhfNM+pw==","signatures":[{"sig":"MEYCIQCcRU+MJsuoLcl5+4izlUxuPw4PkIsy3uA8hV+jhL7r5wIhAM1VAdSnJ39CitbXoBQTCVHghKO8m4tfevEBmqF1JLwN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140755},"type":"module","_from":"file:dotworld-shadow-canary-templates-0.7.0.tgz","_npmUser":{"name":"gtko","email":"gtux.prog@gmail.com"},"_resolved":"/tmp/738701bdad22b83e20889c4aea03dd9f/dotworld-shadow-canary-templates-0.7.0.tgz","_integrity":"sha512-z9EXE7YJiKfsERDXi95STNPq9ZGYFezJeem9UMK2QzzMQ9SC2BsQYYUZG/n7V7SpAkz4Yw2Zh8gtgqRhfNM+pw==","repository":{"url":"git+https://github.com/mus-inn/shadow-canary.git","type":"git","directory":"packages/templates"},"_npmVersion":"10.8.2","description":"File payload for shadow-canary, copyable into Next.js projects","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shadow-canary-templates_0.7.0_1777390899348_0.8536440862360186","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@dotworld/shadow-canary-templates","version":"0.7.1","license":"MIT","_id":"@dotworld/shadow-canary-templates@0.7.1","maintainers":[{"name":"gtko","email":"gtux.prog@gmail.com"}],"homepage":"https://github.com/mus-inn/shadow-canary#readme","bugs":{"url":"https://github.com/mus-inn/shadow-canary/issues"},"bin":{"shadow-canary-copy":"bin/copy.js"},"dist":{"shasum":"f7ff1207edd3fa9ac029c7c191717c456997a48f","tarball":"https://registry.npmjs.org/@dotworld/shadow-canary-templates/-/shadow-canary-templates-0.7.1.tgz","fileCount":39,"integrity":"sha512-duGrjni0eMA3Oc0Igj8lVNoVZBQFfp3w6blFoA1g/zkr8tVA2NaWo5YWyh/TqFWr4xdQPfyhJscWL4hYqzK83g==","signatures":[{"sig":"MEUCIBUAlOXjKAbF+vNAPdXZbf1HgA8Dj97WYeV3AnZf/PlnAiEAsSYxZEfMiLqtEubiai0WtoBA518zCiiwGdrSI228Cmo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":145673},"type":"module","_from":"file:dotworld-shadow-canary-templates-0.7.1.tgz","_npmUser":{"name":"gtko","email":"gtux.prog@gmail.com"},"_resolved":"/tmp/a795877c9480431b49ab4af865f59b86/dotworld-shadow-canary-templates-0.7.1.tgz","_integrity":"sha512-duGrjni0eMA3Oc0Igj8lVNoVZBQFfp3w6blFoA1g/zkr8tVA2NaWo5YWyh/TqFWr4xdQPfyhJscWL4hYqzK83g==","repository":{"url":"git+https://github.com/mus-inn/shadow-canary.git","type":"git","directory":"packages/templates"},"_npmVersion":"10.8.2","description":"File payload for shadow-canary, copyable into Next.js projects","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shadow-canary-templates_0.7.1_1777480919956_0.5660050588568284","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@dotworld/shadow-canary-templates","version":"0.7.2","license":"MIT","_id":"@dotworld/shadow-canary-templates@0.7.2","maintainers":[{"name":"gtko","email":"gtux.prog@gmail.com"}],"homepage":"https://github.com/mus-inn/shadow-canary#readme","bugs":{"url":"https://github.com/mus-inn/shadow-canary/issues"},"bin":{"shadow-canary-copy":"bin/copy.js"},"dist":{"shasum":"134e47d64b167f42446b068815987f3568fb1b1a","tarball":"https://registry.npmjs.org/@dotworld/shadow-canary-templates/-/shadow-canary-templates-0.7.2.tgz","fileCount":39,"integrity":"sha512-jgr4ZLI+y5SOPXI/KsB3OyKZZRyLljPROJGHsxuQ5oOCj8Sgm07I7vgabikPSXRCJ5hecaB4C1c4Of8jxqU8kQ==","signatures":[{"sig":"MEUCIQDyrVpahGojsrautsPP2vcma6r2q47DSkg/qx6Fh60AsgIgEm50CC2mMjgLVXAiffkWxDxniZYroCO9hqVX0I2eU1I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159675},"type":"module","_from":"file:dotworld-shadow-canary-templates-0.7.2.tgz","_npmUser":{"name":"gtko","email":"gtux.prog@gmail.com"},"_resolved":"/tmp/44ad486b07b2cb5ed0f2536dd6b2d931/dotworld-shadow-canary-templates-0.7.2.tgz","_integrity":"sha512-jgr4ZLI+y5SOPXI/KsB3OyKZZRyLljPROJGHsxuQ5oOCj8Sgm07I7vgabikPSXRCJ5hecaB4C1c4Of8jxqU8kQ==","repository":{"url":"git+https://github.com/mus-inn/shadow-canary.git","type":"git","directory":"packages/templates"},"_npmVersion":"10.8.2","description":"File payload for shadow-canary, copyable into Next.js projects","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shadow-canary-templates_0.7.2_1777558255782_0.16730131680682048","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@dotworld/shadow-canary-templates","version":"0.8.0","description":"File payload for shadow-canary, copyable into Next.js projects","type":"module","bin":{"shadow-canary-copy":"bin/copy.js"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/mus-inn/shadow-canary.git","directory":"packages/templates"},"license":"MIT","_id":"@dotworld/shadow-canary-templates@0.8.0","bugs":{"url":"https://github.com/mus-inn/shadow-canary/issues"},"homepage":"https://github.com/mus-inn/shadow-canary#readme","_integrity":"sha512-Kyjwb8p9EjIov8Vwa/TVWfW24Lm7VFA3wPJrWNGtvEswACgDytgTGXRhW9Y5Yy7xgwSpPVvklrl480Ivwrwcwg==","_resolved":"/tmp/f9a88a33714fd6ab73ffa07c0a569722/dotworld-shadow-canary-templates-0.8.0.tgz","_from":"file:dotworld-shadow-canary-templates-0.8.0.tgz","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-Kyjwb8p9EjIov8Vwa/TVWfW24Lm7VFA3wPJrWNGtvEswACgDytgTGXRhW9Y5Yy7xgwSpPVvklrl480Ivwrwcwg==","shasum":"cb92a6075bc29b1cdf844ff5b1f338ea2caa3df2","tarball":"https://registry.npmjs.org/@dotworld/shadow-canary-templates/-/shadow-canary-templates-0.8.0.tgz","fileCount":45,"unpackedSize":167708,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAeo6uyalDM+Lp87Gf0v+fbyPZxAqmb5sec9N2H7SK1kAiAhX60prNhbxRYjeK9WAgOhySromphuECymoAoJjBqw6Q=="}]},"_npmUser":{"name":"gtko","email":"gtux.prog@gmail.com"},"directories":{},"maintainers":[{"name":"gtko","email":"gtux.prog@gmail.com"},{"name":"paulbabin_dotworld","email":"paul.babin@dotworld.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/shadow-canary-templates_0.8.0_1780322295081_0.7258475738805517"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-23T13:42:50.932Z","modified":"2026-06-01T13:58:15.370Z","0.1.0":"2026-04-23T13:42:51.179Z","0.2.0":"2026-04-23T14:38:37.595Z","0.2.1":"2026-04-23T17:44:53.169Z","0.2.2":"2026-04-23T18:15:11.297Z","0.2.3":"2026-04-23T21:34:47.070Z","0.2.4":"2026-04-23T22:02:12.477Z","0.3.0":"2026-04-23T23:12:10.523Z","0.4.0":"2026-04-24T07:46:53.569Z","0.4.1":"2026-04-24T08:22:08.201Z","0.5.0":"2026-04-24T08:40:43.350Z","0.5.1":"2026-04-24T09:59:59.562Z","0.6.0":"2026-04-28T07:41:31.084Z","0.7.0":"2026-04-28T15:41:39.556Z","0.7.1":"2026-04-29T16:42:00.097Z","0.7.2":"2026-04-30T14:10:55.927Z","0.8.0":"2026-06-01T13:58:15.211Z"},"bugs":{"url":"https://github.com/mus-inn/shadow-canary/issues"},"license":"MIT","homepage":"https://github.com/mus-inn/shadow-canary#readme","repository":{"type":"git","url":"git+https://github.com/mus-inn/shadow-canary.git","directory":"packages/templates"},"description":"File payload for shadow-canary, copyable into Next.js projects","maintainers":[{"name":"gtko","email":"gtux.prog@gmail.com"},{"name":"paulbabin_dotworld","email":"paul.babin@dotworld.ch"}],"readme":"# @dotworld/shadow-canary-templates\n\nFile payload for [shadow-canary](https://github.com/your-org/shadow-canary) — copyable into existing Next.js + Vercel projects.\n\nThis package ships the host-side files that must live in the project repository. Logic is imported from `@dotworld/shadow-canary-core`; these files are thin wrappers, UI components, API routes, and CI workflows.\n\n## Usage\n\n```bash\nnpx @dotworld/shadow-canary-templates copy .\n```\n\nFiles that already exist are skipped. Use `--force` to overwrite:\n\n```bash\nnpx @dotworld/shadow-canary-templates copy . --force\n```\n\nYou can also target a specific directory:\n\n```bash\nnpx @dotworld/shadow-canary-templates copy /path/to/my-next-app\n```\n\n## Files delivered\n\n| Path | Purpose |\n|---|---|\n| `middleware.ts` | Edge middleware: routes shadow/canary traffic via `@dotworld/shadow-canary-core/edge` |\n| `next.config.ts` | Sets `deploymentId` for Skew Protection |\n| `vercel.json` | Disables automatic git deploys (workflows control deploys) |\n| `.env.local.example` | All required environment variables documented |\n| `lib/admin-auth.ts` | Auth helpers: re-exports from core + `requireAdmin()` (host-side, needs `next/headers`) |\n| `lib/admin-vercel.ts` | Vercel API helpers: thin re-exports from `@dotworld/shadow-canary-core` |\n| `app/admin/` | Admin dashboard (server + client components, CSS) |\n| `app/admin/login/page.tsx` | Login page |\n| `app/api/admin/**` | REST endpoints: state, deployments, login, logout, rollback, shadow-percent, canary controls |\n| `app/api/slo/route.ts` | SLO health endpoint used by canary ramp cron |\n| `.github/workflows/deploy-shadow.yml` | CI: deploy master branch to shadow slot |\n| `.github/workflows/deploy-prod.yml` | CI: deploy production branch, start canary ramp |\n| `.github/workflows/canary-ramp.yml` | CI: cron every 15 min, SLO-gated traffic bump |\n\n## After copying\n\nFollow the `llms-install.md` guide at the monorepo root (or in the published docs) to:\n\n1. Install dependencies (`@dotworld/shadow-canary-core`, `@vercel/edge-config`)\n2. Fill in `.env.local` from `.env.local.example`\n3. Configure Vercel project settings and Edge Config\n4. Set GitHub repository secrets\n5. Establish the `master` / `production` branch model\n","readmeFilename":"README.md"}