prjct-cli 3.95.0 → 3.97.0
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 +10 -0
- package/bin/prjct.cjs +14 -0
- package/dist/bin/core-chunks/agent-HCP5FF77.mjs +31 -0
- package/dist/bin/core-chunks/agent-codenames-7N4DU62I.mjs +7 -0
- package/dist/bin/core-chunks/agent-identity-4KFRR5OU.mjs +7 -0
- package/dist/bin/core-chunks/agent-runtime-registry-3RMVBEV2.mjs +7 -0
- package/dist/bin/core-chunks/agent-switch-AVSX6SLY.mjs +7 -0
- package/dist/bin/core-chunks/agents-OAQXBGH3.mjs +10 -0
- package/dist/bin/core-chunks/ai-provider-RVXK7D7R.mjs +7 -0
- package/dist/bin/core-chunks/analysis-3A7ODSSI.mjs +41 -0
- package/dist/bin/core-chunks/auth-config-KWLVKHCY.mjs +7 -0
- package/dist/bin/core-chunks/auto-flush-EWSVMKQN.mjs +7 -0
- package/dist/bin/core-chunks/auto-updater-PKYQRBGQ.mjs +8 -0
- package/dist/bin/core-chunks/bin-commands-LLHG2NSY.mjs +21 -0
- package/dist/bin/core-chunks/capture-7LQ52T6L.mjs +7 -0
- package/dist/bin/core-chunks/capture-gate-M4HM7WAI.mjs +7 -0
- package/dist/bin/core-chunks/ceremonies-4OZ3FKRE.mjs +19 -0
- package/dist/bin/core-chunks/changelog-CUNVCEL5.mjs +10 -0
- package/dist/bin/core-chunks/chunk-225DWS4D.mjs +7 -0
- package/dist/bin/core-chunks/chunk-24EN5Y62.mjs +48 -0
- package/dist/bin/core-chunks/chunk-2EEMQV7N.mjs +9 -0
- package/dist/bin/core-chunks/chunk-2I5PUQWY.mjs +7 -0
- package/dist/bin/core-chunks/chunk-2JJM3YMW.mjs +44 -0
- package/dist/bin/core-chunks/chunk-2NI4EEK2.mjs +8 -0
- package/dist/bin/core-chunks/chunk-2TJRTFIS.mjs +9 -0
- package/dist/bin/core-chunks/chunk-2ZPM4Z6W.mjs +17 -0
- package/dist/bin/core-chunks/chunk-3FXNIJCS.mjs +8 -0
- package/dist/bin/core-chunks/chunk-3JD6KRNJ.mjs +8 -0
- package/dist/bin/core-chunks/chunk-3TRXQAU4.mjs +7 -0
- package/dist/bin/core-chunks/chunk-3USVY66O.mjs +7 -0
- package/dist/bin/core-chunks/chunk-45LKWJ5D.mjs +7 -0
- package/dist/bin/core-chunks/chunk-4IE7LRH3.mjs +7 -0
- package/dist/bin/core-chunks/chunk-4MR5XSLO.mjs +8 -0
- package/dist/bin/core-chunks/chunk-4PPIE6GA.mjs +102 -0
- package/dist/bin/core-chunks/chunk-4PRD4EU2.mjs +7 -0
- package/dist/bin/core-chunks/chunk-4T7NGLNQ.mjs +16 -0
- package/dist/bin/core-chunks/chunk-53ZPEZLU.mjs +8 -0
- package/dist/bin/core-chunks/chunk-56FW4P6U.mjs +10 -0
- package/dist/bin/core-chunks/chunk-5EF5EOCL.mjs +7 -0
- package/dist/bin/core-chunks/chunk-5MN22JFI.mjs +19 -0
- package/dist/bin/core-chunks/chunk-5ONMON5L.mjs +13 -0
- package/dist/bin/core-chunks/chunk-5UUITMRX.mjs +9 -0
- package/dist/bin/core-chunks/chunk-5YLI5V3Q.mjs +8 -0
- package/dist/bin/core-chunks/chunk-5YSPND5J.mjs +9 -0
- package/dist/bin/core-chunks/chunk-623SNKDH.mjs +7 -0
- package/dist/bin/core-chunks/chunk-6AFXUX2M.mjs +9 -0
- package/dist/bin/core-chunks/chunk-6FFOWWH2.mjs +17 -0
- package/dist/bin/core-chunks/chunk-6FUCOGOW.mjs +7 -0
- package/dist/bin/core-chunks/chunk-6OYLZ4NM.mjs +10 -0
- package/dist/bin/core-chunks/chunk-6P4GMVUZ.mjs +18 -0
- package/dist/bin/core-chunks/chunk-6RT2P22O.mjs +7 -0
- package/dist/bin/core-chunks/chunk-6XTLPAPZ.mjs +15 -0
- package/dist/bin/core-chunks/chunk-76YMLNLF.mjs +7 -0
- package/dist/bin/core-chunks/chunk-7CI4AMVO.mjs +7 -0
- package/dist/bin/core-chunks/chunk-7QMBIMEX.mjs +64 -0
- package/dist/bin/core-chunks/chunk-7QTE6X4J.mjs +7 -0
- package/dist/bin/core-chunks/chunk-7ZHWJSW5.mjs +8 -0
- package/dist/bin/core-chunks/chunk-AJTBFIH2.mjs +9 -0
- package/dist/bin/core-chunks/chunk-AJXELVNH.mjs +7 -0
- package/dist/bin/core-chunks/chunk-ANVCA6LF.mjs +7 -0
- package/dist/bin/core-chunks/chunk-AS3LWTQ4.mjs +16 -0
- package/dist/bin/core-chunks/chunk-B7AQHL7B.mjs +7 -0
- package/dist/bin/core-chunks/chunk-BQKDJ3U6.mjs +8 -0
- package/dist/bin/core-chunks/chunk-BSR3XUBD.mjs +24 -0
- package/dist/bin/core-chunks/chunk-BTCCUMKI.mjs +12 -0
- package/dist/bin/core-chunks/chunk-BTSHD3XJ.mjs +9 -0
- package/dist/bin/core-chunks/chunk-C35JQUWD.mjs +8 -0
- package/dist/bin/core-chunks/chunk-C7YBUD4K.mjs +10 -0
- package/dist/bin/core-chunks/chunk-CDLZLTRY.mjs +10 -0
- package/dist/bin/core-chunks/chunk-CEOTHJIY.mjs +10 -0
- package/dist/bin/core-chunks/chunk-CFD6CW7T.mjs +46 -0
- package/dist/bin/core-chunks/chunk-CKYBGRCF.mjs +8 -0
- package/dist/bin/core-chunks/chunk-CNWEQUB7.mjs +7 -0
- package/dist/bin/core-chunks/chunk-CUIB6CTG.mjs +20 -0
- package/dist/bin/core-chunks/chunk-CWLGRKA7.mjs +6 -0
- package/dist/bin/core-chunks/chunk-CXNVDJNN.mjs +7 -0
- package/dist/bin/core-chunks/chunk-D62TAZG6.mjs +9 -0
- package/dist/bin/core-chunks/chunk-DCVPNFS4.mjs +8 -0
- package/dist/bin/core-chunks/chunk-DEYAQEF5.mjs +7 -0
- package/dist/bin/core-chunks/chunk-DIEPWXJJ.mjs +7 -0
- package/dist/bin/core-chunks/chunk-DMO3ZFUG.mjs +1259 -0
- package/dist/bin/core-chunks/chunk-DN46DLU3.mjs +10 -0
- package/dist/bin/core-chunks/chunk-DOJPSIMG.mjs +7 -0
- package/dist/bin/core-chunks/chunk-DZVOFEM5.mjs +7 -0
- package/dist/bin/core-chunks/chunk-E5QQDYBR.mjs +7 -0
- package/dist/bin/core-chunks/chunk-E73HSXCX.mjs +7 -0
- package/dist/bin/core-chunks/chunk-EFSPBB4S.mjs +8 -0
- package/dist/bin/core-chunks/chunk-EHVU2SMR.mjs +34 -0
- package/dist/bin/core-chunks/chunk-ESB4ALH2.mjs +7 -0
- package/dist/bin/core-chunks/chunk-EZRNQXCC.mjs +7 -0
- package/dist/bin/core-chunks/chunk-F2FKQUYE.mjs +19 -0
- package/dist/bin/core-chunks/chunk-F7OOBAJO.mjs +30 -0
- package/dist/bin/core-chunks/chunk-FATYLG3L.mjs +14 -0
- package/dist/bin/core-chunks/chunk-FOWTB762.mjs +7 -0
- package/dist/bin/core-chunks/chunk-GDLAQV3Q.mjs +14 -0
- package/dist/bin/core-chunks/chunk-GGGDYL4P.mjs +7 -0
- package/dist/bin/core-chunks/chunk-GHSRH4GL.mjs +8 -0
- package/dist/bin/core-chunks/chunk-GOIBJ7PV.mjs +7 -0
- package/dist/bin/core-chunks/chunk-GSNQKBHZ.mjs +11 -0
- package/dist/bin/core-chunks/chunk-GTG67Z45.mjs +11 -0
- package/dist/bin/core-chunks/chunk-H2KNJUPN.mjs +23 -0
- package/dist/bin/core-chunks/chunk-HCPQZRR3.mjs +7 -0
- package/dist/bin/core-chunks/chunk-HEXSVBUP.mjs +8 -0
- package/dist/bin/core-chunks/chunk-HPCSSJXH.mjs +7 -0
- package/dist/bin/core-chunks/chunk-HU5ERAAV.mjs +8 -0
- package/dist/bin/core-chunks/chunk-HYIT7MF5.mjs +8 -0
- package/dist/bin/core-chunks/chunk-HYMJVHAX.mjs +13 -0
- package/dist/bin/core-chunks/chunk-ID2C2S33.mjs +18 -0
- package/dist/bin/core-chunks/chunk-ID5KE74L.mjs +7 -0
- package/dist/bin/core-chunks/chunk-IFLBZKKK.mjs +14 -0
- package/dist/bin/core-chunks/chunk-IMQCXC3R.mjs +30 -0
- package/dist/bin/core-chunks/chunk-INJ5WT2D.mjs +7 -0
- package/dist/bin/core-chunks/chunk-INM5COWM.mjs +7 -0
- package/dist/bin/core-chunks/chunk-IOFCSTGM.mjs +7 -0
- package/dist/bin/core-chunks/chunk-IVGWOY3U.mjs +8 -0
- package/dist/bin/core-chunks/chunk-J7T5IEFJ.mjs +15 -0
- package/dist/bin/core-chunks/chunk-JCWA7NLM.mjs +7 -0
- package/dist/bin/core-chunks/chunk-JPMUJY42.mjs +7 -0
- package/dist/bin/core-chunks/chunk-JT4RNQ67.mjs +15 -0
- package/dist/bin/core-chunks/chunk-K25HGTC3.mjs +10 -0
- package/dist/bin/core-chunks/chunk-KIRU4QFX.mjs +7 -0
- package/dist/bin/core-chunks/chunk-KKIJAEYU.mjs +7 -0
- package/dist/bin/core-chunks/chunk-KPR5TWSN.mjs +7 -0
- package/dist/bin/core-chunks/chunk-KUQLXY2P.mjs +11 -0
- package/dist/bin/core-chunks/chunk-KWC2PCPC.mjs +10 -0
- package/dist/bin/core-chunks/chunk-L4TUXFCL.mjs +7 -0
- package/dist/bin/core-chunks/chunk-L5LFLI4R.mjs +7 -0
- package/dist/bin/core-chunks/chunk-LZC6NGB6.mjs +50 -0
- package/dist/bin/core-chunks/chunk-MCY7OXED.mjs +10 -0
- package/dist/bin/core-chunks/chunk-MDONTD7O.mjs +21 -0
- package/dist/bin/core-chunks/chunk-MG3YN3AI.mjs +7 -0
- package/dist/bin/core-chunks/chunk-MR5XXHRK.mjs +8 -0
- package/dist/bin/core-chunks/chunk-MTDCRYLP.mjs +7 -0
- package/dist/bin/core-chunks/chunk-MXJKULJY.mjs +9 -0
- package/dist/bin/core-chunks/chunk-NINFE7GS.mjs +9 -0
- package/dist/bin/core-chunks/chunk-NNOX3UU4.mjs +7 -0
- package/dist/bin/core-chunks/chunk-NOHSLOLL.mjs +7 -0
- package/dist/bin/core-chunks/chunk-NXUIMC22.mjs +13 -0
- package/dist/bin/core-chunks/chunk-NZKUCQZK.mjs +8 -0
- package/dist/bin/core-chunks/chunk-O5N6XYPU.mjs +8 -0
- package/dist/bin/core-chunks/chunk-OIE3AKKO.mjs +7 -0
- package/dist/bin/core-chunks/chunk-OYXQRBVM.mjs +10 -0
- package/dist/bin/core-chunks/chunk-P2KU4FFA.mjs +11 -0
- package/dist/bin/core-chunks/chunk-P53YMOKR.mjs +7 -0
- package/dist/bin/core-chunks/chunk-PIA26GWG.mjs +7 -0
- package/dist/bin/core-chunks/chunk-PPERWRFS.mjs +13 -0
- package/dist/bin/core-chunks/chunk-PPSVWUXC.mjs +15 -0
- package/dist/bin/core-chunks/chunk-PWL3KS7Y.mjs +7 -0
- package/dist/bin/core-chunks/chunk-Q3LUL6LL.mjs +7 -0
- package/dist/bin/core-chunks/chunk-Q6C27OL7.mjs +7 -0
- package/dist/bin/core-chunks/chunk-QAIEAOJF.mjs +7 -0
- package/dist/bin/core-chunks/chunk-QLMZW4K7.mjs +7 -0
- package/dist/bin/core-chunks/chunk-QZ7T2EYR.mjs +25 -0
- package/dist/bin/core-chunks/chunk-R7LLMJDP.mjs +7 -0
- package/dist/bin/core-chunks/chunk-RACISWUV.mjs +10 -0
- package/dist/bin/core-chunks/chunk-RCIWCKL7.mjs +9 -0
- package/dist/bin/core-chunks/chunk-ROOCBUKH.mjs +8 -0
- package/dist/bin/core-chunks/chunk-RP7F67ZT.mjs +7 -0
- package/dist/bin/core-chunks/chunk-RXXXA7Z6.mjs +7 -0
- package/dist/bin/core-chunks/chunk-RXZJB43D.mjs +7 -0
- package/dist/bin/core-chunks/chunk-S6FBPXQL.mjs +9 -0
- package/dist/bin/core-chunks/chunk-SLYLGDX7.mjs +8 -0
- package/dist/bin/core-chunks/chunk-SO3ZPNWT.mjs +7 -0
- package/dist/bin/core-chunks/chunk-SRJEX6XF.mjs +12 -0
- package/dist/bin/core-chunks/chunk-SROBBOJB.mjs +11 -0
- package/dist/bin/core-chunks/chunk-TDTPDVUM.mjs +8 -0
- package/dist/bin/core-chunks/chunk-TGNZI4KF.mjs +28 -0
- package/dist/bin/core-chunks/chunk-TIBYHZFA.mjs +8 -0
- package/dist/bin/core-chunks/chunk-TILUQF6L.mjs +8 -0
- package/dist/bin/core-chunks/chunk-TTN2CFZC.mjs +7 -0
- package/dist/bin/core-chunks/chunk-U24YKPYX.mjs +7 -0
- package/dist/bin/core-chunks/chunk-U55OPVYR.mjs +9 -0
- package/dist/bin/core-chunks/chunk-UE3XKXWM.mjs +7 -0
- package/dist/bin/core-chunks/chunk-UHXV7MDW.mjs +12 -0
- package/dist/bin/core-chunks/chunk-UNNY2IWZ.mjs +9 -0
- package/dist/bin/core-chunks/chunk-UT425KVX.mjs +10 -0
- package/dist/bin/core-chunks/chunk-UYMZ3NAF.mjs +8 -0
- package/dist/bin/core-chunks/chunk-V3Y3G2DE.mjs +8 -0
- package/dist/bin/core-chunks/chunk-V5VCXMKO.mjs +52 -0
- package/dist/bin/core-chunks/chunk-V6L5PLD7.mjs +18 -0
- package/dist/bin/core-chunks/chunk-V7R3L54M.mjs +7 -0
- package/dist/bin/core-chunks/chunk-V7VA4EQX.mjs +7 -0
- package/dist/bin/core-chunks/chunk-VCSESVZ4.mjs +9 -0
- package/dist/bin/core-chunks/chunk-VCYVYFWE.mjs +9 -0
- package/dist/bin/core-chunks/chunk-VDXTMAMO.mjs +7 -0
- package/dist/bin/core-chunks/chunk-VILH3VYH.mjs +103 -0
- package/dist/bin/core-chunks/chunk-VRFYDYQY.mjs +7 -0
- package/dist/bin/core-chunks/chunk-VWFVSNQT.mjs +7 -0
- package/dist/bin/core-chunks/chunk-WGDE3L33.mjs +7 -0
- package/dist/bin/core-chunks/chunk-WP5IU4W4.mjs +7 -0
- package/dist/bin/core-chunks/chunk-WSVMQYYU.mjs +12 -0
- package/dist/bin/core-chunks/chunk-WTDUJB4I.mjs +8 -0
- package/dist/bin/core-chunks/chunk-WZXUFSVT.mjs +25 -0
- package/dist/bin/core-chunks/chunk-X35YYOFE.mjs +18 -0
- package/dist/bin/core-chunks/chunk-X4FR5S7E.mjs +9 -0
- package/dist/bin/core-chunks/chunk-XC6YAP36.mjs +7 -0
- package/dist/bin/core-chunks/chunk-XLFEWZRA.mjs +7 -0
- package/dist/bin/core-chunks/chunk-XPRLQIVQ.mjs +7 -0
- package/dist/bin/core-chunks/chunk-XSZG3CBO.mjs +7 -0
- package/dist/bin/core-chunks/chunk-XU3BQPBU.mjs +7 -0
- package/dist/bin/core-chunks/chunk-XYDLXF5A.mjs +8 -0
- package/dist/bin/core-chunks/chunk-Y5SEUYET.mjs +7 -0
- package/dist/bin/core-chunks/chunk-Y7XOKG4O.mjs +7 -0
- package/dist/bin/core-chunks/chunk-YEALP3WX.mjs +7 -0
- package/dist/bin/core-chunks/chunk-YJOC2JJK.mjs +12 -0
- package/dist/bin/core-chunks/chunk-YLYAYRSJ.mjs +8 -0
- package/dist/bin/core-chunks/chunk-YOGI4WE6.mjs +8 -0
- package/dist/bin/core-chunks/chunk-YQ6HM3YO.mjs +10 -0
- package/dist/bin/core-chunks/chunk-YZEO5DZA.mjs +7 -0
- package/dist/bin/core-chunks/chunk-ZBBNCCGV.mjs +12 -0
- package/dist/bin/core-chunks/chunk-ZHTYSYZC.mjs +7 -0
- package/dist/bin/core-chunks/chunk-ZK7BMUMR.mjs +7 -0
- package/dist/bin/core-chunks/chunk-ZKJZDOPT.mjs +14 -0
- package/dist/bin/core-chunks/chunk-ZQHSJ6FF.mjs +20 -0
- package/dist/bin/core-chunks/chunk-ZS7XJUPE.mjs +7 -0
- package/dist/bin/core-chunks/chunk-ZXTJLMVZ.mjs +7 -0
- package/dist/bin/core-chunks/cleanup-installs-WHXUGAHM.mjs +7 -0
- package/dist/bin/core-chunks/client-D43KKUYH.mjs +8 -0
- package/dist/bin/core-chunks/closest-command-YYNABM7V.mjs +7 -0
- package/dist/bin/core-chunks/cloud-FFUJZLDV.mjs +14 -0
- package/dist/bin/core-chunks/code-SU7GCPH6.mjs +12 -0
- package/dist/bin/core-chunks/code-graph-cloud-G3WQBICY.mjs +7 -0
- package/dist/bin/core-chunks/codex-hooks-GOLMCL2Q.mjs +7 -0
- package/dist/bin/core-chunks/codex-mcp-K4X2UIQF.mjs +7 -0
- package/dist/bin/core-chunks/codex-skill-3HNVU4T4.mjs +7 -0
- package/dist/bin/core-chunks/command-installer-XIQK2G6W.mjs +7 -0
- package/dist/bin/core-chunks/config-W3RHV3GK.mjs +8 -0
- package/dist/bin/core-chunks/config-manager-QVFHXIKI.mjs +7 -0
- package/dist/bin/core-chunks/content-bound-stamp-2PJNI4JC.mjs +7 -0
- package/dist/bin/core-chunks/context-4KGTUAC4.mjs +38 -0
- package/dist/bin/core-chunks/context-DDHC7VIC.mjs +10 -0
- package/dist/bin/core-chunks/context-checkpoint-4CEUPEVG.mjs +27 -0
- package/dist/bin/core-chunks/context-pressure-5URQVNBC.mjs +7 -0
- package/dist/bin/core-chunks/context-tiers-4S6H22NP.mjs +7 -0
- package/dist/bin/core-chunks/context7-service-AZWDYK5Z.mjs +7 -0
- package/dist/bin/core-chunks/core-PR5WEQCS.mjs +70 -0
- package/dist/bin/core-chunks/crew-JQCG6NS3.mjs +24 -0
- package/dist/bin/core-chunks/cursor-hooks-DGDJVAI6.mjs +7 -0
- package/dist/bin/core-chunks/custom-workflow-storage-EBEIG54R.mjs +7 -0
- package/dist/bin/core-chunks/cwd-changed-ODKZVSPB.mjs +7 -0
- package/dist/bin/core-chunks/cycle-budget-card-H37XRAIX.mjs +7 -0
- package/dist/bin/core-chunks/daemon-2NQTBFVR.mjs +13 -0
- package/dist/bin/core-chunks/database-UU2ZXSD4.mjs +7 -0
- package/dist/bin/core-chunks/delivery-geometry-GSJ6LXUC.mjs +7 -0
- package/dist/bin/core-chunks/detect-changes-2YIEX7AY.mjs +7 -0
- package/dist/bin/core-chunks/detection-KKDZYWVD.mjs +7 -0
- package/dist/bin/core-chunks/developer-evolution-AVAXGDKQ.mjs +11 -0
- package/dist/bin/core-chunks/developer-profile-MRPBWL2K.mjs +7 -0
- package/dist/bin/core-chunks/discuss-lock-CWXKBBYJ.mjs +7 -0
- package/dist/bin/core-chunks/distill-MLDZG5RA.mjs +7 -0
- package/dist/bin/core-chunks/doctor-heal-ZUZ2RHGY.mjs +7 -0
- package/dist/bin/core-chunks/doctor-service-WXLB2FEE.mjs +8 -0
- package/dist/bin/core-chunks/drift-refresh-XPJAO2B3.mjs +7 -0
- package/dist/bin/core-chunks/dynasty-outcomes-H2O546OL.mjs +11 -0
- package/dist/bin/core-chunks/editors-config-ELAQA6RV.mjs +7 -0
- package/dist/bin/core-chunks/embeddings-7A5Z5I67.mjs +7 -0
- package/dist/bin/core-chunks/enriched-recall-YXK7EIKH.mjs +7 -0
- package/dist/bin/core-chunks/eval-4YFUBFLV.mjs +76 -0
- package/dist/bin/core-chunks/exec-34V6SJYO.mjs +7 -0
- package/dist/bin/core-chunks/file-helper-LLQKU6YF.mjs +7 -0
- package/dist/bin/core-chunks/format-5V6GF6JJ.mjs +7 -0
- package/dist/bin/core-chunks/gemini-settings-ZTU3VQU3.mjs +7 -0
- package/dist/bin/core-chunks/git-context-ZSWE3KWM.mjs +8 -0
- package/dist/bin/core-chunks/git-helpers-UC53D4FT.mjs +7 -0
- package/dist/bin/core-chunks/grok-mcp-F3SRFMCW.mjs +7 -0
- package/dist/bin/core-chunks/grok-plugin-4CE2WUYI.mjs +7 -0
- package/dist/bin/core-chunks/grok-skill-GLSBOOKW.mjs +7 -0
- package/dist/bin/core-chunks/guard-FJBJ6IAE.mjs +13 -0
- package/dist/bin/core-chunks/guards-LFUFKVVH.mjs +7 -0
- package/dist/bin/core-chunks/handoff-storage-NGUA4Y2L.mjs +7 -0
- package/dist/bin/core-chunks/harness-FN3HASSA.mjs +43 -0
- package/dist/bin/core-chunks/health-W2VWME7Z.mjs +11 -0
- package/dist/bin/core-chunks/help-I37I3V2R.mjs +14 -0
- package/dist/bin/core-chunks/hooks-service-C2P5DRCH.mjs +91 -0
- package/dist/bin/core-chunks/infer-memory-file-ATP7PSAQ.mjs +7 -0
- package/dist/bin/core-chunks/install-XP4S6HWQ.mjs +9 -0
- package/dist/bin/core-chunks/judgment-GJE332LF.mjs +21 -0
- package/dist/bin/core-chunks/judgment-ledger-storage-ZTYXPMM4.mjs +7 -0
- package/dist/bin/core-chunks/judgment-orchestrator-E3SO3NVE.mjs +7 -0
- package/dist/bin/core-chunks/judgment-receipt-WT4EMCAV.mjs +7 -0
- package/dist/bin/core-chunks/kimi-hooks-2UEUIKXV.mjs +7 -0
- package/dist/bin/core-chunks/kimi-mcp-DJCXZ2JY.mjs +7 -0
- package/dist/bin/core-chunks/land-cue-5USQ64MS.mjs +8 -0
- package/dist/bin/core-chunks/land-rho-ISNVEPVC.mjs +8 -0
- package/dist/bin/core-chunks/land-synthesis-CHARJMUP.mjs +7 -0
- package/dist/bin/core-chunks/lean-L53CKZNH.mjs +34 -0
- package/dist/bin/core-chunks/legacy-crew-sweep-2TLKJTHI.mjs +23 -0
- package/dist/bin/core-chunks/living-context-contract-HZIVBMXX.mjs +7 -0
- package/dist/bin/core-chunks/llm-XMH7WTHV.mjs +18 -0
- package/dist/bin/core-chunks/mcp-FLVIZBV2.mjs +17 -0
- package/dist/bin/core-chunks/memory-dream-EJWI4FJO.mjs +14 -0
- package/dist/bin/core-chunks/memory-export-27HTNNFI.mjs +13 -0
- package/dist/bin/core-chunks/memory-index-BRZDZ2BY.mjs +7 -0
- package/dist/bin/core-chunks/notification-KJ4FQJAW.mjs +7 -0
- package/dist/bin/core-chunks/notify-76B7AICZ.mjs +9 -0
- package/dist/bin/core-chunks/nyquist-lite-A23B7G4B.mjs +9 -0
- package/dist/bin/core-chunks/one-breath-install-LVNIVN6S.mjs +7 -0
- package/dist/bin/core-chunks/opencode-mcp-5YSIYDI3.mjs +7 -0
- package/dist/bin/core-chunks/output-D27IOQXR.mjs +7 -0
- package/dist/bin/core-chunks/pack-integrity-GXN67LJB.mjs +9 -0
- package/dist/bin/core-chunks/pack-manager-46SPIPPD.mjs +7 -0
- package/dist/bin/core-chunks/package-DCGCOAGQ.mjs +7 -0
- package/dist/bin/core-chunks/package-legitimacy-VHHGI4P7.mjs +7 -0
- package/dist/bin/core-chunks/path-manager-E5DCU5LP.mjs +7 -0
- package/dist/bin/core-chunks/performance-tracker-BFBNR3LY.mjs +7 -0
- package/dist/bin/core-chunks/pi-skill-SDHTUK3V.mjs +7 -0
- package/dist/bin/core-chunks/planning-S3MYVWH6.mjs +8 -0
- package/dist/bin/core-chunks/post-edit-5YSNEMK7.mjs +7 -0
- package/dist/bin/core-chunks/pr-convention-37YHTUKM.mjs +7 -0
- package/dist/bin/core-chunks/pre-bash-GLDILCRF.mjs +10 -0
- package/dist/bin/core-chunks/pre-commit-U6HPPNIC.mjs +7 -0
- package/dist/bin/core-chunks/pre-edit-PEYQA6P6.mjs +8 -0
- package/dist/bin/core-chunks/pre-package-76JR5GLO.mjs +7 -0
- package/dist/bin/core-chunks/pre-search-5EHNUOP3.mjs +8 -0
- package/dist/bin/core-chunks/pre-secrets-RJELPDFY.mjs +7 -0
- package/dist/bin/core-chunks/precision-classifier-AV75OEVA.mjs +7 -0
- package/dist/bin/core-chunks/precision-judgment-MCX4MIIG.mjs +7 -0
- package/dist/bin/core-chunks/preferences-BTSYWYUM.mjs +31 -0
- package/dist/bin/core-chunks/primitives-IXAYLX7U.mjs +13 -0
- package/dist/bin/core-chunks/prjct-md-SUDFWDCS.mjs +7 -0
- package/dist/bin/core-chunks/product-KKGJ6MMF.mjs +68 -0
- package/dist/bin/core-chunks/project-agent-surfaces-I2CUZUIN.mjs +7 -0
- package/dist/bin/core-chunks/project-alignment-ADKW3ZWQ.mjs +17 -0
- package/dist/bin/core-chunks/project-file-inventory-XIHHJZUP.mjs +7 -0
- package/dist/bin/core-chunks/project-memory-GYLYIJQD.mjs +7 -0
- package/dist/bin/core-chunks/project-style-evolution-5W25UPPN.mjs +7 -0
- package/dist/bin/core-chunks/prompt-SW5XDRMX.mjs +23 -0
- package/dist/bin/core-chunks/protocol-4AJ4J5SI.mjs +7 -0
- package/dist/bin/core-chunks/provider-cache-IWVTFLGT.mjs +7 -0
- package/dist/bin/core-chunks/provider-status-HQUBKMH5.mjs +7 -0
- package/dist/bin/core-chunks/publish-helper-2T2EHM3V.mjs +7 -0
- package/dist/bin/core-chunks/purge-5EPJV25P.mjs +7 -0
- package/dist/bin/core-chunks/queue-storage-BKH5XX2E.mjs +7 -0
- package/dist/bin/core-chunks/registry-LK6IQ5UX.mjs +7 -0
- package/dist/bin/core-chunks/reliability-repair-JMPZWDD4.mjs +20 -0
- package/dist/bin/core-chunks/removed-verbs-EU3WPRNK.mjs +7 -0
- package/dist/bin/core-chunks/retention-S22T3SPT.mjs +7 -0
- package/dist/bin/core-chunks/retro-CLKOHAN6.mjs +13 -0
- package/dist/bin/core-chunks/review-risk-LLLBKUXT.mjs +12 -0
- package/dist/bin/core-chunks/run-recorder-EZQ32M55.mjs +7 -0
- package/dist/bin/core-chunks/safe-artifacts-RW5WQUUJ.mjs +9 -0
- package/dist/bin/core-chunks/sdd-HE7O6N5S.mjs +9 -0
- package/dist/bin/core-chunks/seed-JX7W53E5.mjs +10 -0
- package/dist/bin/core-chunks/self-heal-DFUEKNF3.mjs +7 -0
- package/dist/bin/core-chunks/session-continuity-BFSW4OL6.mjs +10 -0
- package/dist/bin/core-chunks/session-start-HVYUKJL2.mjs +7 -0
- package/dist/bin/core-chunks/session-tracker-RG2FBWMS.mjs +7 -0
- package/dist/bin/core-chunks/settings-installer-4XHM3HAZ.mjs +7 -0
- package/dist/bin/core-chunks/setup-GHS24ER5.mjs +140 -0
- package/dist/bin/core-chunks/setup-J4JFYT63.mjs +38 -0
- package/dist/bin/core-chunks/shipping-I4D4AVTE.mjs +12 -0
- package/dist/bin/core-chunks/signals-digest-V44KYN6Z.mjs +7 -0
- package/dist/bin/core-chunks/skill-adherence-MHY4BZL4.mjs +13 -0
- package/dist/bin/core-chunks/skill-generator-LKS5BNMY.mjs +7 -0
- package/dist/bin/core-chunks/skill-index-L4UWQCQE.mjs +11 -0
- package/dist/bin/core-chunks/spec-2XXPLHUZ.mjs +27 -0
- package/dist/bin/core-chunks/spec-context-inference-THFMXC7S.mjs +9 -0
- package/dist/bin/core-chunks/spec-inventory-2TT7BTFZ.mjs +9 -0
- package/dist/bin/core-chunks/spec-service-I23KJKKP.mjs +7 -0
- package/dist/bin/core-chunks/spec-task-breakdown-HTG6ME6G.mjs +7 -0
- package/dist/bin/core-chunks/state-storage-6CGFWW5D.mjs +7 -0
- package/dist/bin/core-chunks/stdin-spill-Y2A6WOOW.mjs +7 -0
- package/dist/bin/core-chunks/stop-2H57XCGZ.mjs +15 -0
- package/dist/bin/core-chunks/subagent-start-5LPASXOS.mjs +7 -0
- package/dist/bin/core-chunks/subagent-stop-ANLSG3KN.mjs +7 -0
- package/dist/bin/core-chunks/surface-attribution-WL7S53XX.mjs +7 -0
- package/dist/bin/core-chunks/symbol-graph-PCS43SHZ.mjs +7 -0
- package/dist/bin/core-chunks/sync-analyzer-M37Q4LE4.mjs +7 -0
- package/dist/bin/core-chunks/sync-client-6TAOTJWR.mjs +7 -0
- package/dist/bin/core-chunks/sync-cursor-storage-GKO4X2QN.mjs +18 -0
- package/dist/bin/core-chunks/task-orchestration-GS4J4KGS.mjs +7 -0
- package/dist/bin/core-chunks/task-overview-XSMK7YEN.mjs +7 -0
- package/dist/bin/core-chunks/task-service-FK7FC3PE.mjs +7 -0
- package/dist/bin/core-chunks/tdd-NQDHU62B.mjs +9 -0
- package/dist/bin/core-chunks/team-XZ4Q6UBV.mjs +42 -0
- package/dist/bin/core-chunks/template-loader-33OVJ4G5.mjs +7 -0
- package/dist/bin/core-chunks/token-backfill-WPXXD5MP.mjs +12 -0
- package/dist/bin/core-chunks/token-economics-JZAQJUET.mjs +7 -0
- package/dist/bin/core-chunks/transcript-jsonl-OC7TH4Q3.mjs +7 -0
- package/dist/bin/core-chunks/trust-boundary-24F662RM.mjs +7 -0
- package/dist/bin/core-chunks/uninstall-6NFON7FO.mjs +13 -0
- package/dist/bin/core-chunks/update-4IE6SA6M.mjs +11 -0
- package/dist/bin/core-chunks/update-checker-FK7MWNWN.mjs +7 -0
- package/dist/bin/core-chunks/usefulness-A3GRKFL3.mjs +7 -0
- package/dist/bin/core-chunks/user-home-BODIAXR4.mjs +7 -0
- package/dist/bin/core-chunks/vault-retire-notice-FDRT7BJG.mjs +8 -0
- package/dist/bin/core-chunks/velocity-storage-5T7RYOWH.mjs +7 -0
- package/dist/bin/core-chunks/verb-names-QWGYABFH.mjs +7 -0
- package/dist/bin/core-chunks/version-252QLBN2.mjs +7 -0
- package/dist/bin/core-chunks/watch-service-7ZERG7RC.mjs +9 -0
- package/dist/bin/core-chunks/weak-frontier-demo-5C4FR3OA.mjs +7 -0
- package/dist/bin/core-chunks/weak-model-mode-DH66XMD2.mjs +7 -0
- package/dist/bin/core-chunks/work-graph-JGJWE3AV.mjs +16 -0
- package/dist/bin/core-chunks/work-graph-WHMCFN6U.mjs +7 -0
- package/dist/bin/core-chunks/work-scope-3LXOEIUX.mjs +7 -0
- package/dist/bin/core-chunks/workflow-FGJVLRQ3.mjs +61 -0
- package/dist/bin/core-chunks/workflows-reference-UWKRZ6BJ.mjs +7 -0
- package/dist/bin/core-chunks/workspace-occupancy-JUXKZBUZ.mjs +7 -0
- package/dist/bin/core-chunks/worktree-service-YRRPFU57.mjs +11 -0
- package/dist/bin/core-chunks/world-model-impact-RH5WH2B3.mjs +7 -0
- package/dist/bin/hook-chunks/{agent-identity-45BYQBU2.mjs → agent-identity-DH6DX72X.mjs} +1 -1
- package/dist/bin/hook-chunks/{agent-switch-4ZJJWKMD.mjs → agent-switch-7GOGG4KG.mjs} +1 -1
- package/dist/bin/hook-chunks/{analysis-UGHAG2SK.mjs → analysis-UI2JRLJO.mjs} +3 -3
- package/dist/bin/hook-chunks/{auto-flush-CXWTU3RF.mjs → auto-flush-JKIXTI2I.mjs} +1 -1
- package/dist/bin/hook-chunks/{capture-gate-PS6QUXLX.mjs → capture-gate-DIPHPNIC.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-YDBZO6I3.mjs → chunk-22GFTUER.mjs} +1 -1
- package/dist/bin/hook-chunks/chunk-25OGCQTR.mjs +69 -0
- package/dist/bin/hook-chunks/{chunk-DCSKTMDX.mjs → chunk-3CKNJ5RA.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-ABJNOG2I.mjs → chunk-3FEXJUO2.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-22AXWLI6.mjs → chunk-3HGQPUKG.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-GLPKMG5A.mjs → chunk-63P5VOR6.mjs} +10 -10
- package/dist/bin/hook-chunks/{chunk-PP6DANGV.mjs → chunk-6LU777GI.mjs} +1 -1
- package/dist/bin/hook-chunks/chunk-6NMHVPAI.mjs +35 -0
- package/dist/bin/hook-chunks/{chunk-QL3NYJTW.mjs → chunk-6RS7PNAN.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-PO3QDKTE.mjs → chunk-6WDRJ7J7.mjs} +1 -1
- package/dist/bin/hook-chunks/chunk-7PA4KPSR.mjs +51 -0
- package/dist/bin/hook-chunks/{chunk-QP5USCDX.mjs → chunk-7WO5CEH3.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-FW4MEPTB.mjs → chunk-A6LRNS6R.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-GCDLPKOH.mjs → chunk-AEDB75AK.mjs} +1 -1
- package/dist/bin/hook-chunks/chunk-AFGXKRRP.mjs +12 -0
- package/dist/bin/hook-chunks/{chunk-WGWE3CSC.mjs → chunk-ANSRNEEI.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-RTEEXGEA.mjs → chunk-AORD3YDQ.mjs} +1 -1
- package/dist/bin/hook-chunks/chunk-B2ZA5ZAO.mjs +8 -0
- package/dist/bin/hook-chunks/{chunk-BOBFTVAY.mjs → chunk-B7MHIUFA.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-Z6KVLCMK.mjs → chunk-BKJHD5JI.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-4NTVXJD7.mjs → chunk-BVK7ZDLX.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-IGHY4FGS.mjs → chunk-CPR4FPXG.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-5XA5RL5I.mjs → chunk-ETTDRXQ6.mjs} +1 -1
- package/dist/bin/hook-chunks/chunk-F3PNT2DQ.mjs +19 -0
- package/dist/bin/hook-chunks/{chunk-C4O243NG.mjs → chunk-FBEDUKMG.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-5H3KJWQS.mjs → chunk-GER6HFWV.mjs} +2 -2
- package/dist/bin/hook-chunks/{chunk-IWJG7CZX.mjs → chunk-GSPDJSJ5.mjs} +1 -1
- package/dist/bin/hook-chunks/chunk-H5AVBDCH.mjs +8 -0
- package/dist/bin/hook-chunks/{chunk-HEDZA6KC.mjs → chunk-HGZQWYBL.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-GDESYWTD.mjs → chunk-HNZ24HIK.mjs} +2 -2
- package/dist/bin/hook-chunks/{chunk-S5ISOGDB.mjs → chunk-IDPBMN3Q.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-PTA7DMLM.mjs → chunk-IFIENAZU.mjs} +1 -1
- package/dist/bin/hook-chunks/chunk-IHEOOJJT.mjs +11 -0
- package/dist/bin/hook-chunks/{chunk-S5N2ZZDL.mjs → chunk-IL36ER4U.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-6GAFRIUQ.mjs → chunk-IWUF2LGO.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-OGIFB3OE.mjs → chunk-JF6DFOQK.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-Z4X7JIAP.mjs → chunk-JGZ3QGWX.mjs} +3 -3
- package/dist/bin/hook-chunks/chunk-KOLXYWOA.mjs +36 -0
- package/dist/bin/hook-chunks/{chunk-DVDZA63F.mjs → chunk-MIJZT4ZR.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-J5UQVJUW.mjs → chunk-NCLONKOT.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-QBYHZX33.mjs → chunk-NJ74RHNC.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-NLKPAJND.mjs → chunk-NMB6YSAH.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-MHNWIB7B.mjs → chunk-NSTXHVTH.mjs} +2 -2
- package/dist/bin/hook-chunks/{chunk-N3L77UNM.mjs → chunk-ONGVBXBD.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-X5W2UYQK.mjs → chunk-PFORBQBF.mjs} +3 -3
- package/dist/bin/hook-chunks/{chunk-KSSRINDX.mjs → chunk-PPWPUEBH.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-76GDLA3Z.mjs → chunk-PQJ64L6U.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-PGWFGRX4.mjs → chunk-QOQZHR3E.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-2UC4DTDO.mjs → chunk-QXCEBAIA.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-I26F7TLM.mjs → chunk-RLKYEL3F.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-BDOAQVIF.mjs → chunk-SQW2B7NW.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-4HAKTI36.mjs → chunk-TF6PN7IB.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-UHVYBU7F.mjs → chunk-TKXOMN4K.mjs} +4 -4
- package/dist/bin/hook-chunks/{chunk-BX7VKYA7.mjs → chunk-UBWUQ64A.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-OUAVSD47.mjs → chunk-UI25YRTY.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-G7QQZMAO.mjs → chunk-UMJ5D5I6.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-ZOX6OV6X.mjs → chunk-V6GGH6H5.mjs} +1 -1
- package/dist/bin/hook-chunks/chunk-WIA6ORIY.mjs +16 -0
- package/dist/bin/hook-chunks/chunk-WUOVBBPC.mjs +11 -0
- package/dist/bin/hook-chunks/{chunk-T6ELTQZM.mjs → chunk-XSJ7SPVR.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-UYQC63MC.mjs → chunk-XXVHUYL7.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-RHKF7EJW.mjs → chunk-Y7MZA2G4.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-U4OON3S7.mjs → chunk-Y7RDBMNC.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-ROA2AJXY.mjs → chunk-YATXTHDL.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-ZFLIVOFX.mjs → chunk-ZF2EVMY7.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-S6L3FECF.mjs → chunk-ZH2MF7H7.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-3WQBTXUC.mjs → chunk-ZJW27EUC.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-J5UVRZ44.mjs → chunk-ZXON2U5F.mjs} +3 -3
- package/dist/bin/hook-chunks/chunk-ZYCNW75E.mjs +9 -0
- package/dist/bin/hook-chunks/{client-CRXA774S.mjs → client-K3ZA2BLB.mjs} +1 -1
- package/dist/bin/hook-chunks/{code-graph-cloud-GTSLO7CD.mjs → code-graph-cloud-XGQF7XYC.mjs} +1 -1
- package/dist/bin/hook-chunks/{codex-skill-NUBNPSMF.mjs → codex-skill-UZZCACMB.mjs} +1 -1
- package/dist/bin/hook-chunks/{command-installer-UHSXC3UG.mjs → command-installer-FJ73C2ZW.mjs} +1 -1
- package/dist/bin/hook-chunks/{config-manager-DX5OOPW5.mjs → config-manager-XDKOTIJM.mjs} +1 -1
- package/dist/bin/hook-chunks/{context7-service-GDJ3QICX.mjs → context7-service-NH4BMGSJ.mjs} +1 -1
- package/dist/bin/hook-chunks/{custom-workflow-storage-FD47DPA3.mjs → custom-workflow-storage-VBMWLKA7.mjs} +1 -1
- package/dist/bin/hook-chunks/cwd-changed-STP3LH6Y.mjs +8 -0
- package/dist/bin/hook-chunks/{database-ZUC7OEZG.mjs → database-ZCP76LMM.mjs} +1 -1
- package/dist/bin/hook-chunks/{detect-changes-OJUBWWTU.mjs → detect-changes-5W6EGEZG.mjs} +1 -1
- package/dist/bin/hook-chunks/{developer-evolution-WNSTHDAA.mjs → developer-evolution-UTY3CWOK.mjs} +1 -1
- package/dist/bin/hook-chunks/{distill-GOGPFQFK.mjs → distill-63BHUJAC.mjs} +1 -1
- package/dist/bin/hook-chunks/{enriched-recall-QF22RIK7.mjs → enriched-recall-6F6LBYAB.mjs} +1 -1
- package/dist/bin/hook-chunks/{format-J3X3R225.mjs → format-VJ2YQ4XQ.mjs} +1 -1
- package/dist/bin/hook-chunks/{judgment-ledger-storage-FE4HXTHM.mjs → judgment-ledger-storage-7Q7AEEY6.mjs} +1 -1
- package/dist/bin/hook-chunks/{judgment-orchestrator-YDJTKNV2.mjs → judgment-orchestrator-AAON4ZJ4.mjs} +1 -1
- package/dist/bin/hook-chunks/{judgment-receipt-7A2DXVJA.mjs → judgment-receipt-LSJCAYBT.mjs} +1 -1
- package/dist/bin/hook-chunks/{land-cue-SZWJH6XP.mjs → land-cue-DEO2AZW4.mjs} +1 -1
- package/dist/bin/hook-chunks/{land-synthesis-JLYUBKHR.mjs → land-synthesis-GTMFIGDM.mjs} +1 -1
- package/dist/bin/hook-chunks/{legacy-crew-sweep-JXYO62UE.mjs → legacy-crew-sweep-QPKU7ITU.mjs} +2 -2
- package/dist/bin/hook-chunks/{memory-index-CIYDXN2G.mjs → memory-index-KCMXQGKX.mjs} +1 -1
- package/dist/bin/hook-chunks/{notification-UA7RTVHG.mjs → notification-DX6ZHOUC.mjs} +1 -1
- package/dist/bin/hook-chunks/{pack-integrity-GZC5NGFN.mjs → pack-integrity-UMLIB5RQ.mjs} +1 -1
- package/dist/bin/hook-chunks/{pack-manager-AF5F7PRT.mjs → pack-manager-YXRK2TJ4.mjs} +1 -1
- package/dist/bin/hook-chunks/{planning-M3RAOZVB.mjs → planning-JR7O5MYW.mjs} +2 -2
- package/dist/bin/hook-chunks/{post-edit-QRDYPZLZ.mjs → post-edit-IPTVSRVG.mjs} +1 -1
- package/dist/bin/hook-chunks/{pre-bash-TWWFVNQ7.mjs → pre-bash-5WWTH36N.mjs} +1 -1
- package/dist/bin/hook-chunks/{pre-commit-PTFF7JIN.mjs → pre-commit-KZ5TNTPW.mjs} +1 -1
- package/dist/bin/hook-chunks/pre-edit-XHPYBXRU.mjs +11 -0
- package/dist/bin/hook-chunks/{pre-package-325ALZKD.mjs → pre-package-U3HDW3SX.mjs} +1 -1
- package/dist/bin/hook-chunks/{pre-search-GOHVFAFH.mjs → pre-search-R5CRK66E.mjs} +1 -1
- package/dist/bin/hook-chunks/{pre-secrets-MYNM5KI4.mjs → pre-secrets-MWPPZPWK.mjs} +1 -1
- package/dist/bin/hook-chunks/{prjct-md-RCB6FWD6.mjs → prjct-md-IBQTJBK7.mjs} +1 -1
- package/dist/bin/hook-chunks/{project-agent-surfaces-V4P5RTUR.mjs → project-agent-surfaces-TPZO73ZV.mjs} +1 -1
- package/dist/bin/hook-chunks/{project-file-inventory-OKIP4LBO.mjs → project-file-inventory-HHURZTMH.mjs} +1 -1
- package/dist/bin/hook-chunks/project-memory-YQLZX5RG.mjs +8 -0
- package/dist/bin/hook-chunks/{project-style-evolution-RPGATIYJ.mjs → project-style-evolution-NOFCIIZZ.mjs} +1 -1
- package/dist/bin/hook-chunks/prompt-DJWONMTZ.mjs +24 -0
- package/dist/bin/hook-chunks/{publish-helper-SX7HEV2L.mjs → publish-helper-ZSL27HSX.mjs} +1 -1
- package/dist/bin/hook-chunks/{purge-XKHUAB4H.mjs → purge-5W3K2MZL.mjs} +1 -1
- package/dist/bin/hook-chunks/retention-GWJ4AX7I.mjs +8 -0
- package/dist/bin/hook-chunks/{sdd-6PF7MBAY.mjs → sdd-GWBRD4KI.mjs} +1 -1
- package/dist/bin/hook-chunks/{session-continuity-UEXQDGZE.mjs → session-continuity-VH645RGR.mjs} +1 -1
- package/dist/bin/hook-chunks/session-start-4TYTI27B.mjs +8 -0
- package/dist/bin/hook-chunks/settings-installer-CQKMGMRG.mjs +9 -0
- package/dist/bin/hook-chunks/{setup-ZOHG6MGF.mjs → setup-VF4UHUBX.mjs} +3 -3
- package/dist/bin/hook-chunks/{shipping-QVGTOO6U.mjs → shipping-2ULWBGRX.mjs} +4 -4
- package/dist/bin/hook-chunks/{skill-index-FGDQVYHM.mjs → skill-index-55I3HLAI.mjs} +1 -1
- package/dist/bin/hook-chunks/{spec-context-inference-6Z52BT37.mjs → spec-context-inference-HVENYOIO.mjs} +1 -1
- package/dist/bin/hook-chunks/{spec-service-UAQ5AEXQ.mjs → spec-service-4XGQQPGP.mjs} +2 -2
- package/dist/bin/hook-chunks/{spec-task-breakdown-LAXGVLMY.mjs → spec-task-breakdown-JXF556UH.mjs} +1 -1
- package/dist/bin/hook-chunks/{state-storage-XU35ZYNA.mjs → state-storage-EMWLIFQJ.mjs} +1 -1
- package/dist/bin/hook-chunks/stop-NJDYIIXR.mjs +16 -0
- package/dist/bin/hook-chunks/subagent-start-2YMGD4SY.mjs +8 -0
- package/dist/bin/hook-chunks/{subagent-stop-OUG4PR7S.mjs → subagent-stop-4TZJ2NSJ.mjs} +1 -1
- package/dist/bin/hook-chunks/{surface-attribution-A6GCGRFM.mjs → surface-attribution-UNK4J5W2.mjs} +1 -1
- package/dist/bin/hook-chunks/{symbol-graph-DMPBNBX7.mjs → symbol-graph-MH42JSPX.mjs} +1 -1
- package/dist/bin/hook-chunks/{sync-cursor-storage-VVLA3L2U.mjs → sync-cursor-storage-ZB7FGT6D.mjs} +1 -1
- package/dist/bin/hook-chunks/{task-orchestration-HFZYWYLR.mjs → task-orchestration-7NGRIISS.mjs} +1 -1
- package/dist/bin/hook-chunks/{task-overview-PCUZWL5Q.mjs → task-overview-P3VRH2FD.mjs} +1 -1
- package/dist/bin/hook-chunks/task-service-SPUES5DO.mjs +8 -0
- package/dist/bin/hook-chunks/{tdd-QZL4OSM7.mjs → tdd-MYF7I5FS.mjs} +1 -1
- package/dist/bin/hook-chunks/{template-loader-SKXILJLJ.mjs → template-loader-4SYVR2UB.mjs} +1 -1
- package/dist/bin/hook-chunks/{usefulness-SZLG6LVC.mjs → usefulness-TBD5EYAL.mjs} +1 -1
- package/dist/bin/hook-chunks/{vault-retire-notice-HOXPURNQ.mjs → vault-retire-notice-7XHVNHU6.mjs} +1 -1
- package/dist/bin/hook-chunks/{velocity-storage-5J6BAMCW.mjs → velocity-storage-IOCVK2LU.mjs} +1 -1
- package/dist/bin/hook-chunks/{weak-model-mode-ZRNKFTFF.mjs → weak-model-mode-TYJJT6JJ.mjs} +1 -1
- package/dist/bin/hook-chunks/{work-graph-PGYHFLEL.mjs → work-graph-AVAOKY63.mjs} +1 -1
- package/dist/bin/hook-chunks/{work-scope-FIB6LBKE.mjs → work-scope-A6XPENFE.mjs} +1 -1
- package/dist/bin/hook-chunks/{workspace-occupancy-3D4OKQRB.mjs → workspace-occupancy-3NEAXILW.mjs} +1 -1
- package/dist/bin/hook-fast-darwin-arm64 +0 -0
- package/dist/bin/hook-fast-darwin-x64 +0 -0
- package/dist/bin/hook-fast-linux-x64 +0 -0
- package/dist/bin/prjct-core.mjs +9 -3311
- package/dist/bin/prjct-hooks.mjs +3 -3
- package/dist/bin/prjct.mjs +27 -8
- package/dist/daemon/entry.mjs +621 -606
- package/dist/mcp/server.mjs +317 -302
- package/package.json +5 -6
- package/scripts/install.sh +28 -496
- package/dist/bin/hook-chunks/chunk-4KXXDQYI.mjs +0 -11
- package/dist/bin/hook-chunks/chunk-BU22R6JX.mjs +0 -9
- package/dist/bin/hook-chunks/chunk-CYZ7ST2P.mjs +0 -36
- package/dist/bin/hook-chunks/chunk-EWOK4VE7.mjs +0 -11
- package/dist/bin/hook-chunks/chunk-FXFG6PV6.mjs +0 -69
- package/dist/bin/hook-chunks/chunk-GDECEHO5.mjs +0 -16
- package/dist/bin/hook-chunks/chunk-GPZP7NXL.mjs +0 -11
- package/dist/bin/hook-chunks/chunk-KHLYWNHT.mjs +0 -8
- package/dist/bin/hook-chunks/chunk-TRMBRDKH.mjs +0 -8
- package/dist/bin/hook-chunks/chunk-TXSLON7M.mjs +0 -19
- package/dist/bin/hook-chunks/chunk-V2FR2NPL.mjs +0 -43
- package/dist/bin/hook-chunks/chunk-XXRAQZNC.mjs +0 -35
- package/dist/bin/hook-chunks/cwd-changed-EP3UIRK6.mjs +0 -8
- package/dist/bin/hook-chunks/pre-edit-PMMWDR2B.mjs +0 -11
- package/dist/bin/hook-chunks/project-memory-JK2MXRJB.mjs +0 -8
- package/dist/bin/hook-chunks/prompt-DOENKHLQ.mjs +0 -24
- package/dist/bin/hook-chunks/retention-C3NQT65W.mjs +0 -8
- package/dist/bin/hook-chunks/session-start-B4P7L33E.mjs +0 -8
- package/dist/bin/hook-chunks/settings-installer-QDM3GB6J.mjs +0 -9
- package/dist/bin/hook-chunks/stop-CFB2H3XC.mjs +0 -16
- package/dist/bin/hook-chunks/subagent-start-KFAZZUHS.mjs +0 -8
- package/dist/bin/hook-chunks/task-service-PXCDU55T.mjs +0 -8
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prjct-cli",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.97.0",
|
|
4
4
|
"description": "The agentic harness for AI coding agents — work cycles, bounded RAG context, persistent memory, guardrails, and performance evals.",
|
|
5
5
|
"main": "dist/bin/prjct.mjs",
|
|
6
6
|
"bin": {
|
|
@@ -14,16 +14,15 @@
|
|
|
14
14
|
"build": "node scripts/build.js",
|
|
15
15
|
"build:node": "node scripts/build.js",
|
|
16
16
|
"release": "node scripts/release.js",
|
|
17
|
-
"release:
|
|
18
|
-
"release:minor": "node scripts/release.js minor",
|
|
19
|
-
"release:major": "node scripts/release.js major",
|
|
17
|
+
"release:dry-run": "node scripts/release.js --dry-run",
|
|
20
18
|
"prepare": "lefthook install",
|
|
21
19
|
"update-commands": "bun -e \"const installer = require('./core/infrastructure/command-installer'); installer.syncCommands().then(r => console.log('Commands updated:', r)).catch(e => console.error('Error:', e.message))\"",
|
|
22
20
|
"install-global": "./scripts/install.sh",
|
|
23
21
|
"update": "./scripts/update.sh",
|
|
24
22
|
"test": "bun test",
|
|
25
23
|
"test:unit": "bun test --path-ignore-patterns='**/e2e/**'",
|
|
26
|
-
"test:fast": "bun test
|
|
24
|
+
"test:fast": "bun scripts/test-sharded.ts",
|
|
25
|
+
"test:sharded": "bun scripts/test-sharded.ts",
|
|
27
26
|
"test:watch": "bun test --watch",
|
|
28
27
|
"test:coverage": "bun test --coverage",
|
|
29
28
|
"typecheck": "tsc --noEmit -p core/tsconfig.json",
|
|
@@ -109,7 +108,7 @@
|
|
|
109
108
|
"url": "https://github.com/prjct-app/cli/issues"
|
|
110
109
|
},
|
|
111
110
|
"homepage": "https://prjct.app",
|
|
112
|
-
"packageManager": "bun@1.
|
|
111
|
+
"packageManager": "bun@1.3.14",
|
|
113
112
|
"engines": {
|
|
114
113
|
"bun": ">=1.0.0",
|
|
115
114
|
"node": ">=22.5.0"
|
package/scripts/install.sh
CHANGED
|
@@ -1,505 +1,37 @@
|
|
|
1
|
-
#!/bin/
|
|
2
|
-
|
|
3
|
-
# ⚠️ DEPRECATED: This installation method is deprecated
|
|
4
|
-
# Use npm instead: npm install -g prjct-cli
|
|
1
|
+
#!/bin/sh
|
|
5
2
|
#
|
|
6
|
-
#
|
|
7
|
-
|
|
8
|
-
#
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
# Check if legacy installation exists
|
|
18
|
-
LEGACY_DIR="$HOME/.prjct-cli"
|
|
19
|
-
HAS_LEGACY=false
|
|
20
|
-
LEGACY_VERSION="unknown"
|
|
21
|
-
|
|
22
|
-
if [ -d "$LEGACY_DIR" ]; then
|
|
23
|
-
# Check if it's a git clone (legacy curl install)
|
|
24
|
-
if [ -d "$LEGACY_DIR/.git" ]; then
|
|
25
|
-
HAS_LEGACY=true
|
|
26
|
-
if [ -f "$LEGACY_DIR/package.json" ]; then
|
|
27
|
-
LEGACY_VERSION=$(grep -o '"version":[[:space:]]*"[^"]*"' "$LEGACY_DIR/package.json" | head -1 | cut -d'"' -f4)
|
|
28
|
-
fi
|
|
29
|
-
fi
|
|
30
|
-
fi
|
|
31
|
-
|
|
32
|
-
echo ""
|
|
33
|
-
echo -e "${YELLOW}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
34
|
-
echo -e "${YELLOW}⚠️ This installation method is DEPRECATED${NC}"
|
|
35
|
-
echo -e "${YELLOW}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
36
|
-
echo ""
|
|
37
|
-
|
|
38
|
-
if [ "$HAS_LEGACY" = true ]; then
|
|
39
|
-
echo -e "${RED}⚠️ Legacy curl installation detected!${NC}"
|
|
40
|
-
echo ""
|
|
41
|
-
echo -e " ${DIM}Version: ${LEGACY_VERSION}${NC}"
|
|
42
|
-
echo -e " ${DIM}Location: ~/.prjct-cli/${NC}"
|
|
43
|
-
echo ""
|
|
44
|
-
echo -e "${CYAN}Migration Required:${NC}"
|
|
45
|
-
echo ""
|
|
46
|
-
echo -e " 1. ${BOLD}Install via npm:${NC}"
|
|
47
|
-
echo -e " ${GREEN}npm install -g prjct-cli${NC}"
|
|
48
|
-
echo ""
|
|
49
|
-
echo -e " 2. ${BOLD}Automatic cleanup:${NC}"
|
|
50
|
-
echo -e " ${DIM}Legacy installation will be cleaned automatically${NC}"
|
|
51
|
-
echo -e " ${DIM}Your project data will be preserved${NC}"
|
|
52
|
-
echo ""
|
|
53
|
-
else
|
|
54
|
-
echo -e "${CYAN}Please install using npm:${NC}"
|
|
55
|
-
echo ""
|
|
56
|
-
echo -e " ${GREEN}npm install -g prjct-cli${NC}"
|
|
57
|
-
echo ""
|
|
58
|
-
fi
|
|
59
|
-
|
|
60
|
-
echo -e "${BOLD}Benefits of npm installation:${NC}"
|
|
61
|
-
echo -e " • ${CYAN}Automatic cleanup${NC} - Removes old curl installations"
|
|
62
|
-
echo -e " • ${CYAN}Data preservation${NC} - Your projects are migrated safely"
|
|
63
|
-
echo -e " • ${CYAN}Easy updates${NC} - Just npm update -g prjct-cli"
|
|
64
|
-
echo -e " • ${CYAN}Proper versioning${NC} - npm handles everything"
|
|
65
|
-
echo ""
|
|
66
|
-
echo -e "${YELLOW}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
67
|
-
echo ""
|
|
68
|
-
exit 1
|
|
69
|
-
|
|
70
|
-
# Original install.sh preserved below (not executed)
|
|
71
|
-
# ------------------------------------------------
|
|
72
|
-
|
|
73
|
-
set -e
|
|
74
|
-
|
|
75
|
-
# Show help if requested
|
|
76
|
-
show_help() {
|
|
77
|
-
echo "prjct/cli installer"
|
|
78
|
-
echo ""
|
|
79
|
-
echo "Usage:"
|
|
80
|
-
echo " curl -fsSL https://prjct.app/install.sh | bash [OPTIONS]"
|
|
81
|
-
echo " bash install.sh [OPTIONS]"
|
|
82
|
-
echo ""
|
|
83
|
-
echo "Options:"
|
|
84
|
-
echo " --force Force reinstall even if up to date"
|
|
85
|
-
echo " --dev Install from development branch"
|
|
86
|
-
echo " --silent Silent mode (minimal output)"
|
|
87
|
-
echo " -y, --yes Auto-accept all prompts"
|
|
88
|
-
echo " --help, -h Show this help message"
|
|
89
|
-
echo ""
|
|
90
|
-
echo "Examples:"
|
|
91
|
-
echo " # Normal installation"
|
|
92
|
-
echo " curl -fsSL https://prjct.app/install.sh | bash"
|
|
93
|
-
echo ""
|
|
94
|
-
echo " # Force reinstall"
|
|
95
|
-
echo " curl -fsSL https://prjct.app/install.sh | bash -s -- --force"
|
|
96
|
-
echo ""
|
|
97
|
-
echo " # Auto-accept all prompts"
|
|
98
|
-
echo " curl -fsSL https://prjct.app/install.sh | bash -s -- -y"
|
|
99
|
-
exit 0
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
# Parse arguments
|
|
103
|
-
FORCE_INSTALL=false
|
|
104
|
-
DEV_MODE=false
|
|
105
|
-
SILENT_MODE=false
|
|
106
|
-
AUTO_ACCEPT=false
|
|
107
|
-
|
|
108
|
-
for arg in "$@"; do
|
|
109
|
-
case $arg in
|
|
110
|
-
--help|-h)
|
|
111
|
-
show_help
|
|
112
|
-
;;
|
|
113
|
-
--force)
|
|
114
|
-
FORCE_INSTALL=true
|
|
115
|
-
shift
|
|
116
|
-
;;
|
|
117
|
-
--dev)
|
|
118
|
-
DEV_MODE=true
|
|
119
|
-
shift
|
|
120
|
-
;;
|
|
121
|
-
--silent)
|
|
122
|
-
SILENT_MODE=true
|
|
123
|
-
shift
|
|
124
|
-
;;
|
|
125
|
-
-y|--yes)
|
|
126
|
-
AUTO_ACCEPT=true
|
|
127
|
-
shift
|
|
128
|
-
;;
|
|
129
|
-
*)
|
|
130
|
-
;;
|
|
131
|
-
esac
|
|
132
|
-
done
|
|
133
|
-
|
|
134
|
-
# Detect if being run in a pipe
|
|
135
|
-
if [ ! -t 0 ]; then
|
|
136
|
-
AUTO_ACCEPT=true
|
|
137
|
-
fi
|
|
138
|
-
|
|
139
|
-
# Colors and formatting
|
|
140
|
-
RED='\033[0;31m'
|
|
141
|
-
GREEN='\033[0;32m'
|
|
142
|
-
YELLOW='\033[1;33m'
|
|
143
|
-
BLUE='\033[0;34m'
|
|
144
|
-
MAGENTA='\033[0;35m'
|
|
145
|
-
CYAN='\033[0;36m'
|
|
146
|
-
WHITE='\033[1;37m'
|
|
147
|
-
NC='\033[0m'
|
|
148
|
-
BOLD='\033[1m'
|
|
149
|
-
DIM='\033[2m'
|
|
150
|
-
|
|
151
|
-
# Unicode characters
|
|
152
|
-
CHECK="✓"
|
|
153
|
-
CROSS="✗"
|
|
154
|
-
ARROW="▸"
|
|
155
|
-
DOT="•"
|
|
156
|
-
|
|
157
|
-
# Clear for clean experience
|
|
158
|
-
clear
|
|
159
|
-
|
|
160
|
-
# Clean header with Catppuccin colors
|
|
161
|
-
echo ""
|
|
162
|
-
echo ""
|
|
163
|
-
echo -e " ${BOLD}${CYAN}██████╗ ██████╗ ██╗ ██████╗████████╗${NC}"
|
|
164
|
-
echo -e " ${BOLD}${CYAN}██╔══██╗██╔══██╗ ██║██╔════╝╚══██╔══╝${NC}"
|
|
165
|
-
echo -e " ${BOLD}${CYAN}██████╔╝██████╔╝ ██║██║ ██║${NC}"
|
|
166
|
-
echo -e " ${BOLD}${CYAN}██╔═══╝ ██╔══██╗██ ██║██║ ██║${NC}"
|
|
167
|
-
echo -e " ${BOLD}${CYAN}██║ ██║ ██║╚█████╔╝╚██████╗ ██║${NC}"
|
|
168
|
-
echo -e " ${BOLD}${CYAN}╚═╝ ╚═╝ ╚═╝ ╚════╝ ╚═════╝ ╚═╝${NC}"
|
|
169
|
-
echo -e " ${BOLD}${CYAN}prjct${NC}${MAGENTA}/${NC}${GREEN}cli${NC} ${DIM}${WHITE}v0.8.1${NC}"
|
|
170
|
-
echo ""
|
|
171
|
-
echo -e " ${DIM}Turn ideas into AI-ready roadmaps${NC}"
|
|
172
|
-
echo ""
|
|
173
|
-
echo -e " ${YELLOW}⚡${NC} Ship faster with zero friction"
|
|
174
|
-
echo -e " ${GREEN}📝${NC} From idea to technical tasks in minutes"
|
|
175
|
-
echo -e " ${BLUE}🤖${NC} Perfect context for AI agents"
|
|
176
|
-
echo ""
|
|
177
|
-
echo ""
|
|
178
|
-
|
|
179
|
-
# Spinner function
|
|
180
|
-
spin() {
|
|
181
|
-
local pid=$1
|
|
182
|
-
local delay=0.1
|
|
183
|
-
local spinstr='⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏'
|
|
184
|
-
while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do
|
|
185
|
-
local temp=${spinstr#?}
|
|
186
|
-
printf " [%c] " "$spinstr"
|
|
187
|
-
local spinstr=$temp${spinstr%"$temp"}
|
|
188
|
-
sleep $delay
|
|
189
|
-
printf "\b\b\b\b\b\b"
|
|
190
|
-
done
|
|
191
|
-
printf " \b\b\b\b"
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
# Step counter
|
|
195
|
-
STEP=1
|
|
196
|
-
TOTAL_STEPS=5
|
|
197
|
-
|
|
198
|
-
print_step() {
|
|
199
|
-
echo -e "\n${BOLD}${CYAN}[$STEP/$TOTAL_STEPS]${NC} ${BOLD}$1${NC}"
|
|
200
|
-
((STEP++))
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
# Installation directory
|
|
204
|
-
INSTALL_DIR="$HOME/.prjct-cli"
|
|
205
|
-
|
|
206
|
-
# Version check function
|
|
207
|
-
get_version() {
|
|
208
|
-
if [ -f "$1/package.json" ]; then
|
|
209
|
-
grep -o '"version":[[:space:]]*"[^"]*"' "$1/package.json" | head -1 | cut -d'"' -f4
|
|
210
|
-
else
|
|
211
|
-
echo "unknown"
|
|
212
|
-
fi
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
# Check prerequisites
|
|
216
|
-
print_step "Checking prerequisites"
|
|
217
|
-
|
|
218
|
-
# Check Node.js
|
|
219
|
-
printf " ${ARROW} Checking Node.js..."
|
|
220
|
-
if ! command -v node &> /dev/null; then
|
|
221
|
-
echo -e " ${RED}${CROSS}${NC}"
|
|
222
|
-
echo -e "\n ${RED}Node.js is required but not installed.${NC}"
|
|
223
|
-
echo -e " Install from: ${CYAN}https://nodejs.org${NC}"
|
|
224
|
-
exit 1
|
|
225
|
-
fi
|
|
226
|
-
|
|
227
|
-
NODE_VERSION=$(node --version | cut -d'v' -f2 | cut -d'.' -f1)
|
|
228
|
-
if [ "$NODE_VERSION" -lt 18 ]; then
|
|
229
|
-
echo -e " ${RED}${CROSS}${NC}"
|
|
230
|
-
echo -e "\n ${RED}Node.js 18+ is required (found v$NODE_VERSION)${NC}"
|
|
231
|
-
exit 1
|
|
232
|
-
fi
|
|
233
|
-
echo -e " ${GREEN}${CHECK}${NC} $(node --version)"
|
|
234
|
-
|
|
235
|
-
# Check Git
|
|
236
|
-
printf " ${ARROW} Checking Git..."
|
|
237
|
-
if ! command -v git &> /dev/null; then
|
|
238
|
-
echo -e " ${RED}${CROSS}${NC}"
|
|
239
|
-
echo -e "\n ${RED}Git is required but not installed.${NC}"
|
|
240
|
-
echo -e " Install from: ${CYAN}https://git-scm.com${NC}"
|
|
241
|
-
exit 1
|
|
242
|
-
fi
|
|
243
|
-
echo -e " ${GREEN}${CHECK}${NC} $(git --version | cut -d' ' -f3)"
|
|
244
|
-
|
|
245
|
-
# Clone or update repository
|
|
246
|
-
print_step "Downloading prjct/cli"
|
|
247
|
-
|
|
248
|
-
if [ -d "$INSTALL_DIR" ]; then
|
|
249
|
-
# Check current version
|
|
250
|
-
CURRENT_VERSION=$(get_version "$INSTALL_DIR")
|
|
251
|
-
printf " ${ARROW} Found existing installation"
|
|
252
|
-
echo -e " ${DIM}(v${CURRENT_VERSION})${NC}"
|
|
253
|
-
|
|
254
|
-
# Fetch latest version from remote
|
|
255
|
-
printf " ${ARROW} Checking for updates..."
|
|
256
|
-
cd "$INSTALL_DIR"
|
|
257
|
-
git fetch origin main --quiet > /dev/null 2>&1
|
|
258
|
-
|
|
259
|
-
# Get remote version
|
|
260
|
-
TEMP_DIR=$(mktemp -d)
|
|
261
|
-
git show origin/main:package.json > "$TEMP_DIR/package.json" 2>/dev/null
|
|
262
|
-
REMOTE_VERSION=$(get_version "$TEMP_DIR")
|
|
263
|
-
rm -rf "$TEMP_DIR"
|
|
264
|
-
|
|
265
|
-
if [ "$CURRENT_VERSION" = "$REMOTE_VERSION" ] && [ "$FORCE_INSTALL" = false ]; then
|
|
266
|
-
echo -e " ${GREEN}${CHECK}${NC} Already up to date (v${CURRENT_VERSION})"
|
|
267
|
-
|
|
268
|
-
# Ask if they want to reinstall anyway
|
|
269
|
-
if [ "$AUTO_ACCEPT" = false ]; then
|
|
270
|
-
echo ""
|
|
271
|
-
read -p " Do you want to reinstall anyway? (y/N): " -n 1 -r
|
|
272
|
-
echo ""
|
|
273
|
-
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
|
274
|
-
echo -e "\n${GREEN}✨ You're all set! Happy shipping! 🚀${NC}"
|
|
275
|
-
exit 0
|
|
276
|
-
fi
|
|
277
|
-
else
|
|
278
|
-
echo -e "\n${GREEN}✨ You're all set! Happy shipping! 🚀${NC}"
|
|
279
|
-
exit 0
|
|
280
|
-
fi
|
|
281
|
-
elif [ "$CURRENT_VERSION" = "$REMOTE_VERSION" ] && [ "$FORCE_INSTALL" = true ]; then
|
|
282
|
-
echo -e " ${YELLOW}!${NC} Force reinstalling (v${CURRENT_VERSION})"
|
|
283
|
-
else
|
|
284
|
-
echo -e " ${YELLOW}Update available!${NC}"
|
|
285
|
-
echo -e " Current: v${CURRENT_VERSION}"
|
|
286
|
-
echo -e " Latest: v${REMOTE_VERSION}"
|
|
287
|
-
|
|
288
|
-
if [ "$AUTO_ACCEPT" = false ]; then
|
|
289
|
-
echo ""
|
|
290
|
-
read -p " Update to v${REMOTE_VERSION}? (Y/n): " -n 1 -r
|
|
291
|
-
echo ""
|
|
292
|
-
if [[ $REPLY =~ ^[Nn]$ ]]; then
|
|
293
|
-
echo -e "\n${YELLOW}Update cancelled.${NC}"
|
|
294
|
-
exit 0
|
|
295
|
-
fi
|
|
296
|
-
else
|
|
297
|
-
echo -e " ${DIM}Auto-updating...${NC}"
|
|
298
|
-
fi
|
|
299
|
-
fi
|
|
300
|
-
|
|
301
|
-
# Perform update
|
|
302
|
-
printf " ${ARROW} Updating prjct/cli"
|
|
303
|
-
(
|
|
304
|
-
git pull origin main --quiet > /dev/null 2>&1
|
|
305
|
-
) &
|
|
306
|
-
spin $!
|
|
307
|
-
echo -e " ${GREEN}${CHECK}${NC} Updated to v${REMOTE_VERSION}"
|
|
308
|
-
|
|
309
|
-
# Auto-update commands after git pull
|
|
310
|
-
printf " ${ARROW} Updating commands"
|
|
311
|
-
(
|
|
312
|
-
cd "$INSTALL_DIR"
|
|
313
|
-
node -e "
|
|
314
|
-
const installer = require('./core/infrastructure/command-installer');
|
|
315
|
-
installer.updateCommands();
|
|
316
|
-
" > /dev/null 2>&1
|
|
317
|
-
) &
|
|
318
|
-
spin $!
|
|
319
|
-
echo -e " ${GREEN}${CHECK}${NC} Commands synchronized"
|
|
320
|
-
else
|
|
321
|
-
printf " ${ARROW} Cloning repository"
|
|
322
|
-
(
|
|
323
|
-
git clone https://github.com/prjct-app/cli.git "$INSTALL_DIR" --quiet > /dev/null 2>&1
|
|
324
|
-
) &
|
|
325
|
-
spin $!
|
|
326
|
-
|
|
327
|
-
# Get installed version
|
|
328
|
-
NEW_VERSION=$(get_version "$INSTALL_DIR")
|
|
329
|
-
echo -e " ${GREEN}${CHECK}${NC} Installed v${NEW_VERSION}"
|
|
330
|
-
cd "$INSTALL_DIR"
|
|
331
|
-
fi
|
|
332
|
-
|
|
333
|
-
# Run setup script
|
|
334
|
-
print_step "Running setup"
|
|
335
|
-
|
|
336
|
-
printf " ${ARROW} Installing components"
|
|
337
|
-
chmod +x scripts/setup.sh
|
|
338
|
-
[ -f scripts/interactive-install.js ] && chmod +x scripts/interactive-install.js
|
|
339
|
-
(
|
|
340
|
-
./scripts/setup.sh > /tmp/prjct-setup.log 2>&1
|
|
341
|
-
) &
|
|
342
|
-
spin $!
|
|
343
|
-
|
|
344
|
-
if [ $? -eq 0 ]; then
|
|
345
|
-
echo -e " ${GREEN}${CHECK}${NC}"
|
|
346
|
-
else
|
|
347
|
-
echo -e " ${RED}${CROSS}${NC}"
|
|
348
|
-
echo -e "\n ${RED}Setup failed. Check /tmp/prjct-setup.log for details${NC}"
|
|
349
|
-
exit 1
|
|
350
|
-
fi
|
|
351
|
-
|
|
352
|
-
# Install commands to AI editors
|
|
353
|
-
print_step "Configuring AI platforms"
|
|
354
|
-
|
|
355
|
-
cd "$INSTALL_DIR"
|
|
356
|
-
|
|
357
|
-
# Check if we should use interactive mode
|
|
358
|
-
if [ "$AUTO_ACCEPT" = false ]; then
|
|
359
|
-
# Interactive mode: Let user select editors
|
|
360
|
-
printf " ${ARROW} Launching interactive editor selection...\n"
|
|
361
|
-
|
|
362
|
-
# Run interactive installer with Node.js
|
|
363
|
-
INSTALL_OUTPUT=$(node scripts/interactive-install.js 2>&1)
|
|
364
|
-
INSTALL_EXIT=$?
|
|
365
|
-
|
|
366
|
-
if [ $INSTALL_EXIT -eq 0 ]; then
|
|
367
|
-
# Parse JSON result from between markers
|
|
368
|
-
RESULT_JSON=$(echo "$INSTALL_OUTPUT" | sed -n '/__RESULT_START__/,/__RESULT_END__/p' | grep -v '__RESULT_')
|
|
369
|
-
|
|
370
|
-
# Extract summary info
|
|
371
|
-
EDITORS_INSTALLED=$(echo "$RESULT_JSON" | grep -o '"editors":\s*\[[^]]*\]' | sed 's/"editors":\s*\[\(.*\)\]/\1/' | tr -d '"' | tr ',' ' ')
|
|
372
|
-
TOTAL_INSTALLED=$(echo "$RESULT_JSON" | grep -o '"totalInstalled":\s*[0-9]*' | grep -o '[0-9]*')
|
|
373
|
-
|
|
374
|
-
echo ""
|
|
375
|
-
echo -e " ${GREEN}${CHECK}${NC} Commands installed successfully!"
|
|
376
|
-
echo -e " ${GREEN}📦${NC} Editors: ${CYAN}${EDITORS_INSTALLED}${NC}"
|
|
377
|
-
echo -e " ${GREEN}📝${NC} Commands: ${CYAN}${TOTAL_INSTALLED}${NC}"
|
|
378
|
-
else
|
|
379
|
-
echo -e " ${RED}${CROSS}${NC} Installation failed"
|
|
380
|
-
echo "$INSTALL_OUTPUT" | grep -v '__RESULT_'
|
|
381
|
-
exit 1
|
|
382
|
-
fi
|
|
383
|
-
else
|
|
384
|
-
# Non-interactive mode: Install to all detected editors
|
|
385
|
-
printf " ${ARROW} Auto-installing to all detected editors...\n"
|
|
386
|
-
|
|
387
|
-
INSTALL_RESULT=$(node -e "
|
|
388
|
-
const installer = require('./core/infrastructure/command-installer');
|
|
389
|
-
installer.installToAll(false).then(result => {
|
|
390
|
-
console.log('__RESULT_START__');
|
|
391
|
-
console.log(JSON.stringify(result));
|
|
392
|
-
console.log('__RESULT_END__');
|
|
393
|
-
process.exit(result.success ? 0 : 1);
|
|
394
|
-
}).catch(err => {
|
|
395
|
-
console.error(err.message);
|
|
396
|
-
process.exit(1);
|
|
397
|
-
});
|
|
398
|
-
" 2>&1)
|
|
399
|
-
|
|
400
|
-
INSTALL_EXIT=$?
|
|
3
|
+
# ⚠️ DEPRECATED — this installer is now a thin redirect.
|
|
4
|
+
#
|
|
5
|
+
# The real installer lives in scripts/install-standalone.sh. This stub is
|
|
6
|
+
# kept so old docs/links that reference install.sh keep working: it prints
|
|
7
|
+
# a deprecation notice and hands off to install-standalone.sh, passing all
|
|
8
|
+
# arguments through.
|
|
9
|
+
#
|
|
10
|
+
# Preferred install: npm install -g prjct-cli
|
|
11
|
+
#
|
|
12
|
+
# POSIX sh.
|
|
401
13
|
|
|
402
|
-
|
|
403
|
-
# Parse result
|
|
404
|
-
RESULT_JSON=$(echo "$INSTALL_RESULT" | sed -n '/__RESULT_START__/,/__RESULT_END__/p' | grep -v '__RESULT_')
|
|
405
|
-
EDITORS_INSTALLED=$(echo "$RESULT_JSON" | grep -o '"editors":\s*\[[^]]*\]' | sed 's/"editors":\s*\[\(.*\)\]/\1/' | tr -d '"' | tr ',' ' ')
|
|
406
|
-
TOTAL_INSTALLED=$(echo "$RESULT_JSON" | grep -o '"totalInstalled":\s*[0-9]*' | grep -o '[0-9]*')
|
|
14
|
+
set -eu
|
|
407
15
|
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
echo "$INSTALL_RESULT"
|
|
413
|
-
fi
|
|
414
|
-
fi
|
|
16
|
+
printf '\n'
|
|
17
|
+
printf '%s\n' "⚠️ install.sh is DEPRECATED — redirecting to install-standalone.sh"
|
|
18
|
+
printf '%s\n' " (preferred: npm install -g prjct-cli)"
|
|
19
|
+
printf '\n'
|
|
415
20
|
|
|
416
|
-
#
|
|
417
|
-
|
|
21
|
+
# When run from a repo checkout, the real installer is a sibling of this
|
|
22
|
+
# script. Otherwise (e.g. curl | sh from an old link, or the npm tarball,
|
|
23
|
+
# which only ships this stub) fetch it from GitHub.
|
|
24
|
+
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
|
25
|
+
TARGET="$SCRIPT_DIR/install-standalone.sh"
|
|
418
26
|
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
if [ -n "$ZSH_VERSION" ]; then
|
|
422
|
-
SHELL_CONFIG="$HOME/.zshrc"
|
|
423
|
-
SHELL_NAME="zsh"
|
|
424
|
-
elif [ -n "$BASH_VERSION" ]; then
|
|
425
|
-
SHELL_CONFIG="$HOME/.bashrc"
|
|
426
|
-
SHELL_NAME="bash"
|
|
427
|
-
else
|
|
428
|
-
SHELL_CONFIG="$HOME/.profile"
|
|
429
|
-
SHELL_NAME="sh"
|
|
27
|
+
if [ -f "$TARGET" ]; then
|
|
28
|
+
exec bash "$TARGET" "$@"
|
|
430
29
|
fi
|
|
431
30
|
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
echo "" >> "$SHELL_CONFIG"
|
|
435
|
-
echo "# prjct/cli" >> "$SHELL_CONFIG"
|
|
436
|
-
echo "export PATH=\"\$HOME/.prjct-cli/bin:\$PATH\"" >> "$SHELL_CONFIG"
|
|
437
|
-
echo -e " ${GREEN}${CHECK}${NC} ($SHELL_NAME)"
|
|
31
|
+
if command -v curl >/dev/null 2>&1; then
|
|
32
|
+
curl -sSL https://raw.githubusercontent.com/prjct-app/cli/main/scripts/install-standalone.sh | bash -s -- "$@"
|
|
438
33
|
else
|
|
439
|
-
|
|
34
|
+
printf '%s\n' "✗ install-standalone.sh not found locally and curl is unavailable." >&2
|
|
35
|
+
printf '%s\n' " Install via npm instead: npm install -g prjct-cli" >&2
|
|
36
|
+
exit 1
|
|
440
37
|
fi
|
|
441
|
-
|
|
442
|
-
# Create symlink
|
|
443
|
-
mkdir -p "$HOME/.local/bin"
|
|
444
|
-
ln -sf "$INSTALL_DIR/bin/prjct" "$HOME/.local/bin/prjct" 2>/dev/null || true
|
|
445
|
-
|
|
446
|
-
# Get final installed version for display
|
|
447
|
-
FINAL_VERSION=$(get_version "$INSTALL_DIR")
|
|
448
|
-
|
|
449
|
-
# Success message - clean style
|
|
450
|
-
echo ""
|
|
451
|
-
echo ""
|
|
452
|
-
echo -e " ${GREEN}✅${NC} ${BOLD}Installation Complete!${NC} ${GREEN}🎉${NC}"
|
|
453
|
-
echo ""
|
|
454
|
-
echo -e " ${BOLD}${CYAN}██████╗ ██████╗ ██╗ ██████╗████████╗${NC}"
|
|
455
|
-
echo -e " ${BOLD}${CYAN}██╔══██╗██╔══██╗ ██║██╔════╝╚══██╔══╝${NC}"
|
|
456
|
-
echo -e " ${BOLD}${CYAN}██████╔╝██████╔╝ ██║██║ ██║${NC}"
|
|
457
|
-
echo -e " ${BOLD}${CYAN}██╔═══╝ ██╔══██╗██ ██║██║ ██║${NC}"
|
|
458
|
-
echo -e " ${BOLD}${CYAN}██║ ██║ ██║╚█████╔╝╚██████╗ ██║${NC}"
|
|
459
|
-
echo -e " ${BOLD}${CYAN}╚═╝ ╚═╝ ╚═╝ ╚════╝ ╚═════╝ ╚═╝${NC}"
|
|
460
|
-
echo ""
|
|
461
|
-
echo -e " ${BOLD}${CYAN}prjct${NC}${MAGENTA}/${NC}${GREEN}cli${NC} ${DIM}${WHITE}v${FINAL_VERSION} installed${NC}"
|
|
462
|
-
echo ""
|
|
463
|
-
|
|
464
|
-
# Quick start guide
|
|
465
|
-
echo -e "${BOLD}${CYAN}🚀 Quick Start${NC}"
|
|
466
|
-
echo -e "${DIM}─────────────────────────────────────────────────${NC}"
|
|
467
|
-
echo ""
|
|
468
|
-
|
|
469
|
-
# Show commands based on detected platforms
|
|
470
|
-
if [ -d "$HOME/.claude" ]; then
|
|
471
|
-
echo -e " ${BOLD}Claude Code Commands:${NC}"
|
|
472
|
-
echo -e " ${GREEN}p. init${NC} ${DIM}Initialize project${NC}"
|
|
473
|
-
echo -e " ${GREEN}p. task${NC} ${DIM}Start or show active task${NC}"
|
|
474
|
-
echo -e " ${GREEN}p. ship${NC} ${DIM}Ship & celebrate${NC}"
|
|
475
|
-
echo ""
|
|
476
|
-
fi
|
|
477
|
-
|
|
478
|
-
echo -e " ${BOLD}Terminal Commands:${NC}"
|
|
479
|
-
echo -e " ${GREEN}prjct init${NC} ${DIM}Initialize project${NC}"
|
|
480
|
-
echo -e " ${GREEN}prjct task${NC} ${DIM}Start or show active task${NC}"
|
|
481
|
-
echo -e " ${GREEN}prjct ship${NC} ${DIM}Ship & celebrate${NC}"
|
|
482
|
-
|
|
483
|
-
echo ""
|
|
484
|
-
echo -e "${DIM}─────────────────────────────────────────────────${NC}"
|
|
485
|
-
echo ""
|
|
486
|
-
|
|
487
|
-
# Next steps
|
|
488
|
-
echo -e "${BOLD}${YELLOW}⚡ Next Steps${NC}"
|
|
489
|
-
echo ""
|
|
490
|
-
echo -e " 1. ${DIM}Reload your terminal:${NC}"
|
|
491
|
-
echo -e " ${CYAN}source $SHELL_CONFIG${NC}"
|
|
492
|
-
echo ""
|
|
493
|
-
echo -e " 2. ${DIM}Initialize your project:${NC}"
|
|
494
|
-
echo -e " ${CYAN}cd your-project && prjct init${NC}"
|
|
495
|
-
echo ""
|
|
496
|
-
echo -e " 3. ${DIM}Start shipping:${NC}"
|
|
497
|
-
echo -e " ${CYAN}prjct task \"build awesome feature\"${NC}"
|
|
498
|
-
echo ""
|
|
499
|
-
echo -e "${DIM}─────────────────────────────────────────────────${NC}"
|
|
500
|
-
echo ""
|
|
501
|
-
echo -e " ${DIM}Documentation:${NC} ${CYAN}https://github.com/prjct-app/cli${NC}"
|
|
502
|
-
echo -e " ${DIM}Report issues:${NC} ${CYAN}https://github.com/prjct-app/cli/issues${NC}"
|
|
503
|
-
echo ""
|
|
504
|
-
echo -e "${BOLD}${MAGENTA}Happy shipping! 🚀${NC}"
|
|
505
|
-
echo ""
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { createRequire as __createRequire } from 'module';
|
|
3
|
-
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
4
|
-
import { dirname as __pathDirname } from 'path';
|
|
5
|
-
const require = __createRequire(import.meta.url);
|
|
6
|
-
const __filename = __fileURLToPath(import.meta.url);
|
|
7
|
-
const __dirname = __pathDirname(__filename);
|
|
8
|
-
import{p as g,t as L,u as M}from"./chunk-A6K4H3YT.mjs";import{a as O,b as i,c as S}from"./chunk-JQE2F2RK.mjs";import{i as k,k as E,o as C}from"./chunk-UH4MD3F3.mjs";import{c as D}from"./chunk-FW4MEPTB.mjs";import{a as A}from"./chunk-SYHDEUVU.mjs";import{d as N,e as G}from"./chunk-GCDLPKOH.mjs";import{e as c,f as R}from"./chunk-BUDZL4DW.mjs";import{a,e as b}from"./chunk-E66B27AL.mjs";R();C();M();import o from"node:fs/promises";import n from"node:path";import j from"node:fs/promises";import T from"node:path";R();C();var y='<!-- prjct:start - DO NOT REMOVE THIS MARKER -->\n# p/ \u2014 Project knowledge layer\n\nprjct stores project memory (decisions, learnings, gotchas, patterns, ships, analyses) per project in SQLite and serves it to you through tools. **Query it \u2014 don\'t re-read source from scratch.**\n\nprjct remembers and shows the path; it does not own execution. Treat prjct output as durable signals (task state, memories, specs, workflows, risks, recent learnings). Claude, GPT, and other agents decide the concrete HOW with their own native tools and judgment, then persist meaningful outcomes back to prjct.\n\nYou are in a prjct project when `.prjct/` is in cwd OR `~/.prjct-cli/projects/` has an entry for the current path.\n\n## Lookup FIRST, source LAST\n\nBefore reading source code or running broad searches for ANY question about the project (architecture, conventions, decisions, recent ships, bugs, patterns, tech debt, past analyses), QUERY prjct first \u2014 bounded, ranked answers from SQLite, no markdown trees to wade through:\n\n- `prjct context memory <topic>` / `prjct search "<q>"` \u2014 captured decisions, gotchas, learnings, facts\n- `prjct context --md` \u2014 current state: active cycle, ships, recent learnings\n- architecture / conventions / patterns / anti-patterns / tech-debt / insights \u2192 MCP `prjct_analysis` (add `mode:archive` for history)\n- developer preferences \u2192 MCP `prjct_developer`; machine signals \u2192 MCP `prjct_signals`\n- specs \u2192 MCP `prjct_spec_list` / `prjct_spec_get`; per-file traps before editing \u2192 `prjct guard <file>`\n\nOnly fall through to source/repo reading when prjct does not contain the answer.\n\n**Skill \u2260 project identity.** The prjct skill is a portable multi-LLM contract (L0). Live name/stack/branch come from SessionStart + `prjct context --md` for **this cwd**. If skill text and the tree disagree, trust the cwd and the tree.\n\n## Capture analyses BACK to prjct\n\nWhen you complete substantive work \u2014 analysis, decision, learning, gotcha \u2014 persist it: `prjct remember <decision|learning|gotcha|fact> "..."` or `prjct capture "<text>" --tags k:v`. **Author every entry in ENGLISH**, whatever language the user speaks. **Default to capturing \u2014 under-capture is the failure mode that makes prjct useless.** The full verb map and task workflow live in the `prjct` skill.\n\n## Where things live\n\n- Source of truth: SQLite at `~/.prjct-cli/projects/<id>/` (don\'t read directly \u2014 use `prjct` CLI / MCP tools)\n- Project config: `.prjct/prjct.config.json` in repo root\n\n**Auto-managed by prjct-cli** | https://prjct.app\n<!-- prjct:end - DO NOT REMOVE THIS MARKER -->\n';async function P(){let u=(M(),b(L)),t=await u.getActiveProvider(),e=t.name;if(!(await u.detectProvider(e)).installed&&!t.configDir)return{success:!1,error:`${t.displayName} not detected`,action:"skipped"};try{await j.mkdir(t.configDir,{recursive:!0});let s=T.join(t.configDir,t.contextFile),m=await(async()=>{if(e==="claude")return y;let d=D(`global/${t.contextFile}`);if(d)return d;let{PACKAGE_ROOT:f}=(G(),b(N)),I=T.join(f,"templates","global",t.contextFile);return j.readFile(I,"utf-8").catch(()=>e==="gemini"?y.replace(/Claude/g,"Gemini"):y)})(),r=await k(s),p="<!-- prjct-project:start - DO NOT REMOVE THIS MARKER -->",h="<!-- prjct-project:end - DO NOT REMOVE THIS MARKER -->",x=(()=>{if(!r.content.includes(p)||!r.content.includes(h))return r.content;let d=r.content.substring(0,r.content.indexOf(p)),f=r.content.substring(r.content.indexOf(h)+h.length);return`${(d+f).replace(/\n{3,}/g,`
|
|
9
|
-
|
|
10
|
-
`).trim()}
|
|
11
|
-
`})(),w=A(r.exists?x:"",m,"<!-- prjct:start - DO NOT REMOVE THIS MARKER -->","<!-- prjct:end - DO NOT REMOVE THIS MARKER -->");return await j.writeFile(s,w.content,"utf-8"),{success:!0,action:w.action,path:s}}catch(s){return{success:!1,error:c(s),action:"failed"}}}a(P,"installGlobalConfig");S();async function rt(){return P()}a(rt,"installGlobalConfig");var v=class{static{a(this,"CommandInstaller")}commandsPath="";configPath="";_initialized=!1;async ensureInit(){if(this._initialized)return;let t=await g();this.configPath=t.configDir??"",this.commandsPath=this.configPath?n.join(this.configPath,"commands"):"",this._initialized=!0}async detectActiveProvider(){return await this.ensureInit(),E(this.configPath)}async installCommands(){let t=await this.detectActiveProvider(),e=await g();return t?(await this.cleanupRouter(),{success:!0,installed:[],path:this.commandsPath}):{success:!1,error:`${e.displayName} not detected. Please install it first.`}}async uninstallCommands(){try{let t=[];await this.ensureInit();for(let e of["p.md","p.toml"]){let l=n.join(this.commandsPath,e);try{await o.unlink(l),t.push(e)}catch(s){if(s.code!=="ENOENT")return{success:!1,error:c(s)}}}return{success:!0,uninstalled:t}}catch(t){return{success:!1,error:c(t)}}}async checkInstallation(){return await this.detectActiveProvider()?{installed:!0,providerDetected:!0,commands:[],path:this.commandsPath}:{installed:!1,providerDetected:!1}}async getInstallPath(){return await this.ensureInit(),this.commandsPath}async syncCommands(){if(!await this.detectActiveProvider())return{success:!1,error:"AI agent not detected",added:0,updated:0,removed:0};try{return{success:!0,added:0,updated:0,removed:await this.cleanupRouter()?1:0}}catch(e){return{success:!1,error:c(e),added:0,updated:0,removed:0}}}async cleanupRouter(){return await this.ensureInit(),(await Promise.all(["p.md","p.toml"].map(async e=>{try{return await o.unlink(n.join(this.commandsPath,e)),!0}catch{return!1}}))).some(Boolean)}async cleanupLegacyCommands(){await this.ensureInit();let t=n.join(this.commandsPath,"p");try{if((await o.stat(t).catch(()=>null))?.isDirectory())return await o.rm(t,{recursive:!0,force:!0}),!0}catch{}return!1}async installGlobalConfig(){return P()}async cleanupAllLegacy(){let t=O(),e=[],l=[n.join(t,".claude","commands","p.md"),n.join(t,".claude","commands","p.toml"),n.join(t,".gemini","commands","p.md"),n.join(t,".gemini","commands","p.toml")];for(let r of l)try{await o.unlink(r),e.push(r)}catch{}let s=[n.join(t,".claude","commands","p"),n.join(t,".gemini","commands","p")];for(let r of s)try{(await o.stat(r).catch(()=>null))?.isDirectory()&&(await o.rm(r,{recursive:!0,force:!0}),e.push(r))}catch{}let m=[n.join(t,".prjct-cli","config","homebrew-migrated")];for(let r of m)try{await o.unlink(r),e.push(r)}catch{}return{cleaned:e}}};function nt(){return{claude:{commands:i(".claude","commands"),config:i(".claude"),router:i(".claude","commands","p.md")},gemini:{commands:i(".gemini","commands"),config:i(".gemini"),router:i(".gemini","commands","p.toml")}}}a(nt,"getProviderPaths");var _=new v,st=_;export{rt as a,v as b,nt as c,st as d};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { createRequire as __createRequire } from 'module';
|
|
3
|
-
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
4
|
-
import { dirname as __pathDirname } from 'path';
|
|
5
|
-
const require = __createRequire(import.meta.url);
|
|
6
|
-
const __filename = __fileURLToPath(import.meta.url);
|
|
7
|
-
const __dirname = __pathDirname(__filename);
|
|
8
|
-
import{d as u,g as L}from"./chunk-UHVYBU7F.mjs";import{b as f,h as P}from"./chunk-A6K4H3YT.mjs";import{a as c}from"./chunk-E66B27AL.mjs";P();L();function b(t,e,n){let s=t.prepare("INSERT INTO analysis_finding (id, analysis_id, kind, title, detail, severity, sort_order) VALUES (?, ?, ?, ?, ?, ?, ?)"),o=[],i=c((a,m,p,j)=>{if(!m)return;let k=o.length,S=`${e}-f${k}`;s.run(S,e,a,m,p,j,k),o.push(S)},"addFinding");for(let a of n.patterns??[])i("pattern",a.name,a.description,null);for(let a of n.antiPatterns??[])i("anti_pattern",a.issue,a.suggestion,a.severity);for(let a of n.techDebt??[])i("tech_debt",a.description,`${a.area}: ${a.impact}`,a.priority);for(let a of n.riskAreas??[])i("risk_area",a.path,`${a.reason} \u2014 ${a.risk}`,a.severity);for(let a of n.refactorSuggestions??[])i("refactor",a.description,a.benefit,null);for(let a of n.projectInsights??[])i("insight",a,null,null);for(let a of n.architecture?.insights??[])i("insight",a,null,null);let l=t.prepare("INSERT INTO analysis_convention (id, analysis_id, rule, sort_order) VALUES (?, ?, ?, ?)");(n.conventions??[]).forEach((a,m)=>{l.run(`${e}-c${m}`,e,a.rule,m)});let g=t.prepare("INSERT INTO analysis_stack_item (id, analysis_id, kind, name) VALUES (?, ?, ?, ?)");[...(n.stack?.languages??[]).map(a=>({kind:"language",name:a})),...(n.stack?.frameworks??[]).map(a=>({kind:"framework",name:a}))].forEach((a,m)=>{g.run(`${e}-s${m}`,e,a.kind,a.name)});let d=t.prepare("INSERT INTO analysis_command (id, analysis_id, name, command, purpose) VALUES (?, ?, ?, ?, ?)");Object.entries(n.commands??{}).filter(a=>!!a[1]).forEach(([a,m],p)=>{d.run(`${e}-cmd${p}`,e,a,m,null)});let v=t.prepare("INSERT INTO analysis_domain (id, analysis_id, name, paths) VALUES (?, ?, ?, ?)");(n.architecture?.domains??[]).forEach((a,m)=>{v.run(`${e}-d${m}`,e,a,null)})}c(b,"writeAnalysisChildren");var h=class{static{c(this,"LLMAnalysisStorage")}save(e,n){let s=u.getDb(e),o=f();s.transaction(()=>{s.prepare("UPDATE llm_analysis SET status = 'superseded', superseded_at = ? WHERE status = 'active'").run(o);let i=s.prepare("INSERT INTO llm_analysis (commit_hash, status, analysis, analyzed_at) VALUES (?, ?, ?, ?)").run(n.commitHash??null,"active",JSON.stringify(n),n.analyzedAt);b(s,String(i.lastInsertRowid),n)})()}getActiveRelational(e){let n=u.get(e,"SELECT id FROM llm_analysis WHERE status = 'active' LIMIT 1");if(!n)return null;let s=String(n.id),o=u.query(e,"SELECT kind, title, detail FROM analysis_finding WHERE analysis_id = ? ORDER BY kind, sort_order",s),i=u.query(e,"SELECT rule FROM analysis_convention WHERE analysis_id = ? ORDER BY sort_order",s).map(d=>d.rule),l=u.query(e,"SELECT kind, name FROM analysis_stack_item WHERE analysis_id = ?",s),g=u.query(e,"SELECT name FROM analysis_domain WHERE analysis_id = ?",s).map(d=>d.name),r=u.query(e,"SELECT name, command FROM analysis_command WHERE analysis_id = ?",s);return o.length===0&&i.length===0&&l.length===0?null:{findings:o,conventions:i,stack:l,domains:g,commands:r}}getActive(e){let n=u.get(e,"SELECT analysis FROM llm_analysis WHERE status = 'active' LIMIT 1");return n?JSON.parse(n.analysis):null}getActiveSummary(e){let n=this.getActive(e);return n?{commitHash:n.commitHash,architectureStyle:n.architecture.style,patternCount:n.patterns.length,antiPatternCount:n.antiPatterns.length,analyzedAt:n.analyzedAt}:null}isCurrent(e,n){return n?u.get(e,"SELECT commit_hash FROM llm_analysis WHERE status = 'active' LIMIT 1")?.commit_hash===n:!1}getAllFull(e){return u.query(e,"SELECT id, commit_hash, status, analyzed_at, superseded_at, analysis FROM llm_analysis ORDER BY id DESC").map(s=>({id:s.id,status:s.status,commitHash:s.commit_hash,analyzedAt:s.analyzed_at,supersededAt:s.superseded_at,analysis:JSON.parse(s.analysis)}))}getHistory(e,n=10){return u.query(e,"SELECT id, commit_hash, status, analyzed_at, analysis FROM llm_analysis ORDER BY id DESC LIMIT ?",n).map(o=>{let i=JSON.parse(o.analysis);return{id:o.id,commitHash:o.commit_hash,status:o.status,analyzedAt:o.analyzed_at,patternCount:i.patterns.length}})}},C=new h,B=C;P();var R=["zod","better-sqlite3","@modelcontextprotocol/sdk","@modelcontextprotocol/client","@modelcontextprotocol/server","chalk","chokidar","commander","express","fastify","hono","react","next","vue","vitest","jest","typescript","biome","lefthook","drizzle-orm","prisma","@prisma/client"];function y(t){return t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)||"item"}c(y,"stableStyleKey");function _(t){return t?!!(t.architecture?.style&&t.architecture.style!=="unknown"||(t.patterns?.length??0)>0||(t.conventions?.length??0)>0||(t.antiPatterns?.length??0)>0||(t.stack?.frameworks?.length??0)>0||(t.stack?.languages?.length??0)>0):!1}c(_,"isRichLlmAnalysis");function W(t){return!_(t)}c(W,"isThinLlmAnalysis");function M(t){let e=T(t),n=w(t.commands),s=_(t.llmAnalysis)?t.llmAnalysis:null,o=z(s?.conventions?.map(r=>({key:y(r.category?`${r.category}-${r.rule}`:r.rule),rule:r.rule,category:r.category}))??[],t.memoryConventions?.map(r=>({key:y(r.category?`${r.category}-${r.rule}`:r.rule),rule:r.rule,category:r.category}))??[]),i=D(s?.patterns?.map(r=>({key:y(r.name),name:r.name,description:r.description,locations:r.locations,category:r.category}))??[],t.memoryPatterns?.map(r=>({key:y(r.name),name:r.name,description:r.description}))??[]),l=N(s?.antiPatterns?.map(r=>({key:y(r.issue),issue:r.issue,suggestion:r.suggestion,severity:r.severity}))??[],t.memoryAntiPatterns?.map(r=>({key:y(r.issue),issue:r.issue,suggestion:r.suggestion}))??[]);if(s?.stack?.languages?.length)for(let r of s.stack.languages)e.languages.includes(r)||e.languages.push(r);if(s?.stack?.frameworks?.length)for(let r of s.stack.frameworks)e.frameworks.includes(r)||e.frameworks.push(r);s?.stack?.packageManager&&!e.packageManager&&(e.packageManager=s.stack.packageManager);let g={symbols:t.structural?.symbols??0,files:t.structural?.files??t.stats.fileCount??0,packages:t.structural?.packages??[]};return{payloadVersion:1,stack:e,commands:n,conventions:o,patterns:i,antiPatterns:l,structural:g,metrics:{...t.metrics??{}}}}c(M,"buildProjectStylePayload");function J(t){let e=M(t),n=t.capturedAt??f();return{id:t.id??`style_${n.replace(/[^0-9]/g,"").slice(0,14)}_${Math.random().toString(36).slice(2,8)}`,capturedAt:n,commitHash:t.commitHash??null,source:t.source??"sync-mechanical",patternCount:e.patterns.length,antiPatternCount:e.antiPatterns.length,conventionCount:e.conventions.length,frameworkCount:e.stack.frameworks.length,symbolCount:e.structural.symbols,fileCount:e.structural.files,summary:$(e),payload:e}}c(J,"buildProjectStyleSnapshot");function $(t){let e=[t.stack.ecosystem!=="unknown"?t.stack.ecosystem:null,t.stack.languages.slice(0,2).join("+")||null,t.stack.frameworks.slice(0,3).join(", ")||null].filter(Boolean);return`${e.length>0?e.join(" \xB7 "):"stack unknown"}; ${t.patterns.length} patterns, ${t.antiPatterns.length} anti-patterns, ${t.conventions.length} conventions; ${t.structural.files} files`+(t.structural.symbols>0?`, ${t.structural.symbols} symbols`:"")}c($,"buildStyleSummary");function T(t){let e=A([...t.stack.frameworks??[],...t.stats.frameworks??[]]),n=A([...t.stats.languages??[]]),s=x(t.packageDeps??{}),o=t.packageDeps??{};for(let l of s)["Hono","Express","Fastify","React","Next.js","Vue","NestJS"].includes(l)&&!e.includes(l)&&e.push(l);let i=t.stack.hasTesting===!0||!!(o.vitest||o.jest||o.mocha||o["bun-types"]||o["@types/bun"]||s.includes("Vitest")||s.includes("Jest"))||!!(t.commands?.test&&/test/i.test(t.commands.test));return{ecosystem:t.stats.ecosystem||"unknown",languages:n,frameworks:e,packageManager:t.packageManager??void 0,keyLibraries:s,hasTests:i,hasDocker:t.stack.hasDocker===!0}}c(T,"buildStack");function w(t){return t?{test:t.test,lint:t.lint,build:t.build,dev:t.dev,install:t.install,format:t.format}:{}}c(w,"buildCommands");function x(t){let e=new Set;for(let n of R)t[n]&&e.add(O(n));return[...e].slice(0,16)}c(x,"collectKeyLibraries");function O(t){return{hono:"Hono",express:"Express",fastify:"Fastify",react:"React",next:"Next.js",vue:"Vue",vitest:"Vitest",jest:"Jest",typescript:"TypeScript",zod:"Zod","better-sqlite3":"better-sqlite3","@modelcontextprotocol/sdk":"MCP SDK","@modelcontextprotocol/client":"MCP SDK","@modelcontextprotocol/server":"MCP SDK",biome:"Biome",lefthook:"Lefthook","drizzle-orm":"Drizzle",prisma:"Prisma","@prisma/client":"Prisma"}[t]??t}c(O,"displayLibName");function z(t,e){let n=new Map;for(let s of[...t,...e])n.has(s.key)||n.set(s.key,s);return[...n.values()].slice(0,40)}c(z,"mergeConventions");function D(t,e){let n=new Map;for(let s of[...t,...e])n.has(s.key)||n.set(s.key,s);return[...n.values()].slice(0,40)}c(D,"mergePatterns");function N(t,e){let n=new Map;for(let s of[...t,...e])n.has(s.key)||n.set(s.key,s);return[...n.values()].slice(0,40)}c(N,"mergeAntiPatterns");function A(t){let e=[],n=new Set;for(let s of t){let o=s.trim();if(!o)continue;let i=o.toLowerCase();n.has(i)||(n.add(i),e.push(o))}return e}c(A,"unique");function U(t,e={}){if(!t)return null;let n=e.maxConventions??5,s=e.maxPatterns??4,o=e.maxAnti??3,i=t.payload,l=["## How this repo works (project style)",""],g=[i.stack.ecosystem!=="unknown"?i.stack.ecosystem:null,i.stack.languages.join(", ")||null,i.stack.frameworks.join(", ")||null,i.stack.keyLibraries.slice(0,6).join(", ")||null].filter(Boolean);if(g.length>0&&l.push(`**Stack:** ${g.join(" \xB7 ")}`),i.conventions.length>0){l.push("","**Conventions (match):**");for(let r of i.conventions.slice(0,n))l.push(`- ${r.rule}`)}if(i.patterns.length>0){l.push("","**Patterns (match):**");for(let r of i.patterns.slice(0,s))l.push(`- **${r.name}** \u2014 ${E(r.description,120)}`)}if(i.antiPatterns.length>0){l.push("","**Anti-patterns (avoid):**");for(let r of i.antiPatterns.slice(0,o))l.push(`- ${r.issue}${r.suggestion?` \u2192 ${E(r.suggestion,80)}`:""}`)}return i.conventions.length===0&&i.patterns.length===0&&i.antiPatterns.length===0&&l.push("","_No durable house patterns yet \u2014 open a neighbor file and match local idiom. Prefer `prjct sync` + structured analysis-save-llm JSON to enrich._"),l.push("",`_${t.summary}_`),l.join(`
|
|
9
|
-
`)}c(U,"formatProjectStyleDigest");function E(t,e){let n=t.replace(/\s+/g," ").trim();return n.length>e?`${n.slice(0,e-1)}\u2026`:n}c(E,"truncate");export{B as a,_ as b,W as c,J as d,U as e};
|