gl-life-claude-zen 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +42 -0
- package/README.md +1 -0
- package/bin/create-gl-life-claude.js +56 -1
- package/dist/hooks/auto-format.js +1 -1
- package/dist/hooks/complete-task.js +1 -1
- package/dist/hooks/enforce-migration-workflow.js +1 -1
- package/dist/hooks/enforce-structured-development.js +1 -1
- package/dist/hooks/enforce-test-pyramid.js +1 -1
- package/dist/hooks/init-task-tracker.js +1 -1
- package/dist/hooks/start-task.js +1 -1
- package/dist/hooks/task-status.js +1 -1
- package/dist/hooks/validate-database-changes.js +1 -1
- package/dist/hooks/validate-e2e-coverage.js +1 -1
- package/dist/hooks/validate-git-workflow.js +1 -1
- package/dist/hooks/validate-integration-site.js +1 -1
- package/dist/hooks/validate-migration-impact.js +1 -1
- package/dist/hooks/validate-task-completion.js +1 -1
- package/dist/hooks/validate-test-quality.js +1 -1
- package/dist/hooks/validate-test-results.js +1 -1
- package/dist/hooks/validate-ui-integration.js +1 -1
- package/dist/scripts/help.js +1 -1
- package/dist/scripts/plan-amend.js +1 -1
- package/dist/scripts/plan-create.js +1 -1
- package/dist/scripts/plan-help.js +1 -1
- package/dist/scripts/plan-init.js +1 -1
- package/dist/scripts/plan-manager.js +1 -1
- package/dist/scripts/setup-git-hooks.js +1 -1
- package/dist/scripts/task-done.js +1 -1
- package/dist/scripts/task-merge.js +1 -1
- package/dist/scripts/task-next.js +1 -1
- package/dist/scripts/task-start.js +1 -1
- package/dist/scripts/task-status.js +1 -1
- package/lib/init.js +6 -6
- package/package.json +2 -1
- package/templates/.gitignore +14 -0
- package/templates/README.md +4 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
var
|
|
2
|
+
var _0x4094a4=_0x24a2;(function(_0x398586,_0x460524){var _0x783f55=_0x24a2,_0x293469=_0x398586();while(!![]){try{var _0x4dc24c=-parseInt(_0x783f55(0x159))/0x1+parseInt(_0x783f55(0x196))/0x2*(-parseInt(_0x783f55(0x172))/0x3)+parseInt(_0x783f55(0x189))/0x4+parseInt(_0x783f55(0x192))/0x5*(-parseInt(_0x783f55(0x157))/0x6)+parseInt(_0x783f55(0x180))/0x7+parseInt(_0x783f55(0x163))/0x8*(-parseInt(_0x783f55(0x191))/0x9)+parseInt(_0x783f55(0x15b))/0xa*(parseInt(_0x783f55(0x18c))/0xb);if(_0x4dc24c===_0x460524)break;else _0x293469['push'](_0x293469['shift']());}catch(_0x5448ee){_0x293469['push'](_0x293469['shift']());}}}(_0x39db,0xbacb8));var _0x1829fb=(function(){var _0x29e03b=_0x24a2,_0x5738bf={};_0x5738bf[_0x29e03b(0x187)]=function(_0x37de28,_0x275a2c){return _0x37de28>_0x275a2c;},_0x5738bf[_0x29e03b(0x16b)]=function(_0xc11d34,_0x849020){return _0xc11d34===_0x849020;},_0x5738bf['gcboN']='Consider:\x20Does\x20each\x20test\x20have\x20proper\x20assertions?',_0x5738bf['osLWZ']=_0x29e03b(0x17e),_0x5738bf[_0x29e03b(0x155)]=_0x29e03b(0x166);var _0x36f7dd=_0x5738bf,_0x304254=!![];return function(_0x525598,_0x1d221c){var _0x439947=_0x29e03b,_0x1bb192={'NXJWW':function(_0x54098f,_0x1031bd){var _0x3471f1=_0x24a2;return _0x36f7dd[_0x3471f1(0x187)](_0x54098f,_0x1031bd);},'LHGKm':function(_0xa57f4,_0xe6b616){var _0x3c2085=_0x24a2;return _0x36f7dd[_0x3c2085(0x16b)](_0xa57f4,_0xe6b616);},'BvdTp':_0x439947(0x18f),'likbK':_0x36f7dd['gcboN']};if(_0x36f7dd[_0x439947(0x16d)]!==_0x36f7dd[_0x439947(0x155)]){var _0x23b13a=_0x304254?function(){var _0x52e6fa=_0x439947;if(_0x1d221c){var _0x1ce776=_0x1d221c[_0x52e6fa(0x17f)](_0x525598,arguments);return _0x1d221c=null,_0x1ce776;}}:function(){};return _0x304254=![],_0x23b13a;}else{let _0x5a37d7=_0x192029['match'](/\b(it|test)\s*\(/g),_0x467531=_0x29376e[_0x439947(0x185)](/\b(expect|assert|should)\s*\(/g);if(_0x5a37d7&&_0x1bb192[_0x439947(0x186)](_0x5a37d7[_0x439947(0x170)],0x0)){(!_0x467531||_0x1bb192['LHGKm'](_0x467531[_0x439947(0x170)],0x0))&&(_0x2b56af[_0x439947(0x16c)](_0x1bb192[_0x439947(0x18a)]),_0x3301da[_0x439947(0x16c)](_0x439947(0x154)));let _0x190290=_0x5a37d7['length'],_0x17cdbf=_0x467531?_0x467531[_0x439947(0x170)]:0x0;_0x17cdbf<_0x190290&&(_0x380d97[_0x439947(0x16c)](_0x439947(0x182)+_0x190290+'\x20tests\x20but\x20only\x20'+_0x17cdbf+'\x20assertions'),_0x14ad1c[_0x439947(0x16c)](_0x1bb192[_0x439947(0x167)]));}}};}()),_0x3c68d2=_0x1829fb(this,function(){var _0x37057d=_0x24a2,_0x3bbca3={};_0x3bbca3[_0x37057d(0x16f)]=_0x37057d(0x175);var _0x3e5dd9=_0x3bbca3;return _0x3c68d2['toString']()[_0x37057d(0x153)](_0x3e5dd9['NQsmM'])['toString']()[_0x37057d(0x165)](_0x3c68d2)[_0x37057d(0x153)](_0x3e5dd9[_0x37057d(0x16f)]);});_0x3c68d2();var c=(_0x15662a=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x15662a,{'get':(_0x35b6ef,_0x40556a)=>(typeof require<'u'?require:_0x35b6ef)[_0x40556a]}):_0x15662a)(function(_0x451d9a){var _0x46c356=_0x24a2,_0x17f9d1={'dWnAr':function(_0x4cd1a4,_0x2295c8){return _0x4cd1a4<_0x2295c8;},'WwxCr':function(_0x34b2da,_0x1bbe2d){return _0x34b2da(_0x1bbe2d);},'LbNYp':function(_0x13cdcc,_0x48c58f){return _0x13cdcc+_0x48c58f;},'NpQYH':function(_0x45552f,_0x16c37e){return _0x45552f+_0x16c37e;},'TmHmk':'Dynamic\x20require\x20of\x20\x22','feYBl':'\x22\x20is\x20not\x20supported'};if(_0x17f9d1['dWnAr'](typeof require,'u'))return require[_0x46c356(0x17f)](this,arguments);throw _0x17f9d1[_0x46c356(0x15e)](Error,_0x17f9d1[_0x46c356(0x194)](_0x17f9d1[_0x46c356(0x15d)](_0x17f9d1[_0x46c356(0x177)],_0x451d9a),_0x17f9d1[_0x46c356(0x195)]));}),h=c('fs'),f=c(_0x4094a4(0x17c)),m=process[_0x4094a4(0x15f)][0x2]||'{}',p;try{p=JSON[_0x4094a4(0x176)](m);}catch{process[_0x4094a4(0x16e)](0x0);}var i=p[_0x4094a4(0x18d)]?.[_0x4094a4(0x18e)];(!i||!i[_0x4094a4(0x185)](/\.(test|spec)\.(ts|tsx|js|jsx|py)$/))&&process['exit'](0x0),h[_0x4094a4(0x171)](i)||process['exit'](0x0);var e=h[_0x4094a4(0x16a)](i,_0x4094a4(0x193)),l=e[_0x4094a4(0x15a)]('\x0a'),u=f['basename'](i),t=[],n=[],g=/(it|test|describe)\s*\(\s*['"`].*['"`]\s*,\s*\(\s*\)\s*=>\s*\{\s*\}\s*\)/g;g[_0x4094a4(0x169)](e)&&(n[_0x4094a4(0x16c)]('BLOCKED:\x20Empty\x20test\x20body\x20detected'),n[_0x4094a4(0x16c)](_0x4094a4(0x168)));var d=/(it|test)\s*\(\s*['"`].*['"`]\s*,\s*(?:async\s*)?\(\s*\)\s*=>\s*\{\s*\/\/[^\n]*\s*\}\s*\)/g;d[_0x4094a4(0x169)](e)&&n[_0x4094a4(0x16c)](_0x4094a4(0x15c));if(i[_0x4094a4(0x185)](/\.(test|spec)\.(ts|tsx|js|jsx)$/)){let s=e[_0x4094a4(0x185)](/\b(it|test)\s*\(/g),o=e[_0x4094a4(0x185)](/\b(expect|assert|should)\s*\(/g);if(s&&s[_0x4094a4(0x170)]>0x0){(!o||o[_0x4094a4(0x170)]===0x0)&&(n[_0x4094a4(0x16c)](_0x4094a4(0x18f)),n[_0x4094a4(0x16c)]('Every\x20test\x20must\x20have\x20at\x20least\x20one\x20expect()\x20or\x20assert()'));let a=s[_0x4094a4(0x170)],r=o?o[_0x4094a4(0x170)]:0x0;r<a&&(t[_0x4094a4(0x16c)](_0x4094a4(0x182)+a+_0x4094a4(0x158)+r+_0x4094a4(0x173)),t[_0x4094a4(0x16c)](_0x4094a4(0x160)));}}function _0x39db(){var _0x5c3061=['tlHJH','likbK','Tests\x20must\x20contain\x20actual\x20assertions,\x20not\x20just\x20empty\x20functions','test','readFileSync','QyxEg','push','osLWZ','exit','NQsmM','length','existsSync','3oCLxnv','\x20assertions','\x20lines','(((.+)+)+)+$','parse','TmHmk','WARNING:\x20Test\x20file\x20is\x20only\x20','File:\x20','Is\x20this\x20a\x20complete\x20test?','warn','path','\x0a❌\x20TEST\x20QUALITY\x20CHECK\x20FAILED\x0a','jmzqk','apply','9610734ztWeCr','Skipped\x20tests\x20should\x20be\x20fixed,\x20not\x20committed','WARNING:\x20','WARNING:\x20Tests\x20appear\x20to\x20only\x20verify\x20mocks\x20were\x20called','forEach','match','NXJWW','RRsbf','BLOCKED:\x20Test\x20file\x20contains\x20test\x20methods\x20but\x20NO\x20assertions','2999180banGaE','BvdTp','Every\x20test\x20must\x20have\x20at\x20least\x20one\x20assert\x20statement','11FRIUWK','tool_input','file_path','BLOCKED:\x20Test\x20file\x20contains\x20test\x20cases\x20but\x20NO\x20assertions','WARNING:\x20print()\x20statements\x20found\x20in\x20test\x20file','495rdrhko','815nEQwtl','utf8','LbNYp','feYBl','2124788myaCaO','search','Every\x20test\x20must\x20have\x20at\x20least\x20one\x20expect()\x20or\x20assert()','BeNjS','Consider\x20testing\x20actual\x20behavior,\x20not\x20just\x20mock\x20interactions','10014cHzjGl','\x20tests\x20but\x20only\x20','15082scUVEK','split','12888330pHCoYz','BLOCKED:\x20Test\x20contains\x20only\x20comments,\x20no\x20actual\x20code','NpQYH','WwxCr','argv','Consider:\x20Does\x20each\x20test\x20have\x20proper\x20assertions?','Remove\x20debug\x20statements\x20before\x20committing','\x0aConsider\x20addressing\x20these\x20issues.\x0a','188648Dkvoxy','error','constructor'];_0x39db=function(){return _0x5c3061;};return _0x39db();}if(i[_0x4094a4(0x185)](/\.(test|spec)\.py$/)||i['includes']('test_')){let s=e[_0x4094a4(0x185)](/def\s+test_\w+\s*\(/g),o=e['match'](/\bassert\s+/g);if(s&&s[_0x4094a4(0x170)]>0x0){(!o||o[_0x4094a4(0x170)]===0x0)&&(n['push'](_0x4094a4(0x188)),n[_0x4094a4(0x16c)](_0x4094a4(0x18b)));let a=s[_0x4094a4(0x170)],r=o?o[_0x4094a4(0x170)]:0x0;r<a&&t['push'](_0x4094a4(0x182)+a+_0x4094a4(0x158)+r+_0x4094a4(0x173));}}var b=[/\b(it\.skip|test\.skip|describe\.skip|xit|xdescribe)\s*\(/g,/\b@pytest\.mark\.skip/g,/\bskip\s*=\s*True/g];for(let s of b)s[_0x4094a4(0x169)](e)&&(t[_0x4094a4(0x16c)]('WARNING:\x20Test\x20contains\x20skip/ignore\x20markers'),t['push'](_0x4094a4(0x181)));e[_0x4094a4(0x185)](/console\.log\s*\(/g)&&(t['push']('WARNING:\x20console.log()\x20found\x20in\x20test\x20file'),t[_0x4094a4(0x16c)](_0x4094a4(0x161))),e['match'](/^\s*print\s*\(/gm)&&(t[_0x4094a4(0x16c)](_0x4094a4(0x190)),t[_0x4094a4(0x16c)]('Remove\x20debug\x20statements\x20before\x20committing'));var y=/(it|test)\s*\([^)]+\)\s*=>\s*\{\s*(?:const|let|var)\s+\w+\s*=\s*(?:jest\.fn|vi\.fn|sinon\.stub|mock)\(\)/g;e[_0x4094a4(0x185)](y)&&(e[_0x4094a4(0x185)](/expect\([^)]+\)\.(?!toHaveBeenCalled)/g)||[])[_0x4094a4(0x170)]===0x0&&(t[_0x4094a4(0x16c)](_0x4094a4(0x183)),t['push'](_0x4094a4(0x156)));var T=[/expect\s*\(\s*true\s*\)\.toBe\s*\(\s*true\s*\)/g,/expect\s*\(\s*1\s*\)\.toBe\s*\(\s*1\s*\)/g,/assert\s+True\s*==\s*True/g,/assert\s+1\s*==\s*1/g];function _0x24a2(_0x6ce1cd,_0xca6ab7){_0x6ce1cd=_0x6ce1cd-0x153;var _0x80abd0=_0x39db();var _0x3c68d2=_0x80abd0[_0x6ce1cd];return _0x3c68d2;}for(let s of T)s[_0x4094a4(0x169)](e)&&(n[_0x4094a4(0x16c)]('BLOCKED:\x20Trivial/tautological\x20test\x20detected'),n[_0x4094a4(0x16c)]('Tests\x20like\x20expect(true).toBe(true)\x20are\x20meaningless'),n[_0x4094a4(0x16c)]('Write\x20tests\x20that\x20verify\x20actual\x20functionality'));l[_0x4094a4(0x170)]<0xa&&(t[_0x4094a4(0x16c)](_0x4094a4(0x178)+l['length']+_0x4094a4(0x174)),t[_0x4094a4(0x16c)](_0x4094a4(0x17a)));var x=/(it|test)\s*\([^)]+\)\s*=>\s*\{\s*(?:\/\/[^\n]*)?\s*\}\s*\)/g;x[_0x4094a4(0x169)](e)&&n['push']('BLOCKED:\x20Test\x20has\x20no\x20implementation'),n['length']>0x0&&(console[_0x4094a4(0x164)](_0x4094a4(0x17d)),console[_0x4094a4(0x164)](_0x4094a4(0x179)+u+'\x0a'),n[_0x4094a4(0x184)](_0x3457ff=>console['error']('\x20\x20'+_0x3457ff)),console[_0x4094a4(0x164)]('\x0aFix\x20these\x20issues\x20before\x20proceeding.\x0a'),process[_0x4094a4(0x16e)](0x2)),t[_0x4094a4(0x170)]>0x0&&(console[_0x4094a4(0x17b)]('\x0a⚠️\x20\x20TEST\x20QUALITY\x20WARNINGS\x0a'),console[_0x4094a4(0x17b)](_0x4094a4(0x179)+u+'\x0a'),t[_0x4094a4(0x184)](_0x3925cb=>console[_0x4094a4(0x17b)]('\x20\x20'+_0x3925cb)),console[_0x4094a4(0x17b)](_0x4094a4(0x162))),process[_0x4094a4(0x16e)](0x0);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const
|
|
2
|
+
const _0x5be2de=_0x12ba;(function(_0x3fdb57,_0x221b0c){const _0x1a677d=_0x12ba,_0x2dcd52=_0x3fdb57();while(!![]){try{const _0x3d7112=-parseInt(_0x1a677d(0x176))/0x1+parseInt(_0x1a677d(0x16c))/0x2*(parseInt(_0x1a677d(0x162))/0x3)+parseInt(_0x1a677d(0x14d))/0x4+parseInt(_0x1a677d(0x167))/0x5+-parseInt(_0x1a677d(0x151))/0x6+parseInt(_0x1a677d(0x173))/0x7*(-parseInt(_0x1a677d(0x15c))/0x8)+parseInt(_0x1a677d(0x177))/0x9;if(_0x3d7112===_0x221b0c)break;else _0x2dcd52['push'](_0x2dcd52['shift']());}catch(_0xc76e72){_0x2dcd52['push'](_0x2dcd52['shift']());}}}(_0x301f,0xd1ca7));const _0x86c949=(function(){const _0x242a64=_0x12ba,_0x5ce609={'QXGcr':function(_0x294582,_0x3247b3){return _0x294582(_0x3247b3);},'RGIZi':function(_0x17dce7,_0x59fc3a){return _0x17dce7/_0x59fc3a;},'QkXKn':function(_0x3a64ab,_0x3dd22d){return _0x3a64ab<_0x3dd22d;},'tfScH':function(_0x165231,_0x3d858e){return _0x165231<_0x3d858e;},'yhAvZ':function(_0x592300,_0x48f31f){return _0x592300(_0x48f31f);},'RwIeJ':function(_0x16dae8,_0x47b4de){return _0x16dae8+_0x47b4de;},'DQlit':'\x22\x20is\x20not\x20supported','KoKSk':function(_0x19bc75,_0x16e13a){return _0x19bc75===_0x16e13a;},'eTdLI':'NPtTK','GrpWb':function(_0x10616c,_0x134f13){return _0x10616c!==_0x134f13;},'YpXEu':'vzpWq','kvWrb':_0x242a64(0x154),'KjuEL':_0x242a64(0x182)};let _0xb1f891=!![];return function(_0x1350c8,_0x4f09d2){const _0x45fedf=_0x242a64;if(_0x5ce609[_0x45fedf(0x18f)](_0x45fedf(0x182),_0x5ce609[_0x45fedf(0x17f)])){const _0x585df1=_0x3c1330[_0x45fedf(0x165)](_0x54dbd1,arguments);return _0x2d3a1c=null,_0x585df1;}else{const _0x4cec36=_0xb1f891?function(){const _0x2e5a6a=_0x45fedf,_0x3c5bb3={'BUJHe':function(_0x1dbcdf,_0x1a21be){return _0x5ce609['QXGcr'](_0x1dbcdf,_0x1a21be);},'qaTxa':function(_0x258762,_0x3fdaac){const _0x5e489b=_0x12ba;return _0x5ce609[_0x5e489b(0x17d)](_0x258762,_0x3fdaac);},'UndXS':function(_0x304a65,_0x527ff4){const _0x3e32c4=_0x12ba;return _0x5ce609[_0x3e32c4(0x166)](_0x304a65,_0x527ff4);},'IbwyU':function(_0x497385,_0x34adb4){return _0x5ce609['tfScH'](_0x497385,_0x34adb4);},'HKXcI':function(_0x39c3dd,_0x543d59){return _0x5ce609['yhAvZ'](_0x39c3dd,_0x543d59);},'RHiPE':function(_0x50ba22,_0xfa96e){const _0x1f321a=_0x12ba;return _0x5ce609[_0x1f321a(0x181)](_0x50ba22,_0xfa96e);},'jIRKw':function(_0x188b1b,_0x273fcc){return _0x188b1b+_0x273fcc;},'huWbY':_0x2e5a6a(0x188),'HXPvw':_0x5ce609[_0x2e5a6a(0x160)]};if(_0x5ce609['KoKSk'](_0x5ce609[_0x2e5a6a(0x17a)],_0x5ce609[_0x2e5a6a(0x17a)])){if(_0x4f09d2){if(_0x5ce609[_0x2e5a6a(0x18f)](_0x5ce609[_0x2e5a6a(0x187)],_0x5ce609[_0x2e5a6a(0x18b)])){const _0x4346d0=_0x4f09d2[_0x2e5a6a(0x165)](_0x1350c8,arguments);return _0x4f09d2=null,_0x4346d0;}else{let _0x466410=_0x3c5bb3[_0x2e5a6a(0x183)](_0x4fa183,_0x388f36[0x1]),_0x4df543=_0x26dd0a[_0x2e5a6a(0x16d)](/(\d+)\s+passed/);if(_0x4df543){let _0x3b37be=_0x142ba3(_0x4df543[0x1]),_0x18b2c7=_0x3c5bb3[_0x2e5a6a(0x150)](_0x466410,_0x3b37be);_0x3c5bb3[_0x2e5a6a(0x175)](_0x18b2c7,0.0001)&&_0x3c5bb3[_0x2e5a6a(0x175)](_0x466410,0x1)&&(_0x5b3bdf['push'](_0x2e5a6a(0x161)),_0x5cf13a['push'](_0x3b37be+_0x2e5a6a(0x18a)+_0x466410+_0x2e5a6a(0x16b)+_0x18b2c7[_0x2e5a6a(0x184)](0x4)+_0x2e5a6a(0x163)),_0x4a5845[_0x2e5a6a(0x15b)](_0x2e5a6a(0x172)));}}}}else{if(_0x3c5bb3['IbwyU'](typeof _0x349872,'u'))return _0x1ff7de[_0x2e5a6a(0x165)](this,arguments);throw _0x3c5bb3['HKXcI'](_0x49abbe,_0x3c5bb3[_0x2e5a6a(0x178)](_0x3c5bb3[_0x2e5a6a(0x155)](_0x3c5bb3[_0x2e5a6a(0x18c)],_0x5b7f58),_0x3c5bb3[_0x2e5a6a(0x152)]));}}:function(){};return _0xb1f891=![],_0x4cec36;}};}()),_0x54e1ab=_0x86c949(this,function(){const _0x93271f=_0x12ba,_0xf42da9={};_0xf42da9[_0x93271f(0x15d)]='(((.+)+)+)+$';const _0x35baaf=_0xf42da9;return _0x54e1ab[_0x93271f(0x16f)]()[_0x93271f(0x158)](_0x93271f(0x14f))[_0x93271f(0x16f)]()['constructor'](_0x54e1ab)[_0x93271f(0x158)](_0x35baaf[_0x93271f(0x15d)]);});_0x54e1ab();var p=(_0x527f65=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x527f65,{'get':(_0x4a9cba,_0x3a4c03)=>(typeof require<'u'?require:_0x4a9cba)[_0x3a4c03]}):_0x527f65)(function(_0x107c90){const _0x4674c5=_0x12ba,_0x5669d9={};_0x5669d9['CREKx']=function(_0x1fda5c,_0x206d82){return _0x1fda5c<_0x206d82;},_0x5669d9[_0x4674c5(0x174)]=function(_0x2619c7,_0x3a827e){return _0x2619c7+_0x3a827e;};const _0x541239=_0x5669d9;if(_0x541239['CREKx'](typeof require,'u'))return require['apply'](this,arguments);throw Error(_0x541239[_0x4674c5(0x174)](_0x541239[_0x4674c5(0x174)]('Dynamic\x20require\x20of\x20\x22',_0x107c90),_0x4674c5(0x17e)));}),N=p('fs'),A=p('path'),d=process[_0x5be2de(0x180)][0x2]||'{}',u=JSON[_0x5be2de(0x14b)](d),h=u['tool_input']?.[_0x5be2de(0x171)]||'',t=u[_0x5be2de(0x17c)]||'';h['match'](/npm\s+(run\s+)?test|jest|pytest|vitest|mocha|ava/)||process['exit'](0x0);var o=[],e=[],m=[/Tests:\s+0\s+total/i,/0\s+passed/i,/No tests found/i,/collected 0 items/i,/0 tests?,\s+0 assertions?/i];for(let s of m)s[_0x5be2de(0x170)](t)&&(o[_0x5be2de(0x15b)](_0x5be2de(0x168)),o[_0x5be2de(0x15b)](_0x5be2de(0x15e)),o[_0x5be2de(0x15b)](_0x5be2de(0x157)+h));function _0x12ba(_0x1698fd,_0xa28e7f){_0x1698fd=_0x1698fd-0x14b;const _0x5e725c=_0x301f();let _0x54e1ab=_0x5e725c[_0x1698fd];return _0x54e1ab;}if(t[_0x5be2de(0x16d)](/(\d+)\s+skipped/)||t[_0x5be2de(0x16d)](/(\d+)\s+todo/)){let s=t['match'](/(\d+)\s+(?:skipped|todo)/),n=t[_0x5be2de(0x16d)](/(\d+)\s+passed/);s&&(!n||n[0x1]==='0')&&(o[_0x5be2de(0x15b)](_0x5be2de(0x159)),o['push'](_0x5be2de(0x18d)));}var l=[/Time:\s+([\d.]+)\s*m?s/i,/Ran\s+\d+\s+tests?\s+in\s+([\d.]+)s/i,/Duration:\s+([\d.]+)\s*m?s/i];function _0x301f(){const _0x42d11c=['Are\x20you\x20running\x20actual\x20tests\x20or\x20just\x20loading\x20mocks?','Command:\x20','search','BLOCKED:\x20All\x20tests\x20were\x20skipped/marked\x20as\x20TODO','Verify\x20snapshots\x20are\x20actually\x20correct,\x20not\x20just\x20auto-accepting\x20changes','push','6510488UdmYTx','CuZTu','Test\x20files\x20may\x20be\x20empty\x20or\x20not\x20properly\x20configured','WARNING:\x20Test\x20output\x20is\x20very\x20minimal','DQlit','WARNING:\x20Tests\x20ran\x20suspiciously\x20fast','6060acxXYm','ms\x20per\x20test)','Output\x20length:\x20','apply','QkXKn','8537775UpKLAT','BLOCKED:\x20Test\x20command\x20ran\x20but\x20ZERO\x20tests\x20were\x20executed','Consider\x20adding\x20more\x20tests\x20to\x20reach\x2070%+\x20coverage','exit','ms\x20(','1346tdaErR','match','WARNING:\x20Test\x20output\x20mentions\x20mocks\x20but\x20no\x20passed\x20tests','toString','test','command','Are\x20these\x20real\x20tests\x20or\x20just\x20empty\x20stubs?','7ptKzpc','lZSHy','UndXS','907874jDoHQi','5364288vNsrbk','RHiPE','error','eTdLI','WARNING:\x20Snapshot\x20tests\x20were\x20updated','tool_output','RGIZi','\x22\x20is\x20not\x20supported','KjuEL','argv','RwIeJ','tRjLk','BUJHe','toFixed','BLOCKED:\x20Tests\x20are\x20FAILING','warn','YpXEu','Dynamic\x20require\x20of\x20\x22','length','\x20tests\x20in\x20','kvWrb','huWbY','Remove\x20skip\x20markers\x20and\x20implement\x20the\x20tests','\x0a❌\x20TEST\x20EXECUTION\x20VALIDATION\x20FAILED\x0a','GrpWb','parse','All\x20tests\x20must\x20pass\x20before\x20committing','1702512MBzbBn','forEach','(((.+)+)+)+$','qaTxa','9046122rjXFCt','HXPvw','Fix\x20the\x20failing\x20tests\x20or\x20remove\x20broken\x20code','mrjXC','jIRKw'];_0x301f=function(){return _0x42d11c;};return _0x301f();}for(let s of l){let n=t[_0x5be2de(0x16d)](s);if(n){let a=parseFloat(n[0x1]),r=t[_0x5be2de(0x16d)](/(\d+)\s+passed/);if(r){let c=parseInt(r[0x1]),i=a/c;i<0.0001&&a<0x1&&(e[_0x5be2de(0x15b)](_0x5be2de(0x161)),e[_0x5be2de(0x15b)](c+_0x5be2de(0x18a)+a+_0x5be2de(0x16b)+i[_0x5be2de(0x184)](0x4)+_0x5be2de(0x163)),e[_0x5be2de(0x15b)]('Are\x20these\x20real\x20tests\x20or\x20just\x20empty\x20stubs?'));}}}var f=[/(\d+)\s+failed/i,/(\d+)\s+error/i,/FAILED/i,/ERROR/i];for(let s of f)s['test'](t)&&(o[_0x5be2de(0x15b)](_0x5be2de(0x185)),o[_0x5be2de(0x15b)](_0x5be2de(0x14c)),o['push'](_0x5be2de(0x153)));var g=[/All files[^\n]*\|\s+([\d.]+)/,/Statements\s+:\s+([\d.]+)%/,/Coverage:\s+([\d.]+)%/];for(let s of g){let n=t['match'](s);if(n){let a=parseFloat(n[0x1]);a<0x46&&(e[_0x5be2de(0x15b)]('WARNING:\x20Test\x20coverage\x20is\x20only\x20'+a+'%'),e[_0x5be2de(0x15b)](_0x5be2de(0x169)));}}(t[_0x5be2de(0x16d)](/Snapshots:\s+\d+\s+written/)||t[_0x5be2de(0x16d)](/\d+\s+snapshots? updated/))&&(e[_0x5be2de(0x15b)](_0x5be2de(0x17b)),e[_0x5be2de(0x15b)](_0x5be2de(0x15a))),t[_0x5be2de(0x189)]<0x32&&!o[_0x5be2de(0x189)]&&(e[_0x5be2de(0x15b)](_0x5be2de(0x15f)),e[_0x5be2de(0x15b)]('Did\x20tests\x20actually\x20run?'),e['push'](_0x5be2de(0x164)+t[_0x5be2de(0x189)]+'\x20characters')),t[_0x5be2de(0x16d)](/Mock|Stub|Fake/)&&!t['match'](/\d+\s+passed/)&&(e[_0x5be2de(0x15b)](_0x5be2de(0x16e)),e[_0x5be2de(0x15b)](_0x5be2de(0x156))),o['length']>0x0&&(console['error'](_0x5be2de(0x18e)),o['forEach'](_0x18245f=>console['error']('\x20\x20'+_0x18245f)),console[_0x5be2de(0x179)]('\x0a'),process[_0x5be2de(0x16a)](0x2)),e[_0x5be2de(0x189)]>0x0&&(console[_0x5be2de(0x186)]('\x0a⚠️\x20\x20TEST\x20EXECUTION\x20WARNINGS\x0a'),e[_0x5be2de(0x14e)](_0x443a35=>console[_0x5be2de(0x186)]('\x20\x20'+_0x443a35)),console[_0x5be2de(0x186)]('\x0a')),process['exit'](0x0);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
function _0x23c6(_0x317f7e,_0x377307){_0x317f7e=_0x317f7e-0xe4;const _0x5234c1=_0x1ee1();let _0x3eb91d=_0x5234c1[_0x317f7e];return _0x3eb91d;}const _0x11b77f=_0x23c6;(function(_0x2df506,_0x4e62d5){const _0xb1f2b9=_0x23c6,_0x29a5b2=_0x2df506();while(!![]){try{const _0x3ed9b2=-parseInt(_0xb1f2b9(0x139))/0x1+parseInt(_0xb1f2b9(0x111))/0x2*(parseInt(_0xb1f2b9(0x159))/0x3)+-parseInt(_0xb1f2b9(0xff))/0x4*(parseInt(_0xb1f2b9(0x109))/0x5)+-parseInt(_0xb1f2b9(0x133))/0x6*(parseInt(_0xb1f2b9(0x16d))/0x7)+parseInt(_0xb1f2b9(0x12d))/0x8+-parseInt(_0xb1f2b9(0x117))/0x9+parseInt(_0xb1f2b9(0x142))/0xa*(parseInt(_0xb1f2b9(0x144))/0xb);if(_0x3ed9b2===_0x4e62d5)break;else _0x29a5b2['push'](_0x29a5b2['shift']());}catch(_0x5b865b){_0x29a5b2['push'](_0x29a5b2['shift']());}}}(_0x1ee1,0x82402));function _0x1ee1(){const _0x43306d=['trim','dirname','submit','Dynamic\x20require\x20of\x20\x22','Use\x20waitFor()\x20or\x20findBy*\x20queries\x20to\x20test\x20async\x20state\x20updates','slice','xtEJu','within\x5c(','106170pQapUa','requireApiMocking','2321puMFIL','tool_input','APeRj','.*from','Add\x20user\x20interaction\x20tests\x20using\x20fireEvent\x20or\x20userEvent','.test.jsx','KLMqG','.spec.tsx','strictMode','argv','bkhYL','search','WARNING:\x20Component\x20uses\x20','requireEventTests','test','qeKBJ','ewSYd','\x20child\x20components\x20but\x20test\x20is\x20only\x20','requireProps','requireFormTests','match','75bKBSit','Add:\x20import\x20{\x20','/__tests__/','BLOCKED:\x20Test\x20file\x20exists\x20but\x20does\x20NOT\x20import\x20','constructor','Component:\x20','push','Component\x20has\x20event\x20handlers\x20but\x20test\x20doesn\x27t\x20simulate\x20events','(((.+)+)+)+$','cwd','error','Event\x20handlers\x20found:\x20','forEach','existsSync','.test.ts','/src/',',\x20integrationSite=','warn','\x0a⚠️\x20\x20UI\x20INTEGRATION\x20TEST\x20WARNINGS\x0a','__tests__','21NEeHJk','path','parse','Sewwh','shallow\x5cs*\x5c(<\x5cs*','JiGGM','.spec.ts','Add\x20tests\x20for\x20different\x20component\x20states/conditions','\x20/>)','createWrapper','toString','fvKmT','message','Test\x20will\x20fail\x20or\x20make\x20real\x20API\x20calls\x20otherwise','Component\x20has\x20required\x20props\x20but\x20test\x20may\x20not\x20provide\x20them','requireConditionalTests','import.*','HkvTn','Test\x20file:\x20','mount\x5cs*\x5c(<\x5cs*','UI\x20Component:\x20','\x20}\x20from\x20\x27./','basename','STfMD','conditionalThreshold','gKWwX','readFileSync','file_path','ℹ️\x20\x20No\x20settings.json\x20found,\x20using\x20strict\x20defaults','length','onSubmit','\x22\x20is\x20not\x20supported','includes','2104732zEdmDu','VGGMA','map','PRUgU','test-site','.claude','filter','Component\x20has\x20a\x20form\x20but\x20test\x20doesn\x27t\x20validate\x20submission','\x20\x20-\x20','BLOCKED:\x20UI\x20component\x20modified\x20but\x20NO\x20test\x20file\x20found','5EAXZMa','replace','some','requireStateTests','⚠️\x20\x20Error\x20reading\x20settings.json,\x20using\x20defaults:','BLOCKED:\x20Test\x20does\x20NOT\x20render/mount\x20the\x20component','FODTx','utf8','35596Amosac','muyoq','Component\x20has\x20state\x20but\x20test\x20may\x20not\x20validate\x20state\x20changes','render\x5cs*\x5c(<\x5cs*','Component\x20makes\x20API\x20calls\x20but\x20test\x20doesn\x27t\x20mock\x20them','apply','9134055aVWPYZ','Ensure\x20test\x20renders\x20component\x20with\x20all\x20required\x20props','qQrXt','exit','WARNING:\x20','EcXtN','join','\x20conditional\x20branches\x20but\x20only\x20','split','requireRender','HJknx','Consider\x20adding\x20integration\x20tests\x20for\x20child\x20component\x20interactions','CEQCC','JbrPk','BLOCKED:\x20','log','.spec.jsx','.test.tsx','exec','requireImport','LbAbx','Submit','667816kochLK','Add\x20API\x20mocking\x20using\x20jest.mock(),\x20MSW,\x20or\x20similar','requireIntegrationSite','Add\x20test\x20for\x20form\x20submission\x20behavior','screen\x5c.','settings.json','361308jvagjT','.test.js','\x20test\x20case','amnoz','icmMq','<form','513376WcZfYA'];_0x1ee1=function(){return _0x43306d;};return _0x1ee1();}var A=(_0x409692=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x409692,{'get':(_0x56490a,_0x10a22e)=>(typeof require<'u'?require:_0x56490a)[_0x10a22e]}):_0x409692)(function(_0xc7ffea){const _0x396328=_0x23c6,_0x4eed5a={'VGGMA':function(_0x562340,_0x2b0411){return _0x562340(_0x2b0411);},'iovoz':function(_0x597681,_0x1c52f1){return _0x597681+_0x1c52f1;},'niuBD':_0x396328(0x13d),'fVPYt':_0x396328(0xfd)};if(typeof require<'u')return require[_0x396328(0x116)](this,arguments);throw _0x4eed5a[_0x396328(0x100)](Error,_0x4eed5a['iovoz'](_0x4eed5a['niuBD']+_0xc7ffea,_0x4eed5a['fVPYt']));}),g=A('fs'),l=A(_0x11b77f(0x16e));function j(){const _0x38b528=_0x11b77f,_0x52d8ba={};_0x52d8ba['LbAbx']='Add\x20API\x20mocking\x20using\x20jest.mock(),\x20MSW,\x20or\x20similar',_0x52d8ba[_0x38b528(0x14a)]=_0x38b528(0x104),_0x52d8ba[_0x38b528(0x14e)]=_0x38b528(0x103),_0x52d8ba[_0x38b528(0x121)]=_0x38b528(0xfa),_0x52d8ba[_0x38b528(0x10f)]=function(_0x355f76,_0x4e9f78){return _0x355f76!==_0x4e9f78;},_0x52d8ba[_0x38b528(0x112)]='KkQbZ',_0x52d8ba[_0x38b528(0x146)]=_0x38b528(0x124),_0x52d8ba['gKWwX']='utf8',_0x52d8ba[_0x38b528(0x123)]='⚠️\x20\x20Error\x20reading\x20settings.json,\x20using\x20defaults:';const _0x466b6d=_0x52d8ba;let _0x50781e=l[_0x38b528(0x11d)](process[_0x38b528(0x162)](),_0x466b6d[_0x38b528(0x14a)],_0x38b528(0x132)),_0x4a1399={'strictMode':!0x0,'requireTestFile':!0x0,'requireImport':!0x0,'requireRender':!0x0,'requireProps':!0x0,'requireEventTests':!0x0,'requireApiMocking':!0x0,'requireStateTests':!0x0,'requireFormTests':!0x0,'requireConditionalTests':!0x0,'requireIntegrationSite':!0x0,'integrationSiteDir':_0x466b6d[_0x38b528(0x14e)],'conditionalThreshold':0x3};if(!g[_0x38b528(0x166)](_0x50781e))return console[_0x38b528(0x126)](_0x466b6d[_0x38b528(0x121)]),_0x4a1399;try{if(_0x466b6d[_0x38b528(0x10f)](_0x466b6d[_0x38b528(0x112)],_0x466b6d[_0x38b528(0x146)])){let _0x28309b=JSON[_0x38b528(0x16f)](g[_0x38b528(0xf8)](_0x50781e,_0x466b6d[_0x38b528(0xf7)]))['testing']?.['ui']||{},_0x2a8e6e={..._0x4a1399,..._0x28309b};return console['log']('ℹ️\x20\x20UI\x20Testing\x20Config:\x20strictMode='+_0x2a8e6e[_0x38b528(0x14c)]+_0x38b528(0x169)+_0x2a8e6e[_0x38b528(0x12f)]),_0x2a8e6e;}else{let _0x512900='Component\x20makes\x20API\x20calls\x20but\x20test\x20doesn\x27t\x20mock\x20them',_0x3002de=[_0x466b6d[_0x38b528(0x12b)],'Test\x20will\x20fail\x20or\x20make\x20real\x20API\x20calls\x20otherwise'];_0xe44e0c(_0x28ee44,_0x38b528(0x143))?(_0x12044d[_0x38b528(0x15f)](_0x38b528(0x125)+_0x512900),_0x3002de[_0x38b528(0x165)](_0x544d59=>_0x2246dd[_0x38b528(0x15f)](_0x544d59))):(_0x955b29[_0x38b528(0x15f)]('WARNING:\x20'+_0x512900),_0x3002de['forEach'](_0x274077=>_0x522f38[_0x38b528(0x15f)](_0x274077)));}}catch(_0x233bce){return console[_0x38b528(0x16a)](_0x466b6d[_0x38b528(0x123)],_0x233bce['message']),_0x4a1399;}}function m(_0x39696c,_0x7e4f9c){const _0x3d229b=_0x11b77f,_0x1ccd86={'zRVkI':function(_0xf9ce01,_0x5b17f2){return _0xf9ce01!==_0x5b17f2;},'Sewwh':_0x3d229b(0x154),'qeKBJ':_0x3d229b(0x161),'ZttDn':function(_0x578e6e,_0x49dfbc,_0x46bc1e){return _0x578e6e(_0x49dfbc,_0x46bc1e);},'xtEJu':function(_0x418af8){return _0x418af8();},'PRUgU':_0x3d229b(0x120),'STfMD':_0x3d229b(0x151),'fvKmT':_0x3d229b(0x143),'EcXtN':_0x3d229b(0x10c),'Erkvi':_0x3d229b(0x12f),'HkvTn':function(_0x460d1c,_0x52220b){return _0x460d1c===_0x52220b;}},_0x2062a5=(function(){const _0x269152=_0x3d229b,_0x46c1b1={'amnoz':function(_0x2abd0f,_0x1c5ed7){return _0x1ccd86['zRVkI'](_0x2abd0f,_0x1c5ed7);},'icmMq':_0x1ccd86[_0x269152(0x170)],'JiGGM':_0x269152(0x10d)};let _0x3df3f6=!![];return function(_0x286e21,_0x3beb6b){const _0x43358f=_0x269152,_0x158659={};_0x158659['qQrXt']=_0x46c1b1[_0x43358f(0x172)];const _0x1e85af=_0x158659,_0x3b9c77=_0x3df3f6?function(){const _0x186884=_0x43358f;if(_0x3beb6b){if(_0x46c1b1[_0x186884(0x136)](_0x46c1b1[_0x186884(0x137)],_0x46c1b1[_0x186884(0x137)]))return _0x5fddb1[_0x186884(0x16a)](_0x1e85af[_0x186884(0x119)],_0x23d70e[_0x186884(0xea)]),_0x42a543;else{const _0xe87919=_0x3beb6b['apply'](_0x286e21,arguments);return _0x3beb6b=null,_0xe87919;}}}:function(){};return _0x3df3f6=![],_0x3b9c77;};}()),_0x3a3968=_0x1ccd86['ZttDn'](_0x2062a5,this,function(){const _0x5be080=_0x3d229b;return _0x3a3968[_0x5be080(0xe8)]()[_0x5be080(0x14f)](_0x1ccd86['qeKBJ'])[_0x5be080(0xe8)]()[_0x5be080(0x15d)](_0x3a3968)['search'](_0x1ccd86[_0x5be080(0x153)]);});return _0x1ccd86[_0x3d229b(0x140)](_0x3a3968),['requireTestFile',_0x3d229b(0x12a),_0x1ccd86[_0x3d229b(0x102)],_0x3d229b(0x156),_0x1ccd86[_0x3d229b(0xf5)],_0x1ccd86[_0x3d229b(0xe9)],_0x1ccd86[_0x3d229b(0x11c)],_0x3d229b(0x157),_0x3d229b(0xed),_0x1ccd86['Erkvi']][_0x3d229b(0xfe)](_0x7e4f9c)?!0x0:_0x39696c[_0x3d229b(0x14c)]?_0x1ccd86[_0x3d229b(0xef)](_0x39696c[_0x7e4f9c],!0x0):!0x1;}var _=process[_0x11b77f(0x14d)][0x2]||'{}',O=JSON[_0x11b77f(0x16f)](_),p=O[_0x11b77f(0x145)]?.[_0x11b77f(0xf9)],B=p&&p['match'](/\.(tsx|jsx|vue|svelte)$/);B||process[_0x11b77f(0x11a)](0x0);var d=j(),t=[],a=[],$=l[_0x11b77f(0xf4)](p),o=$[_0x11b77f(0x10a)](/\.(tsx|jsx|vue|svelte)$/,''),D=[o+_0x11b77f(0x128),o+_0x11b77f(0x149),o+_0x11b77f(0x167),o+_0x11b77f(0x134),o+_0x11b77f(0x14b),o+_0x11b77f(0x127),o+_0x11b77f(0xe4),o+'.spec.js'],C=p['includes'](_0x11b77f(0x168))?p[_0x11b77f(0x10a)]('/src/','/tests/')[_0x11b77f(0x10a)]($,''):l['dirname'](p),f=null,q=!0x1;for(let e of D){let r=[l[_0x11b77f(0x11d)](C,e),l[_0x11b77f(0x11d)](C,_0x11b77f(0x16c),e),l[_0x11b77f(0x11d)](l['dirname'](p),'__tests__',e),l['join'](l[_0x11b77f(0x13b)](p),e)];for(let h of r)if(g[_0x11b77f(0x166)](h)){f=h,q=!0x0;break;}if(q)break;}q||(t['push'](_0x11b77f(0x108)),t[_0x11b77f(0x15f)](_0x11b77f(0x15e)+$),t[_0x11b77f(0x15f)]('Expected\x20test\x20file\x20in\x20one\x20of\x20these\x20locations:'),t[_0x11b77f(0x15f)](_0x11b77f(0x107)+C+'/'+o+_0x11b77f(0x128)),t['push']('\x20\x20-\x20'+C+_0x11b77f(0x15b)+o+_0x11b77f(0x128)),t['push'](_0x11b77f(0x107)+l['dirname'](p)+_0x11b77f(0x15b)+o+'.test.tsx'),t[_0x11b77f(0x15f)]('Create\x20a\x20test\x20file\x20with\x20UI\x20integration\x20tests\x20before\x20modifying\x20components'));if(q&&f){let e=g[_0x11b77f(0xf8)](f,_0x11b77f(0x110)),r=g[_0x11b77f(0xf8)](p,_0x11b77f(0x110));new RegExp(_0x11b77f(0xee)+o+_0x11b77f(0x147),'i')[_0x11b77f(0x152)](e)||(t[_0x11b77f(0x15f)](_0x11b77f(0x15c)+o),t[_0x11b77f(0x15f)]('Test\x20file:\x20'+l['basename'](f)),t[_0x11b77f(0x15f)](_0x11b77f(0x15a)+o+_0x11b77f(0xf3)+o+'\x27')),![new RegExp(_0x11b77f(0x114)+o,'i'),new RegExp(_0x11b77f(0xf1)+o,'i'),new RegExp(_0x11b77f(0x171)+o,'i'),new RegExp(_0x11b77f(0x131),'i'),new RegExp(_0x11b77f(0x141),'i')]['some'](_0x17364f=>_0x17364f[_0x11b77f(0x152)](e))&&!e[_0x11b77f(0xfe)](_0x11b77f(0xe7))&&(t['push'](_0x11b77f(0x10e)),t[_0x11b77f(0x15f)](_0x11b77f(0xf0)+l[_0x11b77f(0xf4)](f)),t[_0x11b77f(0x15f)]('Add:\x20render(<'+o+_0x11b77f(0xe6)));let N=/(?:type|interface)\s+\w*Props\s*=\s*\{([^}]+)\}/s,v=r[_0x11b77f(0x158)](N);if(v){let u=v[0x1][_0x11b77f(0x11f)]('\x0a')[_0x11b77f(0x105)](_0x903070=>!_0x903070[_0x11b77f(0xfe)]('?:')&&_0x903070[_0x11b77f(0xfe)](':'))[_0x11b77f(0x101)](_0x12dda4=>_0x12dda4[_0x11b77f(0x13a)]()[_0x11b77f(0x11f)](':')[0x0][_0x11b77f(0x13a)]())[_0x11b77f(0x105)](Boolean);if(u[_0x11b77f(0xfb)]>0x0&&!u[_0x11b77f(0x10b)](_0x1d2578=>e[_0x11b77f(0xfe)](_0x1d2578+'=')||e[_0x11b77f(0xfe)](_0x1d2578+':')||e['includes']('\x22'+_0x1d2578+'\x22')||e[_0x11b77f(0xfe)]('\x27'+_0x1d2578+'\x27'))){let n=_0x11b77f(0xec),i=['Required\x20props:\x20'+u[_0x11b77f(0x11d)](',\x20'),_0x11b77f(0x118)];m(d,'requireProps')?(t[_0x11b77f(0x15f)](_0x11b77f(0x125)+n),i[_0x11b77f(0x165)](_0x2d0ed5=>t['push'](_0x2d0ed5))):(a[_0x11b77f(0x15f)](_0x11b77f(0x11b)+n),i[_0x11b77f(0x165)](_0x5a0d8e=>a[_0x11b77f(0x15f)](_0x5a0d8e)));}}let R=/on[A-Z]\w+/g,b=r[_0x11b77f(0x158)](R)||[],x=[...new Set(b)];if(x[_0x11b77f(0xfb)]>0x0&&![/fireEvent\./,/userEvent\./,/simulate\(/,/\.click\(/,/\.change\(/,/\.submit\(/][_0x11b77f(0x10b)](_0x42d0a5=>_0x42d0a5[_0x11b77f(0x152)](e))){let s=_0x11b77f(0x160),n=[_0x11b77f(0x164)+x[_0x11b77f(0x13f)](0x0,0x5)[_0x11b77f(0x11d)](',\x20'),_0x11b77f(0x148)];m(d,'requireEventTests')?(t[_0x11b77f(0x15f)](_0x11b77f(0x125)+s),n[_0x11b77f(0x165)](_0x3efc0a=>t[_0x11b77f(0x15f)](_0x3efc0a))):(a[_0x11b77f(0x15f)]('WARNING:\x20'+s),n[_0x11b77f(0x165)](_0x2b58a8=>a[_0x11b77f(0x15f)](_0x2b58a8)));}if([/fetch\s*\(/,/axios\./,/api\./,/\.get\(/,/\.post\(/,/\.put\(/,/\.delete\(/,/useSWR\(/,/useQuery\(/,/useMutation\(/][_0x11b77f(0x10b)](_0x287fa5=>_0x287fa5[_0x11b77f(0x152)](r))&&![/jest\.mock\(/,/vi\.mock\(/,/mockResolvedValue\(/,/mockImplementation\(/,/msw/,/setupServer\(/]['some'](_0x541259=>_0x541259[_0x11b77f(0x152)](e))){let s=_0x11b77f(0x115),n=[_0x11b77f(0x12e),_0x11b77f(0xeb)];m(d,_0x11b77f(0x143))?(t[_0x11b77f(0x15f)](_0x11b77f(0x125)+s),n[_0x11b77f(0x165)](_0x2b2f61=>t[_0x11b77f(0x15f)](_0x2b2f61))):(a[_0x11b77f(0x15f)](_0x11b77f(0x11b)+s),n[_0x11b77f(0x165)](_0x14c814=>a[_0x11b77f(0x15f)](_0x14c814)));}let k=/useState|useReducer|useContext/g;if((r[_0x11b77f(0x158)](k)||[])['length']>0x0&&![/waitFor\(/,/findBy/,/queryBy/,/rerender\(/][_0x11b77f(0x10b)](_0x27f219=>_0x27f219['test'](e))){let s=_0x11b77f(0x113),n=[_0x11b77f(0x13e)];m(d,'requireStateTests')?(t[_0x11b77f(0x15f)]('BLOCKED:\x20'+s),n[_0x11b77f(0x165)](_0x1c6478=>t[_0x11b77f(0x15f)](_0x1c6478))):(a[_0x11b77f(0x15f)]('WARNING:\x20'+s),n[_0x11b77f(0x165)](_0x186d69=>a['push'](_0x186d69)));}if((r[_0x11b77f(0xfe)](_0x11b77f(0x138))||r[_0x11b77f(0xfe)](_0x11b77f(0xfc)))&&!(e[_0x11b77f(0xfe)](_0x11b77f(0x13c))||e['includes'](_0x11b77f(0x12c)))){let u=_0x11b77f(0x106),s=[_0x11b77f(0x130)];m(d,_0x11b77f(0x157))?(t[_0x11b77f(0x15f)](_0x11b77f(0x125)+u),s[_0x11b77f(0x165)](_0x34b356=>t[_0x11b77f(0x15f)](_0x34b356))):(a[_0x11b77f(0x15f)](_0x11b77f(0x11b)+u),s[_0x11b77f(0x165)](_0x177de9=>a['push'](_0x177de9)));}let y=/\{[^}]*\?[^}]*:[^}]*\}|\{[^}]*&&/g,w=r[_0x11b77f(0x158)](y)||[];if(w[_0x11b77f(0xfb)]>d[_0x11b77f(0xf6)]){let c=/(?:it|test)\s*\(/g,u=e[_0x11b77f(0x158)](c)||[];if(u[_0x11b77f(0xfb)]<0x2){let s='Component\x20has\x20'+w[_0x11b77f(0xfb)]+_0x11b77f(0x11e)+u['length']+_0x11b77f(0x135),n=[_0x11b77f(0xe5)];m(d,_0x11b77f(0xed))?(t['push'](_0x11b77f(0x125)+s),n[_0x11b77f(0x165)](_0x565bfc=>t[_0x11b77f(0x15f)](_0x565bfc))):(a[_0x11b77f(0x15f)](_0x11b77f(0x11b)+s),n['forEach'](_0x2deff2=>a['push'](_0x2deff2)));}}let F=/import\s+\{?([A-Z]\w+)\}?\s+from/g,T=[],I;for(;(I=F[_0x11b77f(0x129)](r))!==null;)I[0x1]!==o&&T[_0x11b77f(0x15f)](I[0x1]);if(T[_0x11b77f(0xfb)]>0x2){let c=e['split']('\x0a')[_0x11b77f(0xfb)];c<0x1e&&(a['push'](_0x11b77f(0x150)+T['length']+_0x11b77f(0x155)+c+'\x20lines'),a[_0x11b77f(0x15f)](_0x11b77f(0x122)));}}t[_0x11b77f(0xfb)]>0x0&&(console['error']('\x0a❌\x20UI\x20INTEGRATION\x20TEST\x20CHECK\x20FAILED\x0a'),console[_0x11b77f(0x163)](_0x11b77f(0xf2)+$+'\x0a'),t[_0x11b77f(0x165)](_0x4cd82d=>console[_0x11b77f(0x163)]('\x20\x20'+_0x4cd82d)),console['error']('\x0aUI\x20changes\x20require\x20proper\x20integration\x20tests.\x0a'),process[_0x11b77f(0x11a)](0x2)),a['length']>0x0&&(console['warn'](_0x11b77f(0x16b)),console[_0x11b77f(0x16a)]('UI\x20Component:\x20'+$+'\x0a'),a['forEach'](_0x1d00e5=>console[_0x11b77f(0x16a)]('\x20\x20'+_0x1d00e5)),console[_0x11b77f(0x16a)]('\x0aConsider\x20addressing\x20these\x20UI\x20testing\x20gaps.\x0a')),process[_0x11b77f(0x11a)](0x0);
|
|
2
|
+
const _0x206f24=_0x2f95;(function(_0x1cfe44,_0x27337a){const _0x2cd22f=_0x2f95,_0x1c5c48=_0x1cfe44();while(!![]){try{const _0x583751=-parseInt(_0x2cd22f(0x166))/0x1+parseInt(_0x2cd22f(0x151))/0x2+-parseInt(_0x2cd22f(0x191))/0x3*(-parseInt(_0x2cd22f(0x138))/0x4)+parseInt(_0x2cd22f(0x19d))/0x5+parseInt(_0x2cd22f(0x177))/0x6+parseInt(_0x2cd22f(0x154))/0x7*(parseInt(_0x2cd22f(0x190))/0x8)+parseInt(_0x2cd22f(0x16a))/0x9*(-parseInt(_0x2cd22f(0x163))/0xa);if(_0x583751===_0x27337a)break;else _0x1c5c48['push'](_0x1c5c48['shift']());}catch(_0x35081f){_0x1c5c48['push'](_0x1c5c48['shift']());}}}(_0x4710,0x4155a));var A=(_0x3879c2=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x3879c2,{'get':(_0x1c1576,_0xce3526)=>(typeof require<'u'?require:_0x1c1576)[_0xce3526]}):_0x3879c2)(function(_0xec1568){const _0x33c69f=_0x2f95,_0x2e0cb2={};_0x2e0cb2[_0x33c69f(0x158)]=function(_0x523e37,_0x5e64f4){return _0x523e37<_0x5e64f4;},_0x2e0cb2['pEFHA']=function(_0x21229f,_0x4f2605){return _0x21229f+_0x4f2605;},_0x2e0cb2[_0x33c69f(0x13c)]=function(_0x56b8e8,_0x32df6c){return _0x56b8e8+_0x32df6c;},_0x2e0cb2['bLiVQ']='\x22\x20is\x20not\x20supported';const _0x5096ba=_0x2e0cb2;if(_0x5096ba[_0x33c69f(0x158)](typeof require,'u'))return require['apply'](this,arguments);throw Error(_0x5096ba[_0x33c69f(0x1a1)](_0x5096ba[_0x33c69f(0x13c)]('Dynamic\x20require\x20of\x20\x22',_0xec1568),_0x5096ba[_0x33c69f(0x187)]));}),g=A('fs'),l=A(_0x206f24(0x1a3));function j(){const _0x2eee30=_0x206f24,_0x24b98c={'auhKa':_0x2eee30(0x1a7),'vyALb':function(_0xb1bf6c,_0x43fb40,_0x1bb4b4){return _0xb1bf6c(_0x43fb40,_0x1bb4b4);},'mSmef':_0x2eee30(0x14c),'RFWAE':'settings.json','iAeuJ':'ℹ️\x20\x20No\x20settings.json\x20found,\x20using\x20strict\x20defaults','WYPuj':_0x2eee30(0x165),'PKCMO':function(_0x367d77,_0x2c38d5){return _0x367d77===_0x2c38d5;},'yRjBr':_0x2eee30(0x139),'oqZQw':'⚠️\x20\x20Error\x20reading\x20settings.json,\x20using\x20defaults:'},_0xa722da={};_0xa722da['strictMode']=!0x0,_0xa722da[_0x2eee30(0x161)]=!0x0,_0xa722da['requireImport']=!0x0,_0xa722da['requireRender']=!0x0,_0xa722da[_0x2eee30(0x1a0)]=!0x0,_0xa722da[_0x2eee30(0x19b)]=!0x0,_0xa722da[_0x2eee30(0x15d)]=!0x0,_0xa722da[_0x2eee30(0x137)]=!0x0,_0xa722da['requireFormTests']=!0x0,_0xa722da[_0x2eee30(0x19f)]=!0x0,_0xa722da[_0x2eee30(0x14b)]=!0x0,_0xa722da[_0x2eee30(0x174)]=_0x2eee30(0x19c),_0xa722da[_0x2eee30(0x193)]=0x3;let _0x34242b=l[_0x2eee30(0x15b)](process[_0x2eee30(0x153)](),_0x24b98c[_0x2eee30(0x141)],_0x24b98c['RFWAE']),_0x38508c=_0xa722da;if(!g[_0x2eee30(0x179)](_0x34242b))return console[_0x2eee30(0x196)](_0x24b98c['iAeuJ']),_0x38508c;try{let _0x974d73=JSON['parse'](g[_0x2eee30(0x164)](_0x34242b,_0x24b98c[_0x2eee30(0x182)]))[_0x2eee30(0x173)]?.['ui']||{},_0x2d4fc5={..._0x38508c,..._0x974d73};return console[_0x2eee30(0x196)]('ℹ️\x20\x20UI\x20Testing\x20Config:\x20strictMode='+_0x2d4fc5[_0x2eee30(0x180)]+_0x2eee30(0x1a5)+_0x2d4fc5['requireIntegrationSite']),_0x2d4fc5;}catch(_0x3c7f98){if(_0x24b98c['PKCMO'](_0x24b98c[_0x2eee30(0x1a4)],'mhhoH'))return console['warn'](_0x24b98c[_0x2eee30(0x155)],_0x3c7f98[_0x2eee30(0x13b)]),_0x38508c;else{let _0x138936='Component\x20has\x20'+_0x2a70c2['length']+_0x2eee30(0x148)+_0xd825b[_0x2eee30(0x18d)]+_0x2eee30(0x197),_0x4efcb0=[_0x24b98c[_0x2eee30(0x135)]];_0x24b98c[_0x2eee30(0x16d)](_0x60fb13,_0x203200,_0x2eee30(0x19f))?(_0x4866bd[_0x2eee30(0x12f)](_0x2eee30(0x149)+_0x138936),_0x4efcb0[_0x2eee30(0x198)](_0x2c025f=>_0xa637f3[_0x2eee30(0x12f)](_0x2c025f))):(_0xb9d182[_0x2eee30(0x12f)]('WARNING:\x20'+_0x138936),_0x4efcb0[_0x2eee30(0x198)](_0x5bf591=>_0x558ea8['push'](_0x5bf591)));}}}function m(_0x8d5a4d,_0xcc2c3a){const _0x1d197b=_0x206f24,_0x546614={'WwChc':_0x1d197b(0x147),'VZgtx':function(_0xba9e3f,_0x24dc48,_0x19a74b){return _0xba9e3f(_0x24dc48,_0x19a74b);},'sgSPc':function(_0x56fa96){return _0x56fa96();},'YVeht':_0x1d197b(0x161),'GIvpl':_0x1d197b(0x13d),'aIaWu':_0x1d197b(0x16c),'KSkRJ':_0x1d197b(0x1a0),'stgNP':_0x1d197b(0x19b),'XgUzt':_0x1d197b(0x15d),'gZhyf':'requireStateTests','fIsip':_0x1d197b(0x176),'UEkHB':_0x1d197b(0x19f),'GAbZP':'requireIntegrationSite'},_0x53e2c3=(function(){let _0x1a5dd2=!![];return function(_0x5d93f4,_0x455226){const _0x4d52d2=_0x1a5dd2?function(){if(_0x455226){const _0x1550ae=_0x455226['apply'](_0x5d93f4,arguments);return _0x455226=null,_0x1550ae;}}:function(){};return _0x1a5dd2=![],_0x4d52d2;};}()),_0x4ab0ef=_0x546614[_0x1d197b(0x18e)](_0x53e2c3,this,function(){const _0x5ab000=_0x1d197b;return _0x4ab0ef[_0x5ab000(0x17e)]()[_0x5ab000(0x146)](_0x546614[_0x5ab000(0x184)])[_0x5ab000(0x17e)]()['constructor'](_0x4ab0ef)[_0x5ab000(0x146)](_0x546614[_0x5ab000(0x184)]);});return _0x546614[_0x1d197b(0x145)](_0x4ab0ef),[_0x546614[_0x1d197b(0x140)],_0x546614['GIvpl'],_0x546614[_0x1d197b(0x199)],_0x546614[_0x1d197b(0x181)],_0x546614[_0x1d197b(0x18b)],_0x546614[_0x1d197b(0x13e)],_0x546614['gZhyf'],_0x546614['fIsip'],_0x546614[_0x1d197b(0x14d)],_0x546614[_0x1d197b(0x136)]][_0x1d197b(0x189)](_0xcc2c3a)?!0x0:_0x8d5a4d['strictMode']?_0x8d5a4d[_0xcc2c3a]===!0x0:!0x1;}var _=process['argv'][0x2]||'{}',O=JSON[_0x206f24(0x157)](_),p=O['tool_input']?.[_0x206f24(0x178)],B=p&&p[_0x206f24(0x183)](/\.(tsx|jsx|vue|svelte)$/);B||process['exit'](0x0);var d=j(),t=[],a=[],$=l[_0x206f24(0x152)](p),o=$[_0x206f24(0x169)](/\.(tsx|jsx|vue|svelte)$/,''),D=[o+_0x206f24(0x188),o+_0x206f24(0x1a8),o+_0x206f24(0x17c),o+_0x206f24(0x15c),o+_0x206f24(0x192),o+_0x206f24(0x12e),o+_0x206f24(0x144),o+'.spec.js'],C=p[_0x206f24(0x189)](_0x206f24(0x15a))?p[_0x206f24(0x169)]('/src/',_0x206f24(0x159))[_0x206f24(0x169)]($,''):l['dirname'](p),f=null,q=!0x1;for(let e of D){let r=[l[_0x206f24(0x15b)](C,e),l['join'](C,_0x206f24(0x15f),e),l[_0x206f24(0x15b)](l['dirname'](p),_0x206f24(0x15f),e),l[_0x206f24(0x15b)](l[_0x206f24(0x162)](p),e)];for(let h of r)if(g['existsSync'](h)){f=h,q=!0x0;break;}if(q)break;}q||(t[_0x206f24(0x12f)]('BLOCKED:\x20UI\x20component\x20modified\x20but\x20NO\x20test\x20file\x20found'),t[_0x206f24(0x12f)]('Component:\x20'+$),t[_0x206f24(0x12f)]('Expected\x20test\x20file\x20in\x20one\x20of\x20these\x20locations:'),t[_0x206f24(0x12f)](_0x206f24(0x16b)+C+'/'+o+_0x206f24(0x188)),t['push'](_0x206f24(0x16b)+C+_0x206f24(0x156)+o+_0x206f24(0x188)),t['push']('\x20\x20-\x20'+l['dirname'](p)+'/__tests__/'+o+_0x206f24(0x188)),t[_0x206f24(0x12f)](_0x206f24(0x1a9)));function _0x4710(){const _0x36ef71=['.spec.ts','sgSPc','search','(((.+)+)+)+$','\x20conditional\x20branches\x20but\x20only\x20','BLOCKED:\x20','exec','requireIntegrationSite','.claude','UEkHB','Ensure\x20test\x20renders\x20component\x20with\x20all\x20required\x20props','.*from','\x20lines','668126TaEqMQ','basename','cwd','2767982UIEENT','oqZQw','/__tests__/','parse','ktWqk','/tests/','/src/','join','.test.js','requireApiMocking','Component\x20has\x20event\x20handlers\x20but\x20test\x20doesn\x27t\x20simulate\x20events','__tests__','WARNING:\x20','requireTestFile','dirname','527030pBrttk','readFileSync','utf8','52213lNWILm','shallow\x5cs*\x5c(<\x5cs*','render\x5cs*\x5c(<\x5cs*','replace','153TGWxnx','\x20\x20-\x20','requireRender','vyALb','createWrapper','Consider\x20adding\x20integration\x20tests\x20for\x20child\x20component\x20interactions','filter','Add\x20API\x20mocking\x20using\x20jest.mock(),\x20MSW,\x20or\x20similar','map','testing','integrationSiteDir','onSubmit','requireFormTests','18990YXJFMa','file_path','existsSync','Required\x20props:\x20','Submit','.test.ts','Event\x20handlers\x20found:\x20','toString','screen\x5c.','strictMode','KSkRJ','WYPuj','match','WwChc','\x20/>)','\x0aUI\x20changes\x20require\x20proper\x20integration\x20tests.\x0a','bLiVQ','.test.tsx','includes','mount\x5cs*\x5c(<\x5cs*','stgNP','Component\x20has\x20','length','VZgtx','warn','8RGsExy','453HacTfy','.spec.tsx','conditionalThreshold','Use\x20waitFor()\x20or\x20findBy*\x20queries\x20to\x20test\x20async\x20state\x20updates','submit','log','\x20test\x20case','forEach','aIaWu','error','requireEventTests','test-site','820285Eypmps','Add\x20test\x20for\x20form\x20submission\x20behavior','requireConditionalTests','requireProps','pEFHA','trim','path','yRjBr',',\x20integrationSite=','<form','Add\x20tests\x20for\x20different\x20component\x20states/conditions','.test.jsx','Create\x20a\x20test\x20file\x20with\x20UI\x20integration\x20tests\x20before\x20modifying\x20components','exit','\x20}\x20from\x20\x27./','.spec.jsx','push','Test\x20file:\x20','Add:\x20render(<','slice','UI\x20Component:\x20','split','auhKa','GAbZP','requireStateTests','8452wnNSIE','mhhoH','some','message','Bnvgx','requireImport','XgUzt','\x0a⚠️\x20\x20UI\x20INTEGRATION\x20TEST\x20WARNINGS\x0a','YVeht','mSmef','test','Component\x20has\x20a\x20form\x20but\x20test\x20doesn\x27t\x20validate\x20submission'];_0x4710=function(){return _0x36ef71;};return _0x4710();}function _0x2f95(_0x1e0220,_0x463ded){_0x1e0220=_0x1e0220-0x12c;const _0x2df58c=_0x4710();let _0x3e6e61=_0x2df58c[_0x1e0220];return _0x3e6e61;}if(q&&f){let e=g['readFileSync'](f,_0x206f24(0x165)),r=g['readFileSync'](p,_0x206f24(0x165));new RegExp('import.*'+o+_0x206f24(0x14f),'i')['test'](e)||(t[_0x206f24(0x12f)]('BLOCKED:\x20Test\x20file\x20exists\x20but\x20does\x20NOT\x20import\x20'+o),t[_0x206f24(0x12f)](_0x206f24(0x130)+l[_0x206f24(0x152)](f)),t[_0x206f24(0x12f)]('Add:\x20import\x20{\x20'+o+_0x206f24(0x12d)+o+'\x27')),![new RegExp(_0x206f24(0x168)+o,'i'),new RegExp(_0x206f24(0x18a)+o,'i'),new RegExp(_0x206f24(0x167)+o,'i'),new RegExp(_0x206f24(0x17f),'i'),new RegExp('within\x5c(','i')][_0x206f24(0x13a)](_0x78a0ae=>_0x78a0ae[_0x206f24(0x142)](e))&&!e[_0x206f24(0x189)](_0x206f24(0x16e))&&(t[_0x206f24(0x12f)]('BLOCKED:\x20Test\x20does\x20NOT\x20render/mount\x20the\x20component'),t[_0x206f24(0x12f)](_0x206f24(0x130)+l[_0x206f24(0x152)](f)),t[_0x206f24(0x12f)](_0x206f24(0x131)+o+_0x206f24(0x185)));let N=/(?:type|interface)\s+\w*Props\s*=\s*\{([^}]+)\}/s,v=r[_0x206f24(0x183)](N);if(v){let u=v[0x1][_0x206f24(0x134)]('\x0a')['filter'](_0x4518c0=>!_0x4518c0[_0x206f24(0x189)]('?:')&&_0x4518c0['includes'](':'))[_0x206f24(0x172)](_0x23b04c=>_0x23b04c[_0x206f24(0x1a2)]()[_0x206f24(0x134)](':')[0x0][_0x206f24(0x1a2)]())[_0x206f24(0x170)](Boolean);if(u[_0x206f24(0x18d)]>0x0&&!u[_0x206f24(0x13a)](_0x9cc4bd=>e[_0x206f24(0x189)](_0x9cc4bd+'=')||e[_0x206f24(0x189)](_0x9cc4bd+':')||e[_0x206f24(0x189)]('\x22'+_0x9cc4bd+'\x22')||e[_0x206f24(0x189)]('\x27'+_0x9cc4bd+'\x27'))){let n='Component\x20has\x20required\x20props\x20but\x20test\x20may\x20not\x20provide\x20them',i=[_0x206f24(0x17a)+u[_0x206f24(0x15b)](',\x20'),_0x206f24(0x14e)];m(d,_0x206f24(0x1a0))?(t[_0x206f24(0x12f)](_0x206f24(0x149)+n),i['forEach'](_0x501899=>t[_0x206f24(0x12f)](_0x501899))):(a[_0x206f24(0x12f)](_0x206f24(0x160)+n),i[_0x206f24(0x198)](_0x162da8=>a[_0x206f24(0x12f)](_0x162da8)));}}let R=/on[A-Z]\w+/g,b=r[_0x206f24(0x183)](R)||[],x=[...new Set(b)];if(x['length']>0x0&&![/fireEvent\./,/userEvent\./,/simulate\(/,/\.click\(/,/\.change\(/,/\.submit\(/][_0x206f24(0x13a)](_0x25a05d=>_0x25a05d[_0x206f24(0x142)](e))){let s=_0x206f24(0x15e),n=[_0x206f24(0x17d)+x[_0x206f24(0x132)](0x0,0x5)['join'](',\x20'),'Add\x20user\x20interaction\x20tests\x20using\x20fireEvent\x20or\x20userEvent'];m(d,_0x206f24(0x19b))?(t[_0x206f24(0x12f)](_0x206f24(0x149)+s),n[_0x206f24(0x198)](_0x11cb07=>t[_0x206f24(0x12f)](_0x11cb07))):(a['push'](_0x206f24(0x160)+s),n['forEach'](_0xf01eff=>a[_0x206f24(0x12f)](_0xf01eff)));}if([/fetch\s*\(/,/axios\./,/api\./,/\.get\(/,/\.post\(/,/\.put\(/,/\.delete\(/,/useSWR\(/,/useQuery\(/,/useMutation\(/]['some'](_0x28e014=>_0x28e014[_0x206f24(0x142)](r))&&![/jest\.mock\(/,/vi\.mock\(/,/mockResolvedValue\(/,/mockImplementation\(/,/msw/,/setupServer\(/][_0x206f24(0x13a)](_0xef668e=>_0xef668e[_0x206f24(0x142)](e))){let s='Component\x20makes\x20API\x20calls\x20but\x20test\x20doesn\x27t\x20mock\x20them',n=[_0x206f24(0x171),'Test\x20will\x20fail\x20or\x20make\x20real\x20API\x20calls\x20otherwise'];m(d,'requireApiMocking')?(t[_0x206f24(0x12f)](_0x206f24(0x149)+s),n['forEach'](_0x294710=>t[_0x206f24(0x12f)](_0x294710))):(a[_0x206f24(0x12f)](_0x206f24(0x160)+s),n[_0x206f24(0x198)](_0x5e0247=>a[_0x206f24(0x12f)](_0x5e0247)));}let k=/useState|useReducer|useContext/g;if((r[_0x206f24(0x183)](k)||[])['length']>0x0&&![/waitFor\(/,/findBy/,/queryBy/,/rerender\(/][_0x206f24(0x13a)](_0x49df42=>_0x49df42[_0x206f24(0x142)](e))){let s='Component\x20has\x20state\x20but\x20test\x20may\x20not\x20validate\x20state\x20changes',n=[_0x206f24(0x194)];m(d,_0x206f24(0x137))?(t[_0x206f24(0x12f)](_0x206f24(0x149)+s),n['forEach'](_0x54bcd0=>t['push'](_0x54bcd0))):(a[_0x206f24(0x12f)]('WARNING:\x20'+s),n['forEach'](_0x134b25=>a[_0x206f24(0x12f)](_0x134b25)));}if((r[_0x206f24(0x189)](_0x206f24(0x1a6))||r[_0x206f24(0x189)](_0x206f24(0x175)))&&!(e['includes'](_0x206f24(0x195))||e[_0x206f24(0x189)](_0x206f24(0x17b)))){let u=_0x206f24(0x143),s=[_0x206f24(0x19e)];m(d,'requireFormTests')?(t['push'](_0x206f24(0x149)+u),s[_0x206f24(0x198)](_0x120da5=>t['push'](_0x120da5))):(a[_0x206f24(0x12f)](_0x206f24(0x160)+u),s[_0x206f24(0x198)](_0x585563=>a[_0x206f24(0x12f)](_0x585563)));}let y=/\{[^}]*\?[^}]*:[^}]*\}|\{[^}]*&&/g,w=r['match'](y)||[];if(w[_0x206f24(0x18d)]>d[_0x206f24(0x193)]){let c=/(?:it|test)\s*\(/g,u=e[_0x206f24(0x183)](c)||[];if(u[_0x206f24(0x18d)]<0x2){let s=_0x206f24(0x18c)+w[_0x206f24(0x18d)]+'\x20conditional\x20branches\x20but\x20only\x20'+u['length']+'\x20test\x20case',n=['Add\x20tests\x20for\x20different\x20component\x20states/conditions'];m(d,_0x206f24(0x19f))?(t[_0x206f24(0x12f)](_0x206f24(0x149)+s),n[_0x206f24(0x198)](_0x41a057=>t[_0x206f24(0x12f)](_0x41a057))):(a['push'](_0x206f24(0x160)+s),n[_0x206f24(0x198)](_0x4154c8=>a['push'](_0x4154c8)));}}let F=/import\s+\{?([A-Z]\w+)\}?\s+from/g,T=[],I;for(;(I=F[_0x206f24(0x14a)](r))!==null;)I[0x1]!==o&&T['push'](I[0x1]);if(T[_0x206f24(0x18d)]>0x2){let c=e[_0x206f24(0x134)]('\x0a')[_0x206f24(0x18d)];c<0x1e&&(a['push']('WARNING:\x20Component\x20uses\x20'+T['length']+'\x20child\x20components\x20but\x20test\x20is\x20only\x20'+c+_0x206f24(0x150)),a['push'](_0x206f24(0x16f)));}}t['length']>0x0&&(console['error']('\x0a❌\x20UI\x20INTEGRATION\x20TEST\x20CHECK\x20FAILED\x0a'),console[_0x206f24(0x19a)](_0x206f24(0x133)+$+'\x0a'),t[_0x206f24(0x198)](_0x4b9370=>console[_0x206f24(0x19a)]('\x20\x20'+_0x4b9370)),console[_0x206f24(0x19a)](_0x206f24(0x186)),process[_0x206f24(0x12c)](0x2)),a[_0x206f24(0x18d)]>0x0&&(console['warn'](_0x206f24(0x13f)),console[_0x206f24(0x18f)](_0x206f24(0x133)+$+'\x0a'),a[_0x206f24(0x198)](_0x1abd35=>console[_0x206f24(0x18f)]('\x20\x20'+_0x1abd35)),console['warn']('\x0aConsider\x20addressing\x20these\x20UI\x20testing\x20gaps.\x0a')),process[_0x206f24(0x12c)](0x0);
|
package/dist/scripts/help.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
var _0x115f71=_0x2446;function _0x2446(_0x5c2ebc,_0x16fc8d){_0x5c2ebc=_0x5c2ebc-0xf3;var _0x2b288d=_0x5e56();var _0x3612c7=_0x2b288d[_0x5c2ebc];return _0x3612c7;}(function(_0x141d7f,_0x323d3c){var _0x19a5ce=_0x2446,_0x18bc9b=_0x141d7f();while(!![]){try{var _0x27c854=parseInt(_0x19a5ce(0xf9))/0x1+-parseInt(_0x19a5ce(0xfc))/0x2+-parseInt(_0x19a5ce(0xfa))/0x3+-parseInt(_0x19a5ce(0xf5))/0x4+parseInt(_0x19a5ce(0xf8))/0x5+parseInt(_0x19a5ce(0xfe))/0x6+parseInt(_0x19a5ce(0xf4))/0x7;if(_0x27c854===_0x323d3c)break;else _0x18bc9b['push'](_0x18bc9b['shift']());}catch(_0x3931d0){_0x18bc9b['push'](_0x18bc9b['shift']());}}}(_0x5e56,0x57965));var _0x7545f1=(function(){var _0x5e5fa2=!![];return function(_0x50187f,_0x4d61f8){var _0x2a30ac=_0x5e5fa2?function(){var _0x5adc65=_0x2446;if(_0x4d61f8){var _0x26e695=_0x4d61f8[_0x5adc65(0xf3)](_0x50187f,arguments);return _0x4d61f8=null,_0x26e695;}}:function(){};return _0x5e5fa2=![],_0x2a30ac;};}()),_0x3612c7=_0x7545f1(this,function(){var _0x2010f1=_0x2446;return _0x3612c7[_0x2010f1(0xfd)]()[_0x2010f1(0xf6)](_0x2010f1(0xff))[_0x2010f1(0xfd)]()[_0x2010f1(0xfb)](_0x3612c7)[_0x2010f1(0xf6)](_0x2010f1(0xff));});function _0x5e56(){var _0x1d6884=['constructor','943058NVgnJY','toString','108018zqPefP','(((.+)+)+)+$','apply','6984229eCXgEB','2232504CScNQO','search','log','426430szKVsW','292645CjKwWX','15807LkfdWr'];_0x5e56=function(){return _0x1d6884;};return _0x5e56();}_0x3612c7(),console[_0x115f71(0xf7)]('\x0a┌─────────────────────────────────────────────────────────────────┐\x0a│\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20│\x0a│\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Claude\x20Agent\x20Development\x20System\x20-\x20Commands\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20│\x0a│\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20│\x0a└─────────────────────────────────────────────────────────────────┘\x0a\x0a📋\x20PLAN\x20MANAGEMENT\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20npm\x20run\x20plan:create\x0a\x20\x20\x20\x20Create\x20a\x20new\x20project\x20plan\x20interactively\x0a\x20\x20\x20\x20Creates:\x20.claude/plans/PLAN-ID/PROJECT-PLAN.json\x0a\x0a\x20\x20npm\x20run\x20plan:init\x0a\x20\x20\x20\x20Lock\x20and\x20initialize\x20a\x20plan\x20for\x20execution\x0a\x20\x20\x20\x20Generates\x20task\x20tracker\x20and\x20individual\x20task\x20files\x0a\x20\x20\x20\x20Required\x20before\x20starting\x20development\x0a\x0a\x20\x20npm\x20run\x20plan:manager\x0a\x20\x20\x20\x20Manage\x20multiple\x20plans\x20(view,\x20switch,\x20archive,\x20delete)\x0a\x20\x20\x20\x20Switch\x20active\x20plan,\x20view\x20all\x20plans,\x20archive\x20completed\x20plans\x0a\x0a\x20\x20npm\x20run\x20plan:amend\x0a\x20\x20\x20\x20Modify\x20a\x20locked\x20plan\x20(add/update/remove\x20tasks)\x0a\x20\x20\x20\x20Creates\x20audit\x20trail\x20in\x20PLAN-AMENDMENTS.json\x0a\x0a\x20\x20npm\x20run\x20plan:help\x0a\x20\x20\x20\x20Show\x20plan-related\x20help\x20and\x20documentation\x0a\x0a\x0a📝\x20TASK\x20MANAGEMENT\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20npm\x20run\x20task:status\x0a\x20\x20\x20\x20View\x20project\x20status\x20and\x20task\x20progress\x0a\x20\x20\x20\x20Shows\x20active\x20task,\x20completed\x20tasks,\x20next\x20pending\x20tasks\x0a\x20\x20\x20\x20Displays\x20progress\x20bar\x20and\x20statistics\x0a\x0a\x20\x20npm\x20run\x20task:start\x20TASK-XXX\x0a\x20\x20\x20\x20Start\x20working\x20on\x20a\x20task\x0a\x20\x20\x20\x20Validates\x20dependencies\x20and\x20sequence\x0a\x20\x20\x20\x20Sets\x20task\x20as\x20active\x20(one\x20task\x20at\x20a\x20time)\x0a\x0a\x20\x20\x20\x20Example:\x20npm\x20run\x20task:start\x20TASK-001\x0a\x0a\x20\x20npm\x20run\x20task:done\x20TASK-XXX\x0a\x20\x20\x20\x20Mark\x20task\x20as\x20completed\x0a\x20\x20\x20\x20Validates\x20all\x20changes\x20are\x20committed\x0a\x20\x20\x20\x20Prompts\x20to\x20merge\x20to\x20main\x20branch\x0a\x0a\x20\x20\x20\x20Example:\x20npm\x20run\x20task:done\x20TASK-001\x0a\x0a\x0a🔀\x20GIT\x20WORKFLOW\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20npm\x20run\x20task:merge\x20TASK-XXX\x0a\x20\x20\x20\x20Merge\x20a\x20single\x20completed\x20task\x20to\x20main\x20branch\x0a\x0a\x20\x20\x20\x20Example:\x20npm\x20run\x20task:merge\x20TASK-001\x0a\x0a\x20\x20npm\x20run\x20task:merge\x20--\x20--phase\x20PHASE-NAME\x0a\x20\x20\x20\x20Merge\x20all\x20completed\x20tasks\x20in\x20a\x20phase\x20to\x20main\x0a\x0a\x20\x20\x20\x20Example:\x20npm\x20run\x20task:merge\x20--\x20--phase\x20implementation\x0a\x0a\x20\x20npm\x20run\x20setup:hooks\x0a\x20\x20\x20\x20Install\x20git\x20hooks\x20for\x20validation\x0a\x20\x20\x20\x20Hooks:\x20pre-commit,\x20commit-msg,\x20pre-push\x0a\x20\x20\x20\x20Validates\x20tests,\x20formatting,\x20commit\x20messages\x0a\x0a\x0a📊\x20WORKFLOW\x20OVERVIEW\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20Phase\x201:\x20Planning\x0a\x20\x20─────────────────\x0a\x20\x201.\x20Share\x20requirements\x20with\x20Claude\x20Agent\x0a\x20\x202.\x20Agent\x20creates\x20PROJECT-PLAN.json\x0a\x20\x203.\x20Human\x20reviews\x20and\x20approves\x20plan\x0a\x20\x204.\x20Human\x20locks\x20plan:\x20npm\x20run\x20plan:init\x0a\x0a\x20\x20Phase\x202:\x20Development\x0a\x20\x20────────────────────\x0a\x20\x201.\x20View\x20tasks:\x20npm\x20run\x20task:status\x0a\x20\x202.\x20Start\x20task:\x20npm\x20run\x20task:start\x20TASK-XXX\x0a\x20\x203.\x20Create\x20feature\x20branch:\x20git\x20checkout\x20-b\x20task/TASK-XXX-description\x0a\x20\x204.\x20Write\x20code\x20in\x20Agent/\x20directory\x0a\x20\x205.\x20Commit\x20changes:\x20git\x20commit\x20-m\x20\x22[TASK-XXX]\x20Description\x22\x0a\x20\x206.\x20Complete\x20task:\x20npm\x20run\x20task:done\x20TASK-XXX\x0a\x20\x207.\x20Merge\x20to\x20main:\x20Choose\x20option\x20when\x20prompted\x0a\x0a\x20\x20Phase\x203:\x20Delivery\x0a\x20\x20─────────────────\x0a\x20\x201.\x20Merge\x20all\x20phases:\x20npm\x20run\x20task:merge\x20--\x20--phase\x20PHASE-NAME\x0a\x20\x202.\x20Create\x20pull\x20request\x0a\x20\x203.\x20Code\x20review\x20and\x20merge\x20to\x20production\x0a\x0a\x0a📁\x20FILE\x20STRUCTURE\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20.claude/\x0a\x20\x20├──\x20CLAUDE.md\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20System\x20rules\x20and\x20workflow\x0a\x20\x20├──\x20ACTIVE-PLAN\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Current\x20active\x20plan\x20pointer\x0a\x20\x20├──\x20settings.json\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Hook\x20configuration\x0a\x20\x20├──\x20hooks/\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Enforcement\x20scripts\x0a\x20\x20└──\x20plans/\x0a\x20\x20\x20\x20\x20\x20└──\x20PLAN-ID/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20├──\x20PROJECT-PLAN.json\x20\x20\x20\x20Immutable\x20project\x20plan\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20├──\x20TASK-TRACKER.json\x20\x20\x20\x20Task\x20states\x20&\x20statistics\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20├──\x20.plan-locked\x20\x20\x20\x20\x20\x20\x20\x20\x20Lock\x20marker\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20└──\x20tasks/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20├──\x20TASK-001.json\x20\x20\x20\x20Individual\x20task\x20files\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20└──\x20TASK-002.json\x0a\x0a\x20\x20Agent/\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20YOUR\x20SOURCE\x20CODE\x20GOES\x20HERE\x0a\x20\x20├──\x20src/\x0a\x20\x20├──\x20tests/\x0a\x20\x20└──\x20...\x0a\x0a\x20\x20scripts/\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Management\x20utilities\x0a\x20\x20docs/\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Documentation\x20&\x20diagrams\x0a\x0a\x0a🔒\x20ENFORCEMENT\x20RULES\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20✅\x20HARD\x20BLOCKS\x20(Cannot\x20bypass):\x0a\x20\x20\x20\x20\x20•\x20No\x20code\x20changes\x20without\x20active\x20task\x0a\x20\x20\x20\x20\x20•\x20Dependencies\x20must\x20be\x20completed\x20first\x0a\x20\x20\x20\x20\x20•\x20All\x20changes\x20must\x20be\x20committed\x20before\x20task\x20completion\x0a\x20\x20\x20\x20\x20•\x20Cannot\x20edit\x20locked\x20plan\x20directly\x0a\x20\x20\x20\x20\x20•\x20One\x20task\x20active\x20at\x20a\x20time\x0a\x0a\x20\x20⚠️\x20\x20WARNINGS\x20(5-second\x20delay\x20to\x20cancel):\x0a\x20\x20\x20\x20\x20•\x20Skipping\x20tasks\x20in\x20sequence\x0a\x20\x20\x20\x20\x20•\x20Starting\x20later\x20phase\x20with\x20incomplete\x20earlier\x20phases\x0a\x0a\x0a📚\x20DOCUMENTATION\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20View\x20lifecycle\x20diagrams:\x0a\x20\x20\x20\x20Open\x20docs/index.html\x20in\x20browser\x0a\x20\x20\x20\x20Color-coded\x20diagrams\x20showing\x20complete\x20workflow\x0a\x0a\x20\x20Getting\x20started\x20guide:\x0a\x20\x20\x20\x20See\x20GETTING-STARTED.md\x20for\x20step-by-step\x20setup\x0a\x0a\x20\x20System\x20documentation:\x0a\x20\x20\x20\x20.claude/CLAUDE.md\x20-\x20Complete\x20workflow\x20rules\x0a\x0a\x0a🆘\x20TROUBLESHOOTING\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20\x22BLOCKED:\x20No\x20active\x20task\x22\x0a\x20\x20\x20\x20→\x20Run:\x20npm\x20run\x20task:start\x20TASK-XXX\x0a\x0a\x20\x20\x22BLOCKED:\x20Plan\x20is\x20locked\x22\x0a\x20\x20\x20\x20→\x20Use:\x20npm\x20run\x20plan:amend\x0a\x0a\x20\x20\x22Dependencies\x20not\x20met\x22\x0a\x20\x20\x20\x20→\x20Complete\x20dependency\x20tasks\x20first\x0a\x20\x20\x20\x20→\x20Check:\x20npm\x20run\x20task:status\x0a\x0a\x20\x20\x22No\x20active\x20plan\x20found\x22\x0a\x20\x20\x20\x20→\x20Run:\x20npm\x20run\x20plan:manager\x0a\x20\x20\x20\x20→\x20Switch\x20to\x20or\x20create\x20a\x20plan\x0a\x0a\x20\x20All\x20work\x20in\x20branches,\x20not\x20merged\x20to\x20main\x0a\x20\x20\x20\x20→\x20Run:\x20npm\x20run\x20task:merge\x20--\x20--phase\x20PHASE-NAME\x0a\x20\x20\x20\x20→\x20Or\x20merge\x20individually:\x20npm\x20run\x20task:merge\x20TASK-XXX\x0a\x0a\x0a📞\x20NEED\x20MORE\x20HELP?\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20•\x20Ask\x20Claude\x20Agent\x20for\x20assistance\x0a\x20\x20•\x20View\x20docs/index.html\x20for\x20visual\x20workflow\x0a\x20\x20•\x20Read\x20GETTING-STARTED.md\x20for\x20detailed\x20guide\x0a\x20\x20•\x20Check\x20.claude/CLAUDE.md\x20for\x20complete\x20rules\x0a\x0a\x0a━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x0a\x0a\x20\x20Quick\x20Start:\x20npm\x20run\x20task:status\x0a\x20\x20Repository:\x20https://github.com/ajayhanda/claude-agent\x0a\x0a━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x0a'),process['exit'](0x0);
|
|
2
|
+
var _0x3aea30=_0x1834;function _0x5ab3(){var _0x495c18=['260174smVTAs','(((.+)+)+)+$','toString','1892829tfCvGu','apply','1845EMtzaJ','14MCUUVg','MdBOK','constructor','\x0a┌─────────────────────────────────────────────────────────────────┐\x0a│\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20│\x0a│\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Claude\x20Agent\x20Development\x20System\x20-\x20Commands\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20│\x0a│\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20│\x0a└─────────────────────────────────────────────────────────────────┘\x0a\x0a📋\x20PLAN\x20MANAGEMENT\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20npm\x20run\x20plan:create\x0a\x20\x20\x20\x20Create\x20a\x20new\x20project\x20plan\x20interactively\x0a\x20\x20\x20\x20Creates:\x20.claude/plans/PLAN-ID/PROJECT-PLAN.json\x0a\x0a\x20\x20npm\x20run\x20plan:init\x0a\x20\x20\x20\x20Lock\x20and\x20initialize\x20a\x20plan\x20for\x20execution\x0a\x20\x20\x20\x20Generates\x20task\x20tracker\x20and\x20individual\x20task\x20files\x0a\x20\x20\x20\x20Required\x20before\x20starting\x20development\x0a\x0a\x20\x20npm\x20run\x20plan:manager\x0a\x20\x20\x20\x20Manage\x20multiple\x20plans\x20(view,\x20switch,\x20archive,\x20delete)\x0a\x20\x20\x20\x20Switch\x20active\x20plan,\x20view\x20all\x20plans,\x20archive\x20completed\x20plans\x0a\x0a\x20\x20npm\x20run\x20plan:amend\x0a\x20\x20\x20\x20Modify\x20a\x20locked\x20plan\x20(add/update/remove\x20tasks)\x0a\x20\x20\x20\x20Creates\x20audit\x20trail\x20in\x20PLAN-AMENDMENTS.json\x0a\x0a\x20\x20npm\x20run\x20plan:help\x0a\x20\x20\x20\x20Show\x20plan-related\x20help\x20and\x20documentation\x0a\x0a\x0a📝\x20TASK\x20MANAGEMENT\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20npm\x20run\x20task:status\x0a\x20\x20\x20\x20View\x20project\x20status\x20and\x20task\x20progress\x0a\x20\x20\x20\x20Shows\x20active\x20task,\x20completed\x20tasks,\x20next\x20pending\x20tasks\x0a\x20\x20\x20\x20Displays\x20progress\x20bar\x20and\x20statistics\x0a\x0a\x20\x20npm\x20run\x20task:start\x20TASK-XXX\x0a\x20\x20\x20\x20Start\x20working\x20on\x20a\x20task\x0a\x20\x20\x20\x20Validates\x20dependencies\x20and\x20sequence\x0a\x20\x20\x20\x20Sets\x20task\x20as\x20active\x20(one\x20task\x20at\x20a\x20time)\x0a\x0a\x20\x20\x20\x20Example:\x20npm\x20run\x20task:start\x20TASK-001\x0a\x0a\x20\x20npm\x20run\x20task:done\x20TASK-XXX\x0a\x20\x20\x20\x20Mark\x20task\x20as\x20completed\x0a\x20\x20\x20\x20Validates\x20all\x20changes\x20are\x20committed\x0a\x20\x20\x20\x20Prompts\x20to\x20merge\x20to\x20main\x20branch\x0a\x0a\x20\x20\x20\x20Example:\x20npm\x20run\x20task:done\x20TASK-001\x0a\x0a\x0a🔀\x20GIT\x20WORKFLOW\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20npm\x20run\x20task:merge\x20TASK-XXX\x0a\x20\x20\x20\x20Merge\x20a\x20single\x20completed\x20task\x20to\x20main\x20branch\x0a\x0a\x20\x20\x20\x20Example:\x20npm\x20run\x20task:merge\x20TASK-001\x0a\x0a\x20\x20npm\x20run\x20task:merge\x20--\x20--phase\x20PHASE-NAME\x0a\x20\x20\x20\x20Merge\x20all\x20completed\x20tasks\x20in\x20a\x20phase\x20to\x20main\x0a\x0a\x20\x20\x20\x20Example:\x20npm\x20run\x20task:merge\x20--\x20--phase\x20implementation\x0a\x0a\x20\x20npm\x20run\x20setup:hooks\x0a\x20\x20\x20\x20Install\x20git\x20hooks\x20for\x20validation\x0a\x20\x20\x20\x20Hooks:\x20pre-commit,\x20commit-msg,\x20pre-push\x0a\x20\x20\x20\x20Validates\x20tests,\x20formatting,\x20commit\x20messages\x0a\x0a\x0a📊\x20WORKFLOW\x20OVERVIEW\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20Phase\x201:\x20Planning\x0a\x20\x20─────────────────\x0a\x20\x201.\x20Share\x20requirements\x20with\x20Claude\x20Agent\x0a\x20\x202.\x20Agent\x20creates\x20PROJECT-PLAN.json\x0a\x20\x203.\x20Human\x20reviews\x20and\x20approves\x20plan\x0a\x20\x204.\x20Human\x20locks\x20plan:\x20npm\x20run\x20plan:init\x0a\x0a\x20\x20Phase\x202:\x20Development\x0a\x20\x20────────────────────\x0a\x20\x201.\x20View\x20tasks:\x20npm\x20run\x20task:status\x0a\x20\x202.\x20Start\x20task:\x20npm\x20run\x20task:start\x20TASK-XXX\x0a\x20\x203.\x20Create\x20feature\x20branch:\x20git\x20checkout\x20-b\x20task/TASK-XXX-description\x0a\x20\x204.\x20Write\x20code\x20in\x20Agent/\x20directory\x0a\x20\x205.\x20Commit\x20changes:\x20git\x20commit\x20-m\x20\x22[TASK-XXX]\x20Description\x22\x0a\x20\x206.\x20Complete\x20task:\x20npm\x20run\x20task:done\x20TASK-XXX\x0a\x20\x207.\x20Merge\x20to\x20main:\x20Choose\x20option\x20when\x20prompted\x0a\x0a\x20\x20Phase\x203:\x20Delivery\x0a\x20\x20─────────────────\x0a\x20\x201.\x20Merge\x20all\x20phases:\x20npm\x20run\x20task:merge\x20--\x20--phase\x20PHASE-NAME\x0a\x20\x202.\x20Create\x20pull\x20request\x0a\x20\x203.\x20Code\x20review\x20and\x20merge\x20to\x20production\x0a\x0a\x0a📁\x20FILE\x20STRUCTURE\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20.claude/\x0a\x20\x20├──\x20CLAUDE.md\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20System\x20rules\x20and\x20workflow\x0a\x20\x20├──\x20ACTIVE-PLAN\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Current\x20active\x20plan\x20pointer\x0a\x20\x20├──\x20settings.json\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Hook\x20configuration\x0a\x20\x20├──\x20hooks/\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Enforcement\x20scripts\x0a\x20\x20└──\x20plans/\x0a\x20\x20\x20\x20\x20\x20└──\x20PLAN-ID/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20├──\x20PROJECT-PLAN.json\x20\x20\x20\x20Immutable\x20project\x20plan\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20├──\x20TASK-TRACKER.json\x20\x20\x20\x20Task\x20states\x20&\x20statistics\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20├──\x20.plan-locked\x20\x20\x20\x20\x20\x20\x20\x20\x20Lock\x20marker\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20└──\x20tasks/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20├──\x20TASK-001.json\x20\x20\x20\x20Individual\x20task\x20files\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20└──\x20TASK-002.json\x0a\x0a\x20\x20Agent/\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20YOUR\x20SOURCE\x20CODE\x20GOES\x20HERE\x0a\x20\x20├──\x20src/\x0a\x20\x20├──\x20tests/\x0a\x20\x20└──\x20...\x0a\x0a\x20\x20scripts/\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Management\x20utilities\x0a\x20\x20docs/\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Documentation\x20&\x20diagrams\x0a\x0a\x0a🔒\x20ENFORCEMENT\x20RULES\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20✅\x20HARD\x20BLOCKS\x20(Cannot\x20bypass):\x0a\x20\x20\x20\x20\x20•\x20No\x20code\x20changes\x20without\x20active\x20task\x0a\x20\x20\x20\x20\x20•\x20Dependencies\x20must\x20be\x20completed\x20first\x0a\x20\x20\x20\x20\x20•\x20All\x20changes\x20must\x20be\x20committed\x20before\x20task\x20completion\x0a\x20\x20\x20\x20\x20•\x20Cannot\x20edit\x20locked\x20plan\x20directly\x0a\x20\x20\x20\x20\x20•\x20One\x20task\x20active\x20at\x20a\x20time\x0a\x0a\x20\x20⚠️\x20\x20WARNINGS\x20(5-second\x20delay\x20to\x20cancel):\x0a\x20\x20\x20\x20\x20•\x20Skipping\x20tasks\x20in\x20sequence\x0a\x20\x20\x20\x20\x20•\x20Starting\x20later\x20phase\x20with\x20incomplete\x20earlier\x20phases\x0a\x0a\x0a📚\x20DOCUMENTATION\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20View\x20lifecycle\x20diagrams:\x0a\x20\x20\x20\x20Open\x20docs/index.html\x20in\x20browser\x0a\x20\x20\x20\x20Color-coded\x20diagrams\x20showing\x20complete\x20workflow\x0a\x0a\x20\x20Getting\x20started\x20guide:\x0a\x20\x20\x20\x20See\x20GETTING-STARTED.md\x20for\x20step-by-step\x20setup\x0a\x0a\x20\x20System\x20documentation:\x0a\x20\x20\x20\x20.claude/CLAUDE.md\x20-\x20Complete\x20workflow\x20rules\x0a\x0a\x0a🆘\x20TROUBLESHOOTING\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20\x22BLOCKED:\x20No\x20active\x20task\x22\x0a\x20\x20\x20\x20→\x20Run:\x20npm\x20run\x20task:start\x20TASK-XXX\x0a\x0a\x20\x20\x22BLOCKED:\x20Plan\x20is\x20locked\x22\x0a\x20\x20\x20\x20→\x20Use:\x20npm\x20run\x20plan:amend\x0a\x0a\x20\x20\x22Dependencies\x20not\x20met\x22\x0a\x20\x20\x20\x20→\x20Complete\x20dependency\x20tasks\x20first\x0a\x20\x20\x20\x20→\x20Check:\x20npm\x20run\x20task:status\x0a\x0a\x20\x20\x22No\x20active\x20plan\x20found\x22\x0a\x20\x20\x20\x20→\x20Run:\x20npm\x20run\x20plan:manager\x0a\x20\x20\x20\x20→\x20Switch\x20to\x20or\x20create\x20a\x20plan\x0a\x0a\x20\x20All\x20work\x20in\x20branches,\x20not\x20merged\x20to\x20main\x0a\x20\x20\x20\x20→\x20Run:\x20npm\x20run\x20task:merge\x20--\x20--phase\x20PHASE-NAME\x0a\x20\x20\x20\x20→\x20Or\x20merge\x20individually:\x20npm\x20run\x20task:merge\x20TASK-XXX\x0a\x0a\x0a📞\x20NEED\x20MORE\x20HELP?\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20•\x20Ask\x20Claude\x20Agent\x20for\x20assistance\x0a\x20\x20•\x20View\x20docs/index.html\x20for\x20visual\x20workflow\x0a\x20\x20•\x20Read\x20GETTING-STARTED.md\x20for\x20detailed\x20guide\x0a\x20\x20•\x20Check\x20.claude/CLAUDE.md\x20for\x20complete\x20rules\x0a\x0a\x0a━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x0a\x0a\x20\x20Quick\x20Start:\x20npm\x20run\x20task:status\x0a\x20\x20Repository:\x20https://github.com/ajayhanda/claude-agent\x0a\x0a━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x0a','1129584rnMusr','search','2618172kszday','5cwcJIQ','710frdlFY','1631475cDQFDA','1772988gvvFvd','log'];_0x5ab3=function(){return _0x495c18;};return _0x5ab3();}(function(_0x164d61,_0x4feb51){var _0x2ef379=_0x1834,_0x33bc17=_0x164d61();while(!![]){try{var _0x8fc282=-parseInt(_0x2ef379(0xe8))/0x1*(parseInt(_0x2ef379(0xed))/0x2)+parseInt(_0x2ef379(0xde))/0x3+parseInt(_0x2ef379(0xe7))/0x4+-parseInt(_0x2ef379(0xea))/0x5+parseInt(_0x2ef379(0xeb))/0x6+parseInt(_0x2ef379(0xe1))/0x7*(-parseInt(_0x2ef379(0xe5))/0x8)+-parseInt(_0x2ef379(0xe0))/0x9*(-parseInt(_0x2ef379(0xe9))/0xa);if(_0x8fc282===_0x4feb51)break;else _0x33bc17['push'](_0x33bc17['shift']());}catch(_0x3b9124){_0x33bc17['push'](_0x33bc17['shift']());}}}(_0x5ab3,0x5221d));var _0xf1c360=(function(){var _0x39066f=!![];return function(_0x540186,_0xc57ea5){var _0x1e545a=_0x39066f?function(){var _0x2869b8=_0x1834;if(_0xc57ea5){var _0x21b3e0=_0xc57ea5[_0x2869b8(0xdf)](_0x540186,arguments);return _0xc57ea5=null,_0x21b3e0;}}:function(){};return _0x39066f=![],_0x1e545a;};}()),_0x4d1348=_0xf1c360(this,function(){var _0x280d7a=_0x1834,_0x791692={};_0x791692[_0x280d7a(0xe2)]=_0x280d7a(0xee);var _0x1e2eeb=_0x791692;return _0x4d1348['toString']()['search'](_0x280d7a(0xee))[_0x280d7a(0xdd)]()[_0x280d7a(0xe3)](_0x4d1348)[_0x280d7a(0xe6)](_0x1e2eeb[_0x280d7a(0xe2)]);});function _0x1834(_0x5d1abc,_0xc97c28){_0x5d1abc=_0x5d1abc-0xdd;var _0xd77ca3=_0x5ab3();var _0x4d1348=_0xd77ca3[_0x5d1abc];return _0x4d1348;}_0x4d1348(),console[_0x3aea30(0xec)](_0x3aea30(0xe4)),process['exit'](0x0);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const _0x3a5041=_0x3a9c;(function(_0xa547de,_0x3a0406){const _0x389599=_0x3a9c,_0x5ebd5a=_0xa547de();while(!![]){try{const _0x46a652=-parseInt(_0x389599(0x12a))/0x1+parseInt(_0x389599(0x157))/0x2*(parseInt(_0x389599(0x104))/0x3)+parseInt(_0x389599(0x160))/0x4+-parseInt(_0x389599(0xdb))/0x5+parseInt(_0x389599(0x15e))/0x6+-parseInt(_0x389599(0x161))/0x7*(-parseInt(_0x389599(0x10f))/0x8)+-parseInt(_0x389599(0x112))/0x9;if(_0x46a652===_0x3a0406)break;else _0x5ebd5a['push'](_0x5ebd5a['shift']());}catch(_0x497483){_0x5ebd5a['push'](_0x5ebd5a['shift']());}}}(_0x3fbd,0x199e0));var h=(_0x2df3ce=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x2df3ce,{'get':(_0x146d01,_0x5ab04b)=>(typeof require<'u'?require:_0x146d01)[_0x5ab04b]}):_0x2df3ce)(function(_0x10463c){const _0x20a1f2=_0x3a9c,_0x5ea251={'KcEtM':function(_0x52f37b,_0x4676d7){return _0x52f37b(_0x4676d7);},'LgsFj':function(_0x668f26,_0x27e25f){return _0x668f26+_0x27e25f;}};if(typeof require<'u')return require[_0x20a1f2(0x133)](this,arguments);throw _0x5ea251[_0x20a1f2(0x162)](Error,_0x5ea251['LgsFj'](_0x5ea251[_0x20a1f2(0xe2)](_0x20a1f2(0x12d),_0x10463c),_0x20a1f2(0x144)));}),n=h('fs'),$=h(_0x3a5041(0xea)),d=h(_0x3a5041(0x102)),w=_0x3a5041(0x11b);n['existsSync'](w)||(console[_0x3a5041(0x11e)](_0x3a5041(0xeb)),console[_0x3a5041(0x11e)](_0x3a5041(0x186)),process[_0x3a5041(0x110)](0x1));var T=n['readFileSync'](w,_0x3a5041(0x17a))['trim'](),y=d[_0x3a5041(0x111)](_0x3a5041(0xf4),T),v=d[_0x3a5041(0x111)](y,'PROJECT-PLAN.json'),f=d[_0x3a5041(0x111)](y,_0x3a5041(0x18b)),m=d[_0x3a5041(0x111)](y,'PLAN-AMENDMENTS.json'),S=d[_0x3a5041(0x111)](y,_0x3a5041(0x158));function _0x3a9c(_0x2a06f6,_0x37e5f1){_0x2a06f6=_0x2a06f6-0xd2;const _0x10f09d=_0x3fbd();let _0x52fe9e=_0x10f09d[_0x2a06f6];return _0x52fe9e;}n['existsSync'](f)||(console[_0x3a5041(0x11e)](_0x3a5041(0x136)+T+_0x3a5041(0x142)),console['error'](_0x3a5041(0xf5)),process[_0x3a5041(0x110)](0x1));const _0x571f1e={};function _0x3fbd(){const _0x46a30e=['implementation','pPBJp','❌\x20Error:\x20Plan\x20','newDescription','Task\x20description\x20(optional):\x20','3.\x20Remove\x20a\x20task','\x20\x20\x20Removed:\x20','nklpJ','Error:','❌\x20Cannot\x20remove\x20completed\x20tasks','in_progress','max','push','4.\x20View\x20amendment\x20history','\x20is\x20not\x20locked\x20yet','1.\x20Add\x20a\x20new\x20task','\x22\x20is\x20not\x20supported','CQfzL','\x0aAmendment\x20logged\x20for\x20audit\x20trail.','.json','\x20\x20\x20Reason:\x20','fFiFt','stringify','BtwrL','gsxxT','\x0a❌\x20Cannot\x20remove\x20task.\x20The\x20following\x20tasks\x20depend\x20on\x20it:','\x20updated\x20successfully!','ofsBC','Enter\x20choice\x20(1-5):\x20','status','\x0a---\x20Update\x20Existing\x20Task\x20---\x0a','GnSpV','QMaFd','\x20added\x20successfully!','update','6TlbTwH','tasks','NpGPF','VycIb','cBvfa','includes','stdin','997590stJErj','.\x20[','184820uyXaGk','7fEcPmV','KcEtM','createInterface','rplzX','\x20\x20\x20Phase:\x20','❌\x20Task\x20','Reason\x20for\x20update:\x20','rHUpT','writeFileSync','timestamp','JrQqn','TASK-','xaNKS','PNSuG','IEPMt','map','CJPXI','yKpTu','CIwbj','statistics','\x20\x20\x20-\x20','Cancelled.','description','vwchq','close','utf8','KoqYx','(((.+)+)+)+$','\x0a✅\x20Task\x20','blocked','📝\x20Plan\x20Amendment\x20Tool\x0a','Ouynw','toLocaleString','input','Task\x20ID\x20(e.g.,\x20TASK-001):\x20','No\x20changes\x20made.','Task\x20title:\x20','Set\x20active\x20plan\x20first:\x20npm\x20run\x20plan:manager','MQZxA','fmmmy','IoqVt','\x20(was\x20','TASK-TRACKER.json','\x20\x20\x20Changed:\x20\x22','parse','gdtpz','trim','\x20\x20\x20Status:\x20pending','newTitle','filter','replace','toUpperCase','length','kLkBJ','500560lhMBet','YkUqh','llJoy','stdout','amendments','5.\x20Cancel\x0a','totalTasks','LgsFj','readFileSync','padStart','phase','toString','hqrEW','\x20\x20\x20Date:\x20','No\x20amendments\x20yet.','readline','❌\x20Error:\x20No\x20active\x20plan\x20found','auxrF','Reason\x20for\x20removal:\x20','pending','koqhj','\x22\x20→\x20\x22','taskFiles','log','splice','.claude/plans','Run\x20\x22npm\x20run\x20plan:init\x22\x20first\x20to\x20lock\x20the\x20plan','lPwNS','VPbwc','\x20\x20\x20Description\x20updated','WkyUe','\x0a---\x20Remove\x20Task\x20---\x0a','remove','\x20\x20\x20File:\x20','existsSync','completed','toISOString','dependencies','changes','path','oldTitle','188952dNezSS','\x0aCurrent\x20description:\x20','title','uYZCq','type','tests','❌\x20Cannot\x20remove\x20task\x20that\x20is\x20in_progress','catch','This\x20allows\x20you\x20to\x20modify\x20a\x20locked\x20plan\x20while\x20maintaining\x20audit\x20trail.\x0a','\x20\x20\x20Added:\x20','Uuixe','863224lmIHMg','exit','join','1801197jUmtts','YKGeu','constructor','unlinkSync','LOxyz','2.\x20Update\x20an\x20existing\x20task','design','.claude/tasks/','JbxOT','.claude/ACTIVE-PLAN','Complete\x20or\x20abandon\x20it\x20first.','HASQx','error','add','SzmbU','reason','\x20\x20\x20Title:\x20','forEach','message','find','\x0a📜\x20Plan\x20Amendment\x20History\x0a','BogVZ','search','(none)','104152reIugy','Total\x20amendments:\x20','\x20removed\x20successfully!','Dynamic\x20require\x20of\x20\x22','lastUpdated','UwwmB','keys','ynUUm','vGEkF','apply'];_0x3fbd=function(){return _0x46a30e;};return _0x3fbd();}_0x571f1e[_0x3a5041(0x182)]=process[_0x3a5041(0x15d)],_0x571f1e['output']=process[_0x3a5041(0xde)];var N=$[_0x3a5041(0x163)](_0x571f1e);function a(_0x422f29){return new Promise(_0x4c7530=>{N['question'](_0x422f29,_0x4c7530);});}async function F(){const _0x32dbb1=_0x3a5041,_0x1c20de={'fmmmy':_0x32dbb1(0x17c),'vwchq':function(_0x18db2,_0x17cc01){return _0x18db2(_0x17cc01);},'xkOUl':function(_0x2f5821,_0x524762){return _0x2f5821+_0x524762;},'SzmbU':function(_0xc43a92,_0x385bf4){return _0xc43a92+_0x385bf4;},'dLJIp':function(_0x7fa3ef,_0x3d0179){return _0x7fa3ef!==_0x3d0179;},'GnSpV':_0x32dbb1(0x15a),'rHUpT':function(_0x423a76,_0x4506f6,_0x1f34cc){return _0x423a76(_0x4506f6,_0x1f34cc);},'tzWmj':function(_0x38735b){return _0x38735b();},'xaNKS':_0x32dbb1(0x17a),'BogVZ':_0x32dbb1(0x143),'HASQx':_0x32dbb1(0x139),'ZJrPg':_0x32dbb1(0x141),'hLIbJ':_0x32dbb1(0x150),'hqrEW':function(_0x2bbc76,_0x2e8cd4,_0x489663){return _0x2bbc76(_0x2e8cd4,_0x489663);},'pPBJp':'Invalid\x20choice'},_0x1f1aaf=(function(){const _0x2077e3=_0x32dbb1,_0x1c8f08={'JrQqn':function(_0x43016b,_0xc05f5e){return _0x1c20de['dLJIp'](_0x43016b,_0xc05f5e);},'XbdUX':_0x1c20de[_0x2077e3(0x153)]};let _0x23381e=!![];return function(_0x500a02,_0x48ec53){const _0x401a44=_0x2077e3,_0x3fd5da={'Ouynw':_0x1c20de[_0x401a44(0x188)],'gsxxT':function(_0xd2a99d,_0x1b0f82){return _0x1c20de['vwchq'](_0xd2a99d,_0x1b0f82);},'gdtpz':function(_0x5aca49,_0x1e785d){return _0x1c20de['xkOUl'](_0x5aca49,_0x1e785d);},'nJjWz':function(_0x2cc48e,_0x3d9a3c){const _0x206a47=_0x401a44;return _0x1c20de[_0x206a47(0x120)](_0x2cc48e,_0x3d9a3c);},'PNSuG':_0x401a44(0x12d),'wyFfW':'\x22\x20is\x20not\x20supported'},_0x650073=_0x23381e?function(){const _0xd69396=_0x401a44;if(_0x1c8f08[_0xd69396(0x16b)](_0x1c8f08['XbdUX'],_0xd69396(0x132))){if(_0x48ec53){if(_0x1c8f08['JrQqn'](_0xd69396(0xdd),'llJoy'))return _0x49e467['toString']()['search'](saHQVf[_0xd69396(0x180)])[_0xd69396(0xe6)]()[_0xd69396(0x114)](_0x114968)[_0xd69396(0x128)](saHQVf['Ouynw']);else{const _0x47c7c1=_0x48ec53[_0xd69396(0x133)](_0x500a02,arguments);return _0x48ec53=null,_0x47c7c1;}}}else{if(typeof _0x27fb6a<'u')return _0xd9f117[_0xd69396(0x133)](this,arguments);throw _0x3fd5da[_0xd69396(0x14c)](_0x481f44,_0x3fd5da[_0xd69396(0xd2)](_0x3fd5da['nJjWz'](_0x3fd5da[_0xd69396(0x16e)],_0x2304a8),_0x3fd5da['wyFfW']));}}:function(){};return _0x23381e=![],_0x650073;};}()),_0x59e302=_0x1c20de[_0x32dbb1(0x168)](_0x1f1aaf,this,function(){const _0x3568a0=_0x32dbb1;return _0x59e302[_0x3568a0(0xe6)]()[_0x3568a0(0x128)]('(((.+)+)+)+$')[_0x3568a0(0xe6)]()[_0x3568a0(0x114)](_0x59e302)['search'](_0x1c20de[_0x3568a0(0x188)]);});_0x1c20de['tzWmj'](_0x59e302),(console[_0x32dbb1(0xf2)](_0x32dbb1(0x17f)),console[_0x32dbb1(0xf2)](_0x32dbb1(0x10c)));const _0x21bfe8={};_0x21bfe8[_0x32dbb1(0xdf)]=[];let _0x466ede=JSON[_0x32dbb1(0x18d)](n[_0x32dbb1(0xe3)](f,_0x1c20de['xaNKS'])),_0xd8e79=n[_0x32dbb1(0xfd)](m)?JSON[_0x32dbb1(0x18d)](n[_0x32dbb1(0xe3)](m,_0x1c20de[_0x32dbb1(0x16d)])):_0x21bfe8;switch(console[_0x32dbb1(0xf2)]('What\x20would\x20you\x20like\x20to\x20do?\x0a'),console[_0x32dbb1(0xf2)](_0x1c20de[_0x32dbb1(0x127)]),console[_0x32dbb1(0xf2)](_0x32dbb1(0x117)),console[_0x32dbb1(0xf2)](_0x1c20de[_0x32dbb1(0x11d)]),console['log'](_0x1c20de['ZJrPg']),console[_0x32dbb1(0xf2)](_0x32dbb1(0xe0)),(await _0x1c20de[_0x32dbb1(0x178)](a,_0x1c20de['hLIbJ']))['trim']()){case'1':await _0x1c20de[_0x32dbb1(0xe7)](x,_0x466ede,_0xd8e79);break;case'2':await A(_0x466ede,_0xd8e79);break;case'3':await O(_0x466ede,_0xd8e79);break;case'4':_0x1c20de[_0x32dbb1(0x178)](j,_0xd8e79);break;case'5':console[_0x32dbb1(0xf2)](_0x32dbb1(0x176));break;default:console[_0x32dbb1(0x11e)](_0x1c20de[_0x32dbb1(0x135)]),process[_0x32dbb1(0x110)](0x1);}N[_0x32dbb1(0x179)]();}async function x(_0x3dba2c,_0x1614ad){const _0x3d2f8d=_0x3a5041,_0x3f6884={'YKGeu':_0x3d2f8d(0x138),'vwjGS':function(_0x46bf6c,_0x6e3b8c){return _0x46bf6c(_0x6e3b8c);},'BtwrL':function(_0x6e5c75,_0x5343a0){return _0x6e5c75(_0x5343a0);},'CIwbj':'Reason\x20for\x20adding:\x20','RswXG':function(_0x5ad630,_0x5d5a20){return _0x5ad630+_0x5d5a20;},'NpGPF':'add'};console['log']('\x0a---\x20Add\x20New\x20Task\x20---\x0a');const _0x406673={};_0x406673[_0x3d2f8d(0x118)]=[],_0x406673['code']=[],_0x406673[_0x3d2f8d(0x109)]=[],_0x406673['documentation']=[];let _0x2d509f=await a(_0x3d2f8d(0x185)),_0x2e5144=await a(_0x3f6884[_0x3d2f8d(0x113)]),_0x44abff=await _0x3f6884['vwjGS'](a,'Phase\x20(design/implementation/testing/deployment):\x20'),_0x37bd9e=await _0x3f6884[_0x3d2f8d(0x14b)](a,_0x3f6884[_0x3d2f8d(0x173)]),_0x18ae45=_0x3dba2c[_0x3d2f8d(0xf1)][_0x3d2f8d(0x170)](_0x3ff7f7=>parseInt(_0x3ff7f7['id'][_0x3d2f8d(0xd7)](_0x3d2f8d(0x16c),'')))[_0x3d2f8d(0xd6)](_0x28bc25=>!isNaN(_0x28bc25)),_0x468353=_0x3f6884['RswXG'](Math[_0x3d2f8d(0x13f)](..._0x18ae45,0x0),0x1),_0x1f045a='TASK-'+String(_0x468353)[_0x3d2f8d(0xe4)](0x3,'0'),_0x4b046b={'id':_0x1f045a,'title':_0x2d509f[_0x3d2f8d(0xd3)](),'description':_0x2e5144[_0x3d2f8d(0xd3)]()||'','status':'pending','phase':_0x44abff[_0x3d2f8d(0xd3)]()||_0x3d2f8d(0x134),'subproject':null,'subprojectName':null,'milestone':null,'milestoneName':null,'dependencies':[],'completionCriteria':[],'testCases':[],'estimatedHours':null,'actualHours':null,'startedAt':null,'completedAt':null,'blockedReason':null,'artifacts':_0x406673,'notes':[]},_0x484276=d[_0x3d2f8d(0x111)](S,_0x1f045a+'.json');n['writeFileSync'](_0x484276,JSON[_0x3d2f8d(0x14a)](_0x4b046b,null,0x2)),_0x3dba2c['taskFiles']['push']({'id':_0x1f045a,'title':_0x2d509f[_0x3d2f8d(0xd3)](),'status':'pending','file':_0x3d2f8d(0x119)+_0x1f045a+_0x3d2f8d(0x147)}),_0x3dba2c[_0x3d2f8d(0x174)][_0x3d2f8d(0xe1)]++,_0x3dba2c[_0x3d2f8d(0x174)]['pending']++,_0x3dba2c[_0x3d2f8d(0x12e)]=new Date()[_0x3d2f8d(0xff)](),n[_0x3d2f8d(0x169)](f,JSON[_0x3d2f8d(0x14a)](_0x3dba2c,null,0x2)),_0x1614ad[_0x3d2f8d(0xdf)][_0x3d2f8d(0x140)]({'timestamp':new Date()[_0x3d2f8d(0xff)](),'type':_0x3f6884[_0x3d2f8d(0x159)],'taskId':_0x1f045a,'reason':_0x37bd9e[_0x3d2f8d(0xd3)](),'changes':{'title':_0x2d509f[_0x3d2f8d(0xd3)](),'phase':_0x44abff[_0x3d2f8d(0xd3)]()||'implementation'}}),n[_0x3d2f8d(0x169)](m,JSON[_0x3d2f8d(0x14a)](_0x1614ad,null,0x2)),console[_0x3d2f8d(0xf2)](_0x3d2f8d(0x17d)+_0x1f045a+_0x3d2f8d(0x155)),console[_0x3d2f8d(0xf2)](_0x3d2f8d(0x122)+_0x2d509f),console[_0x3d2f8d(0xf2)](_0x3d2f8d(0xd4)),console[_0x3d2f8d(0xf2)](_0x3d2f8d(0xfc)+_0x484276),console[_0x3d2f8d(0xf2)](_0x3d2f8d(0x146));}async function A(_0x379268,_0x12c09c){const _0xfbbfd6=_0x3a5041,_0xdd4740={'nklpJ':_0xfbbfd6(0x13c),'IoqVt':_0xfbbfd6(0x183),'EMIFP':_0xfbbfd6(0x17a),'CQfzL':_0xfbbfd6(0xfe),'xzsJp':'❌\x20Cannot\x20modify\x20completed\x20tasks','kLkBJ':function(_0x16f94e,_0x569de2){return _0x16f94e(_0x569de2);},'QMaFd':_0xfbbfd6(0x129),'ynUUm':'New\x20description\x20(or\x20press\x20Enter\x20to\x20keep):\x20','YkUqh':_0xfbbfd6(0x167),'hbNVC':function(_0x5e636a,_0x1e13fc){return _0x5e636a===_0x1e13fc;},'VPbwc':function(_0x4f7cba,_0x22bbc2){return _0x4f7cba!==_0x22bbc2;},'hWTDa':_0xfbbfd6(0xef),'auxrF':_0xfbbfd6(0x171),'rplzX':_0xfbbfd6(0x184)};console['log'](_0xfbbfd6(0x152));let _0x4f2788=await a(_0xdd4740[_0xfbbfd6(0x189)]),_0x5433f7=d[_0xfbbfd6(0x111)](S,_0x4f2788[_0xfbbfd6(0xd3)]()+_0xfbbfd6(0x147));n[_0xfbbfd6(0xfd)](_0x5433f7)||(console['error'](_0xfbbfd6(0x166)+_0x4f2788+'\x20not\x20found'),process['exit'](0x1));let _0x16bf6d=JSON[_0xfbbfd6(0x18d)](n[_0xfbbfd6(0xe3)](_0x5433f7,_0xdd4740['EMIFP']));_0x16bf6d[_0xfbbfd6(0x151)]===_0xdd4740[_0xfbbfd6(0x145)]&&(console[_0xfbbfd6(0x11e)](_0xdd4740['xzsJp']),process[_0xfbbfd6(0x110)](0x1)),console[_0xfbbfd6(0xf2)]('\x0aCurrent\x20title:\x20'+_0x16bf6d[_0xfbbfd6(0x106)]);let _0x5da88b=await _0xdd4740[_0xfbbfd6(0xda)](a,'New\x20title\x20(or\x20press\x20Enter\x20to\x20keep):\x20');console[_0xfbbfd6(0xf2)](_0xfbbfd6(0x105)+(_0x16bf6d[_0xfbbfd6(0x177)]||_0xdd4740[_0xfbbfd6(0x154)]));let _0x192788=await a(_0xdd4740[_0xfbbfd6(0x131)]),_0x21c05d=await _0xdd4740[_0xfbbfd6(0xda)](a,_0xdd4740[_0xfbbfd6(0xdc)]),_0x5b4cbc={};if(_0x5da88b[_0xfbbfd6(0xd3)]()&&(_0x5b4cbc['oldTitle']=_0x16bf6d[_0xfbbfd6(0x106)],_0x5b4cbc[_0xfbbfd6(0xd5)]=_0x5da88b[_0xfbbfd6(0xd3)](),_0x16bf6d[_0xfbbfd6(0x106)]=_0x5da88b[_0xfbbfd6(0xd3)]()),_0x192788[_0xfbbfd6(0xd3)]()&&(_0x5b4cbc['oldDescription']=_0x16bf6d['description'],_0x5b4cbc[_0xfbbfd6(0x137)]=_0x192788[_0xfbbfd6(0xd3)](),_0x16bf6d[_0xfbbfd6(0x177)]=_0x192788[_0xfbbfd6(0xd3)]()),_0xdd4740['hbNVC'](Object[_0xfbbfd6(0x130)](_0x5b4cbc)[_0xfbbfd6(0xd9)],0x0)){if(_0xdd4740[_0xfbbfd6(0xf7)](_0xdd4740['hWTDa'],_0xdd4740[_0xfbbfd6(0xec)])){console['log'](_0xdd4740[_0xfbbfd6(0x164)]);return;}else _0x279fe9['error'](_0xdd4740[_0xfbbfd6(0x13b)],_0x7ce244[_0xfbbfd6(0x124)]),_0x48b359[_0xfbbfd6(0x110)](0x1);}n[_0xfbbfd6(0x169)](_0x5433f7,JSON['stringify'](_0x16bf6d,null,0x2));let _0x4b30de=_0x379268['taskFiles'][_0xfbbfd6(0x125)](_0x57a499=>_0x57a499['id']===_0x4f2788['trim']());_0x4b30de&&_0x5b4cbc[_0xfbbfd6(0xd5)]&&(_0x4b30de[_0xfbbfd6(0x106)]=_0x5b4cbc[_0xfbbfd6(0xd5)]),_0x379268['lastUpdated']=new Date()['toISOString'](),n[_0xfbbfd6(0x169)](f,JSON[_0xfbbfd6(0x14a)](_0x379268,null,0x2)),_0x12c09c['amendments']['push']({'timestamp':new Date()['toISOString'](),'type':_0xfbbfd6(0x156),'taskId':_0x4f2788[_0xfbbfd6(0xd3)](),'reason':_0x21c05d['trim'](),'changes':_0x5b4cbc}),n[_0xfbbfd6(0x169)](m,JSON['stringify'](_0x12c09c,null,0x2)),console[_0xfbbfd6(0xf2)](_0xfbbfd6(0x17d)+_0x4f2788+_0xfbbfd6(0x14e)),console[_0xfbbfd6(0xf2)](_0xfbbfd6(0x146));}async function O(_0x55b631,_0x3a3f4d){const _0x3da688=_0x3a5041,_0xf634c3={'Uuixe':function(_0x4534ea,_0x3fca4f){return _0x4534ea(_0x3fca4f);},'ofsBC':'Task\x20ID\x20to\x20remove\x20(e.g.,\x20TASK-001):\x20','uYZCq':_0x3da688(0x17a),'MUwpD':function(_0x1114ab,_0xee4596){return _0x1114ab===_0xee4596;},'WkyUe':_0x3da688(0x13e),'LOxyz':_0x3da688(0x10a),'maqup':_0x3da688(0xfe),'xVKji':_0x3da688(0x13d),'ntrHb':function(_0x3d8e47,_0x17c81b){return _0x3d8e47>_0x17c81b;},'gvwHv':_0x3da688(0xee),'lPwNS':'blocked','dkVQA':_0x3da688(0xfb)};console['log'](_0x3da688(0xfa));let _0x2cea4c=await _0xf634c3[_0x3da688(0x10e)](a,_0xf634c3[_0x3da688(0x14f)]),_0x228d0e=d['join'](S,_0x2cea4c[_0x3da688(0xd3)]()+'.json');n[_0x3da688(0xfd)](_0x228d0e)||(console['error'](_0x3da688(0x166)+_0x2cea4c+'\x20not\x20found'),process[_0x3da688(0x110)](0x1));let _0x34a688=JSON[_0x3da688(0x18d)](n[_0x3da688(0xe3)](_0x228d0e,_0xf634c3[_0x3da688(0x107)]));_0xf634c3['MUwpD'](_0x34a688[_0x3da688(0x151)],_0xf634c3[_0x3da688(0xf9)])&&(console['error'](_0xf634c3[_0x3da688(0x116)]),console['error'](_0x3da688(0x11c)),process[_0x3da688(0x110)](0x1)),_0xf634c3['MUwpD'](_0x34a688['status'],_0xf634c3['maqup'])&&(console[_0x3da688(0x11e)](_0xf634c3['xVKji']),process[_0x3da688(0x110)](0x1));let _0x52fdeb=await _0xf634c3[_0x3da688(0x10e)](a,_0x3da688(0xed)),_0x20f0fc=[];for(let _0xc57ca2 of _0x55b631[_0x3da688(0xf1)]){let _0x403175=d[_0x3da688(0x111)](S,_0xc57ca2['id']+_0x3da688(0x147));if(n['existsSync'](_0x403175)){let _0x7136c=JSON[_0x3da688(0x18d)](n[_0x3da688(0xe3)](_0x403175,_0xf634c3['uYZCq']));_0x7136c[_0x3da688(0x100)]&&_0x7136c['dependencies'][_0x3da688(0x15c)](_0x2cea4c[_0x3da688(0xd3)]())&&_0x20f0fc[_0x3da688(0x140)]({'id':_0x7136c['id'],'title':_0x7136c[_0x3da688(0x106)]});}}_0xf634c3['ntrHb'](_0x20f0fc['length'],0x0)&&(console['error'](_0x3da688(0x14d)),_0x20f0fc['forEach'](_0x38fc08=>console[_0x3da688(0x11e)](_0x3da688(0x175)+_0x38fc08['id']+':\x20'+_0x38fc08[_0x3da688(0x106)])),process[_0x3da688(0x110)](0x1)),n[_0x3da688(0x115)](_0x228d0e);let _0x52c5cb=_0x55b631['taskFiles']['findIndex'](_0x212c1d=>_0x212c1d['id']===_0x2cea4c['trim']());_0x55b631['taskFiles'][_0x3da688(0xf3)](_0x52c5cb,0x1),_0x55b631['statistics'][_0x3da688(0xe1)]--,_0xf634c3['MUwpD'](_0x34a688['status'],_0xf634c3['gvwHv'])&&_0x55b631[_0x3da688(0x174)][_0x3da688(0xee)]--,_0x34a688[_0x3da688(0x151)]===_0xf634c3[_0x3da688(0xf6)]&&_0x55b631[_0x3da688(0x174)][_0x3da688(0x17e)]--,_0x55b631[_0x3da688(0x12e)]=new Date()['toISOString'](),n[_0x3da688(0x169)](f,JSON[_0x3da688(0x14a)](_0x55b631,null,0x2)),_0x3a3f4d[_0x3da688(0xdf)][_0x3da688(0x140)]({'timestamp':new Date()[_0x3da688(0xff)](),'type':_0xf634c3['dkVQA'],'taskId':_0x2cea4c[_0x3da688(0xd3)](),'reason':_0x52fdeb['trim'](),'changes':{'title':_0x34a688[_0x3da688(0x106)],'status':_0x34a688[_0x3da688(0x151)]}}),n[_0x3da688(0x169)](m,JSON[_0x3da688(0x14a)](_0x3a3f4d,null,0x2)),console[_0x3da688(0xf2)](_0x3da688(0x17d)+_0x2cea4c+_0x3da688(0x12c)),console[_0x3da688(0xf2)]('\x0aAmendment\x20logged\x20for\x20audit\x20trail.');}function j(_0xf22cb6){const _0x1668c8=_0x3a5041,_0x1f7146={};_0x1f7146['ulTYt']=function(_0xfb1bc3,_0x4090b4){return _0xfb1bc3===_0x4090b4;},_0x1f7146[_0x1668c8(0x17b)]=_0x1668c8(0x12f),_0x1f7146['yKpTu']=function(_0x5d2c98,_0xb3d162){return _0x5d2c98+_0xb3d162;},_0x1f7146[_0x1668c8(0x187)]=function(_0x50edff,_0x234e0a){return _0x50edff===_0x234e0a;},_0x1f7146[_0x1668c8(0x15b)]=_0x1668c8(0x11f),_0x1f7146[_0x1668c8(0x16f)]=_0x1668c8(0xf8),_0x1f7146[_0x1668c8(0x149)]=_0x1668c8(0xfb);const _0xb9e586=_0x1f7146;if(console[_0x1668c8(0xf2)](_0x1668c8(0x126)),_0xb9e586['MQZxA'](_0xf22cb6[_0x1668c8(0xdf)]['length'],0x0)){console[_0x1668c8(0xf2)](_0x1668c8(0xe9));return;}_0xf22cb6[_0x1668c8(0xdf)][_0x1668c8(0x123)]((_0x4faf31,_0x2b99c5)=>{const _0x277e46=_0x1668c8;if(_0xb9e586['ulTYt']('UwwmB',_0xb9e586[_0x277e46(0x17b)])){let _0x34d9a2=new Date(_0x4faf31[_0x277e46(0x16a)])[_0x277e46(0x181)]();console['log'](_0xb9e586[_0x277e46(0x172)](_0x2b99c5,0x1)+_0x277e46(0x15f)+_0x4faf31[_0x277e46(0x108)][_0x277e46(0xd8)]()+']\x20'+_0x4faf31['taskId']),console[_0x277e46(0xf2)](_0x277e46(0xe8)+_0x34d9a2),console['log'](_0x277e46(0x148)+_0x4faf31[_0x277e46(0x121)]),_0xb9e586[_0x277e46(0x187)](_0x4faf31[_0x277e46(0x108)],_0xb9e586[_0x277e46(0x15b)])?(console[_0x277e46(0xf2)](_0x277e46(0x10d)+_0x4faf31['changes'][_0x277e46(0x106)]),console[_0x277e46(0xf2)](_0x277e46(0x165)+_0x4faf31[_0x277e46(0x101)][_0x277e46(0xe5)])):_0xb9e586['ulTYt'](_0x4faf31[_0x277e46(0x108)],'update')?(_0x4faf31[_0x277e46(0x101)][_0x277e46(0x103)]&&console[_0x277e46(0xf2)](_0x277e46(0x18c)+_0x4faf31[_0x277e46(0x101)][_0x277e46(0x103)]+_0x277e46(0xf0)+_0x4faf31[_0x277e46(0x101)][_0x277e46(0xd5)]+'\x22'),_0x4faf31[_0x277e46(0x101)]['oldDescription']&&console[_0x277e46(0xf2)](_0xb9e586[_0x277e46(0x16f)])):_0x4faf31['type']===_0xb9e586[_0x277e46(0x149)]&&console[_0x277e46(0xf2)](_0x277e46(0x13a)+_0x4faf31[_0x277e46(0x101)][_0x277e46(0x106)]+_0x277e46(0x18a)+_0x4faf31['changes']['status']+')'),console[_0x277e46(0xf2)]('');}else{const _0x41943e=_0x278513[_0x277e46(0x133)](_0x260ce3,arguments);return _0x33fde7=null,_0x41943e;}}),console['log'](_0x1668c8(0x12b)+_0xf22cb6[_0x1668c8(0xdf)][_0x1668c8(0xd9)]);}F()[_0x3a5041(0x10b)](_0x24a48e=>{const _0x1aa6b9=_0x3a5041,_0x11b8f5={};_0x11b8f5[_0x1aa6b9(0x11a)]=_0x1aa6b9(0x13c);const _0xc739ba=_0x11b8f5;console[_0x1aa6b9(0x11e)](_0xc739ba[_0x1aa6b9(0x11a)],_0x24a48e[_0x1aa6b9(0x124)]),process['exit'](0x1);});
|
|
2
|
+
const _0x33e585=_0x4c74;(function(_0x55796f,_0x45e38d){const _0x5670be=_0x4c74,_0x5ccd09=_0x55796f();while(!![]){try{const _0x137955=-parseInt(_0x5670be(0x175))/0x1+parseInt(_0x5670be(0x1d7))/0x2+parseInt(_0x5670be(0x17a))/0x3+-parseInt(_0x5670be(0x160))/0x4+-parseInt(_0x5670be(0x1a2))/0x5*(parseInt(_0x5670be(0x1f3))/0x6)+parseInt(_0x5670be(0x20e))/0x7*(-parseInt(_0x5670be(0x168))/0x8)+parseInt(_0x5670be(0x1ae))/0x9*(parseInt(_0x5670be(0x1b4))/0xa);if(_0x137955===_0x45e38d)break;else _0x5ccd09['push'](_0x5ccd09['shift']());}catch(_0x3e675b){_0x5ccd09['push'](_0x5ccd09['shift']());}}}(_0x4309,0x5e432));var h=(_0x30eeb9=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x30eeb9,{'get':(_0x3209fd,_0x37b63a)=>(typeof require<'u'?require:_0x3209fd)[_0x37b63a]}):_0x30eeb9)(function(_0x405a92){const _0x50ff66=_0x4c74,_0x27974a={'LIvHD':function(_0x271b59,_0x881616){return _0x271b59(_0x881616);},'kCuPb':function(_0x37e1b0,_0x3096fc){return _0x37e1b0+_0x3096fc;},'mAMTw':_0x50ff66(0x210)};if(typeof require<'u')return require[_0x50ff66(0x174)](this,arguments);throw _0x27974a[_0x50ff66(0x1bb)](Error,_0x27974a['kCuPb'](_0x27974a[_0x50ff66(0x1ad)]('Dynamic\x20require\x20of\x20\x22',_0x405a92),_0x27974a[_0x50ff66(0x1a1)]));}),n=h('fs'),$=h('readline'),d=h(_0x33e585(0x1c9)),w='.claude/ACTIVE-PLAN';n['existsSync'](w)||(console[_0x33e585(0x186)](_0x33e585(0x1fc)),console[_0x33e585(0x186)](_0x33e585(0x1b3)),process[_0x33e585(0x18d)](0x1));var T=n[_0x33e585(0x16a)](w,_0x33e585(0x20f))['trim'](),y=d[_0x33e585(0x208)]('.claude/plans',T),v=d['join'](y,'PROJECT-PLAN.json'),f=d[_0x33e585(0x208)](y,_0x33e585(0x215)),m=d[_0x33e585(0x208)](y,_0x33e585(0x170)),S=d[_0x33e585(0x208)](y,_0x33e585(0x1bc));n['existsSync'](f)||(console['error'](_0x33e585(0x1da)+T+_0x33e585(0x20b)),console[_0x33e585(0x186)]('Run\x20\x22npm\x20run\x20plan:init\x22\x20first\x20to\x20lock\x20the\x20plan'),process[_0x33e585(0x18d)](0x1));const _0x247b12={};function _0x4c74(_0x336581,_0x585fe6){_0x336581=_0x336581-0x15f;const _0x56b562=_0x4309();let _0x58e8ee=_0x56b562[_0x336581];return _0x58e8ee;}_0x247b12[_0x33e585(0x204)]=process['stdin'],_0x247b12['output']=process[_0x33e585(0x1dc)];var N=$['createInterface'](_0x247b12);function a(_0x684614){return new Promise(_0x46973a=>{const _0x2c3f95=_0x4c74;N[_0x2c3f95(0x199)](_0x684614,_0x46973a);});}async function F(){const _0x3b78b9=_0x33e585,_0x54c24b={'ueGnv':function(_0x33c966,_0x5d2681){return _0x33c966!==_0x5d2681;},'lYPGm':_0x3b78b9(0x1dd),'fiFnr':_0x3b78b9(0x162),'FRNVb':_0x3b78b9(0x1fa),'SLPHt':function(_0x2c1a59,_0x554e21,_0xa933b6){return _0x2c1a59(_0x554e21,_0xa933b6);},'gwBRa':_0x3b78b9(0x20f),'sYAwU':'1.\x20Add\x20a\x20new\x20task','VZStE':_0x3b78b9(0x1ce),'PCNmT':_0x3b78b9(0x182),'WkRTc':'4.\x20View\x20amendment\x20history','zGqYE':function(_0x1fece4,_0x419e4a){return _0x1fece4(_0x419e4a);},'uFRFE':function(_0x1c5d3d,_0x2b63b9,_0x341d33){return _0x1c5d3d(_0x2b63b9,_0x341d33);},'MAAOA':function(_0x31b744,_0x3bdb3b,_0x1a3ef9){return _0x31b744(_0x3bdb3b,_0x1a3ef9);},'nEXHY':function(_0x5c75fb,_0x4ca259){return _0x5c75fb(_0x4ca259);},'AxUJL':_0x3b78b9(0x171)},_0x287e18=(function(){let _0x22db50=!![];return function(_0x39fed1,_0xe41685){const _0x42cc26=_0x22db50?function(){const _0x10ea73=_0x4c74;if(_0xe41685){const _0x410c56=_0xe41685[_0x10ea73(0x174)](_0x39fed1,arguments);return _0xe41685=null,_0x410c56;}}:function(){};return _0x22db50=![],_0x42cc26;};}()),_0x4e62c0=_0x54c24b[_0x3b78b9(0x1d2)](_0x287e18,this,function(){const _0x412484=_0x3b78b9;if(_0x54c24b[_0x412484(0x1b2)](_0x54c24b[_0x412484(0x198)],_0x54c24b[_0x412484(0x205)]))return _0x4e62c0[_0x412484(0x1d9)]()[_0x412484(0x1d4)](_0x54c24b[_0x412484(0x19e)])['toString']()[_0x412484(0x180)](_0x4e62c0)[_0x412484(0x1d4)](_0x54c24b['FRNVb']);else{const _0x46cfc2=_0x635f36['apply'](_0x599950,arguments);return _0x2e0f2d=null,_0x46cfc2;}});_0x4e62c0(),(console['log']('📝\x20Plan\x20Amendment\x20Tool\x0a'),console[_0x3b78b9(0x16e)]('This\x20allows\x20you\x20to\x20modify\x20a\x20locked\x20plan\x20while\x20maintaining\x20audit\x20trail.\x0a'));const _0xfcc78b={};_0xfcc78b[_0x3b78b9(0x1ed)]=[];let _0x48cb8a=JSON[_0x3b78b9(0x1e1)](n[_0x3b78b9(0x16a)](f,_0x3b78b9(0x20f))),_0x391ab6=n['existsSync'](m)?JSON[_0x3b78b9(0x1e1)](n[_0x3b78b9(0x16a)](m,_0x54c24b[_0x3b78b9(0x1d5)])):_0xfcc78b;switch(console[_0x3b78b9(0x16e)](_0x3b78b9(0x172)),console[_0x3b78b9(0x16e)](_0x54c24b[_0x3b78b9(0x18b)]),console[_0x3b78b9(0x16e)](_0x54c24b[_0x3b78b9(0x1fd)]),console['log'](_0x54c24b[_0x3b78b9(0x1c1)]),console['log'](_0x54c24b[_0x3b78b9(0x183)]),console[_0x3b78b9(0x16e)](_0x3b78b9(0x19d)),(await _0x54c24b['zGqYE'](a,'Enter\x20choice\x20(1-5):\x20'))['trim']()){case'1':await _0x54c24b[_0x3b78b9(0x219)](x,_0x48cb8a,_0x391ab6);break;case'2':await _0x54c24b[_0x3b78b9(0x18f)](A,_0x48cb8a,_0x391ab6);break;case'3':await O(_0x48cb8a,_0x391ab6);break;case'4':_0x54c24b[_0x3b78b9(0x194)](j,_0x391ab6);break;case'5':console[_0x3b78b9(0x16e)]('Cancelled.');break;default:console['error'](_0x54c24b[_0x3b78b9(0x1e6)]),process[_0x3b78b9(0x18d)](0x1);}N[_0x3b78b9(0x19c)]();}function _0x4309(){const _0x3e3ae6=['FRNVb','add','Task\x20title:\x20','mAMTw','505vplGFu','\x20\x20\x20File:\x20','Reason\x20for\x20update:\x20','statistics','mSroc','lastUpdated','TTlFt','padStart','KhHSE','OSVXq','(none)','kCuPb','77913etkTcw','\x20\x20\x20Added:\x20','type','title','ueGnv','Set\x20active\x20plan\x20first:\x20npm\x20run\x20plan:manager','2360cZSulZ','completed','ymqlr','max','\x0a---\x20Update\x20Existing\x20Task\x20---\x0a','taskFiles','find','LIvHD','tasks','FwdIw','mBPCQ','jCaks','existsSync','PCNmT','newTitle','drpYy','aQoXg','writeFileSync','code','\x0a✅\x20Task\x20','\x0aCurrent\x20title:\x20','path','WPEyq','.json','reason','SdKQM','2.\x20Update\x20an\x20existing\x20task','\x0aCurrent\x20description:\x20','timestamp','.claude/tasks/','SLPHt','push','search','gwBRa','vkQSc','404968iDizgx','dgqzm','toString','❌\x20Error:\x20Plan\x20','.\x20[','stdout','ocKHK','wyVJb','toISOString','Dynamic\x20require\x20of\x20\x22','parse','\x0a📜\x20Plan\x20Amendment\x20History\x0a','RaNdH','\x20\x20\x20Date:\x20','\x20\x20\x20Removed:\x20','AxUJL','toLocaleString','includes','toUpperCase','oldTitle','hmzAw','pending','amendments','\x20\x20\x20Changed:\x20\x22','UHvPI','Reason\x20for\x20adding:\x20','remove','Task\x20ID\x20to\x20remove\x20(e.g.,\x20TASK-001):\x20','27978Zstbjy','\x20\x20\x20Phase:\x20','message','PgnYZ','implementation','USohb','NSNiV','(((.+)+)+)+$','TASK-','❌\x20Error:\x20No\x20active\x20plan\x20found','VZStE','\x0a❌\x20Cannot\x20remove\x20task.\x20The\x20following\x20tasks\x20depend\x20on\x20it:','keys','\x20not\x20found','oldDescription','forEach','blocked','input','fiFnr','OQFsS','❌\x20Task\x20','join','BzKbo','hWjMc','\x20is\x20not\x20locked\x20yet','trim','\x0a---\x20Remove\x20Task\x20---\x0a','1728013TzUwni','utf8','\x22\x20is\x20not\x20supported','gwpta','EsNMa','length','documentation','TASK-TRACKER.json','\x20updated\x20successfully!','URkEF','totalTasks','uFRFE','KcEIl','2041056VactLy','vRhOg','ezuvu','oIsLt','design','update','❌\x20Cannot\x20remove\x20completed\x20tasks','rSjSU','24zzcZZK','❌\x20Cannot\x20modify\x20completed\x20tasks','readFileSync','DaXZm','description','stringify','log','newDescription','PLAN-AMENDMENTS.json','Invalid\x20choice','What\x20would\x20you\x20like\x20to\x20do?\x0a','Ocltt','apply','540889xgVrOZ','\x20added\x20successfully!','status','\x0aAmendment\x20logged\x20for\x20audit\x20trail.','No\x20changes\x20made.','1209765LvRvsU','GxGQR','Phase\x20(design/implementation/testing/deployment):\x20','changes','difLL','❌\x20Cannot\x20remove\x20task\x20that\x20is\x20in_progress','constructor','Total\x20amendments:\x20','3.\x20Remove\x20a\x20task','WkRTc','\x22\x20→\x20\x22','AoqGF','error','TqayP','TbgKd','HhyDU','No\x20amendments\x20yet.','sYAwU','replace','exit','dependencies','MAAOA','ETPvk','tests','Error:','LojHk','nEXHY','filter','New\x20description\x20(or\x20press\x20Enter\x20to\x20keep):\x20','hIztR','lYPGm','question','Reason\x20for\x20removal:\x20','Task\x20description\x20(optional):\x20','close','5.\x20Cancel\x0a'];_0x4309=function(){return _0x3e3ae6;};return _0x4309();}async function x(_0x2edf33,_0x427cc6){const _0x57c08a=_0x33e585,_0x19387e={'TIDBY':function(_0x25578c,_0x1efe65){return _0x25578c(_0x1efe65);},'oIsLt':_0x57c08a(0x1a0),'rSjSU':function(_0x5ec5c6,_0x398787){return _0x5ec5c6(_0x398787);},'bcrfi':_0x57c08a(0x19b),'SdKQM':function(_0x5da81b,_0x73acda){return _0x5da81b(_0x73acda);},'rsffs':_0x57c08a(0x17c),'KcEIl':_0x57c08a(0x1f0),'hmzAw':function(_0x2cf25a,_0x16eb90){return _0x2cf25a+_0x16eb90;},'KhHSE':function(_0x27a6d7,_0x2ba139){return _0x27a6d7(_0x2ba139);},'TTlFt':_0x57c08a(0x1ec),'AoqGF':_0x57c08a(0x1f7),'BeRhi':'add','DidNd':'\x20\x20\x20Status:\x20pending'};console[_0x57c08a(0x16e)]('\x0a---\x20Add\x20New\x20Task\x20---\x0a');const _0x373d78={};_0x373d78[_0x57c08a(0x164)]=[],_0x373d78[_0x57c08a(0x1c6)]=[],_0x373d78[_0x57c08a(0x191)]=[],_0x373d78[_0x57c08a(0x214)]=[];let _0x49cebc=await _0x19387e['TIDBY'](a,_0x19387e[_0x57c08a(0x163)]),_0x35b38b=await _0x19387e[_0x57c08a(0x167)](a,_0x19387e['bcrfi']),_0x12025c=await _0x19387e[_0x57c08a(0x1cd)](a,_0x19387e['rsffs']),_0x4dcf7a=await a(_0x19387e[_0x57c08a(0x15f)]),_0x595d7d=_0x2edf33[_0x57c08a(0x1b9)]['map'](_0x27152e=>parseInt(_0x27152e['id'][_0x57c08a(0x18c)](_0x57c08a(0x1fb),'')))[_0x57c08a(0x195)](_0x1dfb42=>!isNaN(_0x1dfb42)),_0x2dba9b=_0x19387e[_0x57c08a(0x1eb)](Math[_0x57c08a(0x1b7)](..._0x595d7d,0x0),0x1),_0xa543d7='TASK-'+_0x19387e[_0x57c08a(0x1aa)](String,_0x2dba9b)[_0x57c08a(0x1a9)](0x3,'0'),_0x5ebf5c={'id':_0xa543d7,'title':_0x49cebc[_0x57c08a(0x20c)](),'description':_0x35b38b[_0x57c08a(0x20c)]()||'','status':_0x19387e[_0x57c08a(0x1a8)],'phase':_0x12025c[_0x57c08a(0x20c)]()||_0x19387e[_0x57c08a(0x185)],'subproject':null,'subprojectName':null,'milestone':null,'milestoneName':null,'dependencies':[],'completionCriteria':[],'testCases':[],'estimatedHours':null,'actualHours':null,'startedAt':null,'completedAt':null,'blockedReason':null,'artifacts':_0x373d78,'notes':[]},_0x244f17=d['join'](S,_0xa543d7+'.json');n[_0x57c08a(0x1c5)](_0x244f17,JSON[_0x57c08a(0x16d)](_0x5ebf5c,null,0x2)),_0x2edf33[_0x57c08a(0x1b9)][_0x57c08a(0x1d3)]({'id':_0xa543d7,'title':_0x49cebc[_0x57c08a(0x20c)](),'status':_0x19387e[_0x57c08a(0x1a8)],'file':_0x57c08a(0x1d1)+_0xa543d7+_0x57c08a(0x1cb)}),_0x2edf33[_0x57c08a(0x1a5)][_0x57c08a(0x218)]++,_0x2edf33[_0x57c08a(0x1a5)]['pending']++,_0x2edf33['lastUpdated']=new Date()[_0x57c08a(0x1df)](),n[_0x57c08a(0x1c5)](f,JSON[_0x57c08a(0x16d)](_0x2edf33,null,0x2)),_0x427cc6[_0x57c08a(0x1ed)][_0x57c08a(0x1d3)]({'timestamp':new Date()['toISOString'](),'type':_0x19387e['BeRhi'],'taskId':_0xa543d7,'reason':_0x4dcf7a['trim'](),'changes':{'title':_0x49cebc[_0x57c08a(0x20c)](),'phase':_0x12025c[_0x57c08a(0x20c)]()||_0x19387e['AoqGF']}}),n[_0x57c08a(0x1c5)](m,JSON[_0x57c08a(0x16d)](_0x427cc6,null,0x2)),console[_0x57c08a(0x16e)](_0x57c08a(0x1c7)+_0xa543d7+_0x57c08a(0x176)),console['log']('\x20\x20\x20Title:\x20'+_0x49cebc),console[_0x57c08a(0x16e)](_0x19387e['DidNd']),console[_0x57c08a(0x16e)](_0x57c08a(0x1a3)+_0x244f17),console[_0x57c08a(0x16e)](_0x57c08a(0x178));}async function A(_0x54951f,_0x13bf0d){const _0x16ed73=_0x33e585,_0x5c809c={'EsNMa':function(_0x2bc8ae,_0x4fc3d7){return _0x2bc8ae<_0x4fc3d7;},'EnKUO':function(_0x214ef5,_0x241c5b){return _0x214ef5(_0x241c5b);},'ETPvk':function(_0x1167fb,_0x665d88){return _0x1167fb+_0x665d88;},'dgqzm':_0x16ed73(0x1e0),'difLL':function(_0x7ca572,_0x483c2e){return _0x7ca572(_0x483c2e);},'drpYy':'Task\x20ID\x20(e.g.,\x20TASK-001):\x20','dBTIw':'utf8','wyVJb':function(_0x24faa0,_0x25dadf){return _0x24faa0===_0x25dadf;},'kesmC':_0x16ed73(0x1b5),'FwdIw':_0x16ed73(0x169),'aQoXg':function(_0x2296a6,_0x32d4d3){return _0x2296a6(_0x32d4d3);},'ZBmqK':'New\x20title\x20(or\x20press\x20Enter\x20to\x20keep):\x20','ZKkgJ':_0x16ed73(0x1ac),'UHvPI':function(_0x4ab14f,_0x2779d5){return _0x4ab14f(_0x2779d5);},'oVMxo':_0x16ed73(0x196),'TqayP':function(_0xd41258,_0x20b9ee){return _0xd41258(_0x20b9ee);},'Ocltt':_0x16ed73(0x1a4),'SXglr':function(_0x114ea8,_0x492eb0){return _0x114ea8===_0x492eb0;},'iijRA':_0x16ed73(0x1e3),'VSRAh':_0x16ed73(0x179),'VxPSA':_0x16ed73(0x165)};console[_0x16ed73(0x16e)](_0x16ed73(0x1b8));let _0x41cba0=await _0x5c809c[_0x16ed73(0x17e)](a,_0x5c809c[_0x16ed73(0x1c3)]),_0x4cb755=d['join'](S,_0x41cba0[_0x16ed73(0x20c)]()+_0x16ed73(0x1cb));n['existsSync'](_0x4cb755)||(console[_0x16ed73(0x186)](_0x16ed73(0x207)+_0x41cba0+_0x16ed73(0x200)),process['exit'](0x1));let _0x1a229c=JSON[_0x16ed73(0x1e1)](n[_0x16ed73(0x16a)](_0x4cb755,_0x5c809c['dBTIw']));_0x5c809c[_0x16ed73(0x1de)](_0x1a229c['status'],_0x5c809c['kesmC'])&&(console[_0x16ed73(0x186)](_0x5c809c[_0x16ed73(0x1bd)]),process[_0x16ed73(0x18d)](0x1)),console[_0x16ed73(0x16e)](_0x16ed73(0x1c8)+_0x1a229c['title']);let _0xbddedc=await _0x5c809c[_0x16ed73(0x1c4)](a,_0x5c809c['ZBmqK']);console[_0x16ed73(0x16e)](_0x16ed73(0x1cf)+(_0x1a229c[_0x16ed73(0x16c)]||_0x5c809c['ZKkgJ']));let _0x426a2d=await _0x5c809c[_0x16ed73(0x1ef)](a,_0x5c809c['oVMxo']),_0x3d2535=await _0x5c809c[_0x16ed73(0x187)](a,_0x5c809c[_0x16ed73(0x173)]),_0x159955={};if(_0xbddedc[_0x16ed73(0x20c)]()&&(_0x159955[_0x16ed73(0x1ea)]=_0x1a229c[_0x16ed73(0x1b1)],_0x159955[_0x16ed73(0x1c2)]=_0xbddedc[_0x16ed73(0x20c)](),_0x1a229c[_0x16ed73(0x1b1)]=_0xbddedc[_0x16ed73(0x20c)]()),_0x426a2d['trim']()&&(_0x159955[_0x16ed73(0x201)]=_0x1a229c[_0x16ed73(0x16c)],_0x159955[_0x16ed73(0x16f)]=_0x426a2d[_0x16ed73(0x20c)](),_0x1a229c[_0x16ed73(0x16c)]=_0x426a2d[_0x16ed73(0x20c)]()),_0x5c809c[_0x16ed73(0x1de)](Object[_0x16ed73(0x1ff)](_0x159955)['length'],0x0)){if(_0x5c809c['SXglr'](_0x5c809c['iijRA'],_0x5c809c['iijRA'])){console[_0x16ed73(0x16e)](_0x5c809c['VSRAh']);return;}else{if(_0x5c809c[_0x16ed73(0x212)](typeof _0x344adf,'u'))return _0x2b884e[_0x16ed73(0x174)](this,arguments);throw _0x5c809c['EnKUO'](_0x28ff27,_0x5c809c[_0x16ed73(0x190)](_0x5c809c[_0x16ed73(0x190)](_0x5c809c[_0x16ed73(0x1d8)],_0x2a6722),'\x22\x20is\x20not\x20supported'));}}n['writeFileSync'](_0x4cb755,JSON['stringify'](_0x1a229c,null,0x2));let _0x4a40f2=_0x54951f['taskFiles'][_0x16ed73(0x1ba)](_0x1409f4=>_0x1409f4['id']===_0x41cba0[_0x16ed73(0x20c)]());_0x4a40f2&&_0x159955[_0x16ed73(0x1c2)]&&(_0x4a40f2['title']=_0x159955[_0x16ed73(0x1c2)]),_0x54951f['lastUpdated']=new Date()[_0x16ed73(0x1df)](),n['writeFileSync'](f,JSON[_0x16ed73(0x16d)](_0x54951f,null,0x2)),_0x13bf0d['amendments'][_0x16ed73(0x1d3)]({'timestamp':new Date()[_0x16ed73(0x1df)](),'type':_0x5c809c['VxPSA'],'taskId':_0x41cba0[_0x16ed73(0x20c)](),'reason':_0x3d2535[_0x16ed73(0x20c)](),'changes':_0x159955}),n[_0x16ed73(0x1c5)](m,JSON[_0x16ed73(0x16d)](_0x13bf0d,null,0x2)),console[_0x16ed73(0x16e)](_0x16ed73(0x1c7)+_0x41cba0+_0x16ed73(0x216)),console[_0x16ed73(0x16e)](_0x16ed73(0x178));}async function O(_0x1a6da1,_0xc4ffa){const _0xfc8fcd=_0x33e585,_0x4328dc={'mSroc':_0xfc8fcd(0x1fa),'NSNiV':function(_0x191582,_0xfcd131){return _0x191582(_0xfcd131);},'TbgKd':_0xfc8fcd(0x1f2),'ymqlr':_0xfc8fcd(0x20f),'gwpta':function(_0x40e782,_0x4a33ad){return _0x40e782===_0x4a33ad;},'vkQSc':'in_progress','jCaks':_0xfc8fcd(0x17f),'OSVXq':'Complete\x20or\x20abandon\x20it\x20first.','DaXZm':function(_0x46a9c7,_0x225d9b){return _0x46a9c7===_0x225d9b;},'USohb':_0xfc8fcd(0x206),'PgnYZ':_0xfc8fcd(0x217),'IRhqM':function(_0x526a26,_0xdf202){return _0x526a26>_0xdf202;},'vRhOg':_0xfc8fcd(0x1ec),'HhyDU':function(_0x2ac206,_0x191d85){return _0x2ac206===_0x191d85;},'GxGQR':_0xfc8fcd(0x1f1)};console['log'](_0xfc8fcd(0x20d));let _0x4bb580=await _0x4328dc[_0xfc8fcd(0x1f9)](a,_0x4328dc[_0xfc8fcd(0x188)]),_0x2df06d=d['join'](S,_0x4bb580[_0xfc8fcd(0x20c)]()+_0xfc8fcd(0x1cb));n[_0xfc8fcd(0x1c0)](_0x2df06d)||(console[_0xfc8fcd(0x186)]('❌\x20Task\x20'+_0x4bb580+_0xfc8fcd(0x200)),process['exit'](0x1));let _0x230c08=JSON[_0xfc8fcd(0x1e1)](n['readFileSync'](_0x2df06d,_0x4328dc[_0xfc8fcd(0x1b6)]));_0x4328dc[_0xfc8fcd(0x211)](_0x230c08[_0xfc8fcd(0x177)],_0x4328dc[_0xfc8fcd(0x1d6)])&&(console['error'](_0x4328dc[_0xfc8fcd(0x1bf)]),console[_0xfc8fcd(0x186)](_0x4328dc[_0xfc8fcd(0x1ab)]),process[_0xfc8fcd(0x18d)](0x1)),_0x4328dc[_0xfc8fcd(0x16b)](_0x230c08[_0xfc8fcd(0x177)],_0xfc8fcd(0x1b5))&&(console[_0xfc8fcd(0x186)](_0xfc8fcd(0x166)),process[_0xfc8fcd(0x18d)](0x1));let _0x42d5fa=await _0x4328dc[_0xfc8fcd(0x1f9)](a,_0xfc8fcd(0x19a)),_0x223d5d=[];for(let _0x3c094d of _0x1a6da1['taskFiles']){if(_0x4328dc[_0xfc8fcd(0x16b)](_0x4328dc[_0xfc8fcd(0x1f8)],_0x4328dc[_0xfc8fcd(0x1f8)])){let _0x5ad6fd=d[_0xfc8fcd(0x208)](S,_0x3c094d['id']+_0xfc8fcd(0x1cb));if(n['existsSync'](_0x5ad6fd)){if(_0x4328dc['gwpta']('PuTGL',_0x4328dc[_0xfc8fcd(0x1f6)]))return _0x16e218[_0xfc8fcd(0x1d9)]()[_0xfc8fcd(0x1d4)](jmyTyK[_0xfc8fcd(0x1a6)])[_0xfc8fcd(0x1d9)]()['constructor'](_0x1be4ed)['search'](jmyTyK['mSroc']);else{let _0x51229d=JSON[_0xfc8fcd(0x1e1)](n[_0xfc8fcd(0x16a)](_0x5ad6fd,_0xfc8fcd(0x20f)));_0x51229d[_0xfc8fcd(0x18e)]&&_0x51229d[_0xfc8fcd(0x18e)][_0xfc8fcd(0x1e8)](_0x4bb580['trim']())&&_0x223d5d[_0xfc8fcd(0x1d3)]({'id':_0x51229d['id'],'title':_0x51229d[_0xfc8fcd(0x1b1)]});}}}else _0x593f0d['question'](_0x3cf93b,_0x5b94a8);}_0x4328dc['IRhqM'](_0x223d5d[_0xfc8fcd(0x213)],0x0)&&(console[_0xfc8fcd(0x186)](_0xfc8fcd(0x1fe)),_0x223d5d[_0xfc8fcd(0x202)](_0x186866=>console[_0xfc8fcd(0x186)]('\x20\x20\x20-\x20'+_0x186866['id']+':\x20'+_0x186866[_0xfc8fcd(0x1b1)])),process[_0xfc8fcd(0x18d)](0x1)),n['unlinkSync'](_0x2df06d);let _0x3eb345=_0x1a6da1[_0xfc8fcd(0x1b9)]['findIndex'](_0x504295=>_0x504295['id']===_0x4bb580[_0xfc8fcd(0x20c)]());_0x1a6da1['taskFiles']['splice'](_0x3eb345,0x1),_0x1a6da1[_0xfc8fcd(0x1a5)][_0xfc8fcd(0x218)]--,_0x4328dc[_0xfc8fcd(0x211)](_0x230c08[_0xfc8fcd(0x177)],_0x4328dc[_0xfc8fcd(0x161)])&&_0x1a6da1['statistics']['pending']--,_0x4328dc[_0xfc8fcd(0x189)](_0x230c08[_0xfc8fcd(0x177)],'blocked')&&_0x1a6da1[_0xfc8fcd(0x1a5)][_0xfc8fcd(0x203)]--,_0x1a6da1[_0xfc8fcd(0x1a7)]=new Date()['toISOString'](),n[_0xfc8fcd(0x1c5)](f,JSON['stringify'](_0x1a6da1,null,0x2)),_0xc4ffa[_0xfc8fcd(0x1ed)][_0xfc8fcd(0x1d3)]({'timestamp':new Date()[_0xfc8fcd(0x1df)](),'type':_0x4328dc[_0xfc8fcd(0x17b)],'taskId':_0x4bb580[_0xfc8fcd(0x20c)](),'reason':_0x42d5fa['trim'](),'changes':{'title':_0x230c08[_0xfc8fcd(0x1b1)],'status':_0x230c08[_0xfc8fcd(0x177)]}}),n[_0xfc8fcd(0x1c5)](m,JSON[_0xfc8fcd(0x16d)](_0xc4ffa,null,0x2)),console[_0xfc8fcd(0x16e)]('\x0a✅\x20Task\x20'+_0x4bb580+'\x20removed\x20successfully!'),console[_0xfc8fcd(0x16e)](_0xfc8fcd(0x178));}function j(_0xd40971){const _0x35fa7a=_0x33e585,_0x5e5a44={};_0x5e5a44[_0x35fa7a(0x193)]=function(_0x2791a5,_0x2a43fe){return _0x2791a5+_0x2a43fe;},_0x5e5a44[_0x35fa7a(0x1ca)]=function(_0x55f36c,_0x9ebcfc){return _0x55f36c===_0x9ebcfc;},_0x5e5a44[_0x35fa7a(0x209)]=_0x35fa7a(0x19f),_0x5e5a44[_0x35fa7a(0x20a)]='\x20\x20\x20Description\x20updated',_0x5e5a44[_0x35fa7a(0x1be)]=function(_0x3187e6,_0x13d846){return _0x3187e6===_0x13d846;},_0x5e5a44[_0x35fa7a(0x197)]=_0x35fa7a(0x18a);const _0x23e0b0=_0x5e5a44;if(console[_0x35fa7a(0x16e)](_0x35fa7a(0x1e2)),_0x23e0b0[_0x35fa7a(0x1ca)](_0xd40971[_0x35fa7a(0x1ed)][_0x35fa7a(0x213)],0x0)){console[_0x35fa7a(0x16e)](_0x23e0b0[_0x35fa7a(0x197)]);return;}_0xd40971[_0x35fa7a(0x1ed)][_0x35fa7a(0x202)]((_0x34ff3b,_0x37e06b)=>{const _0x203224=_0x35fa7a;let _0x52bddb=new Date(_0x34ff3b[_0x203224(0x1d0)])[_0x203224(0x1e7)]();console[_0x203224(0x16e)](_0x23e0b0[_0x203224(0x193)](_0x37e06b,0x1)+_0x203224(0x1db)+_0x34ff3b[_0x203224(0x1b0)][_0x203224(0x1e9)]()+']\x20'+_0x34ff3b['taskId']),console[_0x203224(0x16e)](_0x203224(0x1e4)+_0x52bddb),console[_0x203224(0x16e)]('\x20\x20\x20Reason:\x20'+_0x34ff3b[_0x203224(0x1cc)]),_0x23e0b0[_0x203224(0x1ca)](_0x34ff3b[_0x203224(0x1b0)],_0x23e0b0[_0x203224(0x209)])?(console[_0x203224(0x16e)](_0x203224(0x1af)+_0x34ff3b[_0x203224(0x17d)][_0x203224(0x1b1)]),console['log'](_0x203224(0x1f4)+_0x34ff3b[_0x203224(0x17d)]['phase'])):_0x34ff3b['type']===_0x203224(0x165)?(_0x34ff3b[_0x203224(0x17d)][_0x203224(0x1ea)]&&console[_0x203224(0x16e)](_0x203224(0x1ee)+_0x34ff3b[_0x203224(0x17d)][_0x203224(0x1ea)]+_0x203224(0x184)+_0x34ff3b[_0x203224(0x17d)][_0x203224(0x1c2)]+'\x22'),_0x34ff3b[_0x203224(0x17d)][_0x203224(0x201)]&&console[_0x203224(0x16e)](_0x23e0b0['hWjMc'])):_0x23e0b0[_0x203224(0x1be)](_0x34ff3b[_0x203224(0x1b0)],'remove')&&console[_0x203224(0x16e)](_0x203224(0x1e5)+_0x34ff3b[_0x203224(0x17d)][_0x203224(0x1b1)]+'\x20(was\x20'+_0x34ff3b['changes'][_0x203224(0x177)]+')'),console[_0x203224(0x16e)]('');}),console[_0x35fa7a(0x16e)](_0x35fa7a(0x181)+_0xd40971[_0x35fa7a(0x1ed)][_0x35fa7a(0x213)]);}F()['catch'](_0x4d1682=>{const _0x34c602=_0x33e585;console['error'](_0x34c602(0x192),_0x4d1682[_0x34c602(0x1f5)]),process[_0x34c602(0x18d)](0x1);});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const _0xd45a9b=_0x3cac;(function(_0xc4089c,_0x50d05e){const _0xaf8ef6=_0x3cac,_0x23e8e3=_0xc4089c();while(!![]){try{const _0x1514bc=parseInt(_0xaf8ef6(0xb9))/0x1*(parseInt(_0xaf8ef6(0xb7))/0x2)+-parseInt(_0xaf8ef6(0xda))/0x3+parseInt(_0xaf8ef6(0x112))/0x4+parseInt(_0xaf8ef6(0xe2))/0x5+-parseInt(_0xaf8ef6(0xf3))/0x6+parseInt(_0xaf8ef6(0xfa))/0x7*(parseInt(_0xaf8ef6(0x11c))/0x8)+parseInt(_0xaf8ef6(0x111))/0x9*(-parseInt(_0xaf8ef6(0xbe))/0xa);if(_0x1514bc===_0x50d05e)break;else _0x23e8e3['push'](_0x23e8e3['shift']());}catch(_0x4b804b){_0x23e8e3['push'](_0x23e8e3['shift']());}}}(_0x5799,0xecfe6));var l=(_0x1f55bc=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x1f55bc,{'get':(_0x5bbe0c,_0x2461d5)=>(typeof require<'u'?require:_0x5bbe0c)[_0x2461d5]}):_0x1f55bc)(function(_0x33e362){const _0x1d54ed=_0x3cac,_0x2c5970={'tfYpa':function(_0x548ebd,_0x3d3f9a){return _0x548ebd(_0x3d3f9a);},'WJMtM':function(_0x3b1b52,_0x28ee94){return _0x3b1b52+_0x28ee94;},'MgdAP':_0x1d54ed(0xf2)};if(typeof require<'u')return require[_0x1d54ed(0x10f)](this,arguments);throw _0x2c5970[_0x1d54ed(0xc9)](Error,_0x2c5970['WJMtM']('Dynamic\x20require\x20of\x20\x22',_0x33e362)+_0x2c5970[_0x1d54ed(0xc2)]);});const _0x900b73={};function _0x3cac(_0x2c111c,_0x591f48){_0x2c111c=_0x2c111c-0xb3;const _0x27ea3d=_0x5799();let _0x42417d=_0x27ea3d[_0x2c111c];return _0x42417d;}_0x900b73[_0xd45a9b(0xd0)]=process[_0xd45a9b(0xce)],_0x900b73[_0xd45a9b(0xca)]=process[_0xd45a9b(0xc6)];function _0x5799(){const _0x437ff1=['\x20title\x20(or\x20press\x20Enter\x20to\x20finish):\x20','2.0','ifoNF','\x22\x20is\x20not\x20supported','5086500HqpbZP','toString','\x0a---\x20Creating\x20Flat\x20Plan\x20---\x0a','qHVzG','writeFileSync','recursive','path','1015mkpFRc','FhTPo','koZia','gjPNR','iVoRh','2.\x20Hierarchical\x20(Project\x20→\x20Subproject\x20→\x20Milestone\x20→\x20Task)','exit','\x20\x202.\x20Lock\x20the\x20plan:\x20npm\x20run\x20plan:init\x20','SlvQX','code','JAiGB','\x0a✅\x20Plan\x20created:\x20','log','createInterface','MILE-001','❌\x20Plan\x20ID\x20must\x20contain\x20only\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','error','Plan\x20ID\x20(e.g.,\x20plan-001,\x20feature-auth,\x20bugfix-login):\x20','tests','mkdirSync','mtRWG','apply','planning','12573BpMyHl','3048336cQIPJB','KTCqB','\x20already\x20exists','Phase\x20(design/implementation/testing/deployment)\x20[implementation]:\x20','join','TXfwn','TASK-','xfsDm','Using\x20template\x20structure...\x0a','constructor','100424phRkVo','Error:','pending','gaprG','VVJTC','284kkKsDp','(((.+)+)+)+$','5983BzAlBV','YaHMm','stringify','toISOString','VtuFw','410CpFxRU','MEQhy','\x20\x203.\x20Start\x20working:\x20npm\x20run\x20task:start\x20TASK-001\x0a','Setup\x20project\x20structure','MgdAP','cOMuj','For\x20this\x20version,\x20you\x20can\x20manually\x20edit\x20the\x20JSON\x20file.','trim','stdout','README\x20created','eFHoi','tfYpa','output','\x20\x201.\x20Review\x20and\x20edit\x20the\x20plan\x20file','test','PROJ-001','stdin','UpDdS','input','Task\x20','human','sLvhA','ThyMW','Estimated\x20hours\x20(optional):\x20','Basic\x20folder\x20structure\x20in\x20place','plnPQ','vIfDT','JTirn','5093613PmXztn','Core\x20Features','IMWzg','\x0a📋\x20Create\x20New\x20Project\x20Plan\x0a','gpQBD','❌\x20Plan\x20','search','existsSync','708845BXAZlO','Repository\x20created','close','tYXFM','LLuHX','\x0a---\x20Creating\x20Hierarchical\x20Plan\x20---\x0a','rNnLL','1.\x20Flat\x20(simple\x20task\x20list)','documentation','Initial\x20Release','First\x20version\x20with\x20basic\x20features','\x0aPlan\x20structure:','fFRhS'];_0x5799=function(){return _0x437ff1;};return _0x5799();}var d=l('fs'),u=l(_0xd45a9b(0xf9)),g=l('readline'),f='.claude/plans',m=g[_0xd45a9b(0x107)](_0x900b73);function s(_0x5361c4){const _0x4ddd86=_0xd45a9b,_0x5372b5={};_0x5372b5[_0x4ddd86(0x113)]=_0x4ddd86(0xfe);const _0x15f2a1=_0x5372b5;return new Promise(_0x913006=>{const _0x4bce63=_0x4ddd86;if(_0x15f2a1[_0x4bce63(0x113)]===_0x15f2a1['KTCqB'])m['question'](_0x5361c4,_0x913006);else{if(_0x28f3b9){const _0x32f277=_0x3195fc[_0x4bce63(0x10f)](_0x5c1c3f,arguments);return _0x19bbe=null,_0x32f277;}}});}async function h(){const _0x589caf=_0xd45a9b,_0x4dbc90={'TXfwn':_0x589caf(0xb8),'YdsVP':function(_0x199f47){return _0x199f47();},'gjPNR':'❌\x20Plan\x20ID\x20cannot\x20be\x20empty','plnPQ':_0x589caf(0x109),'SmmzO':function(_0x45c7b9,_0x388ac3){return _0x45c7b9(_0x388ac3);},'LLuHX':'Project\x20description:\x20','SlvQX':_0x589caf(0xff),'koZia':function(_0x4e2eee,_0x422ca0){return _0x4e2eee(_0x422ca0);},'cOMuj':function(_0x13f8f2,_0x1258fe){return _0x13f8f2===_0x1258fe;},'MEQhy':function(_0x3a5e81,_0x496aaa,_0x4689d1){return _0x3a5e81(_0x496aaa,_0x4689d1);},'fFRhS':function(_0x549a20,_0x13d58c,_0x1b917b){return _0x549a20(_0x13d58c,_0x1b917b);},'dUbgB':'PROJECT-PLAN.json','YaHMm':_0x589caf(0xcb)},_0x3e77fe=(function(){let _0x521f69=!![];return function(_0x252d13,_0x50cef9){const _0x1f7263=_0x521f69?function(){const _0x268a35=_0x3cac;if(_0x50cef9){const _0x5988aa=_0x50cef9[_0x268a35(0x10f)](_0x252d13,arguments);return _0x50cef9=null,_0x5988aa;}}:function(){};return _0x521f69=![],_0x1f7263;};}()),_0xe03ec5=_0x3e77fe(this,function(){const _0x549050=_0x589caf;return _0xe03ec5[_0x549050(0xf4)]()[_0x549050(0xe0)](_0x4dbc90['TXfwn'])[_0x549050(0xf4)]()[_0x549050(0x11b)](_0xe03ec5)[_0x549050(0xe0)](_0x4dbc90[_0x549050(0x117)]);});_0x4dbc90['YdsVP'](_0xe03ec5),console[_0x589caf(0x106)](_0x589caf(0xdd));let _0x2f3d97=(await s(_0x589caf(0x10b)))[_0x589caf(0xc5)]();_0x2f3d97||(console['error'](_0x4dbc90[_0x589caf(0xfd)]),process['exit'](0x1)),/^[a-z0-9-]+$/[_0x589caf(0xcc)](_0x2f3d97)||(console['error'](_0x4dbc90[_0x589caf(0xd7)]),process[_0x589caf(0x100)](0x1));let _0x51e13f=u[_0x589caf(0x116)](f,_0x2f3d97);d[_0x589caf(0xe1)](_0x51e13f)&&(console['error'](_0x589caf(0xdf)+_0x2f3d97+_0x589caf(0x114)),process[_0x589caf(0x100)](0x1));let _0x2ce214=await s('Project\x20name:\x20'),_0xb063b8=await _0x4dbc90['SmmzO'](s,_0x4dbc90[_0x589caf(0xe6)]);console[_0x589caf(0x106)](_0x589caf(0xed)),console[_0x589caf(0x106)](_0x589caf(0xe9)),console['log'](_0x4dbc90[_0x589caf(0x102)]);let _0x4d4c0c=await _0x4dbc90[_0x589caf(0xfc)](s,'\x0aChoose\x20structure\x20(1-2):\x20'),_0x395c59;const _0x2e92fe={};_0x2e92fe[_0x589caf(0xf8)]=!0x0,(_0x4dbc90[_0x589caf(0xc3)](_0x4d4c0c[_0x589caf(0xc5)](),'2')?_0x395c59=await _0x4dbc90[_0x589caf(0xbf)](w,_0x2ce214[_0x589caf(0xc5)](),_0xb063b8[_0x589caf(0xc5)]()):_0x395c59=await _0x4dbc90[_0x589caf(0xee)](P,_0x2ce214[_0x589caf(0xc5)](),_0xb063b8['trim']()),d[_0x589caf(0x10d)](_0x51e13f,_0x2e92fe));let _0xc18ec5=u[_0x589caf(0x116)](_0x51e13f,_0x4dbc90['dUbgB']);d[_0x589caf(0xf7)](_0xc18ec5,JSON[_0x589caf(0xbb)](_0x395c59,null,0x2)),console['log'](_0x589caf(0x105)+_0xc18ec5),console[_0x589caf(0x106)]('\x0aNext\x20steps:'),console[_0x589caf(0x106)](_0x4dbc90[_0x589caf(0xba)]),console['log'](_0x589caf(0x101)+_0x2f3d97),console[_0x589caf(0x106)](_0x589caf(0xc0)),m[_0x589caf(0xe4)]();}async function P(_0x1e9aba,_0xed3232){const _0x4199c5=_0xd45a9b,_0x1ce1d7={'ThyMW':function(_0x4b0f8b,_0x512436){return _0x4b0f8b(_0x512436);},'FhTPo':_0x4199c5(0x115),'xvrbm':'implementation','ifoNF':_0x4199c5(0xf0),'gpJcn':_0x4199c5(0xd2)};console[_0x4199c5(0x106)](_0x4199c5(0xf5));let _0x15103f=[],_0x1ceec5=!0x0,_0x4daaa2=0x1;for(;_0x1ceec5;){let _0x585ffe=_0x4199c5(0x118)+String(_0x4daaa2)['padStart'](0x3,'0'),_0x5dec41=await _0x1ce1d7[_0x4199c5(0xd4)](s,_0x4199c5(0xd1)+_0x4daaa2+_0x4199c5(0xef));if(!_0x5dec41[_0x4199c5(0xc5)]()){_0x1ceec5=!0x1;break;}let _0x254986=await _0x1ce1d7[_0x4199c5(0xd4)](s,_0x1ce1d7[_0x4199c5(0xfb)]),_0x184895=await _0x1ce1d7[_0x4199c5(0xd4)](s,_0x4199c5(0xd5));const _0x46b83d={};_0x46b83d['design']=[],_0x46b83d[_0x4199c5(0x103)]=[],_0x46b83d[_0x4199c5(0x10c)]=[],_0x46b83d[_0x4199c5(0xea)]=[],(_0x15103f['push']({'id':_0x585ffe,'title':_0x5dec41[_0x4199c5(0xc5)](),'description':'','status':_0x4199c5(0xb4),'phase':_0x254986['trim']()||_0x1ce1d7['xvrbm'],'dependencies':[],'estimatedHours':_0x184895['trim']()?_0x1ce1d7[_0x4199c5(0xd4)](parseInt,_0x184895['trim']()):null,'completionCriteria':[],'testCases':[],'artifacts':_0x46b83d}),_0x4daaa2++);}return{'version':_0x1ce1d7[_0x4199c5(0xf1)],'projectName':_0x1e9aba,'description':_0xed3232,'createdAt':new Date()['toISOString'](),'createdBy':_0x1ce1d7['gpJcn'],'locked':!0x1,'tasks':_0x15103f};}async function w(_0x3b6df5,_0x5f23fd){const _0x1be287=_0xd45a9b,_0x488d5e={};_0x488d5e[_0x1be287(0xd9)]=_0x1be287(0xc4),_0x488d5e[_0x1be287(0xb5)]=_0x1be287(0xf0),_0x488d5e['VVJTC']=_0x1be287(0xcd),_0x488d5e[_0x1be287(0xde)]=_0x1be287(0x110),_0x488d5e['UpDdS']='human',_0x488d5e[_0x1be287(0x104)]='SUB-001',_0x488d5e[_0x1be287(0xe8)]=_0x1be287(0xdb),_0x488d5e[_0x1be287(0xe5)]=_0x1be287(0xb4),_0x488d5e[_0x1be287(0xf6)]=_0x1be287(0x108),_0x488d5e['xfsDm']=_0x1be287(0xec),_0x488d5e[_0x1be287(0xbd)]='TASK-001',_0x488d5e[_0x1be287(0x10e)]=_0x1be287(0xc1),_0x488d5e[_0x1be287(0xc8)]='Initialize\x20repository\x20and\x20basic\x20structure',_0x488d5e['nWuWT']='design',_0x488d5e[_0x1be287(0xd8)]=_0x1be287(0xe3),_0x488d5e['sLvhA']=_0x1be287(0xd6),_0x488d5e[_0x1be287(0xdc)]=_0x1be287(0xc7);const _0x468ecc=_0x488d5e,_0xd61cb6={};return _0xd61cb6['design']=[],_0xd61cb6['code']=[],_0xd61cb6['tests']=[],_0xd61cb6[_0x1be287(0xea)]=[],(console[_0x1be287(0x106)](_0x1be287(0xe7)),console[_0x1be287(0x106)](_0x468ecc['JTirn']),console[_0x1be287(0x106)](_0x1be287(0x11a)),{'version':_0x468ecc['gaprG'],'project':{'id':_0x468ecc[_0x1be287(0xb6)],'name':_0x3b6df5,'description':_0x5f23fd,'status':_0x468ecc['gpQBD'],'createdAt':new Date()[_0x1be287(0xbc)](),'createdBy':_0x468ecc[_0x1be287(0xcf)],'locked':!0x1,'subprojects':[{'id':_0x468ecc[_0x1be287(0x104)],'name':_0x468ecc['rNnLL'],'description':'Core\x20functionality\x20and\x20features','status':_0x468ecc[_0x1be287(0xe5)],'dependencies':[],'milestones':[{'id':_0x468ecc[_0x1be287(0xf6)],'name':_0x1be287(0xeb),'description':_0x468ecc[_0x1be287(0x119)],'status':_0x468ecc[_0x1be287(0xe5)],'dependencies':[],'tasks':[{'id':_0x468ecc['VtuFw'],'title':_0x468ecc[_0x1be287(0x10e)],'description':_0x468ecc['eFHoi'],'status':_0x468ecc[_0x1be287(0xe5)],'phase':_0x468ecc['nWuWT'],'dependencies':[],'estimatedHours':0x2,'completionCriteria':[_0x468ecc[_0x1be287(0xd8)],_0x468ecc[_0x1be287(0xd3)],_0x468ecc['IMWzg']],'testCases':[],'artifacts':_0xd61cb6}]}]}]}});}h()['catch'](_0x163b04=>{const _0x36062c=_0xd45a9b;console[_0x36062c(0x10a)](_0x36062c(0xb3),_0x163b04['message']),process['exit'](0x1);});
|
|
2
|
+
const _0x3ae015=_0x3ccd;(function(_0x8c0844,_0x6aa9e2){const _0x547356=_0x3ccd,_0x3720e6=_0x8c0844();while(!![]){try{const _0x544531=-parseInt(_0x547356(0x167))/0x1*(parseInt(_0x547356(0x13e))/0x2)+parseInt(_0x547356(0x150))/0x3*(-parseInt(_0x547356(0x140))/0x4)+parseInt(_0x547356(0x10c))/0x5*(parseInt(_0x547356(0x169))/0x6)+parseInt(_0x547356(0x111))/0x7*(parseInt(_0x547356(0x146))/0x8)+-parseInt(_0x547356(0x12f))/0x9*(-parseInt(_0x547356(0x141))/0xa)+parseInt(_0x547356(0x110))/0xb*(-parseInt(_0x547356(0x165))/0xc)+-parseInt(_0x547356(0x142))/0xd*(parseInt(_0x547356(0x121))/0xe);if(_0x544531===_0x6aa9e2)break;else _0x3720e6['push'](_0x3720e6['shift']());}catch(_0x2190ff){_0x3720e6['push'](_0x3720e6['shift']());}}}(_0x5cb3,0xcce8d));var l=(_0x15a73a=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x15a73a,{'get':(_0x4f02a9,_0x54b97b)=>(typeof require<'u'?require:_0x4f02a9)[_0x54b97b]}):_0x15a73a)(function(_0x470af5){const _0x1da820=_0x3ccd,_0x213f86={'AbKtF':function(_0xa20f6b,_0x5505a9){return _0xa20f6b<_0x5505a9;},'Gmhha':function(_0x4aff39,_0x203c54){return _0x4aff39(_0x203c54);},'gZPbV':function(_0x2fcc8c,_0x4df5fa){return _0x2fcc8c+_0x4df5fa;},'wXpVa':function(_0x317f7a,_0x3614cc){return _0x317f7a+_0x3614cc;},'VtsoJ':'Dynamic\x20require\x20of\x20\x22','TMnsO':_0x1da820(0x152)};if(_0x213f86[_0x1da820(0x154)](typeof require,'u'))return require[_0x1da820(0x13f)](this,arguments);throw _0x213f86[_0x1da820(0x144)](Error,_0x213f86[_0x1da820(0x164)](_0x213f86['wXpVa'](_0x213f86[_0x1da820(0x168)],_0x470af5),_0x213f86[_0x1da820(0x113)]));});const _0x102c12={};_0x102c12[_0x3ae015(0x14c)]=process[_0x3ae015(0x13b)],_0x102c12[_0x3ae015(0x126)]=process[_0x3ae015(0xfb)];var d=l('fs'),u=l(_0x3ae015(0x13a)),g=l(_0x3ae015(0xe3)),f=_0x3ae015(0xe5),m=g['createInterface'](_0x102c12);function _0x3ccd(_0x236e3b,_0x4b3eb1){_0x236e3b=_0x236e3b-0xe1;const _0x437def=_0x5cb3();let _0x3b8ee7=_0x437def[_0x236e3b];return _0x3b8ee7;}function _0x5cb3(){const _0x13cc03=['planning','Core\x20Features','nKTlC','YSyaX','MQzUQ','error','GOoZP','recursive','\x20already\x20exists','Basic\x20folder\x20structure\x20in\x20place','Plan\x20ID\x20(e.g.,\x20plan-001,\x20feature-auth,\x20bugfix-login):\x20','31585KLYrUL','uXGUL','\x0aNext\x20steps:','message','11wkWzCW','7kacHQJ','qXKPc','TMnsO','search','Rgzyk','mcYEb','SIMgM','join','README\x20created','\x0a📋\x20Create\x20New\x20Project\x20Plan\x0a','XAIOb','jqBLA','SuRyq','qahep','yTVDK','For\x20this\x20version,\x20you\x20can\x20manually\x20edit\x20the\x20JSON\x20file.','462980smWmWS','bggSH','question','stringify','GLHqi','output','constructor','log','ALsxL','gSudK','Vahom','\x0a✅\x20Plan\x20created:\x20','\x20\x203.\x20Start\x20working:\x20npm\x20run\x20task:start\x20TASK-001\x0a','(((.+)+)+)+$','9rHIXfP','2.0','\x20\x202.\x20Lock\x20the\x20plan:\x20npm\x20run\x20plan:init\x20','AMVdn','RVbdX','❌\x20Plan\x20ID\x20cannot\x20be\x20empty','implementation','lgGvW','\x0aChoose\x20structure\x20(1-2):\x20','MILE-001','toISOString','path','stdin','Estimated\x20hours\x20(optional):\x20','catch','218dvuTgd','apply','8032wBMUUH','8065660nSsDxV','260bSRfNY','VivdK','Gmhha','sKgPJ','12925144zVXsqg','push','DjBAc','hfmDe','existsSync','padStart','input','IIFCc','Using\x20template\x20structure...\x0a','USKGl','651sVAjhi','YArJb','\x22\x20is\x20not\x20supported','design','AbKtF','QkrXy','human','tests','auOVI','PROJ-001','pAQXI','XtMOC','yWedl','ZOzHq','exit','Phase\x20(design/implementation/testing/deployment)\x20[implementation]:\x20','Project\x20description:\x20','\x0a---\x20Creating\x20Flat\x20Plan\x20---\x0a','Repository\x20created','FjEaQ','gZPbV','12795444DkYtyF','\x20\x201.\x20Review\x20and\x20edit\x20the\x20plan\x20file','8699QOdwaz','VtsoJ','1452ESshLG','SUB-001','eTrbN','❌\x20Plan\x20ID\x20must\x20contain\x20only\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','readline','Initialize\x20repository\x20and\x20basic\x20structure','.claude/plans','test','SPSBU','toString','zhTSz','EViRJ','PROJECT-PLAN.json','Task\x20','Core\x20functionality\x20and\x20features','\x0aPlan\x20structure:','mkdirSync','JFxXK','trim','hwJpI','joyIt','❌\x20Plan\x20','2.\x20Hierarchical\x20(Project\x20→\x20Subproject\x20→\x20Milestone\x20→\x20Task)','documentation','\x0a---\x20Creating\x20Hierarchical\x20Plan\x20---\x0a','Error:','First\x20version\x20with\x20basic\x20features','code','stdout','aJKcE','LrBZZ','YMHAb','tMcrB','EmQIo'];_0x5cb3=function(){return _0x13cc03;};return _0x5cb3();}function s(_0x3029ad){const _0xc4887f=_0x3ae015,_0x4e58f6={};_0x4e58f6[_0xc4887f(0x100)]=function(_0x291c20,_0xb825c0){return _0x291c20===_0xb825c0;},_0x4e58f6[_0xc4887f(0xfd)]=_0xc4887f(0x143);const _0x235534=_0x4e58f6;return new Promise(_0x199e31=>{const _0x1b1022=_0xc4887f;if(_0x235534[_0x1b1022(0x100)](_0x235534[_0x1b1022(0xfd)],_0x235534[_0x1b1022(0xfd)]))m[_0x1b1022(0x123)](_0x3029ad,_0x199e31);else{const _0x17834c=_0x119397[_0x1b1022(0x13f)](_0x4e2c4a,arguments);return _0x5b5faf=null,_0x17834c;}});}async function h(){const _0x421698=_0x3ae015,_0x46bfab={'qahep':function(_0x2ddd26,_0x23f063){return _0x2ddd26===_0x23f063;},'yWedl':_0x421698(0x136),'gSudK':_0x421698(0x133),'auOVI':_0x421698(0x12e),'ALsxL':function(_0x1ead72,_0x4b7fa8,_0x52a62f){return _0x1ead72(_0x4b7fa8,_0x52a62f);},'xVymC':function(_0x4ed4fe){return _0x4ed4fe();},'qXKPc':function(_0x5d6324,_0x2310e6){return _0x5d6324(_0x2310e6);},'rmBSy':_0x421698(0x134),'YArJb':_0x421698(0xe2),'XtMOC':'Project\x20name:\x20','hwJpI':function(_0x4b9185,_0x11e1dd){return _0x4b9185(_0x11e1dd);},'SIMgM':_0x421698(0xf5),'IIFCc':function(_0x5cdbbf,_0x501fbf){return _0x5cdbbf(_0x501fbf);},'YSyaX':function(_0x562ede,_0x32369e,_0x43b2f5){return _0x562ede(_0x32369e,_0x43b2f5);},'YMHAb':_0x421698(0x166)},_0x2d7d6d=(function(){const _0x3699be=_0x421698;if(_0x46bfab[_0x3699be(0x11e)](_0x46bfab[_0x3699be(0x15c)],_0x46bfab[_0x3699be(0x12a)])){if(_0x25dbd5){const _0x3a0091=_0x527d82[_0x3699be(0x13f)](_0x10b814,arguments);return _0x19a98c=null,_0x3a0091;}}else{let _0x48346f=!![];return function(_0x3645aa,_0x888977){const _0x3b42fd=_0x48346f?function(){if(_0x888977){const _0x380943=_0x888977['apply'](_0x3645aa,arguments);return _0x888977=null,_0x380943;}}:function(){};return _0x48346f=![],_0x3b42fd;};}}()),_0x1bc633=_0x46bfab[_0x421698(0x129)](_0x2d7d6d,this,function(){const _0x48bafa=_0x421698;return _0x1bc633[_0x48bafa(0xe8)]()['search'](_0x46bfab[_0x48bafa(0x158)])[_0x48bafa(0xe8)]()[_0x48bafa(0x127)](_0x1bc633)[_0x48bafa(0x114)](_0x46bfab['auOVI']);});_0x46bfab['xVymC'](_0x1bc633),console['log'](_0x421698(0x11a));let _0x449f89=(await _0x46bfab[_0x421698(0x112)](s,_0x421698(0x10b)))[_0x421698(0xf1)]();_0x449f89||(console[_0x421698(0x106)](_0x46bfab['rmBSy']),process[_0x421698(0x15e)](0x1)),/^[a-z0-9-]+$/[_0x421698(0xe6)](_0x449f89)||(console['error'](_0x46bfab[_0x421698(0x151)]),process[_0x421698(0x15e)](0x1));let _0x1df6c9=u['join'](f,_0x449f89);d[_0x421698(0x14a)](_0x1df6c9)&&(console['error'](_0x421698(0xf4)+_0x449f89+_0x421698(0x109)),process[_0x421698(0x15e)](0x1));let _0x4662ee=await _0x46bfab['qXKPc'](s,_0x46bfab[_0x421698(0x15b)]),_0x353cfd=await _0x46bfab[_0x421698(0xf2)](s,_0x421698(0x160));console[_0x421698(0x128)](_0x421698(0xee)),console['log']('1.\x20Flat\x20(simple\x20task\x20list)'),console[_0x421698(0x128)](_0x46bfab[_0x421698(0x117)]);let _0x16d544=await _0x46bfab[_0x421698(0x14d)](s,_0x421698(0x137)),_0x4ce66c;const _0x285e1a={};_0x285e1a[_0x421698(0x108)]=!0x0,(_0x16d544[_0x421698(0xf1)]()==='2'?_0x4ce66c=await _0x46bfab[_0x421698(0x104)](w,_0x4662ee[_0x421698(0xf1)](),_0x353cfd[_0x421698(0xf1)]()):_0x4ce66c=await P(_0x4662ee[_0x421698(0xf1)](),_0x353cfd[_0x421698(0xf1)]()),d[_0x421698(0xef)](_0x1df6c9,_0x285e1a));let _0x265570=u[_0x421698(0x118)](_0x1df6c9,_0x421698(0xeb));d['writeFileSync'](_0x265570,JSON[_0x421698(0x124)](_0x4ce66c,null,0x2)),console[_0x421698(0x128)](_0x421698(0x12c)+_0x265570),console[_0x421698(0x128)](_0x421698(0x10e)),console[_0x421698(0x128)](_0x46bfab[_0x421698(0xfe)]),console[_0x421698(0x128)](_0x421698(0x131)+_0x449f89),console['log'](_0x421698(0x12d)),m['close']();}async function P(_0xce68bd,_0x489e09){const _0xdc833e=_0x3ae015,_0xcca22f={'joyIt':_0xdc833e(0x120),'USKGl':_0xdc833e(0x156),'JFxXK':_0xdc833e(0x16a),'hfmDe':_0xdc833e(0xed),'pAQXI':'pending','SPSBU':_0xdc833e(0x138),'VxHbl':'Initial\x20Release','Vahom':_0xdc833e(0xf9),'eTrbN':'Setup\x20project\x20structure','UsSFW':'Initialize\x20repository\x20and\x20basic\x20structure','GOoZP':'design','uXGUL':_0xdc833e(0x119),'PkwhZ':_0xdc833e(0x145),'tMcrB':function(_0x181dfa,_0xd6c15c){return _0x181dfa(_0xd6c15c);},'SuRyq':function(_0x554e59,_0x2acaa7){return _0x554e59(_0x2acaa7);},'nKTlC':_0xdc833e(0x13c),'bggSH':_0xdc833e(0x135),'cZONT':function(_0x20baab,_0x200440){return _0x20baab(_0x200440);},'jqBLA':_0xdc833e(0x130)};console[_0xdc833e(0x128)](_0xdc833e(0x161));let _0x20baa8=[],_0x49a0c6=!0x0,_0x2a1cc8=0x1;for(;_0x49a0c6;){if(_0xdc833e(0x145)===_0xcca22f['PkwhZ']){let _0x54f264='TASK-'+_0xcca22f[_0xdc833e(0xff)](String,_0x2a1cc8)[_0xdc833e(0x14b)](0x3,'0'),_0x8db5d5=await s(_0xdc833e(0xec)+_0x2a1cc8+'\x20title\x20(or\x20press\x20Enter\x20to\x20finish):\x20');if(!_0x8db5d5[_0xdc833e(0xf1)]()){_0x49a0c6=!0x1;break;}let _0x105f2b=await _0xcca22f[_0xdc833e(0x11d)](s,_0xdc833e(0x15f)),_0x2972c5=await s(_0xcca22f[_0xdc833e(0x103)]);const _0x37d20b={};_0x37d20b[_0xdc833e(0x153)]=[],_0x37d20b['code']=[],_0x37d20b['tests']=[],_0x37d20b['documentation']=[],(_0x20baa8[_0xdc833e(0x147)]({'id':_0x54f264,'title':_0x8db5d5[_0xdc833e(0xf1)](),'description':'','status':_0xcca22f[_0xdc833e(0x15a)],'phase':_0x105f2b[_0xdc833e(0xf1)]()||_0xcca22f[_0xdc833e(0x122)],'dependencies':[],'estimatedHours':_0x2972c5['trim']()?_0xcca22f['cZONT'](parseInt,_0x2972c5[_0xdc833e(0xf1)]()):null,'completionCriteria':[],'testCases':[],'artifacts':_0x37d20b}),_0x2a1cc8++);}else{const _0x1ce21a={};return _0x1ce21a['design']=[],_0x1ce21a[_0xdc833e(0xfa)]=[],_0x1ce21a[_0xdc833e(0x157)]=[],_0x1ce21a[_0xdc833e(0xf6)]=[],(_0x2d1afd['log'](_0xdc833e(0xf7)),_0x527528[_0xdc833e(0x128)](_0xcca22f[_0xdc833e(0xf3)]),_0x3e3868[_0xdc833e(0x128)]('Using\x20template\x20structure...\x0a'),{'version':_0xdc833e(0x130),'project':{'id':_0xdc833e(0x159),'name':_0x3919e4,'description':_0x140c56,'status':'planning','createdAt':new _0x3c5e64()[_0xdc833e(0x139)](),'createdBy':_0xcca22f[_0xdc833e(0x14f)],'locked':!0x1,'subprojects':[{'id':_0xcca22f[_0xdc833e(0xf0)],'name':_0xdc833e(0x102),'description':_0xcca22f[_0xdc833e(0x149)],'status':_0xcca22f['pAQXI'],'dependencies':[],'milestones':[{'id':_0xcca22f[_0xdc833e(0xe7)],'name':_0xcca22f['VxHbl'],'description':_0xcca22f[_0xdc833e(0x12b)],'status':_0xcca22f[_0xdc833e(0x15a)],'dependencies':[],'tasks':[{'id':'TASK-001','title':_0xcca22f[_0xdc833e(0xe1)],'description':_0xcca22f['UsSFW'],'status':'pending','phase':_0xcca22f[_0xdc833e(0x107)],'dependencies':[],'estimatedHours':0x2,'completionCriteria':['Repository\x20created',_0xdc833e(0x10a),_0xcca22f[_0xdc833e(0x10d)]],'testCases':[],'artifacts':_0x1ce21a}]}]}]}});}}return{'version':_0xcca22f[_0xdc833e(0x11c)],'projectName':_0xce68bd,'description':_0x489e09,'createdAt':new Date()[_0xdc833e(0x139)](),'createdBy':_0xcca22f[_0xdc833e(0x14f)],'locked':!0x1,'tasks':_0x20baa8};}async function w(_0x1140fa,_0x47ba1a){const _0x39844d=_0x3ae015,_0x4b5c90={};_0x4b5c90['FjEaQ']='For\x20this\x20version,\x20you\x20can\x20manually\x20edit\x20the\x20JSON\x20file.',_0x4b5c90[_0x39844d(0xe9)]=_0x39844d(0x159),_0x4b5c90[_0x39844d(0x105)]=_0x39844d(0x101),_0x4b5c90['AMVdn']=_0x39844d(0x16a),_0x4b5c90[_0x39844d(0xfc)]=_0x39844d(0x102),_0x4b5c90[_0x39844d(0x11b)]='pending',_0x4b5c90[_0x39844d(0x155)]=_0x39844d(0x138),_0x4b5c90[_0x39844d(0x125)]='Initial\x20Release',_0x4b5c90['EViRJ']=_0x39844d(0xf9),_0x4b5c90[_0x39844d(0x116)]='TASK-001',_0x4b5c90[_0x39844d(0x115)]='Setup\x20project\x20structure',_0x4b5c90[_0x39844d(0x11f)]=_0x39844d(0x153),_0x4b5c90['DjBAc']=_0x39844d(0x162),_0x4b5c90['HyMXl']=_0x39844d(0x119);const _0x15231a=_0x4b5c90,_0x4fa1d9={};return _0x4fa1d9['design']=[],_0x4fa1d9[_0x39844d(0xfa)]=[],_0x4fa1d9[_0x39844d(0x157)]=[],_0x4fa1d9['documentation']=[],(console['log'](_0x39844d(0xf7)),console[_0x39844d(0x128)](_0x15231a[_0x39844d(0x163)]),console[_0x39844d(0x128)](_0x39844d(0x14e)),{'version':'2.0','project':{'id':_0x15231a[_0x39844d(0xe9)],'name':_0x1140fa,'description':_0x47ba1a,'status':_0x15231a[_0x39844d(0x105)],'createdAt':new Date()[_0x39844d(0x139)](),'createdBy':_0x39844d(0x156),'locked':!0x1,'subprojects':[{'id':_0x15231a[_0x39844d(0x132)],'name':_0x15231a[_0x39844d(0xfc)],'description':'Core\x20functionality\x20and\x20features','status':_0x15231a[_0x39844d(0x11b)],'dependencies':[],'milestones':[{'id':_0x15231a[_0x39844d(0x155)],'name':_0x15231a[_0x39844d(0x125)],'description':_0x15231a[_0x39844d(0xea)],'status':_0x15231a['XAIOb'],'dependencies':[],'tasks':[{'id':_0x15231a[_0x39844d(0x116)],'title':_0x15231a[_0x39844d(0x115)],'description':_0x39844d(0xe4),'status':_0x15231a[_0x39844d(0x11b)],'phase':_0x15231a[_0x39844d(0x11f)],'dependencies':[],'estimatedHours':0x2,'completionCriteria':[_0x15231a[_0x39844d(0x148)],_0x39844d(0x10a),_0x15231a['HyMXl']],'testCases':[],'artifacts':_0x4fa1d9}]}]}]}});}h()[_0x3ae015(0x13d)](_0xace40d=>{const _0x5d9abf=_0x3ae015,_0x224598={};_0x224598[_0x5d9abf(0x15d)]=_0x5d9abf(0xf8);const _0x457c89=_0x224598;console[_0x5d9abf(0x106)](_0x457c89[_0x5d9abf(0x15d)],_0xace40d[_0x5d9abf(0x10f)]),process[_0x5d9abf(0x15e)](0x1);});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
var _0x2a3ef7=_0x104e;(function(_0x4bcb11,_0x388015){var _0x27620c=_0x104e,_0x52dcaf=_0x4bcb11();while(!![]){try{var _0x3b9dc2=parseInt(_0x27620c(0x15e))/0x1*(-parseInt(_0x27620c(0x15a))/0x2)+parseInt(_0x27620c(0x162))/0x3*(parseInt(_0x27620c(0x167))/0x4)+-parseInt(_0x27620c(0x15b))/0x5+parseInt(_0x27620c(0x165))/0x6+-parseInt(_0x27620c(0x164))/0x7+-parseInt(_0x27620c(0x166))/0x8*(parseInt(_0x27620c(0x15d))/0x9)+parseInt(_0x27620c(0x163))/0xa;if(_0x3b9dc2===_0x388015)break;else _0x52dcaf['push'](_0x52dcaf['shift']());}catch(_0x47e27e){_0x52dcaf['push'](_0x52dcaf['shift']());}}}(_0xf6f9,0xebc03));function _0xf6f9(){var _0x18b298=['4DplIES','3521015tRpral','JznIz','87876ekDEDG','453962MYWMvf','search','log','constructor','25671VxDHYz','20936110gCTNtO','3515596hddwzt','3812718zLOVLT','680GdgyOj','552bonXpV','toString','(((.+)+)+)+$'];_0xf6f9=function(){return _0x18b298;};return _0xf6f9();}function _0x104e(_0x5359be,_0x3b3fd8){_0x5359be=_0x5359be-0x15a;var _0x40e48f=_0xf6f9();var _0x53a51c=_0x40e48f[_0x5359be];return _0x53a51c;}var _0x4e77d0=(function(){var _0x93b9e9=!![];return function(_0x5aa9fb,_0x808291){var _0x41487d=_0x93b9e9?function(){if(_0x808291){var _0x3a37ea=_0x808291['apply'](_0x5aa9fb,arguments);return _0x808291=null,_0x3a37ea;}}:function(){};return _0x93b9e9=![],_0x41487d;};}()),_0x53a51c=_0x4e77d0(this,function(){var _0x52cfca=_0x104e,_0x44c64c={};_0x44c64c[_0x52cfca(0x15c)]='(((.+)+)+)+$';var _0x45ea9c=_0x44c64c;return _0x53a51c[_0x52cfca(0x168)]()[_0x52cfca(0x15f)](_0x52cfca(0x169))[_0x52cfca(0x168)]()[_0x52cfca(0x161)](_0x53a51c)[_0x52cfca(0x15f)](_0x45ea9c[_0x52cfca(0x15c)]);});_0x53a51c(),console[_0x2a3ef7(0x160)]('\x0a╔═══════════════════════════════════════════════════════════════════════════╗\x0a║\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PLAN\x20STATE\x20MACHINE\x20-\x20QUICK\x20REFERENCE\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20║\x0a╚═══════════════════════════════════════════════════════════════════════════╝\x0a\x0a📋\x20PHASE\x201:\x20PLANNING\x20(Before\x20Lock\x20-\x20Iterative)\x0a─────────────────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20Create\x20or\x20update\x20plan\x20file:\x0a\x20\x20\x20\x20Location:\x20.claude/PROJECT-PLAN.md\x0a\x0a\x20\x20\x20\x20You\x20can\x20manually\x20edit\x20or\x20ask\x20Claude\x20to\x20write\x20it\x20using\x20Write\x20tool.\x0a\x20\x20\x20\x20Iterate\x20until\x20you\x27re\x20satisfied\x20with\x20the\x20plan.\x0a\x0a🔒\x20PHASE\x202:\x20LOCK\x20THE\x20PLAN\x20(One-Time\x20Action)\x0a─────────────────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20Initialize\x20task\x20tracker\x20and\x20lock\x20plan:\x0a\x20\x20\x20\x20npm\x20run\x20plan:init\x0a\x0a\x20\x20\x20\x20This\x20creates:\x0a\x20\x20\x20\x20\x20\x20✓\x20.claude/TASK-TRACKER.json\x0a\x20\x20\x20\x20\x20\x20✓\x20.claude/.plan-locked\x0a\x0a\x20\x20\x20\x20After\x20this,\x20the\x20plan\x20becomes\x20IMMUTABLE.\x0a\x0a🚀\x20PHASE\x203:\x20EXECUTION\x20(Task-Based\x20Development)\x0a─────────────────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20View\x20all\x20tasks\x20and\x20their\x20status:\x0a\x20\x20\x20\x20npm\x20run\x20task:status\x0a\x0a\x20\x20Start\x20working\x20on\x20a\x20task:\x0a\x20\x20\x20\x20npm\x20run\x20task:start\x20TASK-001\x0a\x0a\x20\x20Complete\x20a\x20task:\x0a\x20\x20\x20\x20npm\x20run\x20task:done\x20TASK-001\x0a\x0a\x20\x20Get\x20this\x20help:\x0a\x20\x20\x20\x20npm\x20run\x20plan:help\x0a\x0a🔧\x20AMENDING\x20THE\x20PLAN\x20(After\x20Lock)\x0a─────────────────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20If\x20requirements\x20change\x20mid-development:\x0a\x20\x20\x20\x20npm\x20run\x20plan:amend\x0a\x0a\x20\x20This\x20allows\x20you\x20to:\x0a\x20\x20\x20\x20•\x20Add\x20new\x20tasks\x0a\x20\x20\x20\x20•\x20Update\x20existing\x20tasks\x20(pending/in_progress\x20only)\x0a\x20\x20\x20\x20•\x20Remove\x20tasks\x20(pending\x20only)\x0a\x20\x20\x20\x20•\x20View\x20amendment\x20history\x0a\x0a\x20\x20All\x20changes\x20are\x20logged\x20with\x20timestamps\x20and\x20reasons\x20for\x20audit\x20trail.\x0a\x0a📝\x20TASK\x20LIFECYCLE\x0a─────────────────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20pending\x20→\x20in_progress\x20→\x20completed\x0a\x0a\x20\x20Rules:\x0a\x20\x20\x20\x20•\x20Only\x20ONE\x20task\x20can\x20be\x20in_progress\x20at\x20a\x20time\x0a\x20\x20\x20\x20•\x20Code\x20changes\x20require\x20an\x20active\x20task\x20(enforced\x20by\x20hooks)\x0a\x20\x20\x20\x20•\x20Completed\x20tasks\x20cannot\x20be\x20restarted\x0a\x20\x20\x20\x20•\x20Dependencies\x20must\x20be\x20completed\x20first\x0a\x0a🔍\x20EXAMPLES\x0a─────────────────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20#\x201.\x20Create\x20and\x20lock\x20plan\x0a\x20\x20npm\x20run\x20plan:init\x0a\x0a\x20\x20#\x202.\x20Check\x20what\x20tasks\x20exist\x0a\x20\x20npm\x20run\x20task:status\x0a\x0a\x20\x20#\x203.\x20Start\x20first\x20task\x0a\x20\x20npm\x20run\x20task:start\x20TASK-001\x0a\x0a\x20\x20#\x204.\x20Work\x20on\x20the\x20code\x20(Claude\x20writes\x20in\x20./Agent/)\x0a\x0a\x20\x20#\x205.\x20Complete\x20the\x20task\x0a\x20\x20npm\x20run\x20task:done\x20TASK-001\x0a\x0a\x20\x20#\x206.\x20Move\x20to\x20next\x20task\x0a\x20\x20npm\x20run\x20task:start\x20TASK-002\x0a\x0a📚\x20MORE\x20INFO\x0a─────────────────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20Documentation:\x20docs/enforcement-system/FOLDER-STRUCTURE.md\x0a\x0a\x20\x20Full\x20command\x20reference:\x0a\x20\x20\x20\x20plan:init\x20\x20\x20\x20-\x20Initialize\x20task\x20tracker\x20and\x20lock\x20plan\x0a\x20\x20\x20\x20plan:amend\x20\x20\x20-\x20Amend\x20the\x20plan\x20after\x20locking\x20(add/update/remove\x20tasks)\x0a\x20\x20\x20\x20plan:help\x20\x20\x20\x20-\x20Show\x20this\x20help\x0a\x20\x20\x20\x20task:start\x20\x20\x20-\x20Start\x20a\x20task\x20(requires\x20task\x20ID)\x0a\x20\x20\x20\x20task:done\x20\x20\x20\x20-\x20Complete\x20a\x20task\x20(requires\x20task\x20ID)\x0a\x20\x20\x20\x20task:status\x20\x20-\x20Show\x20all\x20tasks\x20and\x20their\x20status\x0a\x0a╚═══════════════════════════════════════════════════════════════════════════╝\x0a');
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
function
|
|
2
|
+
function _0x6b8b(_0x14d72f,_0xee1347){_0x14d72f=_0x14d72f-0x154;var _0x3f995d=_0x4b6f();var _0x75b811=_0x3f995d[_0x14d72f];return _0x75b811;}function _0x4b6f(){var _0x39a2ad=['14mvSSsH','hooks','KsBjN','error','constructor','apply','11093533WxzzYN','join','init-task-tracker.js','stdio','SQLJc','78174kHNEXe','toString','child_process','67922AVGmpI','12HRDFHg','search','XowvR','Hook\x20not\x20found:\x20','\x20\x201.\x20Start\x20a\x20task:\x20npm\x20run\x20task:start\x20TASK-001','\x0a✅\x20Task\x20tracker\x20initialized\x20successfully!','505mLyRiD','🔒\x20Initializing\x20task\x20tracker\x20and\x20locking\x20project\x20plan...\x0a','.\x20Checked:\x0a\x20\x20-\x20','1386438tHJIGY','10FepYFe','OcQMh','412662MCjKmF','\x0aNext\x20steps:','\x0a\x20\x20-\x20','log','📝\x20Plan\x20is\x20now\x20locked\x20and\x20immutable.','BEYFQ','inherit','existsSync','\x0a❌\x20Failed\x20to\x20initialize\x20task\x20tracker','exit','(((.+)+)+)+$','728328wIHqSQ','370WLnSJM','KwJQo','17912JgqBzA'];_0x4b6f=function(){return _0x39a2ad;};return _0x4b6f();}var _0x27fe5f=_0x6b8b;(function(_0x1c3667,_0x188052){var _0x44dbdc=_0x6b8b,_0x129a60=_0x1c3667();while(!![]){try{var _0x4d5a8d=parseInt(_0x44dbdc(0x174))/0x1*(-parseInt(_0x44dbdc(0x169))/0x2)+-parseInt(_0x44dbdc(0x173))/0x3+-parseInt(_0x44dbdc(0x15a))/0x4*(parseInt(_0x44dbdc(0x170))/0x5)+parseInt(_0x44dbdc(0x176))/0x6*(parseInt(_0x44dbdc(0x15b))/0x7)+parseInt(_0x44dbdc(0x157))/0x8+parseInt(_0x44dbdc(0x166))/0x9*(parseInt(_0x44dbdc(0x158))/0xa)+-parseInt(_0x44dbdc(0x161))/0xb*(-parseInt(_0x44dbdc(0x16a))/0xc);if(_0x4d5a8d===_0x188052)break;else _0x129a60['push'](_0x129a60['shift']());}catch(_0x5b79c8){_0x129a60['push'](_0x129a60['shift']());}}}(_0x4b6f,0x4a53e));var _0x4fdd7a=(function(){var _0x156de0=!![];return function(_0x566457,_0x2298c2){var _0x1324d0=_0x156de0?function(){if(_0x2298c2){var _0x4f1a3b=_0x2298c2['apply'](_0x566457,arguments);return _0x2298c2=null,_0x4f1a3b;}}:function(){};return _0x156de0=![],_0x1324d0;};}()),_0x75b811=_0x4fdd7a(this,function(){var _0x52c98b=_0x6b8b,_0x175abf={};_0x175abf['KsBjN']='(((.+)+)+)+$';var _0xa042b8=_0x175abf;return _0x75b811[_0x52c98b(0x167)]()['search'](_0x52c98b(0x156))[_0x52c98b(0x167)]()[_0x52c98b(0x15f)](_0x75b811)[_0x52c98b(0x16b)](_0xa042b8[_0x52c98b(0x15d)]);});_0x75b811();var t=(_0x9bbeb7=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x9bbeb7,{'get':(_0x3faab4,_0x566c0a)=>(typeof require<'u'?require:_0x3faab4)[_0x566c0a]}):_0x9bbeb7)(function(_0x1cedf8){var _0x1abee1=_0x6b8b,_0x5f44f1={'BEYFQ':function(_0x456705,_0x2c07a4){return _0x456705(_0x2c07a4);},'SQLJc':function(_0x1c796b,_0x5c5286){return _0x1c796b+_0x5c5286;},'XowvR':'Dynamic\x20require\x20of\x20\x22','OcQMh':'\x22\x20is\x20not\x20supported'};if(typeof require<'u')return require[_0x1abee1(0x160)](this,arguments);throw _0x5f44f1[_0x1abee1(0x17b)](Error,_0x5f44f1[_0x1abee1(0x165)](_0x5f44f1[_0x1abee1(0x165)](_0x5f44f1[_0x1abee1(0x16c)],_0x1cedf8),_0x5f44f1[_0x1abee1(0x175)]));}),{execSync:i}=t(_0x27fe5f(0x168)),s=t('path'),r=t('fs'),c=_0x4d75dc=>{var _0x1d968f=_0x27fe5f,_0x1effc3={};_0x1effc3['KwJQo']=_0x1d968f(0x15c);var _0x32ec36=_0x1effc3;let _0x15fbc4=s[_0x1d968f(0x162)](__dirname,'..',_0x1d968f(0x15c),_0x4d75dc);if(r[_0x1d968f(0x17d)](_0x15fbc4))return _0x15fbc4;let _0x5c37b8=s['join'](__dirname,'..','.claude',_0x32ec36[_0x1d968f(0x159)],_0x4d75dc);if(r[_0x1d968f(0x17d)](_0x5c37b8))return _0x5c37b8;throw new Error(_0x1d968f(0x16d)+_0x4d75dc+_0x1d968f(0x172)+_0x15fbc4+_0x1d968f(0x178)+_0x5c37b8);},a=c(_0x27fe5f(0x163));console[_0x27fe5f(0x179)](_0x27fe5f(0x171));try{var _0x1c35e7={};_0x1c35e7[_0x27fe5f(0x164)]=_0x27fe5f(0x17c),(i('node\x20\x22'+a+'\x22',_0x1c35e7),console[_0x27fe5f(0x179)](_0x27fe5f(0x16f)),console[_0x27fe5f(0x179)](_0x27fe5f(0x17a)),console['log'](_0x27fe5f(0x177)),console['log'](_0x27fe5f(0x16e)),console[_0x27fe5f(0x179)]('\x20\x202.\x20Work\x20on\x20the\x20task'),console[_0x27fe5f(0x179)]('\x20\x203.\x20Complete\x20task:\x20npm\x20run\x20task:done\x20TASK-001'));}catch{console[_0x27fe5f(0x15e)](_0x27fe5f(0x154)),process[_0x27fe5f(0x155)](0x1);}
|