agentic-qe 3.10.9 → 3.11.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/.claude/agents/v3/qe-learning-coordinator.md +1 -1
- package/.claude/commands/agents/README.md +50 -0
- package/.claude/commands/agents/agent-capabilities.md +140 -0
- package/.claude/commands/agents/agent-coordination.md +28 -0
- package/.claude/commands/agents/agent-spawning.md +28 -0
- package/.claude/commands/agents/agent-types.md +216 -0
- package/.claude/commands/agents/health.md +139 -0
- package/.claude/commands/agents/list.md +100 -0
- package/.claude/commands/agents/logs.md +130 -0
- package/.claude/commands/agents/metrics.md +122 -0
- package/.claude/commands/agents/pool.md +127 -0
- package/.claude/commands/agents/spawn.md +140 -0
- package/.claude/commands/agents/status.md +115 -0
- package/.claude/commands/agents/stop.md +102 -0
- package/.claude/commands/claude-flow-help.md +1 -1
- package/.claude/commands/coordination/README.md +9 -0
- package/.claude/commands/coordination/agent-spawn.md +25 -0
- package/.claude/commands/coordination/init.md +44 -0
- package/.claude/commands/coordination/orchestrate.md +43 -0
- package/.claude/commands/coordination/spawn.md +45 -0
- package/.claude/commands/coordination/swarm-init.md +85 -0
- package/.claude/commands/coordination/task-orchestrate.md +25 -0
- package/.claude/commands/github/code-review-swarm.md +1 -1
- package/.claude/commands/github/issue-tracker.md +3 -3
- package/.claude/commands/github/release-manager.md +5 -3
- package/.claude/commands/github/release-swarm.md +1 -1
- package/.claude/commands/github/repo-architect.md +2 -2
- package/.claude/commands/github/swarm-issue.md +4 -1
- package/.claude/commands/github/swarm-pr.md +6 -3
- package/.claude/commands/github/sync-coordinator.md +3 -1
- package/.claude/commands/github/workflow-automation.md +2 -2
- package/.claude/commands/hive-mind/README.md +17 -0
- package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-init.md +18 -0
- package/.claude/commands/hive-mind/hive-mind-memory.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-resume.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -0
- package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-stop.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -0
- package/.claude/commands/hive-mind/hive-mind.md +27 -0
- package/.claude/commands/memory/README.md +9 -0
- package/.claude/commands/memory/memory-persist.md +25 -0
- package/.claude/commands/memory/memory-search.md +25 -0
- package/.claude/commands/memory/memory-usage.md +25 -0
- package/.claude/commands/memory/neural.md +47 -0
- package/.claude/commands/swarm/README.md +15 -0
- package/.claude/commands/swarm/analysis.md +95 -0
- package/.claude/commands/swarm/development.md +96 -0
- package/.claude/commands/swarm/examples.md +168 -0
- package/.claude/commands/swarm/maintenance.md +102 -0
- package/.claude/commands/swarm/optimization.md +117 -0
- package/.claude/commands/swarm/research.md +136 -0
- package/.claude/commands/swarm/swarm-analysis.md +8 -0
- package/.claude/commands/swarm/swarm-background.md +8 -0
- package/.claude/commands/swarm/swarm-init.md +19 -0
- package/.claude/commands/swarm/swarm-modes.md +8 -0
- package/.claude/commands/swarm/swarm-monitor.md +8 -0
- package/.claude/commands/swarm/swarm-spawn.md +19 -0
- package/.claude/commands/swarm/swarm-status.md +8 -0
- package/.claude/commands/swarm/swarm-strategies.md +8 -0
- package/.claude/commands/swarm/swarm.md +87 -0
- package/.claude/commands/swarm/testing.md +131 -0
- package/.claude/commands/workflows/README.md +9 -0
- package/.claude/commands/workflows/development.md +78 -0
- package/.claude/commands/workflows/research.md +63 -0
- package/.claude/commands/workflows/workflow-create.md +25 -0
- package/.claude/commands/workflows/workflow-execute.md +25 -0
- package/.claude/commands/workflows/workflow-export.md +25 -0
- package/.claude/helpers/auto-commit.sh +1 -1
- package/.claude/helpers/auto-memory-hook.mjs +37 -4
- package/.claude/helpers/github-safe.js +90 -40
- package/.claude/helpers/github-setup.sh +30 -13
- package/.claude/helpers/hook-handler.cjs +68 -49
- package/.claude/helpers/intelligence.cjs +156 -27
- package/.claude/helpers/post-commit +1 -1
- package/.claude/helpers/pre-commit +1 -1
- package/.claude/helpers/quick-start.sh +4 -4
- package/.claude/helpers/router.js +70 -31
- package/.claude/helpers/ruflo-hook.cjs +59 -0
- package/.claude/helpers/session.js +28 -6
- package/.claude/helpers/setup-mcp.sh +3 -3
- package/.claude/helpers/statusline.cjs +584 -468
- package/.claude/helpers/statusline.js +47 -11
- package/.claude/skills/README.md +2 -2
- package/.claude/skills/agentic-quality-engineering/SKILL.md +6 -5
- package/.claude/skills/agentic-quality-engineering/schemas/output.json +7 -3
- package/.claude/skills/github-code-review/SKILL.md +2 -17
- package/.claude/skills/github-multi-repo/SKILL.md +4 -16
- package/.claude/skills/github-project-management/SKILL.md +18 -33
- package/.claude/skills/github-release-management/SKILL.md +4 -21
- package/.claude/skills/github-workflow-automation/SKILL.md +8 -26
- package/.claude/skills/holistic-testing-pact/SKILL.md +50 -17
- package/.claude/skills/pair-programming/SKILL.md +2 -2
- package/.claude/skills/reasoningbank-intelligence/SKILL.md +2 -2
- package/.claude/skills/skill-builder/SKILL.md +0 -103
- package/.claude/skills/skills-manifest.json +6 -6
- package/.claude/skills/sparc-methodology/SKILL.md +2 -11
- package/.claude/skills/stream-chain/SKILL.md +0 -3
- package/.claude/skills/swarm-advanced/SKILL.md +2 -5
- package/.claude/skills/swarm-orchestration/SKILL.md +1 -1
- package/.claude/skills/verification-quality/SKILL.md +121 -93
- package/.opencode/skills/qe-agentic-quality-engineering.yaml +5 -5
- package/.opencode/skills/qe-holistic-testing-pact.yaml +11 -11
- package/CHANGELOG.md +100 -0
- package/README.md +17 -0
- package/assets/agents/v3/qe-learning-coordinator.md +1 -1
- package/assets/skills/README.md +2 -2
- package/assets/skills/agentic-quality-engineering/SKILL.md +6 -5
- package/assets/skills/agentic-quality-engineering/schemas/output.json +7 -3
- package/assets/skills/holistic-testing-pact/SKILL.md +50 -17
- package/assets/skills/pair-programming/SKILL.md +2 -2
- package/assets/skills/skills-manifest.json +6 -6
- package/assets/skills/verification-quality/SKILL.md +121 -93
- package/dist/audit/witness-chain.d.ts +1 -1
- package/dist/audit/witness-findings.d.ts +50 -0
- package/dist/audit/witness-findings.js +41 -0
- package/dist/cli/bundle.js +5 -5
- package/dist/cli/chunks/adapter-A6GCBONS.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-RPAOJXZ3.js → agent-booster-wasm-3OJAT664.js} +2 -2
- package/dist/cli/chunks/{agent-handler-SMD5CAS6.js → agent-handler-6TCTI5AT.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-3IOQIQ7Y.js → agent-memory-branch-FAWCYEGJ.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-FRCSXNMG.js +2 -0
- package/dist/cli/chunks/{arena-AP2J62WO.js → arena-O2TCUQBF.js} +4 -4
- package/dist/cli/chunks/{arena-GT3D6EAO.js → arena-UVYIGYUF.js} +2 -2
- package/dist/cli/chunks/{audit-Q3GJ5354.js → audit-AYESKHAJ.js} +2 -2
- package/dist/cli/chunks/base-CZ3EHBU5.js +2 -0
- package/dist/cli/chunks/{hnswlib-node-YTK7S7GL.js → better-sqlite3-MJNUEPYB.js} +2 -2
- package/dist/cli/chunks/{brain-handler-2Z4ILQF3.js → brain-handler-KSJBVTHZ.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-EZWGL4UM.js → branch-enumerator-4O3S42EG.js} +2 -2
- package/dist/cli/chunks/{browser-YZELFPLJ.js → browser-5VXK323P.js} +2 -2
- package/dist/cli/chunks/browser-workflow-EKTGQQBQ.js +2 -0
- package/dist/cli/chunks/{chunk-CDJIYJIA.js → chunk-22FHOXEE.js} +1 -1
- package/dist/cli/chunks/{chunk-OIN3Y4BY.js → chunk-2RE32VOF.js} +1 -1
- package/dist/cli/chunks/{chunk-RSWQY4NZ.js → chunk-3D4HNUZM.js} +2 -2
- package/dist/cli/chunks/{chunk-6TR3OM7C.js → chunk-3DS7ZHA7.js} +2 -2
- package/dist/cli/chunks/{chunk-HGKZOSAI.js → chunk-3G25ZBQ6.js} +1 -1
- package/dist/cli/chunks/{chunk-QHPLU5BU.js → chunk-3IMEDZIS.js} +3 -3
- package/dist/cli/chunks/{chunk-EL6F72JN.js → chunk-3V5DAM37.js} +2 -2
- package/dist/cli/chunks/{chunk-IR7PJUO7.js → chunk-3XCEFSUK.js} +2 -2
- package/dist/cli/chunks/{chunk-L5NEEGKO.js → chunk-437XL5VZ.js} +2 -2
- package/dist/cli/chunks/{chunk-C6GQIUKW.js → chunk-44HXRFOP.js} +2 -2
- package/dist/cli/chunks/{chunk-KAMFT25W.js → chunk-4565IIF6.js} +2 -2
- package/dist/cli/chunks/{chunk-X7677BX3.js → chunk-4BMPFEEG.js} +2 -2
- package/dist/cli/chunks/{chunk-3YKJGKOY.js → chunk-4G4GTF36.js} +4 -4
- package/dist/cli/chunks/{chunk-352W5G4G.js → chunk-4OYC5TIZ.js} +2 -2
- package/dist/cli/chunks/{chunk-VHCHBMZC.js → chunk-4RUS5E3Q.js} +2 -2
- package/dist/cli/chunks/{chunk-QHICG2NI.js → chunk-4S3UIY3G.js} +2 -2
- package/dist/cli/chunks/{chunk-FD37QFXW.js → chunk-4UHWZ47M.js} +1 -1
- package/dist/cli/chunks/{chunk-UU7OCRZM.js → chunk-56PICCZN.js} +2 -2
- package/dist/cli/chunks/chunk-57WGS6BI.js +2 -0
- package/dist/cli/chunks/{chunk-RRSJ7BMF.js → chunk-5LDUW2FD.js} +1 -1
- package/dist/cli/chunks/{chunk-J6GKKXCP.js → chunk-5PSIKJL5.js} +2 -2
- package/dist/cli/chunks/{chunk-QE3CZGAC.js → chunk-5QFZEEJ2.js} +3 -3
- package/dist/cli/chunks/{chunk-RHOBDQXA.js → chunk-5Y7GXQOM.js} +2 -2
- package/dist/cli/chunks/{chunk-5X73HV2P.js → chunk-6CH7476R.js} +1 -1
- package/dist/cli/chunks/{chunk-BG2FN5K2.js → chunk-6WNYBIPS.js} +2 -2
- package/dist/cli/chunks/{chunk-G4KVGUQN.js → chunk-6YNXH6H4.js} +2 -2
- package/dist/cli/chunks/{chunk-2WRVNEIR.js → chunk-6ZAUNPAI.js} +2 -2
- package/dist/cli/chunks/{chunk-2I5QLMQF.js → chunk-72UPBNVF.js} +2 -2
- package/dist/cli/chunks/{chunk-VDL277DX.js → chunk-76UVJLPM.js} +2 -2
- package/dist/cli/chunks/{chunk-4EJTE5TL.js → chunk-7DQLYWLR.js} +1 -1
- package/dist/cli/chunks/{chunk-4D3LVXUD.js → chunk-7GP7ZG3K.js} +2 -2
- package/dist/cli/chunks/{chunk-757YHKIJ.js → chunk-7OAKIXNM.js} +2 -2
- package/dist/cli/chunks/{chunk-7S6D5K4X.js → chunk-7QICU44H.js} +2 -2
- package/dist/cli/chunks/{chunk-ABJPFKHE.js → chunk-7SRSOZMP.js} +1 -1
- package/dist/cli/chunks/{chunk-2WSEJHFQ.js → chunk-7WQKKYYG.js} +1 -1
- package/dist/cli/chunks/{chunk-7NT34MLU.js → chunk-AEZMNFXM.js} +1 -1
- package/dist/cli/chunks/{chunk-MDED3HJI.js → chunk-AG4BYKUV.js} +2 -2
- package/dist/cli/chunks/{chunk-QL7OOCPO.js → chunk-AL54LED5.js} +2 -2
- package/dist/cli/chunks/{chunk-I7RTTJH5.js → chunk-ATQTTGSE.js} +2 -2
- package/dist/cli/chunks/{chunk-HQZX4XYH.js → chunk-B5EE63VE.js} +2 -2
- package/dist/cli/chunks/{chunk-QWXJRZEH.js → chunk-B6U56VWG.js} +1 -1
- package/dist/cli/chunks/{chunk-5HLOQEKL.js → chunk-BOQNPFO5.js} +1 -1
- package/dist/cli/chunks/{chunk-I5C7O5IQ.js → chunk-BR4ERWVD.js} +2 -2
- package/dist/cli/chunks/{chunk-GPALZJD3.js → chunk-BVFNF3RW.js} +1 -1
- package/dist/cli/chunks/{chunk-NYBAH76S.js → chunk-BXLWERBR.js} +3 -3
- package/dist/cli/chunks/{chunk-YQBL5XTM.js → chunk-C27UV6DO.js} +1 -1
- package/dist/cli/chunks/{chunk-UUA2NVUN.js → chunk-C7FYDE5F.js} +244 -233
- package/dist/cli/chunks/{chunk-6HPI6YX3.js → chunk-CIDTFU3C.js} +2 -2
- package/dist/cli/chunks/{chunk-VIHFC67B.js → chunk-CII57TME.js} +1 -1
- package/dist/cli/chunks/{chunk-57XCLC55.js → chunk-CN2HMHIY.js} +2 -2
- package/dist/cli/chunks/{chunk-CREORFJV.js → chunk-CXIFCN6G.js} +1 -1
- package/dist/cli/chunks/{chunk-EYGRNXQT.js → chunk-CZU5G6J4.js} +1 -1
- package/dist/cli/chunks/{chunk-HZSYCVLC.js → chunk-D4DAZ3P2.js} +2 -2
- package/dist/cli/chunks/{chunk-3HT4CT6F.js → chunk-D6MPGK7R.js} +2 -2
- package/dist/cli/chunks/{chunk-DK6WWNCL.js → chunk-DZT4A7R3.js} +2 -2
- package/dist/cli/chunks/{chunk-H7AQ7M3J.js → chunk-EFRIMR74.js} +1 -1
- package/dist/cli/chunks/{chunk-S73EBPI5.js → chunk-EJSDQQZH.js} +3 -3
- package/dist/cli/chunks/{chunk-X6YUGKMM.js → chunk-EQYDPF52.js} +1 -1
- package/dist/cli/chunks/{chunk-BYVARYGB.js → chunk-EZBXCEBV.js} +2 -2
- package/dist/cli/chunks/{chunk-L5IO7QNO.js → chunk-FBOPSWF6.js} +2 -2
- package/dist/cli/chunks/{chunk-K23XK33X.js → chunk-FK3XYV3A.js} +2 -2
- package/dist/cli/chunks/{chunk-4BB75U6N.js → chunk-FOD6JEEU.js} +2 -2
- package/dist/cli/chunks/{chunk-TIR3Z6TE.js → chunk-GUSW3OGX.js} +1 -1
- package/dist/cli/chunks/{chunk-2K2X75UF.js → chunk-H4V6WCF7.js} +2 -2
- package/dist/cli/chunks/{chunk-AHUX7QSE.js → chunk-H5GCRC2D.js} +2 -2
- package/dist/cli/chunks/{chunk-R2M3RMCN.js → chunk-HMVL55QX.js} +2 -2
- package/dist/cli/chunks/{chunk-NOWGQ6YZ.js → chunk-HOFEAA4R.js} +1 -1
- package/dist/cli/chunks/{chunk-PFGH7TWL.js → chunk-HYT5EMES.js} +2 -2
- package/dist/cli/chunks/{chunk-AU4DQMLJ.js → chunk-IAHJ62JS.js} +4 -4
- package/dist/cli/chunks/{chunk-ZVF7QY4R.js → chunk-IIX5Y7BO.js} +1 -1
- package/dist/cli/chunks/{chunk-QAP5S7YC.js → chunk-ILZHECWZ.js} +3 -3
- package/dist/cli/chunks/{chunk-ZT2DGSIO.js → chunk-IUVAWWQG.js} +2 -2
- package/dist/cli/chunks/{chunk-ABVBHH7P.js → chunk-IVZVVZZ3.js} +3 -3
- package/dist/cli/chunks/{chunk-DZWZASDV.js → chunk-J2LAYCYZ.js} +1 -1
- package/dist/cli/chunks/{chunk-G7V2HDTH.js → chunk-JGHEGMLD.js} +3 -3
- package/dist/cli/chunks/{chunk-QFIKEZB5.js → chunk-K3BBLIWW.js} +2 -2
- package/dist/cli/chunks/{chunk-BSMUT672.js → chunk-K7XPKGOL.js} +2 -2
- package/dist/cli/chunks/{chunk-YHFCLJMY.js → chunk-KIBP3LGY.js} +1 -1
- package/dist/cli/chunks/{chunk-U6TZVACK.js → chunk-KRUKMGPF.js} +2 -2
- package/dist/cli/chunks/{chunk-UX4UHYLE.js → chunk-L2QHZFC3.js} +1 -1
- package/dist/cli/chunks/{chunk-O36VC7B7.js → chunk-LNV76GGB.js} +2 -2
- package/dist/cli/chunks/{chunk-NMQEU4BG.js → chunk-LOPM3YIO.js} +2 -2
- package/dist/cli/chunks/{chunk-LT6QHDPK.js → chunk-LSZLXLZA.js} +2 -2
- package/dist/cli/chunks/{chunk-NLUWPS2H.js → chunk-MILWEZSZ.js} +3 -3
- package/dist/cli/chunks/{chunk-LHKQW72O.js → chunk-MX6M2VPB.js} +1 -1
- package/dist/cli/chunks/{chunk-KRAWWBX5.js → chunk-N4OWZLH5.js} +2 -2
- package/dist/cli/chunks/{chunk-4MUZGQPE.js → chunk-N52WQO3G.js} +2 -2
- package/dist/cli/chunks/{chunk-246Z3PH6.js → chunk-N6NSZG7Z.js} +2 -2
- package/dist/cli/chunks/{chunk-OQUH7657.js → chunk-N6RSJGTW.js} +5 -5
- package/dist/cli/chunks/{chunk-WOGWIMQK.js → chunk-NKCL6RAF.js} +2 -2
- package/dist/cli/chunks/{chunk-C6JULAWA.js → chunk-NVJIOCS5.js} +5 -5
- package/dist/cli/chunks/{chunk-TKZABUHO.js → chunk-NYWK7ZSX.js} +1 -1
- package/dist/cli/chunks/{chunk-DNE6MVNA.js → chunk-O5NF6BBD.js} +1 -1
- package/dist/cli/chunks/{chunk-CWRSQQHV.js → chunk-O75SVMMB.js} +2 -2
- package/dist/cli/chunks/{chunk-OD4OIPXO.js → chunk-OHBZON7T.js} +1 -1
- package/dist/cli/chunks/{chunk-CLJNAQXB.js → chunk-OUBYADPD.js} +2 -2
- package/dist/cli/chunks/{chunk-PYQZ4OA3.js → chunk-OUSD2RWO.js} +2 -2
- package/dist/cli/chunks/{chunk-TVU6NMO3.js → chunk-OX2PGDUM.js} +3 -3
- package/dist/cli/chunks/{chunk-XLK4GP3I.js → chunk-P7CMWL7Y.js} +2 -2
- package/dist/cli/chunks/{chunk-7C5HI4ZA.js → chunk-PY4YQDBM.js} +4 -4
- package/dist/cli/chunks/{chunk-5U5SEO7C.js → chunk-QEDS3MOJ.js} +2 -2
- package/dist/cli/chunks/{chunk-WPBVLIWQ.js → chunk-QMN563LV.js} +18 -18
- package/dist/cli/chunks/{chunk-D2JCSWYM.js → chunk-QOR4YAZY.js} +2 -2
- package/dist/cli/chunks/{chunk-H4SHHYRD.js → chunk-QUTKELAS.js} +2 -2
- package/dist/cli/chunks/{chunk-42FBJF73.js → chunk-QXDZN2WX.js} +1 -1
- package/dist/cli/chunks/{chunk-OSP5AJAB.js → chunk-S456W64P.js} +2 -2
- package/dist/cli/chunks/{chunk-VHYNRISI.js → chunk-S7IHSELP.js} +2 -2
- package/dist/cli/chunks/{chunk-62MH7QAQ.js → chunk-S7ZHD6VN.js} +2 -2
- package/dist/cli/chunks/{chunk-QL6ZJ7RV.js → chunk-SU4YXUVK.js} +2 -2
- package/dist/cli/chunks/{chunk-JZNMU63B.js → chunk-SZPTUV3B.js} +2 -2
- package/dist/cli/chunks/{chunk-FALB6Z2Y.js → chunk-T7PUM6OY.js} +1 -1
- package/dist/cli/chunks/{chunk-BVEQPMOF.js → chunk-TCKBICJ3.js} +2 -2
- package/dist/cli/chunks/{chunk-Z6FRNWQA.js → chunk-TOQJWLJV.js} +2 -2
- package/dist/cli/chunks/{chunk-YB3PQ3UV.js → chunk-TUEDIQHY.js} +1 -1
- package/dist/cli/chunks/{chunk-CVRTXIYP.js → chunk-U5GCSSYX.js} +1 -1
- package/dist/cli/chunks/{chunk-WWGGL3TR.js → chunk-UDLN2THT.js} +1 -1
- package/dist/cli/chunks/{chunk-CLSHSVMY.js → chunk-V6YDM37M.js} +1 -1
- package/dist/cli/chunks/{chunk-ILPIH4Z6.js → chunk-VGR65B4Y.js} +1 -1
- package/dist/cli/chunks/{chunk-XEMP2PNW.js → chunk-VRHLHGKR.js} +2 -2
- package/dist/cli/chunks/{chunk-BM52ZEAD.js → chunk-VS2G6LX5.js} +2 -2
- package/dist/cli/chunks/{chunk-TOGD2JH2.js → chunk-W6RS5S4Q.js} +2 -2
- package/dist/cli/chunks/{chunk-UJBIHPU5.js → chunk-WEPZOCN7.js} +1 -1
- package/dist/cli/chunks/{chunk-OF3EMOWN.js → chunk-WIC5UZCQ.js} +2 -2
- package/dist/cli/chunks/{chunk-D7NWDUY3.js → chunk-X2OVUBF6.js} +2 -2
- package/dist/cli/chunks/{chunk-XYRJL7YN.js → chunk-X4GKYSOH.js} +2 -2
- package/dist/cli/chunks/{chunk-TXWUV3S5.js → chunk-XEVUW4QL.js} +2 -2
- package/dist/cli/chunks/{chunk-HAC7NB6R.js → chunk-XMDZRULK.js} +2 -2
- package/dist/cli/chunks/{chunk-UPGKS6Z3.js → chunk-YFY35CSD.js} +2 -2
- package/dist/cli/chunks/{chunk-7D5JE46U.js → chunk-Z6ADE3KJ.js} +2 -2
- package/dist/cli/chunks/{chunk-KJA5A3TV.js → chunk-ZKPOKMJZ.js} +2 -2
- package/dist/cli/chunks/{chunk-7PYEJ4NV.js → chunk-ZRWAFMM7.js} +2 -2
- package/dist/cli/chunks/{ci-KDEFR2X3.js → ci-KTWY7BZT.js} +2 -2
- package/dist/cli/chunks/{ci-output-Z3WXRRFI.js → ci-output-WOX6QBMS.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-GS44DEW2.js → circuit-breaker-6XKOSFIF.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-OHVMHAAH.js → claude-flow-setup-5JA4MNE4.js} +2 -2
- package/dist/cli/chunks/client-X3KUJ6R5.js +2 -0
- package/dist/cli/chunks/{cline-installer-5TCF4MZD.js → cline-installer-Z2ANHEKW.js} +2 -2
- package/dist/cli/chunks/{code-3KCGTG7Z.js → code-NO4ZKNDU.js} +2 -2
- package/dist/cli/chunks/{code-index-extractor-LJBI54MZ.js → code-index-extractor-VV4OEPG7.js} +2 -2
- package/dist/cli/chunks/{codex-installer-IB62Z6LA.js → codex-installer-BP7Y2NYR.js} +2 -2
- package/dist/cli/chunks/{completions-JDXX7KKB.js → completions-YULJQUF4.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-6JVDXXXP.js → complexity-analyzer-D7XYPQ76.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-PUB45QVR.js → continuedev-installer-E3L7UF72.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-QWJ36P22.js → copilot-installer-5TRUMJC5.js} +2 -2
- package/dist/cli/chunks/core-handlers-A2EQB3UH.js +2 -0
- package/dist/cli/chunks/{cost-tracker-J3KEJDL5.js → cost-tracker-QTYSJMSV.js} +2 -2
- package/dist/cli/chunks/{coverage-FWKRI2EY.js → coverage-D5DKZ3XT.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-OKZ2PDHT.js +2 -0
- package/dist/cli/chunks/{cursor-installer-2HYCUCTH.js → cursor-installer-UDBHGUIG.js} +2 -2
- package/dist/cli/chunks/{daemon-G3DBRWDQ.js → daemon-2GXYN7F7.js} +3 -3
- package/dist/cli/chunks/{daemon-BVP66DIZ.js → daemon-IVWUMQKL.js} +4 -4
- package/dist/cli/chunks/{dag-attention-scheduler-2AQLNB4B.js → dag-attention-scheduler-PWXR4QTU.js} +2 -2
- package/dist/cli/chunks/{detect-RUM5SHNE.js → detect-C6P7ONFB.js} +2 -2
- package/dist/cli/chunks/{dist-node-GX7MJHFT.js → dist-node-2BUFM2JK.js} +2 -2
- package/dist/cli/chunks/{domain-handler-OFBGZ2U5.js → domain-handler-Q2GWZLDM.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-6CGRPRGR.js → domain-transfer-GMUBAM3J.js} +2 -2
- package/dist/cli/chunks/dream-ZBP4Z5C3.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-MUOEVQX2.js → embed-and-insert-pattern-EFUERRM2.js} +2 -2
- package/dist/cli/chunks/{eval-SJMG67DE.js → eval-24FIC43F.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-ICKN6IXX.js → experience-capture-middleware-R4UP2Q2M.js} +3 -3
- package/dist/cli/chunks/{fast-paths-HXLBG3J4.js → fast-paths-RQCGGTXB.js} +2 -2
- package/dist/cli/chunks/{feature-flags-CRUB2ASU.js → feature-flags-APTWWVNQ.js} +2 -2
- package/dist/cli/chunks/{feature-flags-JYZSSQJC.js → feature-flags-SOXVYIBN.js} +2 -2
- package/dist/cli/chunks/{file-discovery-YHHC7NTJ.js → file-discovery-66KRMXVF.js} +2 -2
- package/dist/cli/chunks/{fleet-2VGDL4YL.js → fleet-EMBNKO5Q.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-7ZAGD4S4.js → gnn-wrapper-6TKDWFJF.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-HAW3JRHN.js → heartbeat-handler-4ODKJ75H.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-6JUWQXWG.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-JT4BU7XJ.js +2 -0
- package/dist/cli/chunks/hnsw-index-JC5YELJX.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-BO325POX.js → hnsw-legacy-bridge-25KFCLUC.js} +2 -2
- package/dist/cli/chunks/{better-sqlite3-6A6EAXAT.js → hnswlib-node-FUWQTM2D.js} +2 -2
- package/dist/cli/chunks/{hooks-HKM3JTFQ.js → hooks-JIDA2COE.js} +10 -10
- package/dist/cli/chunks/hybrid-router-SLTXHUFG.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-LGLGHK6B.js → hypergraph-engine-3YDFDPE3.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-6QDVREZA.js → hypergraph-handler-VWZX2OJX.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-JXHCMZXY.js +2 -0
- package/dist/cli/chunks/{init-handler-XUQ7XHIE.js → init-handler-DH7VQAMF.js} +6 -6
- package/dist/cli/chunks/init-wizard-EX37TYOG.js +2 -0
- package/dist/cli/chunks/kernel-JPHAG27D.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-6CEZLVIX.js → kilocode-installer-2W2KZCGH.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-6CJGATOS.js → kiro-installer-E5KP7OMD.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-5QJZIRYB.js +2 -0
- package/dist/cli/chunks/{learning-EIYTYZJY.js → learning-XJRUVPLF.js} +3 -3
- package/dist/cli/chunks/{llm-router-J4CI7VHU.js → llm-router-AEEKEMF5.js} +4 -4
- package/dist/cli/chunks/llm-router-service-SE2RO4P5.js +2 -0
- package/dist/cli/chunks/{load-CQPWGLQQ.js → load-PZ4YOTBJ.js} +2 -2
- package/dist/cli/chunks/load-test-LOTBWIIS.js +2 -0
- package/dist/cli/chunks/{mcp-THOATWCO.js → mcp-IVA6LC2S.js} +2 -2
- package/dist/cli/chunks/{memory-NZHMHMRK.js → memory-Y3DHXFQE.js} +5 -5
- package/dist/cli/chunks/memory-backend-BSDKTFAN.js +2 -0
- package/dist/cli/chunks/{memory-handlers-L2J54AQE.js → memory-handlers-V5PXEJWL.js} +2 -2
- package/dist/cli/chunks/{multi-model-executor-3P5E773H.js → multi-model-executor-646G4S4Y.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-IRZMKSNG.js → opencode-installer-P6KOOTUS.js} +2 -2
- package/dist/cli/chunks/{orchestrator-UADLXTKP.js → orchestrator-T2GVKYMX.js} +5 -5
- package/dist/cli/chunks/pattern-null-store-LRSXCZWM.js +2 -0
- package/dist/cli/chunks/{pipeline-QEH3XHXJ.js → pipeline-CK2ON45P.js} +2 -2
- package/dist/cli/chunks/{platform-NEZ3NXLT.js → platform-OQNSD3A3.js} +2 -2
- package/dist/cli/chunks/{plugin-O33HR2VO.js → plugin-UOG6RNRM.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-MBUMFEX7.js → prime-radiant-advanced-wasm-37UE6TG5.js} +2 -2
- package/dist/cli/chunks/protocol-executor-WPUVJEL7.js +2 -0
- package/dist/cli/chunks/{protocol-handler-L455UOUT.js → protocol-handler-V722S6YH.js} +2 -2
- package/dist/cli/chunks/{prove-3XA3SMAA.js → prove-ANGY6W3W.js} +2 -2
- package/dist/cli/chunks/provider-manager-EVPWSH3E.js +2 -0
- package/dist/cli/chunks/qe-reasoning-bank-IH63FG33.js +2 -0
- package/dist/cli/chunks/{quality-H6Z5JH5B.js → quality-KG4ALI2L.js} +2 -2
- package/dist/cli/chunks/queen-coordinator-TTCAGYQO.js +2 -0
- package/dist/cli/chunks/{real-embeddings-5DNJ4KEM.js → real-embeddings-GUZDO5UN.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-KHXKR2FK.js → roocode-installer-WROAR6MJ.js} +2 -2
- package/dist/cli/chunks/router-64Q4ILOQ.js +2 -0
- package/dist/cli/chunks/routing-feedback-KCZV4XXC.js +2 -0
- package/dist/cli/chunks/{routing-handler-WAMGESEM.js → routing-handler-UFPSSS5D.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-4J7XC6XY.js → ruvector-commands-XJQMKDRM.js} +2 -2
- package/dist/cli/chunks/{rvf-dual-writer-3PZEN6XN.js → rvf-dual-writer-QPRMDKYX.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-adapter-OIUNRQSU.js → rvf-migration-adapter-SOHBK23K.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-coordinator-QZXDI4I5.js → rvf-migration-coordinator-MTWUSPEJ.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-GNJKMURU.js +2 -0
- package/dist/cli/chunks/safe-db-6VBZQIJI.js +2 -0
- package/dist/cli/chunks/schedule-4V7O5IPX.js +2 -0
- package/dist/cli/chunks/scheduler-CQDMHEHN.js +2 -0
- package/dist/cli/chunks/{security-5NY77AMD.js → security-5MAMQKP6.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-MHPUZIMW.js → shared-rvf-adapter-YEUBSRNN.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-ITLDYHCX.js → shared-rvf-dual-writer-DBQJHG42.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-7DHUFTHL.js +2 -0
- package/dist/cli/chunks/{status-handler-7RBRIXZD.js → status-handler-ZUB2UKQZ.js} +2 -2
- package/dist/cli/chunks/{structural-health-MQPY6GA6.js → structural-health-B2GHENWX.js} +2 -2
- package/dist/cli/chunks/{sync-66KCEANE.js → sync-7VMXJTR2.js} +2 -2
- package/dist/cli/chunks/{sync-USVQTHKN.js → sync-YCUUW3IP.js} +2 -2
- package/dist/cli/chunks/{task-handler-4UI4FPPW.js → task-handler-N7LJTXZM.js} +2 -2
- package/dist/cli/chunks/{task-handlers-KRII3GVV.js → task-handlers-GDHNJV2E.js} +3 -3
- package/dist/cli/chunks/{test-JHN2MVEG.js → test-6COGC5KI.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-ZWTEGS3S.js → test-scheduling-CUERHJMF.js} +3 -3
- package/dist/cli/chunks/{token-bootstrap-YWXL6AS5.js → token-bootstrap-JTGSL6PP.js} +2 -2
- package/dist/cli/chunks/{token-usage-INII2XM3.js → token-usage-LSG3JYGX.js} +2 -2
- package/dist/cli/chunks/{transformers-DVFGDNZC.js → transformers-ODIITRCT.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-W2XJT3XF.js → tree-sitter-wasm-parser-KSP7ZZ5H.js} +2 -2
- package/dist/cli/chunks/{types-GBZ5Q2GP.js → types-6N6SUU2O.js} +2 -2
- package/dist/cli/chunks/unified-memory-MQA72NLP.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-K7HA3CWV.js +2 -0
- package/dist/cli/chunks/unified-persistence-2DXB4OE4.js +2 -0
- package/dist/cli/chunks/{upgrade-2JEXEGQX.js → upgrade-7SCVOCPS.js} +2 -2
- package/dist/cli/chunks/{validate-GDCM5YTS.js → validate-762ISH2Y.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-QZ5RSJEU.js → validate-swarm-R6WYYXGO.js} +2 -2
- package/dist/cli/chunks/{vibium-I5BMT734.js → vibium-5GZYSUDQ.js} +2 -2
- package/dist/cli/chunks/visual-security-UD6CARIJ.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-3QY2LMLP.js → web-tree-sitter-VYYVAJTY.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-V7OBPLOB.js → windsurf-installer-RRIOR3B6.js} +2 -2
- package/dist/cli/chunks/witness-chain-LWALPPMC.js +2 -0
- package/dist/cli/chunks/{witness-chain-BNJ4VSZX.js → witness-chain-SRVBEKDB.js} +2 -2
- package/dist/cli/chunks/{workflow-3FJSNLPI.js → workflow-XNUDHGEC.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-QU652FLH.js +2 -0
- package/dist/cli/chunks/{wrappers-ERTQNIPK.js → wrappers-3STST7QW.js} +2 -2
- package/dist/domains/requirements-validation/coordinator.d.ts +16 -2
- package/dist/domains/requirements-validation/coordinator.js +112 -7
- package/dist/domains/requirements-validation/plugin.js +20 -1
- package/dist/domains/test-generation/coordinator.d.ts +26 -1
- package/dist/domains/test-generation/coordinator.js +119 -2
- package/dist/domains/test-generation/plugin.js +23 -1
- package/dist/integrations/darwin/index.d.ts +10 -0
- package/dist/integrations/darwin/index.js +2 -0
- package/dist/integrations/darwin/qe-fitness.d.ts +83 -0
- package/dist/integrations/darwin/qe-fitness.js +147 -0
- package/dist/integrations/darwin/types.d.ts +69 -0
- package/dist/integrations/darwin/types.js +21 -0
- package/dist/mcp/bundle.js +390 -379
- package/dist/mcp/tool-scoping.d.ts +8 -2
- package/dist/mcp/tool-scoping.js +13 -0
- package/dist/routing/escalation/auto-escalation-tracker.d.ts +34 -15
- package/dist/routing/escalation/auto-escalation-tracker.js +24 -15
- package/dist/routing/free-tier/coordinator-support.d.ts +90 -0
- package/dist/routing/free-tier/coordinator-support.js +78 -0
- package/dist/routing/free-tier/executor.d.ts +161 -0
- package/dist/routing/free-tier/executor.js +182 -0
- package/dist/routing/free-tier/feedback-sink.d.ts +49 -0
- package/dist/routing/free-tier/feedback-sink.js +52 -0
- package/dist/routing/free-tier/index.d.ts +15 -0
- package/dist/routing/free-tier/index.js +6 -0
- package/dist/routing/free-tier/ladder.d.ts +41 -0
- package/dist/routing/free-tier/ladder.js +78 -0
- package/dist/routing/free-tier/provider.d.ts +57 -0
- package/dist/routing/free-tier/provider.js +111 -0
- package/dist/routing/free-tier/types.d.ts +80 -0
- package/dist/routing/free-tier/types.js +16 -0
- package/dist/routing/value-score.d.ts +49 -0
- package/dist/routing/value-score.js +54 -0
- package/dist/shared/optional-module.d.ts +23 -0
- package/dist/shared/optional-module.js +46 -0
- package/dist/verification/adversarial-verify/calibrate.d.ts +32 -0
- package/dist/verification/adversarial-verify/calibrate.js +33 -0
- package/dist/verification/adversarial-verify/gate.d.ts +38 -0
- package/dist/verification/adversarial-verify/gate.js +32 -0
- package/dist/verification/adversarial-verify/index.d.ts +20 -0
- package/dist/verification/adversarial-verify/index.js +6 -0
- package/dist/verification/adversarial-verify/prompts.d.ts +14 -0
- package/dist/verification/adversarial-verify/prompts.js +17 -0
- package/dist/verification/adversarial-verify/synthesize.d.ts +18 -0
- package/dist/verification/adversarial-verify/synthesize.js +35 -0
- package/dist/verification/adversarial-verify/types.d.ts +59 -0
- package/dist/verification/adversarial-verify/types.js +10 -0
- package/dist/verification/adversarial-verify/verify.d.ts +20 -0
- package/dist/verification/adversarial-verify/verify.js +34 -0
- package/package.json +14 -1
- package/dist/cli/chunks/adapter-TRSV37EA.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-CVJRJOSO.js +0 -2
- package/dist/cli/chunks/base-BX4A2D4V.js +0 -2
- package/dist/cli/chunks/browser-workflow-O3RL7EYT.js +0 -2
- package/dist/cli/chunks/chunk-OPKEQYAC.js +0 -2
- package/dist/cli/chunks/client-T263ZXVV.js +0 -2
- package/dist/cli/chunks/core-handlers-ODKKGCFK.js +0 -2
- package/dist/cli/chunks/cross-domain-router-APU725GC.js +0 -2
- package/dist/cli/chunks/dream-PJ5GKY3J.js +0 -2
- package/dist/cli/chunks/heartbeat-scheduler-4ZHUIW3Q.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-UVJJ6TTP.js +0 -2
- package/dist/cli/chunks/hnsw-index-K6HS34JZ.js +0 -2
- package/dist/cli/chunks/hybrid-router-25S7OH2Y.js +0 -2
- package/dist/cli/chunks/impact-analyzer-UP4RDMJH.js +0 -2
- package/dist/cli/chunks/init-wizard-2PAJ3GEC.js +0 -2
- package/dist/cli/chunks/kernel-7WOQGMMT.js +0 -2
- package/dist/cli/chunks/knowledge-graph-FN2AWHGR.js +0 -2
- package/dist/cli/chunks/llm-router-service-C3UPBAS3.js +0 -2
- package/dist/cli/chunks/load-test-PQSGLDXJ.js +0 -2
- package/dist/cli/chunks/memory-backend-6FR4RT5O.js +0 -2
- package/dist/cli/chunks/pattern-null-store-B2UX4NZY.js +0 -2
- package/dist/cli/chunks/protocol-executor-OQ6SL7SR.js +0 -2
- package/dist/cli/chunks/provider-manager-DQWHW2RG.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-3JS2CZAE.js +0 -2
- package/dist/cli/chunks/queen-coordinator-KXCWEM3Y.js +0 -2
- package/dist/cli/chunks/router-OVLIKT55.js +0 -2
- package/dist/cli/chunks/routing-feedback-2BYCXNXX.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-YNUYOQ5C.js +0 -2
- package/dist/cli/chunks/safe-db-6TYYEU7C.js +0 -2
- package/dist/cli/chunks/schedule-XVH7RTVY.js +0 -2
- package/dist/cli/chunks/scheduler-DHZBN5HA.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-NR5WXTPN.js +0 -2
- package/dist/cli/chunks/unified-memory-WJEZ5YAK.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-6ZA2PMYO.js +0 -2
- package/dist/cli/chunks/unified-persistence-SWH6R7MA.js +0 -2
- package/dist/cli/chunks/visual-security-PH5JQZCZ.js +0 -2
- package/dist/cli/chunks/witness-chain-WYMBNGSL.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-56JIXCI4.js +0 -2
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Development Workflow Coordination
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Structure Claude Code's approach to complex development tasks for maximum efficiency.
|
|
5
|
+
|
|
6
|
+
## Step-by-Step Coordination
|
|
7
|
+
|
|
8
|
+
### 1. Initialize Development Framework
|
|
9
|
+
```
|
|
10
|
+
Tool: mcp__claude-flow__swarm_init
|
|
11
|
+
Parameters: {"topology": "hierarchical", "maxAgents": 8, "strategy": "specialized"}
|
|
12
|
+
```
|
|
13
|
+
Creates hierarchical structure for organized, top-down development.
|
|
14
|
+
|
|
15
|
+
### 2. Define Development Perspectives
|
|
16
|
+
```
|
|
17
|
+
Tool: mcp__claude-flow__agent_spawn
|
|
18
|
+
Parameters: {
|
|
19
|
+
"type": "architect",
|
|
20
|
+
"name": "System Design",
|
|
21
|
+
"capabilities": ["api-design", "database-schema"]
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
```
|
|
25
|
+
Tool: mcp__claude-flow__agent_spawn
|
|
26
|
+
Parameters: {
|
|
27
|
+
"type": "coder",
|
|
28
|
+
"name": "Implementation Focus",
|
|
29
|
+
"capabilities": ["nodejs", "typescript", "express"]
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
```
|
|
33
|
+
Tool: mcp__claude-flow__agent_spawn
|
|
34
|
+
Parameters: {
|
|
35
|
+
"type": "tester",
|
|
36
|
+
"name": "Quality Assurance",
|
|
37
|
+
"capabilities": ["unit-testing", "integration-testing"]
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
Sets up architectural and implementation thinking patterns.
|
|
41
|
+
|
|
42
|
+
### 3. Coordinate Implementation
|
|
43
|
+
```
|
|
44
|
+
Tool: mcp__claude-flow__task_orchestrate
|
|
45
|
+
Parameters: {
|
|
46
|
+
"task": "Build REST API with authentication",
|
|
47
|
+
"strategy": "parallel",
|
|
48
|
+
"priority": "high",
|
|
49
|
+
"dependencies": ["database setup", "auth system"]
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 4. Monitor Progress
|
|
54
|
+
```
|
|
55
|
+
Tool: mcp__claude-flow__task_status
|
|
56
|
+
Parameters: {"taskId": "api-build-task-123"}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## What Claude Code Actually Does
|
|
60
|
+
1. Uses **Write** tool to create new files
|
|
61
|
+
2. Uses **Edit/MultiEdit** tools for code modifications
|
|
62
|
+
3. Uses **Bash** tool for testing and building
|
|
63
|
+
4. Uses **TodoWrite** tool for task tracking
|
|
64
|
+
5. Follows coordination patterns for systematic implementation
|
|
65
|
+
|
|
66
|
+
Remember: All code is written by Claude Code using its native tools!
|
|
67
|
+
|
|
68
|
+
## CLI Usage
|
|
69
|
+
```bash
|
|
70
|
+
# Start development workflow via CLI
|
|
71
|
+
npx claude-flow workflow dev "REST API with auth"
|
|
72
|
+
|
|
73
|
+
# Create custom workflow
|
|
74
|
+
npx claude-flow workflow create --name "api-dev" --steps "design,implement,test,deploy"
|
|
75
|
+
|
|
76
|
+
# Execute saved workflow
|
|
77
|
+
npx claude-flow workflow execute api-dev
|
|
78
|
+
```
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Research Workflow Coordination
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Coordinate Claude Code's research activities for comprehensive, systematic exploration.
|
|
5
|
+
|
|
6
|
+
## Step-by-Step Coordination
|
|
7
|
+
|
|
8
|
+
### 1. Initialize Research Framework
|
|
9
|
+
```
|
|
10
|
+
Tool: mcp__claude-flow__swarm_init
|
|
11
|
+
Parameters: {"topology": "mesh", "maxAgents": 5, "strategy": "balanced"}
|
|
12
|
+
```
|
|
13
|
+
Creates a mesh topology for comprehensive exploration from multiple angles.
|
|
14
|
+
|
|
15
|
+
### 2. Define Research Perspectives
|
|
16
|
+
```
|
|
17
|
+
Tool: mcp__claude-flow__agent_spawn
|
|
18
|
+
Parameters: {"type": "researcher", "name": "Literature Review"}
|
|
19
|
+
```
|
|
20
|
+
```
|
|
21
|
+
Tool: mcp__claude-flow__agent_spawn
|
|
22
|
+
Parameters: {"type": "analyst", "name": "Data Analysis"}
|
|
23
|
+
```
|
|
24
|
+
Sets up different analytical approaches for Claude Code to use.
|
|
25
|
+
|
|
26
|
+
### 3. Execute Coordinated Research
|
|
27
|
+
```
|
|
28
|
+
Tool: mcp__claude-flow__task_orchestrate
|
|
29
|
+
Parameters: {
|
|
30
|
+
"task": "Research modern web frameworks performance",
|
|
31
|
+
"strategy": "adaptive",
|
|
32
|
+
"priority": "medium"
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 4. Store Research Findings
|
|
37
|
+
```
|
|
38
|
+
Tool: mcp__claude-flow__memory_usage
|
|
39
|
+
Parameters: {
|
|
40
|
+
"action": "store",
|
|
41
|
+
"key": "research_findings",
|
|
42
|
+
"value": "framework performance analysis results",
|
|
43
|
+
"namespace": "research"
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## What Claude Code Actually Does
|
|
48
|
+
1. Uses **WebSearch** tool for finding resources
|
|
49
|
+
2. Uses **Read** tool for analyzing documentation
|
|
50
|
+
3. Uses **Task** tool for parallel exploration
|
|
51
|
+
4. Synthesizes findings using coordination patterns
|
|
52
|
+
5. Stores insights in memory for future reference
|
|
53
|
+
|
|
54
|
+
Remember: The swarm coordinates HOW Claude Code researches, not WHAT it finds.
|
|
55
|
+
|
|
56
|
+
## CLI Usage
|
|
57
|
+
```bash
|
|
58
|
+
# Start research workflow via CLI
|
|
59
|
+
npx claude-flow workflow research "modern web frameworks"
|
|
60
|
+
|
|
61
|
+
# Export research workflow
|
|
62
|
+
npx claude-flow workflow export research --format json
|
|
63
|
+
```
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# workflow-create
|
|
2
|
+
|
|
3
|
+
Create reusable workflow templates.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```bash
|
|
7
|
+
npx claude-flow workflow create [options]
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Options
|
|
11
|
+
- `--name <name>` - Workflow name
|
|
12
|
+
- `--from-history` - Create from history
|
|
13
|
+
- `--interactive` - Interactive creation
|
|
14
|
+
|
|
15
|
+
## Examples
|
|
16
|
+
```bash
|
|
17
|
+
# Create workflow
|
|
18
|
+
npx claude-flow workflow create --name "deploy-api"
|
|
19
|
+
|
|
20
|
+
# From history
|
|
21
|
+
npx claude-flow workflow create --name "test-suite" --from-history
|
|
22
|
+
|
|
23
|
+
# Interactive mode
|
|
24
|
+
npx claude-flow workflow create --interactive
|
|
25
|
+
```
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# workflow-execute
|
|
2
|
+
|
|
3
|
+
Execute saved workflows.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```bash
|
|
7
|
+
npx claude-flow workflow execute [options]
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Options
|
|
11
|
+
- `--name <name>` - Workflow name
|
|
12
|
+
- `--params <json>` - Workflow parameters
|
|
13
|
+
- `--dry-run` - Preview execution
|
|
14
|
+
|
|
15
|
+
## Examples
|
|
16
|
+
```bash
|
|
17
|
+
# Execute workflow
|
|
18
|
+
npx claude-flow workflow execute --name "deploy-api"
|
|
19
|
+
|
|
20
|
+
# With parameters
|
|
21
|
+
npx claude-flow workflow execute --name "test-suite" --params '{"env": "staging"}'
|
|
22
|
+
|
|
23
|
+
# Dry run
|
|
24
|
+
npx claude-flow workflow execute --name "deploy-api" --dry-run
|
|
25
|
+
```
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# workflow-export
|
|
2
|
+
|
|
3
|
+
Export workflows for sharing.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```bash
|
|
7
|
+
npx claude-flow workflow export [options]
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Options
|
|
11
|
+
- `--name <name>` - Workflow to export
|
|
12
|
+
- `--format <type>` - Export format
|
|
13
|
+
- `--include-history` - Include execution history
|
|
14
|
+
|
|
15
|
+
## Examples
|
|
16
|
+
```bash
|
|
17
|
+
# Export workflow
|
|
18
|
+
npx claude-flow workflow export --name "deploy-api"
|
|
19
|
+
|
|
20
|
+
# As YAML
|
|
21
|
+
npx claude-flow workflow export --name "test-suite" --format yaml
|
|
22
|
+
|
|
23
|
+
# With history
|
|
24
|
+
npx claude-flow workflow export --name "deploy-api" --include-history
|
|
25
|
+
```
|
|
@@ -90,7 +90,7 @@ Automatic checkpoint created by Claude Code
|
|
|
90
90
|
|
|
91
91
|
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
|
92
92
|
|
|
93
|
-
Co-Authored-By: Claude Opus 4.
|
|
93
|
+
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>" --quiet 2>/dev/null; then
|
|
94
94
|
log "Created commit: $message"
|
|
95
95
|
|
|
96
96
|
# Push if enabled
|
|
@@ -31,6 +31,27 @@ const log = (msg) => console.log(`${CYAN}[AutoMemory] ${msg}${RESET}`);
|
|
|
31
31
|
const success = (msg) => console.log(`${GREEN}[AutoMemory] ✓ ${msg}${RESET}`);
|
|
32
32
|
const dim = (msg) => console.log(` ${DIM}${msg}${RESET}`);
|
|
33
33
|
|
|
34
|
+
const DEBUG = !!(process.env.RUFLO_DEBUG || process.env.DEBUG);
|
|
35
|
+
|
|
36
|
+
// ── Graceful shutdown (FIX 3) ───────────────────────────────────────────────
|
|
37
|
+
// Track the backend in use so a SIGTERM/SIGINT mid-run can still flush it
|
|
38
|
+
// (the JSON backend persists; a SQLite-backed one closes/flushes WAL) instead
|
|
39
|
+
// of leaving a half-written store or a stale lock behind.
|
|
40
|
+
let activeBackend = null;
|
|
41
|
+
let shuttingDown = false;
|
|
42
|
+
function trackBackend(b) { activeBackend = b; return b; }
|
|
43
|
+
async function gracefulExit(signal) {
|
|
44
|
+
if (shuttingDown) return;
|
|
45
|
+
shuttingDown = true;
|
|
46
|
+
if (DEBUG) process.stderr.write(`[AutoMemory] received ${signal}, flushing backend before exit\n`);
|
|
47
|
+
try {
|
|
48
|
+
if (activeBackend && typeof activeBackend.shutdown === 'function') await activeBackend.shutdown();
|
|
49
|
+
} catch { /* best effort — never block exit on cleanup */ }
|
|
50
|
+
process.exit(0);
|
|
51
|
+
}
|
|
52
|
+
process.on('SIGTERM', () => { gracefulExit('SIGTERM'); });
|
|
53
|
+
process.on('SIGINT', () => { gracefulExit('SIGINT'); });
|
|
54
|
+
|
|
34
55
|
// Ensure data dir
|
|
35
56
|
if (!existsSync(DATA_DIR)) mkdirSync(DATA_DIR, { recursive: true });
|
|
36
57
|
|
|
@@ -219,7 +240,7 @@ async function doImport() {
|
|
|
219
240
|
}
|
|
220
241
|
|
|
221
242
|
const config = readConfig();
|
|
222
|
-
const backend = new JsonFileBackend(STORE_PATH);
|
|
243
|
+
const backend = trackBackend(new JsonFileBackend(STORE_PATH));
|
|
223
244
|
await backend.initialize();
|
|
224
245
|
|
|
225
246
|
const bridgeConfig = {
|
|
@@ -272,7 +293,7 @@ async function doSync() {
|
|
|
272
293
|
}
|
|
273
294
|
|
|
274
295
|
const config = readConfig();
|
|
275
|
-
const backend = new JsonFileBackend(STORE_PATH);
|
|
296
|
+
const backend = trackBackend(new JsonFileBackend(STORE_PATH));
|
|
276
297
|
await backend.initialize();
|
|
277
298
|
|
|
278
299
|
const entryCount = await backend.count();
|
|
@@ -348,6 +369,18 @@ async function doStatus() {
|
|
|
348
369
|
|
|
349
370
|
const command = process.argv[2] || 'status';
|
|
350
371
|
|
|
372
|
+
// Dynamic import() failures can surface as unhandled rejections on a later
|
|
373
|
+
// microtask even when the awaiting call site already caught them, which would
|
|
374
|
+
// otherwise force a non-zero exit. Swallow to keep hooks exit-0, but surface the
|
|
375
|
+
// reason under RUFLO_DEBUG/DEBUG so genuine async bugs aren't silently hidden
|
|
376
|
+
// (FIX 2 — the previous `() => {}` discarded every rejection process-wide).
|
|
377
|
+
process.on('unhandledRejection', (reason) => {
|
|
378
|
+
if (DEBUG) {
|
|
379
|
+
const detail = reason && reason.message ? reason.message : String(reason);
|
|
380
|
+
process.stderr.write(`[AutoMemory] unhandledRejection (suppressed): ${detail}\n`);
|
|
381
|
+
}
|
|
382
|
+
});
|
|
383
|
+
|
|
351
384
|
try {
|
|
352
385
|
switch (command) {
|
|
353
386
|
case 'import': await doImport(); break;
|
|
@@ -361,5 +394,5 @@ try {
|
|
|
361
394
|
// Hooks must never crash Claude Code - fail silently
|
|
362
395
|
try { dim(`Error (non-critical): ${err.message}`); } catch (_) {}
|
|
363
396
|
}
|
|
364
|
-
//
|
|
365
|
-
process.
|
|
397
|
+
// Force clean exit — process.exitCode alone isn't enough if async errors override it
|
|
398
|
+
process.exit(0);
|
|
@@ -1,25 +1,43 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
2
|
/**
|
|
4
|
-
* Safe GitHub CLI Helper
|
|
5
|
-
*
|
|
6
|
-
*
|
|
3
|
+
* Safe GitHub CLI Helper — v1.0.0
|
|
4
|
+
*
|
|
5
|
+
* Prevents injection issues when using `gh` commands with untrusted content
|
|
6
|
+
* (PR bodies, issue bodies, comment bodies) by routing the body through a
|
|
7
|
+
* temp file and using `--body-file` rather than interpolating into shell args.
|
|
8
|
+
*
|
|
9
|
+
* ADR-127 Phase 2 hardening:
|
|
10
|
+
* - GITHUB_SAFE_VERSION exported for smoke assertions.
|
|
11
|
+
* - Explicit 256KB body cap: rejects oversized bodies before any temp-file
|
|
12
|
+
* write, matching the GitHub API `body` field limit.
|
|
13
|
+
* - Strict error handling: all execSync calls inside try/catch; cleanup in
|
|
14
|
+
* finally; non-zero exit on any error.
|
|
15
|
+
* - GITHUB_SAFE_DRY_RUN=1 env-var skips the actual `gh` exec for testing.
|
|
16
|
+
*
|
|
7
17
|
* Usage:
|
|
8
|
-
* ./github-safe.js issue comment 123 "Message with
|
|
18
|
+
* ./github-safe.js issue comment 123 "Message with \`backticks\`"
|
|
9
19
|
* ./github-safe.js pr create --title "Title" --body "Complex body"
|
|
10
20
|
*/
|
|
11
21
|
|
|
12
|
-
import { execSync } from 'child_process';
|
|
22
|
+
import { execSync, execFileSync } from 'child_process';
|
|
13
23
|
import { writeFileSync, unlinkSync } from 'fs';
|
|
14
24
|
import { tmpdir } from 'os';
|
|
15
25
|
import { join } from 'path';
|
|
16
26
|
import { randomBytes } from 'crypto';
|
|
17
27
|
|
|
28
|
+
// Version constant — asserted by smoke-github-safe-injection.mjs.
|
|
29
|
+
export const GITHUB_SAFE_VERSION = '1.0.0';
|
|
30
|
+
|
|
31
|
+
// Maximum body size allowed (bytes). The GitHub API enforces 65536 chars for
|
|
32
|
+
// issue/PR bodies; the CLI is more lenient but the 256KB limit is a
|
|
33
|
+
// conservative safety cap that prevents accidental oversized writes.
|
|
34
|
+
const MAX_BODY_BYTES = 256 * 1024;
|
|
35
|
+
|
|
18
36
|
const args = process.argv.slice(2);
|
|
19
37
|
|
|
20
38
|
if (args.length < 2) {
|
|
21
39
|
console.log(`
|
|
22
|
-
Safe GitHub CLI Helper
|
|
40
|
+
Safe GitHub CLI Helper v${GITHUB_SAFE_VERSION}
|
|
23
41
|
|
|
24
42
|
Usage:
|
|
25
43
|
./github-safe.js issue comment <number> <body>
|
|
@@ -27,11 +45,11 @@ Usage:
|
|
|
27
45
|
./github-safe.js issue create --title <title> --body <body>
|
|
28
46
|
./github-safe.js pr create --title <title> --body <body>
|
|
29
47
|
|
|
30
|
-
This helper prevents
|
|
48
|
+
This helper prevents injection issues with special characters:
|
|
31
49
|
- Backticks in code examples
|
|
32
|
-
- Command substitution
|
|
33
|
-
-
|
|
34
|
-
-
|
|
50
|
+
- Command substitution $(...)
|
|
51
|
+
- Semicolons and other shell metacharacters
|
|
52
|
+
- Oversized bodies (> 256 KB rejected)
|
|
35
53
|
`);
|
|
36
54
|
process.exit(1);
|
|
37
55
|
}
|
|
@@ -39,68 +57,100 @@ This helper prevents timeout issues with special characters like:
|
|
|
39
57
|
const [command, subcommand, ...restArgs] = args;
|
|
40
58
|
|
|
41
59
|
// Handle commands that need body content
|
|
42
|
-
if ((command === 'issue' || command === 'pr') &&
|
|
60
|
+
if ((command === 'issue' || command === 'pr') &&
|
|
43
61
|
(subcommand === 'comment' || subcommand === 'create')) {
|
|
44
|
-
|
|
62
|
+
|
|
45
63
|
let bodyIndex = -1;
|
|
46
64
|
let body = '';
|
|
47
|
-
|
|
65
|
+
|
|
48
66
|
if (subcommand === 'comment' && restArgs.length >= 2) {
|
|
49
67
|
// Simple format: github-safe.js issue comment 123 "body"
|
|
50
68
|
body = restArgs[1];
|
|
51
69
|
bodyIndex = 1;
|
|
52
70
|
} else {
|
|
53
|
-
// Flag format: --body "content"
|
|
71
|
+
// Flag format: --body "content"
|
|
54
72
|
bodyIndex = restArgs.indexOf('--body');
|
|
55
73
|
if (bodyIndex !== -1 && bodyIndex < restArgs.length - 1) {
|
|
56
74
|
body = restArgs[bodyIndex + 1];
|
|
57
75
|
}
|
|
58
76
|
}
|
|
59
|
-
|
|
77
|
+
|
|
60
78
|
if (body) {
|
|
61
|
-
//
|
|
79
|
+
// Enforce 256KB cap before any file I/O.
|
|
80
|
+
const bodyBytes = Buffer.byteLength(body, 'utf8');
|
|
81
|
+
if (bodyBytes > MAX_BODY_BYTES) {
|
|
82
|
+
console.error(
|
|
83
|
+
`[ERROR] Body exceeds maximum allowed size (${bodyBytes} bytes > ${MAX_BODY_BYTES} bytes). ` +
|
|
84
|
+
'GitHub API body fields are capped at 256KB. Truncate the body before passing it to github-safe.js.'
|
|
85
|
+
);
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// Use temporary file for body content — never interpolate into argv.
|
|
62
90
|
const tmpFile = join(tmpdir(), `gh-body-${randomBytes(8).toString('hex')}.tmp`);
|
|
63
|
-
|
|
91
|
+
|
|
64
92
|
try {
|
|
65
93
|
writeFileSync(tmpFile, body, 'utf8');
|
|
66
|
-
|
|
94
|
+
|
|
67
95
|
// Build new command with --body-file
|
|
68
96
|
const newArgs = [...restArgs];
|
|
69
97
|
if (subcommand === 'comment' && bodyIndex === 1) {
|
|
70
|
-
// Replace body with --body-file
|
|
98
|
+
// Replace positional body arg with --body-file
|
|
71
99
|
newArgs[1] = '--body-file';
|
|
72
100
|
newArgs.push(tmpFile);
|
|
73
101
|
} else if (bodyIndex !== -1) {
|
|
74
|
-
// Replace --body with --body-file
|
|
102
|
+
// Replace --body flag pair with --body-file
|
|
75
103
|
newArgs[bodyIndex] = '--body-file';
|
|
76
104
|
newArgs[bodyIndex + 1] = tmpFile;
|
|
77
105
|
}
|
|
78
|
-
|
|
79
|
-
//
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
106
|
+
|
|
107
|
+
// Skip actual gh exec in dry-run mode (used by smoke tests).
|
|
108
|
+
if (process.env.GITHUB_SAFE_DRY_RUN === '1') {
|
|
109
|
+
const ghArgs = [command, subcommand, ...newArgs];
|
|
110
|
+
console.log(`[DRY-RUN] gh ${ghArgs.join(' ')}`);
|
|
111
|
+
process.exit(0);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
const ghArgv = [command, subcommand, ...newArgs];
|
|
115
|
+
console.log(`Executing: gh ${ghArgv.join(' ')}`);
|
|
116
|
+
|
|
117
|
+
// Use execFileSync to avoid shell interpolation — args are passed as an
|
|
118
|
+
// array so shell metacharacters in tmpFile path cannot be exploited.
|
|
119
|
+
execFileSync('gh', ghArgv, {
|
|
84
120
|
stdio: 'inherit',
|
|
85
|
-
timeout: 30000
|
|
121
|
+
timeout: 30000,
|
|
86
122
|
});
|
|
87
|
-
|
|
123
|
+
|
|
88
124
|
} catch (error) {
|
|
89
|
-
console.error('
|
|
125
|
+
console.error('[ERROR]', error.message);
|
|
90
126
|
process.exit(1);
|
|
91
127
|
} finally {
|
|
92
|
-
//
|
|
93
|
-
try {
|
|
94
|
-
unlinkSync(tmpFile);
|
|
95
|
-
} catch (e) {
|
|
96
|
-
// Ignore cleanup errors
|
|
97
|
-
}
|
|
128
|
+
// Always clean up the temp file.
|
|
129
|
+
try { unlinkSync(tmpFile); } catch (_) { /* ignore cleanup errors */ }
|
|
98
130
|
}
|
|
99
131
|
} else {
|
|
100
|
-
// No body content
|
|
101
|
-
|
|
132
|
+
// No body content — execute normally (no injection risk for args).
|
|
133
|
+
if (process.env.GITHUB_SAFE_DRY_RUN === '1') {
|
|
134
|
+
console.log(`[DRY-RUN] gh ${args.join(' ')}`);
|
|
135
|
+
process.exit(0);
|
|
136
|
+
}
|
|
137
|
+
try {
|
|
138
|
+
execFileSync('gh', args, { stdio: 'inherit' });
|
|
139
|
+
} catch (error) {
|
|
140
|
+
console.error('[ERROR]', error.message);
|
|
141
|
+
process.exit(1);
|
|
142
|
+
}
|
|
102
143
|
}
|
|
103
144
|
} else {
|
|
104
|
-
//
|
|
105
|
-
|
|
145
|
+
// Non-body commands — execute normally.
|
|
146
|
+
if (process.env.GITHUB_SAFE_DRY_RUN === '1') {
|
|
147
|
+
console.log(`[DRY-RUN] gh ${args.join(' ')}`);
|
|
148
|
+
process.exit(0);
|
|
149
|
+
}
|
|
150
|
+
try {
|
|
151
|
+
execFileSync('gh', args, { stdio: 'inherit' });
|
|
152
|
+
} catch (error) {
|
|
153
|
+
console.error('[ERROR]', error.message);
|
|
154
|
+
process.exit(1);
|
|
155
|
+
}
|
|
106
156
|
}
|
|
@@ -1,28 +1,45 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
+
# Security rationale: set -euo pipefail ensures that:
|
|
3
|
+
# -e — exit immediately if any command fails (no silent failures)
|
|
4
|
+
# -u — treat unset variables as errors (prevents empty-string expansion bugs)
|
|
5
|
+
# -o pipefail — pipeline fails if any command in it fails (not just last)
|
|
6
|
+
# This matches the ADR-127 Phase 2 requirement for github-setup.sh hardening.
|
|
7
|
+
set -euo pipefail
|
|
8
|
+
|
|
2
9
|
# Setup GitHub integration for Claude Flow
|
|
3
10
|
|
|
4
|
-
echo "
|
|
11
|
+
echo "Setting up GitHub integration..."
|
|
5
12
|
|
|
6
13
|
# Check for gh CLI
|
|
7
14
|
if ! command -v gh &> /dev/null; then
|
|
8
|
-
echo "
|
|
15
|
+
echo "WARNING: GitHub CLI (gh) not found"
|
|
9
16
|
echo "Install from: https://cli.github.com/"
|
|
10
17
|
echo "Continuing without GitHub features..."
|
|
11
18
|
else
|
|
12
|
-
echo "
|
|
13
|
-
|
|
14
|
-
# Check auth status
|
|
15
|
-
|
|
16
|
-
|
|
19
|
+
echo "OK: GitHub CLI found"
|
|
20
|
+
|
|
21
|
+
# Check auth status and scope sufficiency.
|
|
22
|
+
# `gh auth status` exits non-zero when not authenticated.
|
|
23
|
+
# We additionally parse for "Token scopes" to verify we have at least
|
|
24
|
+
# 'repo' scope, which is required for PR/issue operations.
|
|
25
|
+
if gh auth status 2>&1 | grep -q "Logged in"; then
|
|
26
|
+
echo "OK: GitHub authentication active"
|
|
27
|
+
# Verify repo scope is present for PR/issue operations.
|
|
28
|
+
if gh auth status 2>&1 | grep -q "repo"; then
|
|
29
|
+
echo "OK: 'repo' scope available"
|
|
30
|
+
else
|
|
31
|
+
echo "WARNING: 'repo' scope not confirmed — PR/issue operations may fail"
|
|
32
|
+
echo "Run: gh auth login --scopes repo,read:org"
|
|
33
|
+
fi
|
|
17
34
|
else
|
|
18
|
-
echo "
|
|
35
|
+
echo "WARNING: Not authenticated with GitHub"
|
|
19
36
|
echo "Run: gh auth login"
|
|
20
37
|
fi
|
|
21
38
|
fi
|
|
22
39
|
|
|
23
40
|
echo ""
|
|
24
|
-
echo "
|
|
25
|
-
echo " - npx
|
|
26
|
-
echo " - npx
|
|
27
|
-
echo " - npx
|
|
28
|
-
echo " - npx
|
|
41
|
+
echo "GitHub swarm commands available:"
|
|
42
|
+
echo " - npx claude-flow github swarm"
|
|
43
|
+
echo " - npx claude-flow repo analyze"
|
|
44
|
+
echo " - npx claude-flow pr enhance"
|
|
45
|
+
echo " - npx claude-flow issue triage"
|