agents-inc 0.152.0 → 0.153.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 +44 -0
- package/README.md +44 -48
- package/dist/{chunk-LDP5ASDM.js → chunk-2HC2SNRP.js} +2 -15
- package/dist/chunk-2HC2SNRP.js.map +1 -0
- package/dist/{chunk-WKTHWQKM.js → chunk-35VOK7XE.js} +1338 -2573
- package/dist/chunk-35VOK7XE.js.map +1 -0
- package/dist/{chunk-SX5H6TSC.js → chunk-4VYALFQZ.js} +11 -8
- package/dist/chunk-4VYALFQZ.js.map +1 -0
- package/dist/{chunk-KXYVJGJP.js → chunk-6CNRMCFM.js} +3 -2
- package/dist/{chunk-KXYVJGJP.js.map → chunk-6CNRMCFM.js.map} +1 -1
- package/dist/{chunk-LZ52XEPR.js → chunk-ACKC577F.js} +7 -6
- package/dist/chunk-ACKC577F.js.map +1 -0
- package/dist/{chunk-XHUODHZ4.js → chunk-BMGBA6HJ.js} +22 -49
- package/dist/chunk-BMGBA6HJ.js.map +1 -0
- package/dist/{chunk-FVDKAVOL.js → chunk-EFU6P3B7.js} +18 -51
- package/dist/chunk-EFU6P3B7.js.map +1 -0
- package/dist/{chunk-STMHDOZD.js → chunk-F7Z5I6GU.js} +12 -9
- package/dist/chunk-F7Z5I6GU.js.map +1 -0
- package/dist/{chunk-E5X6RJ4E.js → chunk-FIHTAFST.js} +29 -26
- package/dist/chunk-FIHTAFST.js.map +1 -0
- package/dist/{chunk-QZZJFYUQ.js → chunk-FRWKCE6R.js} +3 -3
- package/dist/chunk-FRWKCE6R.js.map +1 -0
- package/dist/{chunk-5UWKOOIS.js → chunk-HEBPKK5L.js} +129 -195
- package/dist/chunk-HEBPKK5L.js.map +1 -0
- package/dist/{chunk-MJ2KHG24.js → chunk-IO4VEW5U.js} +6 -6
- package/dist/{chunk-MJ2KHG24.js.map → chunk-IO4VEW5U.js.map} +1 -1
- package/dist/{chunk-TUPYW2IQ.js → chunk-JC7DBPRD.js} +9 -12
- package/dist/chunk-JC7DBPRD.js.map +1 -0
- package/dist/{chunk-5GUOIJSG.js → chunk-JFAUQDZM.js} +3 -15
- package/dist/chunk-JFAUQDZM.js.map +1 -0
- package/dist/{chunk-ZL7PFNHN.js → chunk-K3O3YQYG.js} +2 -2
- package/dist/{chunk-SKQWRUPX.js → chunk-K7PJDWER.js} +59 -33
- package/dist/chunk-K7PJDWER.js.map +1 -0
- package/dist/{chunk-MVR3SYMN.js → chunk-KET3EVGX.js} +4 -3
- package/dist/{chunk-MVR3SYMN.js.map → chunk-KET3EVGX.js.map} +1 -1
- package/dist/{chunk-MWG4VU64.js → chunk-M5HSTNYU.js} +50 -56
- package/dist/chunk-M5HSTNYU.js.map +1 -0
- package/dist/{chunk-TJJPWUMA.js → chunk-NSJ2S7R5.js} +3 -2
- package/dist/{chunk-TJJPWUMA.js.map → chunk-NSJ2S7R5.js.map} +1 -1
- package/dist/{chunk-IHUY4M22.js → chunk-NXGMM5YN.js} +4 -4
- package/dist/chunk-NXQAY5U7.js +18441 -0
- package/dist/chunk-NXQAY5U7.js.map +1 -0
- package/dist/{chunk-Q2KG7UV3.js → chunk-OJJLYHM3.js} +2 -1
- package/dist/{chunk-Q2KG7UV3.js.map → chunk-OJJLYHM3.js.map} +1 -1
- package/dist/{chunk-PZIZNMHK.js → chunk-ORJ5Y222.js} +159 -138
- package/dist/chunk-ORJ5Y222.js.map +1 -0
- package/dist/{chunk-NR3OZGL4.js → chunk-OZXAJNLA.js} +2 -1
- package/dist/{chunk-NR3OZGL4.js.map → chunk-OZXAJNLA.js.map} +1 -1
- package/dist/{chunk-MM7CTTAV.js → chunk-Q5FLW4JG.js} +2 -2
- package/dist/{chunk-MM7CTTAV.js.map → chunk-Q5FLW4JG.js.map} +1 -1
- package/dist/{chunk-GRVKW3CC.js → chunk-R4SEU3DF.js} +3 -2
- package/dist/{chunk-GRVKW3CC.js.map → chunk-R4SEU3DF.js.map} +1 -1
- package/dist/{chunk-76ADG7LQ.js → chunk-R54KIGN2.js} +8 -22
- package/dist/chunk-R54KIGN2.js.map +1 -0
- package/dist/{chunk-SBHBBZKF.js → chunk-REKOWTIB.js} +25 -120
- package/dist/chunk-REKOWTIB.js.map +1 -0
- package/dist/chunk-TY6CAOL7.js +40 -0
- package/dist/chunk-TY6CAOL7.js.map +1 -0
- package/dist/{chunk-BNSRA6HL.js → chunk-U2DNAHFE.js} +39 -176
- package/dist/chunk-U2DNAHFE.js.map +1 -0
- package/dist/{chunk-PMM2MYMA.js → chunk-U2YSGBHA.js} +624 -349
- package/dist/chunk-U2YSGBHA.js.map +1 -0
- package/dist/{chunk-DTSG5XZB.js → chunk-V3ENMW7G.js} +3 -3
- package/dist/{chunk-L7SZXUBJ.js → chunk-VECFAKM5.js} +7 -6
- package/dist/{chunk-L7SZXUBJ.js.map → chunk-VECFAKM5.js.map} +1 -1
- package/dist/chunk-VGEBYCQZ.js +59 -0
- package/dist/chunk-VGEBYCQZ.js.map +1 -0
- package/dist/chunk-VZRO7RYT.js +3694 -0
- package/dist/chunk-VZRO7RYT.js.map +1 -0
- package/dist/{chunk-LASI35KT.js → chunk-WDAO3RUY.js} +14 -28
- package/dist/chunk-WDAO3RUY.js.map +1 -0
- package/dist/{chunk-MQ7FLIYS.js → chunk-WG6V6VJV.js} +3 -2
- package/dist/{chunk-MQ7FLIYS.js.map → chunk-WG6V6VJV.js.map} +1 -1
- package/dist/chunk-X5XJ6WKO.js +284 -0
- package/dist/chunk-X5XJ6WKO.js.map +1 -0
- package/dist/{chunk-RNJWAKMO.js → chunk-XGMOXMS4.js} +9 -8
- package/dist/chunk-XGMOXMS4.js.map +1 -0
- package/dist/{chunk-IUQBOCSU.js → chunk-ZBPEFQ4G.js} +2 -1
- package/dist/{chunk-IUQBOCSU.js.map → chunk-ZBPEFQ4G.js.map} +1 -1
- package/dist/{chunk-QRDTLVXG.js → chunk-ZNDLUWWD.js} +9 -22
- package/dist/chunk-ZNDLUWWD.js.map +1 -0
- package/dist/commands/build/marketplace.js +114 -35
- package/dist/commands/build/marketplace.js.map +1 -1
- package/dist/commands/build/plugins.js +9 -10
- package/dist/commands/build/plugins.js.map +1 -1
- package/dist/commands/compile.js +97 -70
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/doctor.js +793 -64
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/edit.js +169 -208
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/eject.js +24 -39
- package/dist/commands/eject.js.map +1 -1
- package/dist/commands/init.js +41 -46
- package/dist/commands/list.js +10 -12
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/search.js +20 -81
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/uninstall.js +25 -31
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.js +82 -332
- package/dist/commands/update.js.map +1 -1
- package/dist/components/common/confirm.js +1 -1
- package/dist/components/common/prompt-confirm.js +1 -1
- package/dist/components/common/select-list.js +2 -2
- package/dist/components/common/spinner.js +1 -1
- package/dist/components/wizard/category-grid.js +5 -6
- package/dist/components/wizard/checkbox-grid.js +5 -6
- package/dist/components/wizard/domain-selection.js +12 -13
- package/dist/components/wizard/run-wizard-session.js +30 -36
- package/dist/components/wizard/scroll-affordance.js +2 -2
- package/dist/components/wizard/skill-agent-summary.js +7 -7
- package/dist/components/wizard/source-grid.js +6 -11
- package/dist/components/wizard/stack-selection.js +9 -9
- package/dist/components/wizard/step-agents.js +12 -12
- package/dist/components/wizard/step-build.js +10 -11
- package/dist/components/wizard/step-confirm.js +11 -11
- package/dist/components/wizard/step-sources.js +11 -17
- package/dist/components/wizard/step-stack.js +10 -10
- package/dist/components/wizard/summary-panel.js +10 -10
- package/dist/components/wizard/toast.js +2 -2
- package/dist/components/wizard/wizard-layout.js +15 -16
- package/dist/components/wizard/wizard-tabs.js +6 -12
- package/dist/components/wizard/wizard.js +29 -35
- package/dist/config-exports.js +1 -1
- package/dist/copy-local-skills-KF2RAVD3.js +14 -0
- package/dist/hooks/init.js +49 -48
- package/dist/hooks/init.js.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/load-agent-defs-DGXGBU3Q.js +15 -0
- package/dist/{loader-5JP4S7CJ.js → loader-4U7UCE2Y.js} +7 -5
- package/dist/recompile-project-agents-CJVBAWDJ.js +20 -0
- package/dist/{source-loader-MZYCPL2S.js → source-loader-ZNSYJJCI.js} +6 -6
- package/dist/src/agents/developer/ai-developer/identity.md +4 -4
- package/dist/src/agents/developer/ai-developer/playbook.md +1 -1
- package/dist/src/agents/developer/api-developer/identity.md +4 -4
- package/dist/src/agents/developer/api-developer/metadata.yaml +1 -1
- package/dist/src/agents/developer/cli-developer/identity.md +4 -4
- package/dist/src/agents/developer/web-developer/identity.md +2 -2
- package/dist/src/agents/developer/web-developer/metadata.yaml +1 -1
- package/dist/src/agents/meta/agent-summoner/identity.md +4 -5
- package/dist/src/agents/meta/agent-summoner/output.md +2 -2
- package/dist/src/agents/meta/agent-summoner/playbook.md +15 -16
- package/dist/src/agents/meta/codex-keeper/identity.md +4 -4
- package/dist/src/agents/meta/codex-keeper/playbook.md +1 -1
- package/dist/src/agents/meta/convention-keeper/identity.md +1 -1
- package/dist/src/agents/meta/skill-summoner/critical-reminders.md +0 -34
- package/dist/src/agents/meta/skill-summoner/critical-requirements.md +27 -3
- package/dist/src/agents/meta/skill-summoner/identity.md +2 -2
- package/{src/agents/planning/web-pm → dist/src/agents/planning/pm}/critical-reminders.md +10 -7
- package/dist/src/agents/planning/{web-pm → pm}/critical-requirements.md +8 -4
- package/dist/src/agents/planning/pm/identity.md +47 -0
- package/dist/src/agents/planning/pm/metadata.yaml +12 -0
- package/dist/src/agents/planning/{web-pm → pm}/output.md +7 -90
- package/dist/src/agents/planning/pm/playbook.md +185 -0
- package/dist/src/agents/researcher/ai-researcher/critical-reminders.md +58 -0
- package/dist/src/agents/researcher/ai-researcher/critical-requirements.md +40 -0
- package/dist/src/agents/researcher/ai-researcher/identity.md +86 -0
- package/dist/src/agents/researcher/ai-researcher/metadata.yaml +10 -0
- package/dist/src/agents/researcher/ai-researcher/output.md +363 -0
- package/dist/src/agents/researcher/ai-researcher/playbook.md +545 -0
- package/dist/src/agents/researcher/api-researcher/critical-reminders.md +16 -0
- package/dist/src/agents/researcher/api-researcher/identity.md +7 -7
- package/dist/src/agents/researcher/cli-researcher/critical-reminders.md +50 -0
- package/dist/src/agents/researcher/cli-researcher/critical-requirements.md +36 -0
- package/dist/src/agents/researcher/cli-researcher/identity.md +87 -0
- package/dist/src/agents/researcher/cli-researcher/metadata.yaml +10 -0
- package/dist/src/agents/researcher/cli-researcher/output.md +343 -0
- package/dist/src/agents/researcher/cli-researcher/playbook.md +370 -0
- package/dist/src/agents/researcher/web-researcher/identity.md +5 -6
- package/dist/src/agents/reviewer/reviewer/critical-reminders.md +29 -0
- package/dist/src/agents/reviewer/reviewer/critical-requirements.md +31 -0
- package/dist/src/agents/reviewer/reviewer/identity.md +41 -0
- package/dist/src/agents/reviewer/reviewer/metadata.yaml +12 -0
- package/dist/src/agents/reviewer/reviewer/output.md +202 -0
- package/dist/src/agents/reviewer/reviewer/playbook.md +141 -0
- package/dist/src/agents/tester/ai-tester/critical-reminders.md +48 -0
- package/dist/src/agents/tester/ai-tester/critical-requirements.md +49 -0
- package/dist/src/agents/tester/ai-tester/identity.md +62 -0
- package/dist/src/agents/tester/ai-tester/metadata.yaml +12 -0
- package/dist/src/agents/tester/ai-tester/output.md +375 -0
- package/dist/src/agents/tester/ai-tester/playbook.md +789 -0
- package/dist/src/agents/tester/api-tester/identity.md +3 -3
- package/dist/src/agents/tester/cli-tester/critical-reminders.md +3 -3
- package/dist/src/agents/tester/cli-tester/critical-requirements.md +2 -2
- package/dist/src/agents/tester/cli-tester/identity.md +3 -3
- package/dist/src/agents/tester/cli-tester/output.md +4 -4
- package/dist/src/agents/tester/cli-tester/playbook.md +3 -3
- package/dist/src/agents/tester/web-tester/identity.md +3 -3
- package/dist/stores/wizard-store.js +8 -6
- package/package.json +13 -2
- package/src/agents/developer/ai-developer/identity.md +4 -4
- package/src/agents/developer/ai-developer/playbook.md +1 -1
- package/src/agents/developer/api-developer/identity.md +4 -4
- package/src/agents/developer/api-developer/metadata.yaml +1 -1
- package/src/agents/developer/cli-developer/identity.md +4 -4
- package/src/agents/developer/web-developer/identity.md +2 -2
- package/src/agents/developer/web-developer/metadata.yaml +1 -1
- package/src/agents/meta/agent-summoner/identity.md +4 -5
- package/src/agents/meta/agent-summoner/output.md +2 -2
- package/src/agents/meta/agent-summoner/playbook.md +15 -16
- package/src/agents/meta/codex-keeper/identity.md +4 -4
- package/src/agents/meta/codex-keeper/playbook.md +1 -1
- package/src/agents/meta/convention-keeper/identity.md +1 -1
- package/src/agents/meta/skill-summoner/critical-reminders.md +0 -34
- package/src/agents/meta/skill-summoner/critical-requirements.md +27 -3
- package/src/agents/meta/skill-summoner/identity.md +2 -2
- package/{dist/src/agents/planning/web-pm → src/agents/planning/pm}/critical-reminders.md +10 -7
- package/src/agents/planning/{web-pm → pm}/critical-requirements.md +8 -4
- package/src/agents/planning/pm/identity.md +47 -0
- package/src/agents/planning/pm/metadata.yaml +12 -0
- package/src/agents/planning/{web-pm → pm}/output.md +7 -90
- package/src/agents/planning/pm/playbook.md +185 -0
- package/src/agents/researcher/ai-researcher/critical-reminders.md +58 -0
- package/src/agents/researcher/ai-researcher/critical-requirements.md +40 -0
- package/src/agents/researcher/ai-researcher/identity.md +86 -0
- package/src/agents/researcher/ai-researcher/metadata.yaml +10 -0
- package/src/agents/researcher/ai-researcher/output.md +363 -0
- package/src/agents/researcher/ai-researcher/playbook.md +545 -0
- package/src/agents/researcher/api-researcher/critical-reminders.md +16 -0
- package/src/agents/researcher/api-researcher/identity.md +7 -7
- package/src/agents/researcher/cli-researcher/critical-reminders.md +50 -0
- package/src/agents/researcher/cli-researcher/critical-requirements.md +36 -0
- package/src/agents/researcher/cli-researcher/identity.md +87 -0
- package/src/agents/researcher/cli-researcher/metadata.yaml +10 -0
- package/src/agents/researcher/cli-researcher/output.md +343 -0
- package/src/agents/researcher/cli-researcher/playbook.md +370 -0
- package/src/agents/researcher/web-researcher/identity.md +5 -6
- package/src/agents/reviewer/reviewer/critical-reminders.md +29 -0
- package/src/agents/reviewer/reviewer/critical-requirements.md +31 -0
- package/src/agents/reviewer/reviewer/identity.md +41 -0
- package/src/agents/reviewer/reviewer/metadata.yaml +12 -0
- package/src/agents/reviewer/reviewer/output.md +202 -0
- package/src/agents/reviewer/reviewer/playbook.md +141 -0
- package/src/agents/tester/ai-tester/critical-reminders.md +48 -0
- package/src/agents/tester/ai-tester/critical-requirements.md +49 -0
- package/src/agents/tester/ai-tester/identity.md +62 -0
- package/src/agents/tester/ai-tester/metadata.yaml +12 -0
- package/src/agents/tester/ai-tester/output.md +375 -0
- package/src/agents/tester/ai-tester/playbook.md +789 -0
- package/src/agents/tester/api-tester/identity.md +3 -3
- package/src/agents/tester/cli-tester/critical-reminders.md +3 -3
- package/src/agents/tester/cli-tester/critical-requirements.md +2 -2
- package/src/agents/tester/cli-tester/identity.md +3 -3
- package/src/agents/tester/cli-tester/output.md +4 -4
- package/src/agents/tester/cli-tester/playbook.md +3 -3
- package/src/agents/tester/web-tester/identity.md +3 -3
- package/src/schemas/metadata.schema.json +31 -2
- package/src/schemas/project-config.schema.json +61 -15
- package/src/schemas/project-source-config.schema.json +0 -47
- package/dist/chunk-5GUOIJSG.js.map +0 -1
- package/dist/chunk-5UWKOOIS.js.map +0 -1
- package/dist/chunk-76ADG7LQ.js.map +0 -1
- package/dist/chunk-BNSRA6HL.js.map +0 -1
- package/dist/chunk-E5X6RJ4E.js.map +0 -1
- package/dist/chunk-EEPELKOM.js +0 -5938
- package/dist/chunk-EEPELKOM.js.map +0 -1
- package/dist/chunk-F7T5AFFN.js +0 -20
- package/dist/chunk-F7T5AFFN.js.map +0 -1
- package/dist/chunk-FVDKAVOL.js.map +0 -1
- package/dist/chunk-KFB5CRXZ.js +0 -377
- package/dist/chunk-KFB5CRXZ.js.map +0 -1
- package/dist/chunk-KR65TPKC.js +0 -664
- package/dist/chunk-KR65TPKC.js.map +0 -1
- package/dist/chunk-LASI35KT.js.map +0 -1
- package/dist/chunk-LDP5ASDM.js.map +0 -1
- package/dist/chunk-LZ52XEPR.js.map +0 -1
- package/dist/chunk-M7HO7NBK.js +0 -88
- package/dist/chunk-M7HO7NBK.js.map +0 -1
- package/dist/chunk-MWG4VU64.js.map +0 -1
- package/dist/chunk-ODNDXQH2.js +0 -77
- package/dist/chunk-ODNDXQH2.js.map +0 -1
- package/dist/chunk-P44SXVH3.js +0 -80
- package/dist/chunk-P44SXVH3.js.map +0 -1
- package/dist/chunk-PMM2MYMA.js.map +0 -1
- package/dist/chunk-PZIZNMHK.js.map +0 -1
- package/dist/chunk-Q45ZU6HD.js +0 -37
- package/dist/chunk-Q45ZU6HD.js.map +0 -1
- package/dist/chunk-QRDTLVXG.js.map +0 -1
- package/dist/chunk-QZZJFYUQ.js.map +0 -1
- package/dist/chunk-R5NOI2LP.js +0 -170
- package/dist/chunk-R5NOI2LP.js.map +0 -1
- package/dist/chunk-RNJWAKMO.js.map +0 -1
- package/dist/chunk-SBHBBZKF.js.map +0 -1
- package/dist/chunk-SKQWRUPX.js.map +0 -1
- package/dist/chunk-STMHDOZD.js.map +0 -1
- package/dist/chunk-SX5H6TSC.js.map +0 -1
- package/dist/chunk-TUPYW2IQ.js.map +0 -1
- package/dist/chunk-UBEDZ4FD.js +0 -4198
- package/dist/chunk-UBEDZ4FD.js.map +0 -1
- package/dist/chunk-VY6MNOXL.js +0 -20
- package/dist/chunk-VY6MNOXL.js.map +0 -1
- package/dist/chunk-WBCPLH66.js +0 -42
- package/dist/chunk-WBCPLH66.js.map +0 -1
- package/dist/chunk-WKTHWQKM.js.map +0 -1
- package/dist/chunk-XHUODHZ4.js.map +0 -1
- package/dist/chunk-ZPPHXXAP.js +0 -252
- package/dist/chunk-ZPPHXXAP.js.map +0 -1
- package/dist/commands/import/skill.js +0 -344
- package/dist/commands/import/skill.js.map +0 -1
- package/dist/commands/new/agent.js +0 -300
- package/dist/commands/new/agent.js.map +0 -1
- package/dist/commands/new/marketplace.js +0 -310
- package/dist/commands/new/marketplace.js.map +0 -1
- package/dist/commands/new/skill.js +0 -26
- package/dist/commands/validate.js +0 -575
- package/dist/commands/validate.js.map +0 -1
- package/dist/components/wizard/search-modal.js +0 -13
- package/dist/components/wizard/selection-card.js +0 -9
- package/dist/components/wizard/step-settings.js +0 -18
- package/dist/copy-local-skills-6EMVN7RB.js +0 -14
- package/dist/load-agent-defs-BWOUVEAR.js +0 -15
- package/dist/load-agent-defs-BWOUVEAR.js.map +0 -1
- package/dist/loader-5JP4S7CJ.js.map +0 -1
- package/dist/recompile-project-agents-6DL45TDI.js +0 -19
- package/dist/recompile-project-agents-6DL45TDI.js.map +0 -1
- package/dist/source-loader-MZYCPL2S.js.map +0 -1
- package/dist/src/agents/developer/web-architecture/critical-reminders.md +0 -48
- package/dist/src/agents/developer/web-architecture/critical-requirements.md +0 -65
- package/dist/src/agents/developer/web-architecture/identity.md +0 -64
- package/dist/src/agents/developer/web-architecture/metadata.yaml +0 -12
- package/dist/src/agents/developer/web-architecture/output.md +0 -449
- package/dist/src/agents/developer/web-architecture/playbook.md +0 -481
- package/dist/src/agents/pattern/pattern-scout/critical-reminders.md +0 -71
- package/dist/src/agents/pattern/pattern-scout/critical-requirements.md +0 -31
- package/dist/src/agents/pattern/pattern-scout/identity.md +0 -25
- package/dist/src/agents/pattern/pattern-scout/metadata.yaml +0 -10
- package/dist/src/agents/pattern/pattern-scout/output.md +0 -290
- package/dist/src/agents/pattern/pattern-scout/playbook.md +0 -1806
- package/dist/src/agents/pattern/web-pattern-critique/critical-reminders.md +0 -30
- package/dist/src/agents/pattern/web-pattern-critique/critical-requirements.md +0 -28
- package/dist/src/agents/pattern/web-pattern-critique/identity.md +0 -41
- package/dist/src/agents/pattern/web-pattern-critique/metadata.yaml +0 -12
- package/dist/src/agents/pattern/web-pattern-critique/output.md +0 -314
- package/dist/src/agents/pattern/web-pattern-critique/playbook.md +0 -572
- package/dist/src/agents/planning/api-pm/critical-reminders.md +0 -48
- package/dist/src/agents/planning/api-pm/critical-requirements.md +0 -41
- package/dist/src/agents/planning/api-pm/identity.md +0 -39
- package/dist/src/agents/planning/api-pm/metadata.yaml +0 -12
- package/dist/src/agents/planning/api-pm/output.md +0 -475
- package/dist/src/agents/planning/api-pm/playbook.md +0 -129
- package/dist/src/agents/planning/web-pm/identity.md +0 -26
- package/dist/src/agents/planning/web-pm/metadata.yaml +0 -12
- package/dist/src/agents/planning/web-pm/playbook.md +0 -318
- package/dist/src/agents/reviewer/ai-reviewer/critical-reminders.md +0 -40
- package/dist/src/agents/reviewer/ai-reviewer/critical-requirements.md +0 -37
- package/dist/src/agents/reviewer/ai-reviewer/identity.md +0 -51
- package/dist/src/agents/reviewer/ai-reviewer/metadata.yaml +0 -10
- package/dist/src/agents/reviewer/ai-reviewer/output.md +0 -395
- package/dist/src/agents/reviewer/ai-reviewer/playbook.md +0 -90
- package/dist/src/agents/reviewer/api-reviewer/critical-reminders.md +0 -31
- package/dist/src/agents/reviewer/api-reviewer/critical-requirements.md +0 -27
- package/dist/src/agents/reviewer/api-reviewer/identity.md +0 -51
- package/dist/src/agents/reviewer/api-reviewer/metadata.yaml +0 -12
- package/dist/src/agents/reviewer/api-reviewer/output.md +0 -343
- package/dist/src/agents/reviewer/api-reviewer/playbook.md +0 -288
- package/dist/src/agents/reviewer/cli-reviewer/critical-reminders.md +0 -33
- package/dist/src/agents/reviewer/cli-reviewer/critical-requirements.md +0 -30
- package/dist/src/agents/reviewer/cli-reviewer/identity.md +0 -44
- package/dist/src/agents/reviewer/cli-reviewer/metadata.yaml +0 -12
- package/dist/src/agents/reviewer/cli-reviewer/output.md +0 -414
- package/dist/src/agents/reviewer/cli-reviewer/playbook.md +0 -218
- package/dist/src/agents/reviewer/infra-reviewer/critical-reminders.md +0 -38
- package/dist/src/agents/reviewer/infra-reviewer/critical-requirements.md +0 -38
- package/dist/src/agents/reviewer/infra-reviewer/identity.md +0 -53
- package/dist/src/agents/reviewer/infra-reviewer/metadata.yaml +0 -10
- package/dist/src/agents/reviewer/infra-reviewer/output.md +0 -364
- package/dist/src/agents/reviewer/infra-reviewer/playbook.md +0 -161
- package/dist/src/agents/reviewer/web-reviewer/critical-reminders.md +0 -31
- package/dist/src/agents/reviewer/web-reviewer/critical-requirements.md +0 -26
- package/dist/src/agents/reviewer/web-reviewer/identity.md +0 -40
- package/dist/src/agents/reviewer/web-reviewer/metadata.yaml +0 -12
- package/dist/src/agents/reviewer/web-reviewer/output.md +0 -333
- package/dist/src/agents/reviewer/web-reviewer/playbook.md +0 -156
- package/src/agents/developer/web-architecture/critical-reminders.md +0 -48
- package/src/agents/developer/web-architecture/critical-requirements.md +0 -65
- package/src/agents/developer/web-architecture/identity.md +0 -64
- package/src/agents/developer/web-architecture/metadata.yaml +0 -12
- package/src/agents/developer/web-architecture/output.md +0 -449
- package/src/agents/developer/web-architecture/playbook.md +0 -481
- package/src/agents/pattern/pattern-scout/critical-reminders.md +0 -71
- package/src/agents/pattern/pattern-scout/critical-requirements.md +0 -31
- package/src/agents/pattern/pattern-scout/identity.md +0 -25
- package/src/agents/pattern/pattern-scout/metadata.yaml +0 -10
- package/src/agents/pattern/pattern-scout/output.md +0 -290
- package/src/agents/pattern/pattern-scout/playbook.md +0 -1806
- package/src/agents/pattern/web-pattern-critique/critical-reminders.md +0 -30
- package/src/agents/pattern/web-pattern-critique/critical-requirements.md +0 -28
- package/src/agents/pattern/web-pattern-critique/identity.md +0 -41
- package/src/agents/pattern/web-pattern-critique/metadata.yaml +0 -12
- package/src/agents/pattern/web-pattern-critique/output.md +0 -314
- package/src/agents/pattern/web-pattern-critique/playbook.md +0 -572
- package/src/agents/planning/api-pm/critical-reminders.md +0 -48
- package/src/agents/planning/api-pm/critical-requirements.md +0 -41
- package/src/agents/planning/api-pm/identity.md +0 -39
- package/src/agents/planning/api-pm/metadata.yaml +0 -12
- package/src/agents/planning/api-pm/output.md +0 -475
- package/src/agents/planning/api-pm/playbook.md +0 -129
- package/src/agents/planning/web-pm/identity.md +0 -26
- package/src/agents/planning/web-pm/metadata.yaml +0 -12
- package/src/agents/planning/web-pm/playbook.md +0 -318
- package/src/agents/reviewer/ai-reviewer/critical-reminders.md +0 -40
- package/src/agents/reviewer/ai-reviewer/critical-requirements.md +0 -37
- package/src/agents/reviewer/ai-reviewer/identity.md +0 -51
- package/src/agents/reviewer/ai-reviewer/metadata.yaml +0 -10
- package/src/agents/reviewer/ai-reviewer/output.md +0 -395
- package/src/agents/reviewer/ai-reviewer/playbook.md +0 -90
- package/src/agents/reviewer/api-reviewer/critical-reminders.md +0 -31
- package/src/agents/reviewer/api-reviewer/critical-requirements.md +0 -27
- package/src/agents/reviewer/api-reviewer/identity.md +0 -51
- package/src/agents/reviewer/api-reviewer/metadata.yaml +0 -12
- package/src/agents/reviewer/api-reviewer/output.md +0 -343
- package/src/agents/reviewer/api-reviewer/playbook.md +0 -288
- package/src/agents/reviewer/cli-reviewer/critical-reminders.md +0 -33
- package/src/agents/reviewer/cli-reviewer/critical-requirements.md +0 -30
- package/src/agents/reviewer/cli-reviewer/identity.md +0 -44
- package/src/agents/reviewer/cli-reviewer/metadata.yaml +0 -12
- package/src/agents/reviewer/cli-reviewer/output.md +0 -414
- package/src/agents/reviewer/cli-reviewer/playbook.md +0 -218
- package/src/agents/reviewer/infra-reviewer/critical-reminders.md +0 -38
- package/src/agents/reviewer/infra-reviewer/critical-requirements.md +0 -38
- package/src/agents/reviewer/infra-reviewer/identity.md +0 -53
- package/src/agents/reviewer/infra-reviewer/metadata.yaml +0 -10
- package/src/agents/reviewer/infra-reviewer/output.md +0 -364
- package/src/agents/reviewer/infra-reviewer/playbook.md +0 -161
- package/src/agents/reviewer/web-reviewer/critical-reminders.md +0 -31
- package/src/agents/reviewer/web-reviewer/critical-requirements.md +0 -26
- package/src/agents/reviewer/web-reviewer/identity.md +0 -40
- package/src/agents/reviewer/web-reviewer/metadata.yaml +0 -12
- package/src/agents/reviewer/web-reviewer/output.md +0 -333
- package/src/agents/reviewer/web-reviewer/playbook.md +0 -156
- /package/dist/{chunk-ZL7PFNHN.js.map → chunk-K3O3YQYG.js.map} +0 -0
- /package/dist/{chunk-IHUY4M22.js.map → chunk-NXGMM5YN.js.map} +0 -0
- /package/dist/{chunk-DTSG5XZB.js.map → chunk-V3ENMW7G.js.map} +0 -0
- /package/dist/{commands/new/skill.js.map → copy-local-skills-KF2RAVD3.js.map} +0 -0
- /package/dist/{components/wizard/search-modal.js.map → load-agent-defs-DGXGBU3Q.js.map} +0 -0
- /package/dist/{components/wizard/selection-card.js.map → loader-4U7UCE2Y.js.map} +0 -0
- /package/dist/{components/wizard/step-settings.js.map → recompile-project-agents-CJVBAWDJ.js.map} +0 -0
- /package/dist/{copy-local-skills-6EMVN7RB.js.map → source-loader-ZNSYJJCI.js.map} +0 -0
package/dist/commands/edit.js
CHANGED
|
@@ -1,76 +1,69 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
Spinner
|
|
4
|
+
} from "../chunk-ZBPEFQ4G.js";
|
|
2
5
|
import {
|
|
3
6
|
runWizardSession
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-MQ7FLIYS.js";
|
|
18
|
-
import "../chunk-FVDKAVOL.js";
|
|
7
|
+
} from "../chunk-KET3EVGX.js";
|
|
8
|
+
import "../chunk-BMGBA6HJ.js";
|
|
9
|
+
import "../chunk-M5HSTNYU.js";
|
|
10
|
+
import "../chunk-NSJ2S7R5.js";
|
|
11
|
+
import "../chunk-JC7DBPRD.js";
|
|
12
|
+
import "../chunk-K7PJDWER.js";
|
|
13
|
+
import "../chunk-WDAO3RUY.js";
|
|
14
|
+
import "../chunk-R4SEU3DF.js";
|
|
15
|
+
import "../chunk-VECFAKM5.js";
|
|
16
|
+
import "../chunk-VGEBYCQZ.js";
|
|
17
|
+
import "../chunk-U2DNAHFE.js";
|
|
18
|
+
import "../chunk-WG6V6VJV.js";
|
|
19
|
+
import "../chunk-EFU6P3B7.js";
|
|
19
20
|
import "../chunk-TSIU7DME.js";
|
|
20
|
-
import "../chunk-QRDTLVXG.js";
|
|
21
|
-
import "../chunk-J27W6TXS.js";
|
|
22
|
-
import "../chunk-SX5H6TSC.js";
|
|
23
|
-
import "../chunk-5GUOIJSG.js";
|
|
24
|
-
import "../chunk-MJ2KHG24.js";
|
|
25
|
-
import "../chunk-DTSG5XZB.js";
|
|
26
|
-
import "../chunk-MM7CTTAV.js";
|
|
27
|
-
import "../chunk-KXYVJGJP.js";
|
|
28
|
-
import "../chunk-P44SXVH3.js";
|
|
29
|
-
import "../chunk-LDP5ASDM.js";
|
|
30
|
-
import "../chunk-Q45ZU6HD.js";
|
|
31
|
-
import "../chunk-WBCPLH66.js";
|
|
32
|
-
import "../chunk-RNJWAKMO.js";
|
|
33
21
|
import "../chunk-XVAQG2CV.js";
|
|
34
|
-
import
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
import
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
22
|
+
import "../chunk-ZNDLUWWD.js";
|
|
23
|
+
import "../chunk-J27W6TXS.js";
|
|
24
|
+
import "../chunk-4VYALFQZ.js";
|
|
25
|
+
import "../chunk-JFAUQDZM.js";
|
|
26
|
+
import "../chunk-IO4VEW5U.js";
|
|
27
|
+
import "../chunk-V3ENMW7G.js";
|
|
28
|
+
import "../chunk-2HC2SNRP.js";
|
|
29
|
+
import "../chunk-Q5FLW4JG.js";
|
|
30
|
+
import "../chunk-6CNRMCFM.js";
|
|
41
31
|
import {
|
|
42
32
|
compileAgentsAllScopes,
|
|
43
33
|
detectProject,
|
|
44
34
|
loadSource,
|
|
45
35
|
writeProjectConfig
|
|
46
|
-
} from "../chunk-
|
|
36
|
+
} from "../chunk-F7Z5I6GU.js";
|
|
47
37
|
import {
|
|
48
38
|
discoverInstalledSkills,
|
|
49
|
-
installPluginSkills,
|
|
50
|
-
pluginInstallFailureError,
|
|
51
39
|
uninstallPluginSkills
|
|
52
|
-
} from "../chunk-
|
|
40
|
+
} from "../chunk-REKOWTIB.js";
|
|
53
41
|
import {
|
|
54
42
|
copyLocalSkills
|
|
55
|
-
} from "../chunk-
|
|
43
|
+
} from "../chunk-NXGMM5YN.js";
|
|
56
44
|
import {
|
|
57
45
|
loadAgentDefs
|
|
58
|
-
} from "../chunk-
|
|
59
|
-
import "../chunk-
|
|
60
|
-
import "../chunk-
|
|
46
|
+
} from "../chunk-FRWKCE6R.js";
|
|
47
|
+
import "../chunk-FIHTAFST.js";
|
|
48
|
+
import "../chunk-ACKC577F.js";
|
|
61
49
|
import {
|
|
62
50
|
render
|
|
63
51
|
} from "../chunk-JFLVEFFP.js";
|
|
64
52
|
import {
|
|
65
53
|
formatScopeTag
|
|
66
|
-
} from "../chunk-
|
|
54
|
+
} from "../chunk-HEBPKK5L.js";
|
|
67
55
|
import {
|
|
68
56
|
BaseCommand,
|
|
69
|
-
EXIT_CODES
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
import "../chunk-
|
|
57
|
+
EXIT_CODES
|
|
58
|
+
} from "../chunk-X5XJ6WKO.js";
|
|
59
|
+
import "../chunk-TY6CAOL7.js";
|
|
60
|
+
import "../chunk-K3O3YQYG.js";
|
|
73
61
|
import {
|
|
62
|
+
ERROR_MESSAGES,
|
|
63
|
+
INFO_MESSAGES,
|
|
64
|
+
INSTALL_MODE_DESCRIPTIONS,
|
|
65
|
+
STATUS_MESSAGES,
|
|
66
|
+
activeAgentNames,
|
|
74
67
|
activeAgentScopeMap,
|
|
75
68
|
applyMigratedGlobalSources,
|
|
76
69
|
buildMarketplacePluginRef,
|
|
@@ -85,18 +78,20 @@ import {
|
|
|
85
78
|
isHomeDirectory,
|
|
86
79
|
migrateLocalSkillScope,
|
|
87
80
|
mutateGlobal,
|
|
81
|
+
recompileSummary,
|
|
88
82
|
resolveInstallPaths,
|
|
89
|
-
toClaudePluginScope
|
|
90
|
-
|
|
83
|
+
toClaudePluginScope,
|
|
84
|
+
unresolvedSkillRemovalReasons
|
|
85
|
+
} from "../chunk-NXQAY5U7.js";
|
|
91
86
|
import {
|
|
92
87
|
getErrorMessage,
|
|
93
88
|
remove
|
|
94
|
-
} from "../chunk-
|
|
89
|
+
} from "../chunk-U2YSGBHA.js";
|
|
95
90
|
import {
|
|
96
91
|
getSkillById,
|
|
97
92
|
getSkillDisplayName,
|
|
98
93
|
matrix
|
|
99
|
-
} from "../chunk-
|
|
94
|
+
} from "../chunk-35VOK7XE.js";
|
|
100
95
|
import {
|
|
101
96
|
typedKeys
|
|
102
97
|
} from "../chunk-VASLW636.js";
|
|
@@ -106,19 +101,44 @@ import {
|
|
|
106
101
|
EDIT_PROJECT_SETUP_FLAG,
|
|
107
102
|
EJECT_SOURCE,
|
|
108
103
|
formatSourceDisplayName
|
|
109
|
-
} from "../chunk-
|
|
110
|
-
import "../chunk-
|
|
104
|
+
} from "../chunk-R54KIGN2.js";
|
|
105
|
+
import "../chunk-VZRO7RYT.js";
|
|
111
106
|
|
|
112
107
|
// src/cli/commands/edit.tsx
|
|
113
108
|
import path from "path";
|
|
109
|
+
import chalk from "chalk";
|
|
114
110
|
import { Flags } from "@oclif/core";
|
|
115
111
|
import { difference, indexBy } from "remeda";
|
|
116
112
|
import { jsx } from "react/jsx-runtime";
|
|
113
|
+
var RECOMPILE_SUBJECT = "agents";
|
|
117
114
|
function formatDualScopeTransition(displayName, to) {
|
|
118
115
|
const isAdd = to === "project";
|
|
119
116
|
const prefix = isAdd ? "+" : "-";
|
|
120
117
|
const color = isAdd ? CLI_COLORS.SUCCESS : CLI_COLORS.ERROR;
|
|
121
|
-
return
|
|
118
|
+
return chalk.hex(color)(` ${prefix} ${displayName} [P]`);
|
|
119
|
+
}
|
|
120
|
+
function formatSkillScopeChangeLine(skillId, change, dualScopeSkillTransitions) {
|
|
121
|
+
const displayName = getSkillDisplayName(skillId);
|
|
122
|
+
if (dualScopeSkillTransitions.has(skillId)) {
|
|
123
|
+
return formatDualScopeTransition(displayName, change.to);
|
|
124
|
+
}
|
|
125
|
+
const isGlobalToProject = change.from === "global" && change.to === "project";
|
|
126
|
+
const prefix = isGlobalToProject ? "+" : "~";
|
|
127
|
+
const color = isGlobalToProject ? CLI_COLORS.SUCCESS : CLI_COLORS.WARNING;
|
|
128
|
+
return chalk.hex(color)(` ${prefix} ${displayName}`) + chalk.hex(CLI_COLORS.NEUTRAL)(scopeArrow(change));
|
|
129
|
+
}
|
|
130
|
+
function formatAgentScopeChangeLine(agentName, change, dualScopeAgentTransitions) {
|
|
131
|
+
const agentSuffix = chalk.hex(CLI_COLORS.NEUTRAL)(" (agent)");
|
|
132
|
+
if (dualScopeAgentTransitions.has(agentName)) {
|
|
133
|
+
return formatDualScopeTransition(agentName, change.to) + agentSuffix;
|
|
134
|
+
}
|
|
135
|
+
return chalk.hex(CLI_COLORS.WARNING)(` ~ ${agentName}`) + chalk.hex(CLI_COLORS.NEUTRAL)(scopeArrow(change));
|
|
136
|
+
}
|
|
137
|
+
function scopeArrow(change) {
|
|
138
|
+
return ` (${formatScopeTag(change.from)} \u2192 ${formatScopeTag(change.to)})`;
|
|
139
|
+
}
|
|
140
|
+
function loadedSourceLabel(sourceResult) {
|
|
141
|
+
return sourceResult.marketplace ?? sourceResult.sourceConfig.source;
|
|
122
142
|
}
|
|
123
143
|
var Edit = class _Edit extends BaseCommand {
|
|
124
144
|
static summary = "Edit skills in the plugin";
|
|
@@ -127,22 +147,9 @@ var Edit = class _Edit extends BaseCommand {
|
|
|
127
147
|
{
|
|
128
148
|
description: "Open the edit wizard",
|
|
129
149
|
command: "<%= config.bin %> <%= command.id %>"
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
description: "Edit with a custom source",
|
|
133
|
-
command: "<%= config.bin %> <%= command.id %> --source github:org/marketplace"
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
description: "Force refresh skills from remote",
|
|
137
|
-
command: "<%= config.bin %> <%= command.id %> --refresh"
|
|
138
150
|
}
|
|
139
151
|
];
|
|
140
152
|
static flags = {
|
|
141
|
-
...BaseCommand.baseFlags,
|
|
142
|
-
refresh: Flags.boolean({
|
|
143
|
-
description: "Force refresh from remote sources",
|
|
144
|
-
default: false
|
|
145
|
-
}),
|
|
146
153
|
[EDIT_PROJECT_SETUP_FLAG]: Flags.boolean({
|
|
147
154
|
description: "Internal: this run continues an `init` project setup",
|
|
148
155
|
default: false,
|
|
@@ -152,15 +159,21 @@ var Edit = class _Edit extends BaseCommand {
|
|
|
152
159
|
async run() {
|
|
153
160
|
const { flags } = await this.parse(_Edit);
|
|
154
161
|
const cwd = process.cwd();
|
|
162
|
+
await this.ensureConfigReadable(cwd);
|
|
155
163
|
const { unmount, clear: clearSpinner } = render(
|
|
156
164
|
/* @__PURE__ */ jsx(Spinner, { label: STATUS_MESSAGES.LOADING_SKILLS })
|
|
157
165
|
);
|
|
158
|
-
const context = await this.loadContext(
|
|
166
|
+
const context = await this.loadContext();
|
|
159
167
|
clearSpinner();
|
|
160
168
|
unmount();
|
|
169
|
+
await this.ensureSavedSkillsReadable(
|
|
170
|
+
context.projectConfig?.skills ?? [],
|
|
171
|
+
context.sourceResult.matrix,
|
|
172
|
+
context.projectDir
|
|
173
|
+
);
|
|
161
174
|
const result = await this.runEditWizard(context, cwd);
|
|
162
175
|
if (!result) this.error("Cancelled", { exit: EXIT_CODES.CANCELLED });
|
|
163
|
-
this.reportValidationErrors(result);
|
|
176
|
+
this.reportValidationErrors(result.validation);
|
|
164
177
|
const activeNewSkills = result.skills.filter((s) => !s.excluded);
|
|
165
178
|
const activeNewAgents = result.agentConfigs.filter((a) => !a.excluded);
|
|
166
179
|
const activeOldSkills = (context.projectConfig?.skills ?? []).filter((s) => !s.excluded);
|
|
@@ -179,13 +192,24 @@ var Edit = class _Edit extends BaseCommand {
|
|
|
179
192
|
});
|
|
180
193
|
const isProjectSetup = flags[EDIT_PROJECT_SETUP_FLAG] && !isHomeDirectory(cwd);
|
|
181
194
|
if (!hasAnyChanges(changes)) {
|
|
182
|
-
this.log(
|
|
195
|
+
this.log(chalk.hex(CLI_COLORS.NEUTRAL)("No changes made."));
|
|
183
196
|
if (!isProjectSetup) return;
|
|
184
|
-
await this.writeConfigAndCompile(result, context,
|
|
197
|
+
await this.writeConfigAndCompile(result, context, cwd);
|
|
185
198
|
this.logCompletionSummary(changes);
|
|
186
199
|
return;
|
|
187
200
|
}
|
|
188
|
-
|
|
201
|
+
const removalReasons = await unresolvedSkillRemovalReasons(
|
|
202
|
+
result.unresolvableSkillIds,
|
|
203
|
+
activeOldSkills,
|
|
204
|
+
context.projectDir,
|
|
205
|
+
loadedSourceLabel(context.sourceResult)
|
|
206
|
+
);
|
|
207
|
+
this.logChangeSummary(
|
|
208
|
+
changes,
|
|
209
|
+
filteredResult.skills,
|
|
210
|
+
filteredOldConfig?.skills ?? [],
|
|
211
|
+
removalReasons
|
|
212
|
+
);
|
|
189
213
|
const migratedSkillIds = await this.applyMigrations(
|
|
190
214
|
changes,
|
|
191
215
|
filteredResult,
|
|
@@ -199,11 +223,11 @@ var Edit = class _Edit extends BaseCommand {
|
|
|
199
223
|
await this.applyPluginChanges(changes, filteredResult, activeOldSkills, context, cwd);
|
|
200
224
|
await this.copyNewLocalSkills(changes, filteredResult, context, cwd);
|
|
201
225
|
await this.removeDeletedLocalSkills(changes, activeOldSkills, cwd);
|
|
202
|
-
await this.writeConfigAndCompile(result, context,
|
|
226
|
+
await this.writeConfigAndCompile(result, context, cwd);
|
|
203
227
|
await this.cleanupStaleAgentFiles(changes, activeOldAgents, cwd);
|
|
204
228
|
this.logCompletionSummary(changes);
|
|
205
229
|
}
|
|
206
|
-
async loadContext(
|
|
230
|
+
async loadContext() {
|
|
207
231
|
const detected = await detectProject();
|
|
208
232
|
if (!detected) {
|
|
209
233
|
this.error(ERROR_MESSAGES.NO_INSTALLATION, {
|
|
@@ -215,12 +239,7 @@ var Edit = class _Edit extends BaseCommand {
|
|
|
215
239
|
let sourceResult;
|
|
216
240
|
let startupMessages = [];
|
|
217
241
|
try {
|
|
218
|
-
const loaded = await loadSource({
|
|
219
|
-
sourceFlag: flags.source,
|
|
220
|
-
projectDir,
|
|
221
|
-
forceRefresh: flags.refresh,
|
|
222
|
-
captureStartupMessages: true
|
|
223
|
-
});
|
|
242
|
+
const loaded = await loadSource({ projectDir, captureStartupMessages: true });
|
|
224
243
|
sourceResult = loaded.sourceResult;
|
|
225
244
|
startupMessages = loaded.startupMessages;
|
|
226
245
|
const sourceInfo = sourceResult.isLocal ? "local" : sourceResult.sourceConfig.sourceOrigin;
|
|
@@ -236,9 +255,9 @@ var Edit = class _Edit extends BaseCommand {
|
|
|
236
255
|
const discoveredSkills = await discoverAllPluginSkills(projectDir);
|
|
237
256
|
const pluginSkillIds = typedKeys(discoveredSkills);
|
|
238
257
|
const excludedConfigIds = new Set(
|
|
239
|
-
projectConfig?.skills
|
|
258
|
+
projectConfig?.skills.filter((s) => s.excluded).map((s) => s.id) ?? []
|
|
240
259
|
);
|
|
241
|
-
const configSkillIds = projectConfig?.skills
|
|
260
|
+
const configSkillIds = projectConfig?.skills.filter((s) => !s.excluded).map((s) => s.id) ?? [];
|
|
242
261
|
const filteredPluginSkillIds = pluginSkillIds.filter((id) => !excludedConfigIds.has(id));
|
|
243
262
|
const mergedIds = /* @__PURE__ */ new Set([...filteredPluginSkillIds, ...configSkillIds]);
|
|
244
263
|
currentSkillIds = [...mergedIds];
|
|
@@ -259,22 +278,24 @@ var Edit = class _Edit extends BaseCommand {
|
|
|
259
278
|
};
|
|
260
279
|
}
|
|
261
280
|
async runEditWizard(context, cwd) {
|
|
262
|
-
const { projectConfig,
|
|
281
|
+
const { projectConfig, currentSkillIds } = context;
|
|
282
|
+
const selectedAgents = projectConfig?.agents && activeAgentNames(projectConfig.agents);
|
|
263
283
|
return runWizardSession({
|
|
264
284
|
hydrate: {
|
|
265
285
|
initialStep: "build",
|
|
266
|
-
|
|
267
|
-
|
|
286
|
+
...projectConfig?.selectedDomains !== void 0 && {
|
|
287
|
+
initialDomains: projectConfig.selectedDomains
|
|
288
|
+
},
|
|
289
|
+
...selectedAgents !== void 0 && { initialAgents: selectedAgents },
|
|
268
290
|
installedSkillIds: currentSkillIds,
|
|
269
|
-
installedSkillConfigs: projectConfig
|
|
270
|
-
installedAgentConfigs: projectConfig
|
|
291
|
+
...projectConfig?.skills !== void 0 && { installedSkillConfigs: projectConfig.skills },
|
|
292
|
+
...projectConfig?.agents !== void 0 && { installedAgentConfigs: projectConfig.agents },
|
|
271
293
|
isEditingFromGlobalScope: isHomeDirectory(cwd)
|
|
272
294
|
},
|
|
273
295
|
props: {
|
|
274
296
|
version: this.config.version,
|
|
275
|
-
initialAgents:
|
|
297
|
+
initialAgents: selectedAgents,
|
|
276
298
|
installedSkillIds: currentSkillIds,
|
|
277
|
-
projectDir,
|
|
278
299
|
startupMessages: context.startupMessages
|
|
279
300
|
},
|
|
280
301
|
onCancel: () => this.log("\nEdit cancelled"),
|
|
@@ -322,6 +343,10 @@ var Edit = class _Edit extends BaseCommand {
|
|
|
322
343
|
const report = await mutateGlobal(
|
|
323
344
|
{ kind: "migrate-skill-sources", sources: migratedSources },
|
|
324
345
|
{
|
|
346
|
+
// The deps contract in config-gate/deps.ts declares
|
|
347
|
+
// `() => Promise<MergedSkillsMatrix>`; this caller happens to have its
|
|
348
|
+
// matrix in hand already.
|
|
349
|
+
// eslint-disable-next-line @typescript-eslint/require-await -- deps contract
|
|
325
350
|
loadMatrix: async () => context.sourceResult.matrix,
|
|
326
351
|
loadAgents: async () => (await loadAgentDefs({ projectDir: cwd })).agents
|
|
327
352
|
}
|
|
@@ -331,14 +356,7 @@ var Edit = class _Edit extends BaseCommand {
|
|
|
331
356
|
this.warn(`Could not record global source change: ${getErrorMessage(error)}`);
|
|
332
357
|
}
|
|
333
358
|
}
|
|
334
|
-
|
|
335
|
-
if (result.validation.errors.length > 0) {
|
|
336
|
-
for (const err of result.validation.errors) {
|
|
337
|
-
this.warn(err.message);
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
logChangeSummary(changes, newSkills, oldSkills) {
|
|
359
|
+
logChangeSummary(changes, newSkills, oldSkills, removalReasons) {
|
|
342
360
|
const {
|
|
343
361
|
addedSkills,
|
|
344
362
|
removedSkills,
|
|
@@ -351,27 +369,30 @@ var Edit = class _Edit extends BaseCommand {
|
|
|
351
369
|
dualScopeAgentTransitions
|
|
352
370
|
} = changes;
|
|
353
371
|
this.log(`
|
|
354
|
-
${
|
|
372
|
+
${chalk.hex(CLI_COLORS.WHITE).bold("Changes:")}`);
|
|
355
373
|
for (const skillId of addedSkills) {
|
|
356
374
|
const scope = newSkills.find((s) => s.id === skillId)?.scope;
|
|
357
375
|
const scopeLabel = scope ? ` ${formatScopeTag(scope)}` : "";
|
|
358
376
|
this.log(
|
|
359
|
-
|
|
377
|
+
chalk.hex(CLI_COLORS.SUCCESS)(` + ${getSkillById(skillId).displayName}${scopeLabel}`)
|
|
360
378
|
);
|
|
361
379
|
}
|
|
362
380
|
for (const skillId of removedSkills) {
|
|
363
381
|
const scope = oldSkills.find((s) => s.id === skillId)?.scope;
|
|
364
382
|
const scopeLabel = scope ? ` ${formatScopeTag(scope)}` : "";
|
|
365
|
-
|
|
383
|
+
const reason = removalReasons.get(skillId);
|
|
384
|
+
this.log(
|
|
385
|
+
chalk.hex(CLI_COLORS.ERROR)(` - ${getSkillDisplayName(skillId)}${scopeLabel}`) + (reason ? chalk.hex(CLI_COLORS.NEUTRAL)(` (${reason})`) : "")
|
|
386
|
+
);
|
|
366
387
|
}
|
|
367
388
|
for (const agentName of addedAgents) {
|
|
368
389
|
this.log(
|
|
369
|
-
|
|
390
|
+
chalk.hex(CLI_COLORS.SUCCESS)(` + ${agentName}`) + chalk.hex(CLI_COLORS.NEUTRAL)(" (agent)")
|
|
370
391
|
);
|
|
371
392
|
}
|
|
372
393
|
for (const agentName of removedAgents) {
|
|
373
394
|
this.log(
|
|
374
|
-
|
|
395
|
+
chalk.hex(CLI_COLORS.ERROR)(` - ${agentName}`) + chalk.hex(CLI_COLORS.NEUTRAL)(" (agent)")
|
|
375
396
|
);
|
|
376
397
|
}
|
|
377
398
|
for (const [skillId, change] of sourceChanges) {
|
|
@@ -379,75 +400,44 @@ ${source_default.hex(CLI_COLORS.WHITE).bold("Changes:")}`);
|
|
|
379
400
|
const fromLabel = formatSourceDisplayName(change.from);
|
|
380
401
|
const toLabel = formatSourceDisplayName(change.to);
|
|
381
402
|
this.log(
|
|
382
|
-
|
|
403
|
+
chalk.hex(CLI_COLORS.WARNING)(` ~ ${displayName}`) + chalk.hex(CLI_COLORS.NEUTRAL)(` (${fromLabel} \u2192 ${toLabel})`)
|
|
383
404
|
);
|
|
384
405
|
}
|
|
385
406
|
for (const [skillId, change] of scopeChanges) {
|
|
386
|
-
|
|
387
|
-
if (dualScopeSkillTransitions.has(skillId)) {
|
|
388
|
-
this.log(formatDualScopeTransition(displayName, change.to));
|
|
389
|
-
continue;
|
|
390
|
-
}
|
|
391
|
-
const fromLabel = formatScopeTag(change.from);
|
|
392
|
-
const toLabel = formatScopeTag(change.to);
|
|
393
|
-
const isGlobalToProject = change.from === "global" && change.to === "project";
|
|
394
|
-
const prefix = isGlobalToProject ? "+" : "~";
|
|
395
|
-
const color = isGlobalToProject ? CLI_COLORS.SUCCESS : CLI_COLORS.WARNING;
|
|
396
|
-
this.log(
|
|
397
|
-
source_default.hex(color)(` ${prefix} ${displayName}`) + source_default.hex(CLI_COLORS.NEUTRAL)(` (${fromLabel} \u2192 ${toLabel})`)
|
|
398
|
-
);
|
|
407
|
+
this.log(formatSkillScopeChangeLine(skillId, change, dualScopeSkillTransitions));
|
|
399
408
|
}
|
|
400
409
|
for (const [agentName, change] of agentScopeChanges) {
|
|
401
|
-
|
|
402
|
-
this.log(
|
|
403
|
-
formatDualScopeTransition(agentName, change.to) + source_default.hex(CLI_COLORS.NEUTRAL)(" (agent)")
|
|
404
|
-
);
|
|
405
|
-
continue;
|
|
406
|
-
}
|
|
407
|
-
const fromLabel = formatScopeTag(change.from);
|
|
408
|
-
const toLabel = formatScopeTag(change.to);
|
|
409
|
-
this.log(
|
|
410
|
-
source_default.hex(CLI_COLORS.WARNING)(` ~ ${agentName}`) + source_default.hex(CLI_COLORS.NEUTRAL)(` (${fromLabel} \u2192 ${toLabel})`)
|
|
411
|
-
);
|
|
410
|
+
this.log(formatAgentScopeChangeLine(agentName, change, dualScopeAgentTransitions));
|
|
412
411
|
}
|
|
413
412
|
this.log("");
|
|
414
413
|
}
|
|
415
414
|
async applyMigrations(_changes, filteredResult, activeOldSkills, context, cwd) {
|
|
416
415
|
const migrationPlan = detectMigrations(activeOldSkills, filteredResult.skills);
|
|
417
|
-
const
|
|
418
|
-
if (hasMigrations) {
|
|
419
|
-
if (migrationPlan.toEject.length > 0) {
|
|
420
|
-
this.log(
|
|
421
|
-
source_default.hex(CLI_COLORS.NEUTRAL)(
|
|
422
|
-
`Switching ${migrationPlan.toEject.length} skill(s) to eject`
|
|
423
|
-
)
|
|
424
|
-
);
|
|
425
|
-
}
|
|
426
|
-
if (migrationPlan.toPlugin.length > 0) {
|
|
427
|
-
this.log(
|
|
428
|
-
source_default.hex(CLI_COLORS.NEUTRAL)(
|
|
429
|
-
`Switching ${migrationPlan.toPlugin.length} skill(s) to plugin`
|
|
430
|
-
)
|
|
431
|
-
);
|
|
432
|
-
await this.requireMarketplaceOrExit(context.sourceResult, "migrate skills to plugin mode");
|
|
433
|
-
}
|
|
434
|
-
const migrationResult = await executeMigration(migrationPlan, cwd, context.sourceResult);
|
|
435
|
-
for (const warning of migrationResult.warnings) {
|
|
436
|
-
this.warn(warning);
|
|
437
|
-
}
|
|
438
|
-
for (const item of migrationResult.failedPluginInstalls) {
|
|
439
|
-
this.warn(`Failed to install plugin ${item.id}: ${item.error}`);
|
|
440
|
-
}
|
|
441
|
-
if (migrationResult.failedPluginInstalls.length > 0) {
|
|
442
|
-
this.error(pluginInstallFailureError(migrationResult.failedPluginInstalls.length), {
|
|
443
|
-
exit: EXIT_CODES.ERROR
|
|
444
|
-
});
|
|
445
|
-
}
|
|
446
|
-
}
|
|
447
|
-
return /* @__PURE__ */ new Set([
|
|
416
|
+
const migratedSkillIds = /* @__PURE__ */ new Set([
|
|
448
417
|
...migrationPlan.toEject.map((m) => m.id),
|
|
449
418
|
...migrationPlan.toPlugin.map((m) => m.id)
|
|
450
419
|
]);
|
|
420
|
+
if (migratedSkillIds.size === 0) return migratedSkillIds;
|
|
421
|
+
if (migrationPlan.toEject.length > 0) {
|
|
422
|
+
this.logModeSwitch(migrationPlan.toEject.length, INSTALL_MODE_DESCRIPTIONS.eject);
|
|
423
|
+
}
|
|
424
|
+
if (migrationPlan.toPlugin.length > 0) {
|
|
425
|
+
this.logModeSwitch(migrationPlan.toPlugin.length, INSTALL_MODE_DESCRIPTIONS.plugin);
|
|
426
|
+
await this.requireMarketplaceOrExit(context.sourceResult, "migrate skills to plugin mode");
|
|
427
|
+
this.announcePluginInstall();
|
|
428
|
+
}
|
|
429
|
+
const migrationResult = await executeMigration(migrationPlan, cwd, context.sourceResult);
|
|
430
|
+
for (const warning of migrationResult.warnings) {
|
|
431
|
+
this.warn(warning);
|
|
432
|
+
}
|
|
433
|
+
if (migrationPlan.toPlugin.length > 0) {
|
|
434
|
+
this.reportPluginInstalls(migrationResult.pluginInstalls);
|
|
435
|
+
}
|
|
436
|
+
return migratedSkillIds;
|
|
437
|
+
}
|
|
438
|
+
/** Names what this run is switching, in the words `init` describes an install mode with. */
|
|
439
|
+
logModeSwitch(count, modeDescription) {
|
|
440
|
+
this.log(chalk.hex(CLI_COLORS.NEUTRAL)(`Switching ${count} skill(s) to ${modeDescription}`));
|
|
451
441
|
}
|
|
452
442
|
async applyScopeChanges(changes, filteredResult, context, cwd) {
|
|
453
443
|
const { scopeChanges } = changes;
|
|
@@ -503,20 +493,7 @@ ${source_default.hex(CLI_COLORS.WHITE).bold("Changes:")}`);
|
|
|
503
493
|
"install or uninstall plugin skills"
|
|
504
494
|
);
|
|
505
495
|
if (addedPluginSkills.length > 0) {
|
|
506
|
-
|
|
507
|
-
if (pluginResult.installed.length > 0) {
|
|
508
|
-
this.log(
|
|
509
|
-
source_default.hex(CLI_COLORS.NEUTRAL)(`Installed ${pluginResult.installed.length} plugin(s)`)
|
|
510
|
-
);
|
|
511
|
-
}
|
|
512
|
-
for (const item of pluginResult.failed) {
|
|
513
|
-
this.warn(`Failed to install plugin ${item.id}: ${item.error}`);
|
|
514
|
-
}
|
|
515
|
-
if (pluginResult.failed.length > 0) {
|
|
516
|
-
this.error(pluginInstallFailureError(pluginResult.failed.length), {
|
|
517
|
-
exit: EXIT_CODES.ERROR
|
|
518
|
-
});
|
|
519
|
-
}
|
|
496
|
+
await this.installPluginSkillsReported(addedPluginSkills, marketplace, cwd);
|
|
520
497
|
}
|
|
521
498
|
if (removedPluginSkills.length > 0) {
|
|
522
499
|
const uninstallResult = await uninstallPluginSkills(
|
|
@@ -527,7 +504,7 @@ ${source_default.hex(CLI_COLORS.WHITE).bold("Changes:")}`);
|
|
|
527
504
|
);
|
|
528
505
|
if (uninstallResult.uninstalled.length > 0) {
|
|
529
506
|
this.log(
|
|
530
|
-
|
|
507
|
+
chalk.hex(CLI_COLORS.NEUTRAL)(`Removed ${uninstallResult.uninstalled.length} plugin(s)`)
|
|
531
508
|
);
|
|
532
509
|
}
|
|
533
510
|
for (const item of uninstallResult.failed) {
|
|
@@ -542,7 +519,7 @@ ${source_default.hex(CLI_COLORS.WHITE).bold("Changes:")}`);
|
|
|
542
519
|
);
|
|
543
520
|
if (addedLocalSkills.length > 0) {
|
|
544
521
|
const copyResult = await copyLocalSkills(addedLocalSkills, cwd, context.sourceResult);
|
|
545
|
-
this.log(
|
|
522
|
+
this.log(chalk.hex(CLI_COLORS.NEUTRAL)(`Copied ${copyResult.totalCopied} local skill(s)`));
|
|
546
523
|
}
|
|
547
524
|
}
|
|
548
525
|
async removeDeletedLocalSkills(changes, activeOldSkills, cwd) {
|
|
@@ -554,12 +531,10 @@ ${source_default.hex(CLI_COLORS.WHITE).bold("Changes:")}`);
|
|
|
554
531
|
await deleteLocalSkill(deleteDir, skillId);
|
|
555
532
|
}
|
|
556
533
|
}
|
|
557
|
-
async writeConfigAndCompile(result, context,
|
|
534
|
+
async writeConfigAndCompile(result, context, cwd) {
|
|
558
535
|
let agentDefsResult;
|
|
559
536
|
try {
|
|
560
|
-
agentDefsResult = await loadAgentDefs({
|
|
561
|
-
forceRefresh: flags.refresh
|
|
562
|
-
});
|
|
537
|
+
agentDefsResult = await loadAgentDefs({});
|
|
563
538
|
} catch (error) {
|
|
564
539
|
this.handleError(error);
|
|
565
540
|
}
|
|
@@ -569,7 +544,6 @@ ${source_default.hex(CLI_COLORS.WHITE).bold("Changes:")}`);
|
|
|
569
544
|
wizardResult: result,
|
|
570
545
|
sourceResult: context.sourceResult,
|
|
571
546
|
projectDir: cwd,
|
|
572
|
-
sourceFlag: flags.source,
|
|
573
547
|
agents: agentDefsResult.agents,
|
|
574
548
|
// A full `cc edit` pass is authoritative over the roster it owns, so deselected entries
|
|
575
549
|
// are removed rather than union-preserved (D-233 Scenario C). Global-context edit owns
|
|
@@ -589,19 +563,23 @@ ${source_default.hex(CLI_COLORS.WHITE).bold("Changes:")}`);
|
|
|
589
563
|
skills: allSkills,
|
|
590
564
|
agentScopeMap
|
|
591
565
|
});
|
|
592
|
-
|
|
566
|
+
const { compiled, rewritten, failed, warnings } = compilationResult;
|
|
567
|
+
const summary = recompileSummary(
|
|
568
|
+
rewritten.length,
|
|
569
|
+
compiled.length - rewritten.length,
|
|
570
|
+
RECOMPILE_SUBJECT
|
|
571
|
+
);
|
|
572
|
+
if (failed.length > 0) {
|
|
593
573
|
this.log(
|
|
594
|
-
|
|
574
|
+
chalk.hex(CLI_COLORS.NEUTRAL)(summary) + chalk.hex(CLI_COLORS.WARNING)(` (${failed.length} failed)`)
|
|
595
575
|
);
|
|
596
|
-
for (const warning of
|
|
576
|
+
for (const warning of warnings) {
|
|
597
577
|
this.warn(warning);
|
|
598
578
|
}
|
|
599
|
-
} else if (
|
|
600
|
-
this.log(
|
|
601
|
-
source_default.hex(CLI_COLORS.NEUTRAL)(`Recompiled ${compilationResult.compiled.length} agents`)
|
|
602
|
-
);
|
|
579
|
+
} else if (compiled.length > 0) {
|
|
580
|
+
this.log(chalk.hex(CLI_COLORS.NEUTRAL)(summary));
|
|
603
581
|
} else {
|
|
604
|
-
this.log(
|
|
582
|
+
this.log(chalk.hex(CLI_COLORS.NEUTRAL)(INFO_MESSAGES.NO_AGENTS_TO_RECOMPILE));
|
|
605
583
|
}
|
|
606
584
|
} catch (error) {
|
|
607
585
|
this.warn(`Agent recompilation failed: ${getErrorMessage(error)}`);
|
|
@@ -611,23 +589,6 @@ ${source_default.hex(CLI_COLORS.WHITE).bold("Changes:")}`);
|
|
|
611
589
|
this.reportPropagatedRecompile(configResult.propagation);
|
|
612
590
|
}
|
|
613
591
|
}
|
|
614
|
-
/**
|
|
615
|
-
* Renders the recompile the gated write already performed on every OTHER
|
|
616
|
-
* registered project this run's global change was propagated into.
|
|
617
|
-
*/
|
|
618
|
-
reportPropagatedRecompile(propagation) {
|
|
619
|
-
if (propagation.propagated.updated.length === 0) return;
|
|
620
|
-
const { recompiledCount, failedCount, warnings } = propagation.recompile;
|
|
621
|
-
for (const warning of warnings) {
|
|
622
|
-
this.warn(warning);
|
|
623
|
-
}
|
|
624
|
-
const summary = source_default.hex(CLI_COLORS.NEUTRAL)(
|
|
625
|
-
`Recompiled agents in ${recompiledCount} registered project(s)`
|
|
626
|
-
);
|
|
627
|
-
this.log(
|
|
628
|
-
failedCount > 0 ? summary + source_default.hex(CLI_COLORS.WARNING)(` (${failedCount} failed)`) : summary
|
|
629
|
-
);
|
|
630
|
-
}
|
|
631
592
|
async cleanupStaleAgentFiles(changes, oldAgents, cwd) {
|
|
632
593
|
const { agentScopeChanges, removedAgents } = changes;
|
|
633
594
|
for (const [agentName, change] of agentScopeChanges) {
|
|
@@ -654,14 +615,14 @@ ${source_default.hex(CLI_COLORS.WHITE).bold("Changes:")}`);
|
|
|
654
615
|
}
|
|
655
616
|
logCompletionSummary(_changes) {
|
|
656
617
|
this.log(`
|
|
657
|
-
${
|
|
618
|
+
${chalk.hex(CLI_COLORS.SUCCESS)("\u2713 Done")}
|
|
658
619
|
`);
|
|
659
620
|
}
|
|
660
621
|
};
|
|
661
622
|
function detectConfigChanges(oldConfig, wizardResult, fullEntries) {
|
|
662
|
-
const oldSkillIds = oldConfig?.skills
|
|
623
|
+
const oldSkillIds = oldConfig?.skills.map((s) => s.id) ?? [];
|
|
663
624
|
const newSkillIds = wizardResult.skills.map((s) => s.id);
|
|
664
|
-
const oldAgentNames = oldConfig?.agents
|
|
625
|
+
const oldAgentNames = oldConfig?.agents.map((a) => a.name) ?? [];
|
|
665
626
|
const newAgentNames = wizardResult.agentConfigs.map((a) => a.name);
|
|
666
627
|
const oldSkillsById = indexBy(oldConfig?.skills ?? [], (s) => s.id);
|
|
667
628
|
const oldAgentsByName = indexBy(oldConfig?.agents ?? [], (a) => a.name);
|