{"_id":"@agentic-gateway/mega-template","_rev":"27-d7fabd6881a76d1a97a6c0d5ca2ad894","name":"@agentic-gateway/mega-template","dist-tags":{"latest":"0.9.13"},"versions":{"0.1.1":{"name":"@agentic-gateway/mega-template","version":"0.1.1","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.1.1","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-gate":"scripts/spec-gate-check.mjs","mega-template-init":"scripts/init.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"f18f09a90038b6647bfc2bc93bb7cba0344216ff","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.1.1.tgz","fileCount":41,"integrity":"sha512-sEcwWBU6Z4E8v3tASV6Tu9KYyFywouwTk27ki2XTXht+hi0RCn/sVwRg54mFBiNVFyi9cRuLONn4QQJ/Y6BovA==","signatures":[{"sig":"MEYCIQCMh4zdJU5MtFqq8A21Pbi2Yxwe3JMIw0+qpumCDlixPwIhAJmdy1EtV7hvtoaPCTQY4AiAirenEXKoee0bl/kuLzLn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81979},"type":"module","engines":{"node":">=20"},"gitHead":"9a7eae555f5aeeac41793e678d14f886a345c8c8","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.1.1_1776057745829_0.06405449573939181","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@agentic-gateway/mega-template","version":"0.1.2","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.1.2","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-gate":"scripts/spec-gate-check.mjs","mega-template-init":"scripts/init.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"5f8a8caa40d4e12d1b03d19d25ed5c3af953ddf8","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.1.2.tgz","fileCount":41,"integrity":"sha512-xM8v3cODLhYfp0AoXFo7c36yJDQztN9nuVIvACu4SUaayUb1AfQ//sxkHqd3sE1svvVT9Yadwvzbub34OHKnMQ==","signatures":[{"sig":"MEUCIQCRbCDcnw7w0wWOlrgk4EGAAOrdXNUJlXsx7klXBvetOQIgUlPu+eW6YaOOwbWqo5svXaicSNzWLgY3u0tH+nlRElM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81979},"type":"module","engines":{"node":">=20"},"gitHead":"9a7eae555f5aeeac41793e678d14f886a345c8c8","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.1.2_1776057897023_0.43173148174602094","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@agentic-gateway/mega-template","version":"0.2.0","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.2.0","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-gate":"scripts/spec-gate-check.mjs","mega-template-init":"scripts/init.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"52e871ff49000dee4602965e801e342c54a75d65","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.2.0.tgz","fileCount":39,"integrity":"sha512-yKXBZsUQ1cG7y96zGxUxC7vo0xs+WYZ+6MaYZR8+6+kAQm70XFSZPtlu9r5caOcCQkOrsaw1XiBvAJsFKmVJrQ==","signatures":[{"sig":"MEUCIQCWOU5d5e23B1Uky9Tg5+RSuOWOmt8sdkjd0T+FbSqr/AIgIy0ZisXlsgL6xWSXhTsrB6rvev/Ufcr8oxddTMIQruM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81834},"type":"module","engines":{"node":">=20"},"gitHead":"f4172668e6aecb0dd228d99118b622ca84bade56","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.2.0_1776064423064_0.8405956746555321","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@agentic-gateway/mega-template","version":"0.3.0","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.3.0","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-gate":"scripts/spec-gate-check.mjs","mega-template-init":"scripts/init.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"0ce575e956aa09d57582d242c493ed4d88a46888","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.3.0.tgz","fileCount":56,"integrity":"sha512-alCKZDhh2Uj0adJLfXePxSplb8E7cVp8ddyjiAz62pwN5+Che30aBZMRFy4kpS93tUmuHNJAFYDIRza5knzavw==","signatures":[{"sig":"MEUCIH7YOoTVIAZSTD2gM6rGb01Xd3RMuyz07cmiv6twx1swAiEAkPlp6+1jHT5S/5GRuaVsea4e0cnkR7jASF8Bttqou4k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124765},"type":"module","engines":{"node":">=20"},"gitHead":"e34db2471cac65c5ea5b21cea7e842ba7d9b12b0","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.3.0_1776073695156_0.40733635025467874","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@agentic-gateway/mega-template","version":"0.3.1","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.3.1","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-gate":"scripts/spec-gate-check.mjs","mega-template-init":"scripts/init.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"7790fe019d49d9afbc59e98b2b3d86b1df52ebf0","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.3.1.tgz","fileCount":56,"integrity":"sha512-En5kk+hwTbZSS8V3dqIzfjNSEGjaXXWq9dgY164pG1xy59zrtaKx6/8i5Oo3vjwgEFXmxfDbdbO//1DtX89rvw==","signatures":[{"sig":"MEUCIQC0iQZJ7f7vk7+U1bMDBOaFveDY2la2LaH5QAO4s8DCzQIgFwE5QUJ84Nvo20UuviK8fFelwuMcRcFuHF/Qg0q4pOI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125914},"type":"module","engines":{"node":">=20"},"gitHead":"b5caa5cde2311193553b934f8c1fe2f9d46baaec","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.3.1_1776080118807_0.16014477954309525","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@agentic-gateway/mega-template","version":"0.4.0","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.4.0","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-gate":"scripts/spec-gate-check.mjs","mega-template-init":"scripts/init.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"43a6eedd104b6fd4e98a2d9440d08b3c1bb0162b","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.4.0.tgz","fileCount":60,"integrity":"sha512-XjsYWWaZmQO9ogViof0abX9EfZbgkG1kzLHUttsRAa9S3FoGVy5GJPrP1IVFvOTLSV58UPN/nIRdosh7EczXHA==","signatures":[{"sig":"MEUCICogvmDwu4zQPHyIMwzdHygGa2VSBEVIU6sSWzTibcVdAiEA5Kf86oXvX2vCvOTTG+n5EAzD7TAIDyzjJ9mMoLGV8NY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139275},"type":"module","engines":{"node":">=20"},"gitHead":"90399b8c776eaf3d403e060a78c7789c5bed4bd6","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.4.0_1776096459129_0.07648905653667648","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@agentic-gateway/mega-template","version":"0.4.1","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.4.1","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-gate":"scripts/spec-gate-check.mjs","mega-template-init":"scripts/init.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"26203846cd45f3c87bc40582cb6321e44dc0e32c","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.4.1.tgz","fileCount":60,"integrity":"sha512-oGTayTZDdX5pzg3+Tka4fNLmLLMIqO9Pk2G6bWL4G3m1ECp+eccAHpdn7Iay4GPCYI49Tn+GMsY/vAzghlBDug==","signatures":[{"sig":"MEQCIFGKXSkmhdLx51JpELYDq4NPhh7KJMg3OGySoaUXxaODAiACYltSDoQzLmk1M03YiCo9GQjGOz8m+Jsos0i47tnL5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140028},"type":"module","engines":{"node":">=20"},"gitHead":"422cb3c064cb7314c11f390f810ab01cf2acc443","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.4.1_1776097729866_0.3689653573674512","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@agentic-gateway/mega-template","version":"0.5.0","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.5.0","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-gate":"scripts/spec-gate-check.mjs","mega-template-init":"scripts/init.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"68309f9bbff97f8c6423819ee73c6b9f0e83206a","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.5.0.tgz","fileCount":63,"integrity":"sha512-mZKx4vEO/MPaa72l67FDJMWshYD27Dq4hJo4Q8ZdiiLr+wlJ1nySCPUeTYFnR4D1w+jy4ungBAvVfaEtZOee4Q==","signatures":[{"sig":"MEQCIFoACrSwbNz4p+qP9QPiANKuEEwfgXvbvNNLEWXMLCPGAiAiSpvl+pg9ZmXudmA25lf+DVMCMZVNNcGJPbKMa7dhCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151547},"type":"module","engines":{"node":">=20"},"gitHead":"34dd026c2061990c3ccf25b1c5affbce0281cd77","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.5.0_1776125717182_0.0817726760768207","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@agentic-gateway/mega-template","version":"0.5.1","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.5.1","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-gate":"scripts/spec-gate-check.mjs","mega-template-init":"scripts/init.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"d3d18161fa37713bae167334203e0d7e7478fb3b","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.5.1.tgz","fileCount":63,"integrity":"sha512-Kfy6yzTTh5ve0AcBZmSnYF9qIg4Xoj1HXMDJZ5JDhtYNPRy74oDCT6BbUE9O7Sa3HgM6y8oWA4KRBjMh9zfA2Q==","signatures":[{"sig":"MEUCIQDawETinF6nnFvMvo1ZuhFy1ZZPCWskbdH7S/ObyMbJ0QIgcaWpS8fEBW6uKUEn7vfXtgDJP487y2cfMjY+/aEwD+s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151664},"type":"module","engines":{"node":">=20"},"gitHead":"edd7a365a115011718d18b1093a1f17a0a0ff96c","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.5.1_1776125964893_0.6189609115064298","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@agentic-gateway/mega-template","version":"0.6.0","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.6.0","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-init":"scripts/init.mjs","mega-template-upgrade":"scripts/upgrade.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"75430050e45c5e2c4b4d793dcb01f9dbc258ba3c","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.6.0.tgz","fileCount":64,"integrity":"sha512-wPowzSFo8J8wAAahl8LjhJ3XsP8T6Jq284KPNx3y6xcKGIQ/xPbBExe9Gk3F+es9wdnf+cU75Qqoxpo4oIlG9w==","signatures":[{"sig":"MEUCIQCSKULMl/CHecja6FDfwnTG+fj/UOAtuylqxWwdPg5WVAIgfH/in/pcRAMotCIb8EDjm4btmWf5/MEXwRkQlCYfgf8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162121},"type":"module","engines":{"node":">=20"},"gitHead":"501e7f76ac207eee12de534d44c10850a5f2fb41","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.6.0_1776133036204_0.6892732904039149","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@agentic-gateway/mega-template","version":"0.7.0","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.7.0","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-init":"scripts/init.mjs","mega-template-upgrade":"scripts/upgrade.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"ee479db883e43117920184b4f629a0bb5a6fd903","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.7.0.tgz","fileCount":64,"integrity":"sha512-Tv7Kj4+APqIGJPLs4W567levd7ldAknPe2akN5gBlQnMaiE8XKJhC8cVPUQPtVD7YCOn8DsK4UaP9mgQoXFmxQ==","signatures":[{"sig":"MEYCIQCZs3emBvvXrV4Ir5JXTax5Bk3H8YJiIbBtgvLRCBR6rgIhALjRnNNQfjlKgn8tHdLrUrr+Weij7JO15HB60hnjIqbd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":165668},"type":"module","engines":{"node":">=20"},"gitHead":"89eddaa3386925b0c9be0d0348f96416c82219d9","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.7.0_1776139923281_0.5677200797018394","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@agentic-gateway/mega-template","version":"0.8.0","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.8.0","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-init":"scripts/init.mjs","mega-template-upgrade":"scripts/upgrade.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"824d6195a88e1c72a1273e42be68d9d4cb0ed074","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.8.0.tgz","fileCount":67,"integrity":"sha512-NCUu9dqUmrEpggzt8mGiiqYbwJ/tfGszGnaiuLLSyHxoELlKiTEg8FRJUXs4ErPd6iY6ML4/32+1UmiPHWnPZw==","signatures":[{"sig":"MEUCIQDcHLBboik+ZbFTbGhP4Csc6ZLf+IaHLc6VA3ukJCJsrwIgPrXiRy76J8s6ji0RBlO0LdHdyV7nmCEXm7uHUGDOSnY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179365},"type":"module","engines":{"node":">=20"},"gitHead":"dcaf05349c487e92f83f822138c1c77b2a32f9db","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.8.0_1776140745057_0.8873891205004893","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@agentic-gateway/mega-template","version":"0.8.1","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.8.1","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-init":"scripts/init.mjs","mega-template-upgrade":"scripts/upgrade.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"f31a969b6565dba03167670d3a06b06381326646","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.8.1.tgz","fileCount":67,"integrity":"sha512-pYg5bFL8MmjZTgPEo2g0BsIBcgL+OeAu9oIjZZlcNT/eWVdBKh7nZ+Ccefs7L0ifMwFQcL75Sqc4gZAAz2tuPQ==","signatures":[{"sig":"MEYCIQCopYaJHp/d3PucwmXNOThxSO5d304k/XDLZmZfPumkNQIhAOBb3hle/lmLuJtkytDrSFWYwcniCGMAQYXVqQUqn2p5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179570},"type":"module","engines":{"node":">=20"},"gitHead":"37cc82d12ad5f9100ce9706111ad05771a0939bd","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.8.1_1776141991122_0.2726449305294696","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@agentic-gateway/mega-template","version":"0.9.0","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.9.0","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-init":"scripts/init.mjs","mega-template-status":"scripts/status.mjs","mega-template-upgrade":"scripts/upgrade.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"4a92ab4f85a460a9db0b92a58c094f83442c626a","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.9.0.tgz","fileCount":68,"integrity":"sha512-bTANZGBp2m3SsWYleRRcEBDgPl50AQjhN8fysCumxur/WQTn9ez5QVj9HtrfkQUrDPvJvKxxCSTw9TIvp8P6Iw==","signatures":[{"sig":"MEYCIQCewM1IvHp0xmg0rp2nP0vJgFlIOOvZsIF8aqWbB3uLFgIhAJ0SLVgTxdO1sl0eFzDYuguXIR8Tx4t9PylkP8oXbip4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186868},"type":"module","engines":{"node":">=20"},"gitHead":"c90568b1d2471d2b42f47645526bb17c926fd1f6","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.9.0_1776143602530_0.16225558391148476","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@agentic-gateway/mega-template","version":"0.9.1","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.9.1","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-init":"scripts/init.mjs","mega-template-status":"scripts/status.mjs","mega-template-upgrade":"scripts/upgrade.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"6a1064af57144f772f9e0d6968542c20c2b2fefd","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.9.1.tgz","fileCount":68,"integrity":"sha512-f+PZsqdIkYSBnsFjYhSKBaUWQsYBdntNfAyh8q1EoRjgJafiMCSCc17No83cuHX5o0EMVQFNqAwClgyCWW8h/w==","signatures":[{"sig":"MEQCIFdXV5z6PKGfVbj2Lc+6NXA8xSisiJ6tFOIu0UPlhqZ/AiAPyUf5th92qZOjgmIBf8CiRdqGL15vruHwbp5CRQJLow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189129},"type":"module","engines":{"node":">=20"},"gitHead":"df40c60ead0c7803ddcdadeb468b8ae82aa9d303","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.9.1_1776144063952_0.03798259371738477","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@agentic-gateway/mega-template","version":"0.9.2","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.9.2","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-init":"scripts/init.mjs","mega-template-status":"scripts/status.mjs","mega-template-upgrade":"scripts/upgrade.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"77054065f5c001fbd15399a2b680a16571978ba7","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.9.2.tgz","fileCount":68,"integrity":"sha512-EqrheZO6qR2FxB4K/Q/o5lt/d19hiITl5Um6Ezqg+MDf7F+jksPuHSXj5OgQC+c0uDYqaqC+CVmO2KZy5/mN3A==","signatures":[{"sig":"MEYCIQC/oHjGaMiDVVs0cmWr1pi5Qk+KqH/HEjBOy3Oy5NXPwQIhAOnlkRn1W73FZd4l4qmgIfkU0VBIMELbWvY5RQuEl1xM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206600},"type":"module","engines":{"node":">=20"},"gitHead":"335a79cfd68891343af85b4aaea5aceac1d43ec4","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.9.2_1776155060305_0.7876500189937412","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"@agentic-gateway/mega-template","version":"0.9.3","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.9.3","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-init":"scripts/init.mjs","mega-template-status":"scripts/status.mjs","mega-template-upgrade":"scripts/upgrade.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"033dd723803ca6bc43f35a9df92eee86d1756574","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.9.3.tgz","fileCount":68,"integrity":"sha512-M+R/g7n1Haaxt6rraVPlhdSTFFNUKIugLnVHJc7ElAPSYCcE0EE1G5K6b+JmvBeh6wF0s+mohJiLojrJwJa/XA==","signatures":[{"sig":"MEUCIBcTyMft2kfITCOFpHq7DMsE2Bon7dHGqmWNbbLb9LBHAiEAlpKgi5yl4GYRrcPTx2bqOdSYrD0b0YVt43fVtFUo/RM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":208483},"type":"module","engines":{"node":">=20"},"gitHead":"6bfa4b1ccaf5be8ef2a3b59d649f7a49d1c1968b","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.9.3_1776155798874_0.6014988171433011","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"@agentic-gateway/mega-template","version":"0.9.4","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.9.4","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-init":"scripts/init.mjs","mega-template-status":"scripts/status.mjs","mega-template-upgrade":"scripts/upgrade.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"1db16997e09dad913acf39062581696db6924a30","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.9.4.tgz","fileCount":68,"integrity":"sha512-SKHHf+2FR53jDxBN7Tj/E0j3L3cLpgOwff7uZ2VALTcdT+pb4pYzLSXRkk88Y6pViltuzuLgd/y9iWx+I+VVdg==","signatures":[{"sig":"MEUCIQDmssdHFk6h+cd4V28PUMvxFUFI9Gb4nO5ZP+hqo7siTQIgDHWBFKQxBE2gSfOpgBuPowZhocPkpfviQ79rN5kmHow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":210822},"type":"module","engines":{"node":">=20"},"gitHead":"e205a26291c0d024a0f169e5a250af0acc1e455d","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.9.4_1776156292041_0.6892852751512395","host":"s3://npm-registry-packages-npm-production"}},"0.9.5":{"name":"@agentic-gateway/mega-template","version":"0.9.5","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.9.5","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-init":"scripts/init.mjs","mega-template-status":"scripts/status.mjs","mega-template-upgrade":"scripts/upgrade.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"ceb1eba0ff1c7bde237dcccf0de209de011fe4a8","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.9.5.tgz","fileCount":69,"integrity":"sha512-TW3J02ehrxKUDLOOWd4oZtkUDw7yogtqdFcoP13LCcpRk8/t/fBpC9MHpiGKWB4urpsYWPJ4Fgh/DA37fO3nZA==","signatures":[{"sig":"MEUCIQCd9tMeNNMY4/RRN+8zUhy4oo2xM+WSLwcXZ/x+1ep54AIgONWKGwnTJw2AWuOZAOghhbmqEkrOFkyLZ3CTE7htQKA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":214588},"type":"module","engines":{"node":">=20"},"gitHead":"91f1e56171ca8fa9c7129df175cd3e02dc181486","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.9.5_1776157723142_0.03676589094053595","host":"s3://npm-registry-packages-npm-production"}},"0.9.6":{"name":"@agentic-gateway/mega-template","version":"0.9.6","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.9.6","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-init":"scripts/init.mjs","mega-template-status":"scripts/status.mjs","mega-template-upgrade":"scripts/upgrade.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"57ca64fdb5305e8bd90b1ad8f2d88c947c6047de","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.9.6.tgz","fileCount":69,"integrity":"sha512-KJ03PlpRlIon7Xrg+2rRAp7NUcFYQAFdrw2BIJGTVevrzm0VzdZ7QwL0qA3dELR4XE3BScKuodfyf1pCcrs/Ig==","signatures":[{"sig":"MEQCIGx4+IltyQ9J53gIl7W8FJETeeNjU2vJW0zLZ6ZdoPdGAiBFlRZAvlukSWeVIQL9Ptn8Wg80TmD+lDi9YutdXy8kEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":216113},"type":"module","engines":{"node":">=20"},"gitHead":"b483b7de84da3ae9877aeaaf409fd5ea4167caef","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.9.6_1776158115954_0.7362111174501915","host":"s3://npm-registry-packages-npm-production"}},"0.9.7":{"name":"@agentic-gateway/mega-template","version":"0.9.7","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.9.7","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-init":"scripts/init.mjs","mega-template-status":"scripts/status.mjs","mega-template-upgrade":"scripts/upgrade.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"edcf8901bc833e14d62fb56654d8cb280a401758","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.9.7.tgz","fileCount":69,"integrity":"sha512-dZhPeBM2uFooFLtwBhXb6FGQB2L28xe1jETzGPVggxVQ1VudJNFCN9HnsTdIowdp+f6UcoAFUhyqsqDTRaSpow==","signatures":[{"sig":"MEYCIQD2hPisErBHkXapw7NjV41gVTvcTZ2g7Dcc6U2OKo4qlwIhAIIzHalgsJSifnWsmJ3qCICa3hk8RVQAHeSTkZrrptQD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219185},"type":"module","engines":{"node":">=20"},"gitHead":"4ed4c6c582f591c126d26542fa966991af8cd7a2","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.9.7_1776158508153_0.09478542933933531","host":"s3://npm-registry-packages-npm-production"}},"0.9.8":{"name":"@agentic-gateway/mega-template","version":"0.9.8","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.9.8","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-init":"scripts/init.mjs","mega-template-status":"scripts/status.mjs","mega-template-upgrade":"scripts/upgrade.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"d07bbe1fba49a5e55ae1bd78fc369ea4bc530db0","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.9.8.tgz","fileCount":69,"integrity":"sha512-wauJQipnmKDDWRyMuaK4IlbdKS3KfKZV7TR3aT20k1HfL4ouSQ6os+IzG4Iz4VJkSLYMCs2sTAXUrcwLoN27gg==","signatures":[{"sig":"MEQCIBpimNQUz1I3MbF2x2zejopAi/NjjeFlX9IvJagLosfQAiAIUb0ygktIwQA6F6E2hL56rhHnWC/tK4gP4kb+z9SRhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219716},"type":"module","engines":{"node":">=20"},"gitHead":"5ebfd902b7956b5739ba7485da1d8c90d762a316","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.9.8_1776158954686_0.8417425468008697","host":"s3://npm-registry-packages-npm-production"}},"0.9.9":{"name":"@agentic-gateway/mega-template","version":"0.9.9","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.9.9","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-init":"scripts/init.mjs","mega-template-status":"scripts/status.mjs","mega-template-upgrade":"scripts/upgrade.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"c5770dc7c4ce0aff476eeb1d92cc0644700ffb79","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.9.9.tgz","fileCount":69,"integrity":"sha512-m6bt2sJevVBKVCxXmQJ/laG/SZ02eCjh1h7QfnKVdbs+aSNrGWo+m2NbM9c3ZJpnIz/RTlhANKTCpAluLalj/A==","signatures":[{"sig":"MEUCIDUWj+SKGwkuSSfVH/jxW8FWtFa9NX5aZK9BPqkNB6OXAiEArTsuSnFErnIgZDOqfCu7gDb09CnbZJGJxfZJT+2j6d0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":221169},"type":"module","engines":{"node":">=20"},"gitHead":"20d0169f4da0bb25786098b3a87c3d7d0af889d4","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.9.9_1776160196313_0.8497397648777971","host":"s3://npm-registry-packages-npm-production"}},"0.9.10":{"name":"@agentic-gateway/mega-template","version":"0.9.10","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.9.10","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-init":"scripts/init.mjs","mega-template-status":"scripts/status.mjs","mega-template-upgrade":"scripts/upgrade.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"040854a0e6dfb56914437be8de5faf222f9d4d0e","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.9.10.tgz","fileCount":69,"integrity":"sha512-q+6GfakMFIr5GEx8EBI164+srRcAe29UK1kma2MXk+bI03/RWC9KEFcJxK085SS5DnsIgIRqRb8Ss5XyowgGTw==","signatures":[{"sig":"MEUCIGcba1wrAR2nefmvMmu4WkQBR0T66NOb5erU9OORhcfLAiEA0fG4o0uJwdVNVg6y3mkE3eNFqcV80QEYdQX6fx7MQq8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":221361},"type":"module","engines":{"node":">=20"},"gitHead":"8149947d3c13adc5fe68ea6b2cdac407535ec5f5","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.9.10_1776162356016_0.43252623310712623","host":"s3://npm-registry-packages-npm-production"}},"0.9.11":{"name":"@agentic-gateway/mega-template","version":"0.9.11","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.9.11","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-init":"scripts/init.mjs","mega-template-status":"scripts/status.mjs","mega-template-upgrade":"scripts/upgrade.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"0396506026c1d2bc1f171f65ac4eb86859da763d","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.9.11.tgz","fileCount":69,"integrity":"sha512-tJsmhq4lXizz3D8lV3vk7RMq1flgs3+kCLvv9sHofTTU4jveGEWFGxmGyWuppE+m+3VUkQMdq+y9CLWI/l05dQ==","signatures":[{"sig":"MEUCIEM+RYqIRYCFIDYhGS+YQ58sXDD4bCxygXRecWbJ8tgMAiEAkvQj3S8fAJsr/3uBVxpZLFVfIDNpvDSSLM3CRoDWIuw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":221554},"type":"module","engines":{"node":">=20"},"gitHead":"8a004c8795cdc03392cea9f1602c07375c793c22","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.9.11_1776162437137_0.36967930468081667","host":"s3://npm-registry-packages-npm-production"}},"0.9.12":{"name":"@agentic-gateway/mega-template","version":"0.9.12","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","_id":"@agentic-gateway/mega-template@0.9.12","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"bin":{"mega-template-init":"scripts/init.mjs","mega-template-status":"scripts/status.mjs","mega-template-upgrade":"scripts/upgrade.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"dist":{"shasum":"399947cee78da8e53f0c755ee1a9d27b78a71ea6","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.9.12.tgz","fileCount":69,"integrity":"sha512-SjMirgZhRDuI7iqF11ttvRXAw68f1O/04pkb5dNzMIg/uoECHggkofscvZl24/zJwIukQUZAP1dRLGaL47HzbQ==","signatures":[{"sig":"MEUCIQDC8dYfKMclOLMFABUK0n/IpklZo27/RHSuKNsvbXIiqgIgVP6QAmHqnJqt05XyFWawlTHFbhRXR4HWvv1CyCstmwg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223074},"type":"module","engines":{"node":">=20"},"gitHead":"276c2f88296462b3bfefb343999d282f5773799d","private":false,"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"repository":{"url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git","type":"git"},"_npmVersion":"11.8.0","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mega-template_0.9.12_1776163343134_0.6481604679960471","host":"s3://npm-registry-packages-npm-production"}},"0.9.13":{"name":"@agentic-gateway/mega-template","version":"0.9.13","description":"Spec-enforcement plugin for large multi-phase AI-agent projects","type":"module","private":false,"bin":{"mega-template-init":"scripts/init.mjs","mega-template-upgrade":"scripts/upgrade.mjs","mega-template-status":"scripts/status.mjs","mega-template-coverage":"scripts/spec-coverage.mjs"},"scripts":{"lint":"node scripts/lint-rules.mjs","test":"node --test tests/"},"repository":{"type":"git","url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git"},"keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"license":"MIT","engines":{"node":">=20"},"gitHead":"2dd9a5cdb9cf2d788d96ec95583ad1a083b9d986","_id":"@agentic-gateway/mega-template@0.9.13","bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","_nodeVersion":"24.13.1","_npmVersion":"11.8.0","dist":{"integrity":"sha512-ut/B5z+fkJ1qOh9UCF603+8UvEXplRX00bN13sJwz5YMrogzw3RfAvqCCzFhklFaAobYWFmKjm3zxZvG0mz3sQ==","shasum":"18f176c62e213613d419e476f52bf6b79018a2cb","tarball":"https://registry.npmjs.org/@agentic-gateway/mega-template/-/mega-template-0.9.13.tgz","fileCount":69,"unpackedSize":225185,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCZTT0fzkchZbSeZi/urPtgZa4yGpWHCqEDD8YYOu9ToQIgKAed1kFzUNnvSn4MOYyXOwcj/UZQKDuci3zkclLm9Yw="}]},"_npmUser":{"name":"vunh2301","email":"vunh2301@gmail.com"},"directories":{},"maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mega-template_0.9.13_1776216042523_0.551056262470307"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-13T05:22:25.725Z","modified":"2026-04-15T01:20:42.828Z","0.1.1":"2026-04-13T05:22:25.954Z","0.1.2":"2026-04-13T05:24:57.157Z","0.2.0":"2026-04-13T07:13:43.216Z","0.3.0":"2026-04-13T09:48:15.324Z","0.3.1":"2026-04-13T11:35:18.971Z","0.4.0":"2026-04-13T16:07:39.278Z","0.4.1":"2026-04-13T16:28:50.011Z","0.5.0":"2026-04-14T00:15:17.316Z","0.5.1":"2026-04-14T00:19:25.070Z","0.6.0":"2026-04-14T02:17:16.338Z","0.7.0":"2026-04-14T04:12:03.434Z","0.8.0":"2026-04-14T04:25:45.231Z","0.8.1":"2026-04-14T04:46:31.272Z","0.9.0":"2026-04-14T05:13:22.684Z","0.9.1":"2026-04-14T05:21:04.118Z","0.9.2":"2026-04-14T08:24:20.455Z","0.9.3":"2026-04-14T08:36:39.040Z","0.9.4":"2026-04-14T08:44:52.165Z","0.9.5":"2026-04-14T09:08:43.320Z","0.9.6":"2026-04-14T09:15:16.121Z","0.9.7":"2026-04-14T09:21:48.328Z","0.9.8":"2026-04-14T09:29:14.809Z","0.9.9":"2026-04-14T09:49:56.505Z","0.9.10":"2026-04-14T10:25:56.181Z","0.9.11":"2026-04-14T10:27:17.283Z","0.9.12":"2026-04-14T10:42:23.275Z","0.9.13":"2026-04-15T01:20:42.668Z"},"bugs":{"url":"https://github.com/vunh2301/agentic-gateway-mega-template/issues"},"license":"MIT","homepage":"https://github.com/vunh2301/agentic-gateway-mega-template#readme","keywords":["claude-code","plugin","spec-enforcement","phase-gating"],"repository":{"type":"git","url":"git+https://github.com/vunh2301/agentic-gateway-mega-template.git"},"description":"Spec-enforcement plugin for large multi-phase AI-agent projects","maintainers":[{"name":"vunh2301","email":"vunh2301@gmail.com"}],"readme":"# @agentic-gateway/mega-template\n\nPlugin thực thi spec (spec-enforcement) cho các dự án multi-phase lớn chạy\ntrong Claude Code. Biến các quy tắc CLAUDE.md (vốn chỉ là lời khuyên) thành\n**gate cứng ở tầng harness** mà agent không thể bypass.\n\nThiết kế để dùng cùng bộ kỹ năng **oh-my-claudecode (OMC)**:\n`deep-interview → ralplan → autopilot → verify → phase-promote`.\n\n---\n\n## Mục lục\n\n1. [Tại sao cần mega-template?](#tại-sao-cần-mega-template)\n2. [Cài đặt](#cài-đặt)\n3. [Workflow 5-gate tổng quan](#workflow-5-gate-tổng-quan)\n4. [Cấu trúc file sinh ra](#cấu-trúc-file-sinh-ra)\n5. [Các hook harness-level](#các-hook-harness-level)\n6. [Các slash command](#các-slash-command)\n7. [Các CLI (npx)](#các-cli-npx)\n8. [File cấu hình: `spec-index.yaml`](#file-cấu-hình-spec-indexyaml)\n9. [Workflow state: `.omc/state/workflow.json`](#workflow-state-omcstateworkflowjson)\n10. [Rule registry](#rule-registry)\n11. [Ví dụ minh hoạ](#ví-dụ-minh-hoạ)\n12. [Ghi chú Windows/PowerShell](#ghi-chú-windowspowershell)\n13. [Bypass khẩn cấp](#bypass-khẩn-cấp)\n14. [Chạy 2 phase song song](#chạy-2-phase-song-song)\n\n---\n\n## Tại sao cần mega-template?\n\nQuy tắc prose trong `CLAUDE.md` chỉ đạt ~70% compliance. Dự án có spec\n100KB+ và 8+ phase **cần gate thật, không phải gợi ý**.\n\nMega-template cung cấp:\n\n- **Hook tầng harness** — hook chạy bên ngoài mô hình, không thể \"quên\"\n- **Rule ID cố định** — tham chiếu quy tắc kiểu `V5-R011` trong commit/code\n- **Phase scope enforcement** — chặn write file ngoài phase hiện tại\n- **Spec traceability** — annotation `@spec()` + coverage matrix\n- **Independent review gate** — 3 agent reviewer/verifier/critic bắt buộc trước khi promote phase\n- **Slice-order enforcement** — commit phải đúng thứ tự slice trong plan\n- **Drift detection** — nhận diện prompt lạc đề và kéo user về flow chính\n- **Resume tự động** — session mới biết nên tiếp tục slice nào\n\n---\n\n## Cài đặt\n\n### Quick start (npm — khuyến nghị)\n\n```bash\ncd <consumer-repo>\nnpm install @agentic-gateway/mega-template\nnpx mega-template-init\n```\n\nInit sẽ:\n- Tự chạy `git init` nếu thư mục chưa là repo (dùng `--no-git-init` để tắt)\n- Hỏi 5 câu: project, package, phase, sections, spec path\n- Sinh toàn bộ file baseline: `CLAUDE.md`, `AGENTS.md`, `PROGRESS.md`, `spec-index.yaml`, `.claude/settings.json`, `.claude/commands/*.md`, `.gitignore`\n\n### Non-interactive (CI)\n\n```bash\nnpx mega-template-init --non-interactive \\\n    --project my-consumer \\\n    --package memory-consumer \\\n    --phase phase-1 \\\n    --sections \"2,3.1,3.2,4,5,6,7\" \\\n    --spec docs/memory-consumer-spec.md \\\n    --layout monorepo\n```\n\nFlag:\n- `--layout flat|monorepo` — layout của consumer repo\n- `--no-git-init` — không auto `git init`\n\n### One-shot (không cài cục bộ)\n\n```bash\ncd <consumer-repo>\nnpx -p @agentic-gateway/mega-template mega-template-init\n```\n\n### Upgrade consumer cũ lên version mới\n\n```bash\ncd <consumer-repo>\nnpm install @agentic-gateway/mega-template@latest\nnpx mega-template-upgrade            # idempotent patch\n# hoặc: npx mega-template-upgrade --dry-run   # xem trước, không ghi\n```\n\nUpgrade tự:\n- Thêm hook mới vào `.claude/settings.json`\n- Heal path cũ (relative → absolute) nếu sai\n- Thêm block cấu hình mới (`review:`, `decisions:`) vào `spec-index.yaml`\n- Copy slash command mới vào `.claude/commands/`\n- Backup mọi file chỉnh sửa: `*.bak-<timestamp>`\n\nChạy lại sẽ báo \"No changes needed\" — an toàn trong CI hoặc sau mỗi `npm install`.\n\n### Cài qua Claude Code plugin marketplace (tuỳ chọn)\n\n```\n/plugin marketplace add vunh2301/agentic-gateway-mega-template\n/plugin install mega-template@agentic-gateway-mega-template\n```\n\n**Lưu ý**: npm install và plugin marketplace cung cấp cùng 1 bộ hook +\nslash command (v0.9.1+ copy slash command vào `.claude/commands/`).\nChọn 1 cách, không cần cả 2.\n\n---\n\n## Workflow 5-gate tổng quan\n\nMỗi tính năng code phải đi qua 5 gate (thêm Gate 4.5 từ v0.4.0):\n\n```\nGate 1 — Memory & Spec Review\n  ↓ (read CLAUDE.md, PROGRESS.md, spec-index.yaml, spec doc)\n  ↓ (confirm state với user)\nGate 2 — Plan Written\n  ↓ (/oh-my-claudecode:ralplan — consensus Planner + Architect + Critic)\n  ↓ (output: .omc/plans/<phase>-plan.md)\nGate 3 — Execute\n  ↓ (linear / autopilot / team / ralph)\n  ↓ (hooks active: check-spec, check-phase-gate, check-spec-coverage, enforce-tdd)\nGate 4 — Verify\n  ↓ (/oh-my-claudecode:verify — evidence check)\n  ↓ (npm test, coverage, build — hook check-e2e-real, enforce-verification)\nGate 4.5 — Independent Review   ← v0.4.0\n  ↓ (/phase-review — 3 agents parallel)\n  ↓ (.omc/reviews/<phase>-{reviewer,verifier,critic}.md)\n  ↓ (verdict: approved | approved-with-notes)\nGate 5 — Phase Promote\n  ↓ (/phase-promote — check-review-evidence hook block nếu thiếu artifact)\n  ↓ (spec-index.yaml: active_phase advance)\n```\n\nTự động hoá flow này qua skill `consumer-feature` (có sẵn trong\nOMC khi trigger keyword: \"build\", \"add feature\", \"implement\", \"start phase\").\n\n---\n\n## Cấu trúc file sinh ra\n\n```\n<consumer-repo>/\n├── CLAUDE.md                  # quy tắc + workflow entry\n├── AGENTS.md                  # mirror cho Codex/Gemini\n├── PROGRESS.md                # SSOT tiến độ phase\n├── spec-index.yaml            # phase → sections → paths map + config blocks\n├── rules/                     # (tuỳ chọn) Doorstop-style rule YAML\n│   ├── V5-R001.yaml\n│   └── …\n├── .claude/\n│   ├── settings.json          # hook wiring (absolute paths)\n│   ├── settings.local.json    # secrets (gitignored)\n│   └── commands/              # slash commands copy từ plugin\n│       ├── spec-status.md\n│       ├── phase-promote.md\n│       ├── phase-review.md\n│       └── spec-init.md\n├── .omc/\n│   ├── state/\n│   │   └── workflow.json      # slice order + progress (driver cho slice-order hook)\n│   ├── plans/                 # ralplan output (gitignored)\n│   ├── specs/                 # deep-interview output (gitignored)\n│   └── reviews/               # Gate 4.5 artifacts (gitignored)\n└── docs/\n    └── <your-spec>.md         # north-star spec\n```\n\n---\n\n## Các hook harness-level\n\nToàn bộ 12 hook chạy ở level Claude Code (bên ngoài mô hình), không bypass\nđược trừ khi set `CLAUDE_SKIP_HOOKS=1`.\n\n| Hook | Event | Chặn gì | Rule |\n|------|-------|---------|------|\n| `load-context.mjs` | UserPromptSubmit | (không block) Inject context: workflow-protocol, intent classifier, active-flow, off-topic warning, CLAUDE.md digest, active phase | — |\n| `inject-decision-rules.mjs` | UserPromptSubmit | (không block) Inject guidance để agent auto-apply rule V5-R011/R030/R053/R054 + constraint defaults, skip câu hỏi lễ nghi | V5-R057, V5-R058 |\n| `check-spec.mjs` | PreToolUse Write/Edit | File trong `src/` (flat) hoặc `packages/*/src/` không có spec doc cho package | V5-R004 |\n| `check-phase-gate.mjs` | PreToolUse Write/Edit | File ngoài scope của `active_phase.paths` trong `spec-index.yaml` | V5-R016 |\n| `check-spec-coverage.mjs` | PreToolUse Write | File src mới không có `@spec(phase=N,section=X)` annotation | V5-R017 |\n| `enforce-tdd.mjs` | PreToolUse Write/Edit | Src file write mà test pair chưa tồn tại trên disk (check bằng git log, không phải mtime) | V5-R030..R034 |\n| `check-review-evidence.mjs` | PreToolUse Bash (git commit/tag) | Commit `phase-promote:` hoặc tag `phase-*-verified` mà thiếu `.omc/reviews/<phase>-{reviewer,verifier,critic}.md` với verdict accepted | V5-R055, V5-R056 |\n| `enforce-slice-order.mjs` | PreToolUse Bash (git commit) | Commit có slice-id không match slice tiếp theo trong `workflow.json` (bỏ qua khi không có workflow.json) | V5-R059, V5-R060 |\n| `require-tests.mjs` | PostToolUse Bash (git commit) | (cảnh báo) Commit có src file mới mà không có test pair | V5-R006 |\n| `check-e2e-real.mjs` | PostToolUse Bash (git commit) | E2E test file chứa mock pattern (`jest.mock`, `vi.mock`, `nock`, `sinon.stub`) | V5-R040..R043 |\n| `enforce-verification.mjs` | PostToolUse Bash (git commit) | Src commit không có evidence test (strict/session/relaxed mode, mặc định session) | V5-R050, V5-R053, V5-R054 |\n| `orphan-sweep.mjs` | SessionEnd | (không block) Report section đã declare trong `spec-index.yaml` nhưng chưa có `@spec` annotation trong code | V5-R018 |\n\n### Chi tiết từng hook\n\n#### UserPromptSubmit chain\n\n- **load-context.mjs** — Chèn vào đầu mỗi prompt:\n  - `<workflow-protocol>` — bắt buộc đọc state files trước khi Write/Edit\n  - `<prompt-classifier>` — phân loại intent (coding/trivial/promote/none) để mạnh hoá protocol\n  - `<active-flow>` — nếu có `workflow.json`: phase, slice hiện tại, slice tiếp theo, resume hint\n  - `<off-topic-warning>` — nếu prompt (≥6 từ) không share keyword với phase sections\n  - `[MEGA-TEMPLATE CONTEXT]` — active phase + package + rules digest\n\n- **inject-decision-rules.mjs** — Chèn `<decision-guidance>`:\n  - Liệt kê rule `auto_apply` (agent tự quyết theo rule, không hỏi user)\n  - `constraint_defaults` (hot-path purity, session-ended trigger, model reuse, bounded backoff)\n  - `user_choice` (scope prioritization, oversight level, external API design) — vẫn phải hỏi\n  - Hướng dẫn skill skip câu hỏi lễ nghi, log rule-id trong commit\n\n#### PreToolUse Write/Edit chain\n\n- **check-spec.mjs** — Tìm spec doc cho package. Ví dụ với `packages/memory-consumer/src/foo.ts`, tìm `docs/memory-consumer-spec*.md`. Không có → block.\n\n- **check-phase-gate.mjs** — So path của file Write với `phases[active_phase].paths` pattern. Most-specific-pattern-wins khi tie. Ngoài scope → block.\n\n- **check-spec-coverage.mjs** — Chỉ trigger trên Write **mới** (Edit thì skip). Yêu cầu annotation `@spec(phase=N,section=X)` trong 30 dòng đầu. Thiếu → block.\n\n- **enforce-tdd.mjs** — Với src file, tìm test pair theo `tdd.test_conventions`. Check bằng `git log --diff-filter=A` rằng test commit TRƯỚC src file (không dùng mtime vì không ổn định trên Windows). Test chưa có → block.\n\n#### PreToolUse Bash chain\n\n- **check-review-evidence.mjs** — Bắt commit prefix `phase-promote:` hoặc tag `phase-*-verified`. Đọc `spec-index.yaml review.*` config. Yêu cầu 3 file artifact với frontmatter `verdict: approved` hoặc `approved-with-notes`. Thiếu → block exit 2.\n\n- **enforce-slice-order.mjs** — Bắt `git commit`. Nếu `.omc/state/workflow.json` tồn tại, trích slice-id từ commit message (pattern `v5-<phase>.slice-<NN>:` hoặc `.step-<NN>:`). Mismatch slice tiếp theo → block. Prefix exempt: `docs:`, `chore:`, `infra:`, `ci:`, `build:`, `test:`, `refactor:`, `revert:`, `merge:`, hotfix, phase-promote.\n\n#### PostToolUse Bash chain\n\n- **require-tests.mjs** — Scan commit vừa làm (`git diff-tree HEAD`). Nếu thêm src file mà không có test pair → warn (không block). Initial commit dùng `--root`.\n\n- **check-e2e-real.mjs** — Scan staged E2E file (match `e2e.test_patterns`) tìm mock pattern. Có thể bypass per-line (`// @allow-mock`), per-block, per-file. V5-R040 cấm mock gateway trong E2E.\n\n- **enforce-verification.mjs** — Nếu commit đụng src file, yêu cầu evidence (staged artifact HOẶC artifact mtime <30min ở session mode). Prefix `docs:/chore:/...` exempt. `verification.strictness` = `strict|session|relaxed`.\n\n#### SessionEnd\n\n- **orphan-sweep.mjs** — So `active_phase.sections` vs `@spec` annotations grep trong src files. Section declare nhưng 0 file annotation → report orphan.\n\n---\n\n## Các slash command\n\n4 command copy vào `.claude/commands/` khi init/upgrade. Gõ `/` trong Claude Code để autocomplete.\n\n| Command | Mục đích |\n|---------|----------|\n| `/spec-status` | Hiển thị phase hiện tại + declared sections + coverage matrix + orphan sections |\n| `/spec-init` | Bootstrap `spec-index.yaml` từ spec doc có sẵn (giúp khởi tạo cho repo đã có spec) |\n| `/phase-review` | Chạy Gate 4.5 — spawn 3 agent (reviewer + verifier + critic) song song, mỗi agent ghi verdict vào `.omc/reviews/<phase>-<role>.md` |\n| `/phase-promote` | Gate 5 — pre-check (orphan=0, tests pass, build pass, PROGRESS.md <24h, 3 reviews approved) → update `spec-index.yaml active_phase` → commit `phase-promote:` |\n\n---\n\n## Các CLI (npx)\n\nDùng khi không có slash command (ví dụ CI, hoặc consumer dùng pure npm install).\n\n| Lệnh | Mục đích |\n|---|---|\n| `npx mega-template-init` | Bootstrap consumer mới |\n| `npx mega-template-upgrade [--dry-run]` | Idempotent patch consumer cũ lên version mới nhất |\n| `npx mega-template-status` | Tương đương `/spec-status`, output table |\n| `npx mega-template-coverage` | Coverage matrix chi tiết (grep `@spec` trong mọi src file) |\n\n---\n\n## File cấu hình: `spec-index.yaml`\n\nToàn bộ hook đọc từ file này — 1 nơi chỉnh = đổi tất cả gate.\n\n```yaml\nactive_phase: phase-1\nspec: docs/memory-consumer-spec-v4.md\nlayout: monorepo                # flat | monorepo\n\nphases:\n  phase-1:\n    status: in-progress\n    sections: [2, 3, 4, 5, 6, 7]\n    paths:\n      - packages/memory-consumer/src/**\n      - packages/memory-consumer/tests/**\n\n  phase-2:\n    status: planned\n    gate: \"phase-1.status == verified\"\n    sections: [8, 9]\n    paths:\n      - packages/memory-consumer/src/phase2/**\n\n# === Quality Gates ===\n\ntdd:\n  enabled: true\n  src_patterns: [\"packages/memory-consumer/src/**\"]\n  test_conventions:\n    - pattern: \"^packages/memory-consumer/src/(.*)\\\\.ts$\"\n      test: \"packages/memory-consumer/tests/$1.test.ts\"\n  exclude:\n    - \"**/*.d.ts\"\n    - \"**/index.ts\"\n    - \"**/types.ts\"\n\ne2e:\n  enabled: true\n  test_patterns:\n    - \"**/*.e2e.test.*\"\n    - \"**/e2e/**/*.test.*\"\n  extra_blocked_patterns: []\n\nverification:\n  enabled: true\n  strictness: session           # strict | session | relaxed\n  evidence_patterns:\n    - \"test-results/**/*.json\"\n    - \"coverage/**\"\n    - \"e2e/results/**\"\n  exclude_prefixes:\n    - \"docs:\"\n    - \"chore:\"\n    - \"infra:\"\n    - \"ci:\"\n    - \"build:\"\n\nreview:\n  enabled: true\n  required: [reviewer, verifier, critic]\n  artifact_dir: .omc/reviews\n  accept_verdicts: [approved, approved-with-notes]\n\ndecisions:\n  enabled: true\n  auto_apply:\n    - V5-R011   # fix root cause over band-aid\n    - V5-R030   # TDD-first ordering\n    - V5-R053   # commit-prefix exclusions\n    - V5-R054   # session-mode verification\n  constraint_defaults:\n    - hot_path_purity\n    - session_ended_trigger\n    - model_reuse\n    - bounded_backoff\n  user_choice:\n    - scope_prioritization\n    - oversight_level\n    - external_api_design\n```\n\n---\n\n## Workflow state: `.omc/state/workflow.json`\n\nFile điều khiển slice-order. Tạo bởi `/ralplan` hoặc `/autopilot`,\ncập nhật sau mỗi commit slice xong.\n\n```json\n{\n  \"phase\": \"phase-1\",\n  \"plan_file\": \"docs/plans/phase-1-plan.md\",\n  \"started_at\": \"2026-04-14T04:50:00Z\",\n  \"slices\": [\n    {\"id\": \"01\", \"title\": \"Project scaffold\", \"status\": \"done\", \"commit\": \"cd0d170\"},\n    {\"id\": \"02\", \"title\": \"WS client\", \"status\": \"in-progress\", \"commit\": null},\n    {\"id\": \"03\", \"title\": \"Extraction pipeline\", \"status\": \"pending\", \"commit\": null}\n  ],\n  \"updated_at\": \"2026-04-14T05:10:00Z\"\n}\n```\n\n**Commit convention khi có workflow.json:**\n\n```\nv5-<phase>.slice-<NN>: <mô tả>        # ví dụ: v5-phase-1.slice-02: implement WS client\nv5-<phase>.step-<NN>: <mô tả>         # alias\nv5-<phase>.hotfix: <mô tả>            # exempt\ndocs: / chore: / infra: / ci:         # exempt\nphase-promote: <mô tả>                # gated bởi check-review-evidence\n```\n\nKhông có `workflow.json` → `enforce-slice-order` no-op, repo không bị ảnh hưởng.\n\n---\n\n## Rule registry\n\n60+ rule Doorstop-style trong thư mục `rules/`. Tham chiếu bằng ID cố định:\n\n```yaml\n# rules/V5-R011.yaml\nid: V5-R011\ntitle: Fix root cause, not symptoms\nstatus: active\ncategory: no-workaround\nseverity: high\ndescription: |\n  Khi gặp bug, agent phải tìm root cause và fix tại gốc,\n  không được viết workaround che symptom.\nenforcement:\n  type: doc\nadded: 2026-04-10\n```\n\nQuery:\n```bash\n# Rule by ID\ncat rules/V5-R011.yaml\n\n# Search by category\ngrep -l \"category: enforcement\" rules/*.yaml\n\n# Xem hook nào bind rule nào\ngrep -H \"hook:\" rules/*.yaml\n```\n\nPhân vùng ID:\n- `V5-R001..R015` — baseline consumer rules\n- `V5-R016..R018` — mega-template v0.1.0 enforcement\n- `V5-R030..R034` — TDD\n- `V5-R040..R043` — E2E integrity\n- `V5-R050..R054` — verification evidence\n- `V5-R055..R056` — independent review gate (v0.4.0)\n- `V5-R057..R058` — decision mode (v0.5.0)\n- `V5-R059..R060` — slice-order enforcement (v0.8.0)\n\n---\n\n## Ví dụ minh hoạ\n\n### 1. Bootstrap dự án mới\n\n```bash\nmkdir my-consumer && cd my-consumer\ngit init\nnpm install @agentic-gateway/mega-template\nnpx mega-template-init --non-interactive \\\n    --project my-consumer \\\n    --package my-consumer \\\n    --phase phase-1 \\\n    --sections \"1,2,3\" \\\n    --spec docs/my-consumer-spec.md \\\n    --layout flat\n\n# Viết spec thật tại docs/my-consumer-spec.md\ncode docs/my-consumer-spec.md\n\ngit add .\ngit commit -m \"infra: bootstrap mega-template\"\n```\n\nMở Claude Code tại thư mục root, gõ:\n```\nstart my-consumer phase-1\n```\n\nSkill `consumer-feature` tự trigger, Gate 1 chạy.\n\n### 2. Agent bị drift off-topic\n\nUser trong session gõ:\n```\nhow do i configure printer spooler driver on windows 11 machines\n```\n\nload-context hook inject `<off-topic-warning>` → agent phản hồi:\n> \"Prompt này không chia sẻ từ khóa với phase-1 sections (architecture, data, model). Bạn muốn:\n> - Pause phase hiện tại?\n> - Thêm vào backlog phase-N+1?\n> - Pivot chính thức qua `/ralplan` (revise workflow.json)?\"\n\nAgent kéo user về flow chính thay vì lạc theo.\n\n### 3. Agent cố commit nhảy slice\n\nAgent (đã code xong slice-02 WS client) cố commit:\n```\ngit commit -m \"v5-phase-1.slice-03: jump ahead\"\n```\n\nHook `enforce-slice-order` block exit 2:\n```\n[mega:enforce-slice-order] BLOCKED: slice-id mismatch (V5-R060 — no mid-phase pivot).\n  Commit claims slice-3, workflow expects slice-2.\n  Active phase: phase-1\n  Expected next: 02 — WS client + event router\n  Complete the pending slice first, or revise the plan via /ralplan.\n```\n\nAgent đổi về `v5-phase-1.slice-02: implement WS client` → commit pass.\n\n### 4. Agent cố promote phase thiếu review\n\n```\ngit commit -m \"phase-promote: phase-1 verified -> phase-2 active\"\n```\n\nHook `check-review-evidence` block:\n```\n[mega:check-review-evidence] BLOCKED: phase-promote requires independent reviews (V5-R055, V5-R056).\n  Active phase: phase-1\n  Missing:\n    - .omc/reviews/phase-1-reviewer.md\n    - .omc/reviews/phase-1-verifier.md\n    - .omc/reviews/phase-1-critic.md\n  Fix: run /phase-review to generate artifacts, or address reviewer findings.\n```\n\nUser gõ `/phase-review` → 3 agent spawn song song → tạo 3 artifact với verdict.\nRồi mới `/phase-promote` pass được.\n\n### 5. Resume session mới\n\nUser mở Claude Code trong consumer repo đã có `workflow.json` phase-1\nđang làm slice-03. Gõ bất kỳ prompt nào, load-context inject:\n\n```xml\n<active-flow>\nPhase: phase-1 — slice 2/7\nCurrent: slice-03 Extraction pipeline\nLast done: slice-02 (commit 8ab44a2)\nNext: slice-04 — Injection pipeline\nResume hint: reply \"continue\" or \"/autopilot resume\" to proceed.\n</active-flow>\n```\n\nAgent biết ngay context, user gõ `continue` → agent resume slice-03 không cần nói lại gì.\n\n### 6. Emergency bypass\n\nCó bug pre-commit khẩn, không chờ CI được:\n\n```bash\nCLAUDE_SKIP_HOOKS=1 git commit -m \"v5-phase-1.slice-02: emergency fix\n\nBypass reason: CI xuống, patch hotfix để giữ service up.\nFollow-up: issue #42 sẽ restore proper test coverage.\n\"\n```\n\nMọi bypass **phải** document lý do trong commit body + link follow-up issue. Git log audit được.\n\n---\n\n## Ghi chú Windows/PowerShell\n\n### PowerShell 5 không hỗ trợ `&&`\n\nDùng `;` để chain hoặc chạy từng lệnh:\n```powershell\nnpm install @agentic-gateway/mega-template ; npx mega-template-init\n```\n\n### Node 20+ yêu cầu\n\nHook dùng ES modules + `node:fs/promises`. Kiểm tra:\n```powershell\nnode --version   # >= 20.0.0\n```\n\n### Absolute path\n\nTừ v0.8.1, hook command trong `.claude/settings.json` dùng absolute path.\nHoạt động dù Claude Code CWD là monorepo root hay subpackage. Không cần\nmở session từ đúng folder root.\n\n### Line endings\n\nHook tự handle CRLF normalization. Không cần action.\n\n---\n\n## Bypass khẩn cấp\n\n```bash\nCLAUDE_SKIP_HOOKS=1 <command>\n```\n\nDisable **toàn bộ hook**. Dùng cho:\n- Emergency hotfix\n- Rescue workflow khi config corrupt\n- Migration giữa version mega-template\n\nBypass **phải** document trong commit body:\n```\nBypass reason: <lý do cụ thể>\nFollow-up: <link issue restore proper flow>\n```\n\nAlternative chỉ disable 1 hook cụ thể:\n- `verification.strictness: relaxed` — tắt enforce-verification\n- `review.enabled: false` — tắt check-review-evidence + phase-review gate\n- `decisions.enabled: false` — tắt inject-decision-rules\n\n---\n\n## Chạy 2 phase song song\n\n`spec-index.yaml` chỉ có 1 `active_phase`. Muốn làm phase-2a infra +\nphase-2b feature spike đồng thời → dùng **git worktree**:\n\n```bash\n# Main checkout: đang làm phase-2a\ncd <consumer-repo>\n\n# Tạo worktree thứ 2 cho phase-2b spike\ngit worktree add ../<consumer-repo>-phase-2b phase-2b-branch\n\n# Worktree mới: flip active_phase\ncd ../<consumer-repo>-phase-2b\n# edit spec-index.yaml → active_phase: phase-2b\n\n# Mở Claude Code session thứ 2 tại worktree này\n```\n\nMỗi Claude Code session chỉ thấy worktree của nó → enforcement fully scoped.\nSpike xong merge branch + `git worktree remove`.\n\n---\n\n## License\n\nMIT\n\n## Support\n\n- GitHub: https://github.com/vunh2301/agentic-gateway-mega-template\n- Issues: https://github.com/vunh2301/agentic-gateway-mega-template/issues\n- npm: https://www.npmjs.com/package/@agentic-gateway/mega-template\n","readmeFilename":"README.md"}