ccjk 14.2.2 → 15.1.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/LICENSE +1 -1
- package/README.md +75 -338
- package/dist/cli.js +89 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/detect.js +15 -0
- package/dist/commands/detect.js.map +1 -0
- package/dist/commands/doctor.js +68 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/git-install.js +50 -0
- package/dist/commands/git-install.js.map +1 -0
- package/dist/commands/init.js +165 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/mcp.js +66 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/menu.js +42 -0
- package/dist/commands/menu.js.map +1 -0
- package/dist/commands/profile.js +138 -0
- package/dist/commands/profile.js.map +1 -0
- package/dist/core/detect.js +24 -0
- package/dist/core/detect.js.map +1 -0
- package/dist/core/lint.js +49 -0
- package/dist/core/lint.js.map +1 -0
- package/dist/core/mcp.js +41 -0
- package/dist/core/mcp.js.map +1 -0
- package/dist/core/paths.js +9 -0
- package/dist/core/paths.js.map +1 -0
- package/dist/core/profiles.js +104 -0
- package/dist/core/profiles.js.map +1 -0
- package/dist/core/providers.js +53 -0
- package/dist/core/providers.js.map +1 -0
- package/dist/core/settings.js +31 -0
- package/dist/core/settings.js.map +1 -0
- package/dist/core/slash-templates.js +56 -0
- package/dist/core/slash-templates.js.map +1 -0
- package/dist/core/tools.js +27 -0
- package/dist/core/tools.js.map +1 -0
- package/package.json +43 -164
- package/README.HONEST.md +0 -176
- package/README.en.md +0 -67
- package/README.ja.md +0 -67
- package/README.ko.md +0 -67
- package/README.zh-CN.md +0 -86
- package/bin/ccjk.mjs +0 -5
- package/bin/ccjk.ts +0 -222
- package/dist/chunks/agent-teams.mjs +0 -145
- package/dist/chunks/agent.mjs +0 -1439
- package/dist/chunks/agents.mjs +0 -3783
- package/dist/chunks/api-cli.mjs +0 -135
- package/dist/chunks/api-config-selector.mjs +0 -159
- package/dist/chunks/api-providers.mjs +0 -144
- package/dist/chunks/api.mjs +0 -115
- package/dist/chunks/auto-bootstrap.mjs +0 -358
- package/dist/chunks/auto-fixer.mjs +0 -95
- package/dist/chunks/auto-updater.mjs +0 -507
- package/dist/chunks/banner.mjs +0 -173
- package/dist/chunks/bash.mjs +0 -187
- package/dist/chunks/boost.mjs +0 -474
- package/dist/chunks/brain-config.mjs +0 -75
- package/dist/chunks/brain-status.mjs +0 -89
- package/dist/chunks/ccjk-agents.mjs +0 -416
- package/dist/chunks/ccjk-all.mjs +0 -1046
- package/dist/chunks/ccjk-config.mjs +0 -445
- package/dist/chunks/ccjk-hooks.mjs +0 -1074
- package/dist/chunks/ccjk-mcp.mjs +0 -763
- package/dist/chunks/ccjk-setup.mjs +0 -765
- package/dist/chunks/ccjk-skills.mjs +0 -518
- package/dist/chunks/ccr.mjs +0 -109
- package/dist/chunks/ccu.mjs +0 -40
- package/dist/chunks/check-updates.mjs +0 -117
- package/dist/chunks/claude-code-incremental-manager.mjs +0 -761
- package/dist/chunks/claude-config.mjs +0 -606
- package/dist/chunks/claude-config2.mjs +0 -62
- package/dist/chunks/claude-wrapper.mjs +0 -85
- package/dist/chunks/clavue-config.mjs +0 -1454
- package/dist/chunks/cleanup-migration.mjs +0 -20
- package/dist/chunks/cli-hook.mjs +0 -4096
- package/dist/chunks/cloud-sync.mjs +0 -29
- package/dist/chunks/code-type-resolver.mjs +0 -880
- package/dist/chunks/codex-config-switch.mjs +0 -452
- package/dist/chunks/codex-provider-manager.mjs +0 -238
- package/dist/chunks/codex-uninstaller.mjs +0 -404
- package/dist/chunks/codex.mjs +0 -2141
- package/dist/chunks/commands.mjs +0 -108
- package/dist/chunks/commands2.mjs +0 -421
- package/dist/chunks/commit.mjs +0 -140
- package/dist/chunks/completion.mjs +0 -517
- package/dist/chunks/config-consolidator.mjs +0 -172
- package/dist/chunks/config-switch.mjs +0 -334
- package/dist/chunks/config.mjs +0 -558
- package/dist/chunks/config2.mjs +0 -484
- package/dist/chunks/config3.mjs +0 -486
- package/dist/chunks/constants.mjs +0 -323
- package/dist/chunks/context-opt.mjs +0 -444
- package/dist/chunks/context.mjs +0 -974
- package/dist/chunks/dashboard.mjs +0 -481
- package/dist/chunks/doctor.mjs +0 -1301
- package/dist/chunks/eval.mjs +0 -502
- package/dist/chunks/evolution.mjs +0 -322
- package/dist/chunks/features.mjs +0 -715
- package/dist/chunks/fish.mjs +0 -181
- package/dist/chunks/fs-operations.mjs +0 -180
- package/dist/chunks/health-alerts.mjs +0 -830
- package/dist/chunks/help.mjs +0 -341
- package/dist/chunks/hook-installer.mjs +0 -48
- package/dist/chunks/impact.mjs +0 -651
- package/dist/chunks/index.mjs +0 -23
- package/dist/chunks/index10.mjs +0 -19
- package/dist/chunks/index11.mjs +0 -1171
- package/dist/chunks/index12.mjs +0 -218
- package/dist/chunks/index13.mjs +0 -679
- package/dist/chunks/index14.mjs +0 -1009
- package/dist/chunks/index15.mjs +0 -194
- package/dist/chunks/index2.mjs +0 -7637
- package/dist/chunks/index3.mjs +0 -171
- package/dist/chunks/index4.mjs +0 -26
- package/dist/chunks/index5.mjs +0 -19
- package/dist/chunks/index6.mjs +0 -19092
- package/dist/chunks/index7.mjs +0 -616
- package/dist/chunks/index8.mjs +0 -1602
- package/dist/chunks/index9.mjs +0 -5384
- package/dist/chunks/init.mjs +0 -1911
- package/dist/chunks/installer.mjs +0 -757
- package/dist/chunks/installer2.mjs +0 -103
- package/dist/chunks/interview.mjs +0 -2927
- package/dist/chunks/json-config.mjs +0 -60
- package/dist/chunks/linux.mjs +0 -3863
- package/dist/chunks/macos.mjs +0 -69
- package/dist/chunks/main.mjs +0 -635
- package/dist/chunks/manager.mjs +0 -1048
- package/dist/chunks/marketplace.mjs +0 -265
- package/dist/chunks/mcp-cli.mjs +0 -205
- package/dist/chunks/mcp-performance.mjs +0 -187
- package/dist/chunks/mcp.mjs +0 -667
- package/dist/chunks/memory-check.mjs +0 -2973
- package/dist/chunks/memory-paths.mjs +0 -259
- package/dist/chunks/memory-sync.mjs +0 -209
- package/dist/chunks/memory.mjs +0 -354
- package/dist/chunks/metrics-display.mjs +0 -153
- package/dist/chunks/monitor.mjs +0 -1856
- package/dist/chunks/notification.mjs +0 -1864
- package/dist/chunks/onboarding.mjs +0 -386
- package/dist/chunks/package.mjs +0 -3
- package/dist/chunks/paradigm.mjs +0 -74
- package/dist/chunks/permission-manager.mjs +0 -250
- package/dist/chunks/permissions.mjs +0 -265
- package/dist/chunks/persistence-manager.mjs +0 -801
- package/dist/chunks/persistence.mjs +0 -707
- package/dist/chunks/platform.mjs +0 -395
- package/dist/chunks/plugin.mjs +0 -1936
- package/dist/chunks/powershell.mjs +0 -213
- package/dist/chunks/prompts.mjs +0 -244
- package/dist/chunks/providers.mjs +0 -263
- package/dist/chunks/quick-actions.mjs +0 -335
- package/dist/chunks/quick-provider.mjs +0 -755
- package/dist/chunks/quick-setup.mjs +0 -421
- package/dist/chunks/remote.mjs +0 -497
- package/dist/chunks/research.mjs +0 -1904
- package/dist/chunks/rollback.mjs +0 -38
- package/dist/chunks/session-manager.mjs +0 -1371
- package/dist/chunks/session.mjs +0 -878
- package/dist/chunks/sessions.mjs +0 -106
- package/dist/chunks/silent-updater.mjs +0 -396
- package/dist/chunks/simple-config.mjs +0 -122
- package/dist/chunks/skill.mjs +0 -117
- package/dist/chunks/skill2.mjs +0 -9052
- package/dist/chunks/skills-sync.mjs +0 -1343
- package/dist/chunks/skills.mjs +0 -577
- package/dist/chunks/slash-commands.mjs +0 -208
- package/dist/chunks/smart-guide.mjs +0 -247
- package/dist/chunks/snapshot.mjs +0 -58
- package/dist/chunks/startup.mjs +0 -487
- package/dist/chunks/stats.mjs +0 -191
- package/dist/chunks/status.mjs +0 -471
- package/dist/chunks/team.mjs +0 -63
- package/dist/chunks/thinking.mjs +0 -626
- package/dist/chunks/trace.mjs +0 -57
- package/dist/chunks/uninstall.mjs +0 -852
- package/dist/chunks/update.mjs +0 -174
- package/dist/chunks/upgrade-manager.mjs +0 -204
- package/dist/chunks/upgrade.mjs +0 -133
- package/dist/chunks/version-checker.mjs +0 -891
- package/dist/chunks/vim.mjs +0 -903
- package/dist/chunks/windows.mjs +0 -14
- package/dist/chunks/workflows.mjs +0 -633
- package/dist/chunks/wsl.mjs +0 -129
- package/dist/chunks/zero-config.mjs +0 -871
- package/dist/chunks/zsh.mjs +0 -182
- package/dist/cli.d.mts +0 -1
- package/dist/cli.d.ts +0 -1
- package/dist/cli.mjs +0 -2684
- package/dist/i18n/locales/en/agent-teams.json +0 -18
- package/dist/i18n/locales/en/agentBrowser.json +0 -80
- package/dist/i18n/locales/en/agents.json +0 -135
- package/dist/i18n/locales/en/api.json +0 -63
- package/dist/i18n/locales/en/ccjk-agents.json +0 -33
- package/dist/i18n/locales/en/ccjk-all.json +0 -23
- package/dist/i18n/locales/en/ccjk-skills.json +0 -22
- package/dist/i18n/locales/en/ccjk.json +0 -276
- package/dist/i18n/locales/en/ccr.json +0 -65
- package/dist/i18n/locales/en/claude-md.json +0 -73
- package/dist/i18n/locales/en/cli.json +0 -148
- package/dist/i18n/locales/en/cloud-setup.json +0 -31
- package/dist/i18n/locales/en/cloud-sync.json +0 -147
- package/dist/i18n/locales/en/cloud.json +0 -40
- package/dist/i18n/locales/en/cloudPlugins.json +0 -118
- package/dist/i18n/locales/en/codex.json +0 -184
- package/dist/i18n/locales/en/cometix.json +0 -29
- package/dist/i18n/locales/en/common.json +0 -68
- package/dist/i18n/locales/en/config.json +0 -108
- package/dist/i18n/locales/en/configuration.json +0 -236
- package/dist/i18n/locales/en/context.json +0 -85
- package/dist/i18n/locales/en/dashboard.json +0 -78
- package/dist/i18n/locales/en/errors.json +0 -26
- package/dist/i18n/locales/en/evolution.json +0 -54
- package/dist/i18n/locales/en/hooks.json +0 -74
- package/dist/i18n/locales/en/hooksSync.json +0 -133
- package/dist/i18n/locales/en/installation.json +0 -83
- package/dist/i18n/locales/en/interview.json +0 -104
- package/dist/i18n/locales/en/language.json +0 -19
- package/dist/i18n/locales/en/lsp.json +0 -78
- package/dist/i18n/locales/en/marketplace.json +0 -116
- package/dist/i18n/locales/en/mcp.json +0 -180
- package/dist/i18n/locales/en/memory.json +0 -23
- package/dist/i18n/locales/en/menu.json +0 -299
- package/dist/i18n/locales/en/multi-config.json +0 -79
- package/dist/i18n/locales/en/notification.json +0 -307
- package/dist/i18n/locales/en/permissions.json +0 -95
- package/dist/i18n/locales/en/persistence.json +0 -127
- package/dist/i18n/locales/en/plugins.json +0 -146
- package/dist/i18n/locales/en/quick-actions.json +0 -78
- package/dist/i18n/locales/en/registry.json +0 -54
- package/dist/i18n/locales/en/remote.json +0 -93
- package/dist/i18n/locales/en/sandbox.json +0 -44
- package/dist/i18n/locales/en/setup.json +0 -44
- package/dist/i18n/locales/en/shencha.json +0 -14
- package/dist/i18n/locales/en/skills.json +0 -100
- package/dist/i18n/locales/en/skillsSync.json +0 -74
- package/dist/i18n/locales/en/smartGuide.json +0 -49
- package/dist/i18n/locales/en/stats.json +0 -20
- package/dist/i18n/locales/en/subagent.json +0 -69
- package/dist/i18n/locales/en/superpowers.json +0 -117
- package/dist/i18n/locales/en/team.json +0 -7
- package/dist/i18n/locales/en/thinking.json +0 -65
- package/dist/i18n/locales/en/tools.json +0 -42
- package/dist/i18n/locales/en/uninstall.json +0 -56
- package/dist/i18n/locales/en/updater.json +0 -29
- package/dist/i18n/locales/en/vim.json +0 -169
- package/dist/i18n/locales/en/workflow.json +0 -55
- package/dist/i18n/locales/en/workspace.json +0 -108
- package/dist/i18n/locales/zh-CN/agent-teams.json +0 -18
- package/dist/i18n/locales/zh-CN/agentBrowser.json +0 -80
- package/dist/i18n/locales/zh-CN/agents.json +0 -135
- package/dist/i18n/locales/zh-CN/api.json +0 -63
- package/dist/i18n/locales/zh-CN/ccjk-agents.json +0 -33
- package/dist/i18n/locales/zh-CN/ccjk-all.json +0 -23
- package/dist/i18n/locales/zh-CN/ccjk-skills.json +0 -22
- package/dist/i18n/locales/zh-CN/ccjk.json +0 -276
- package/dist/i18n/locales/zh-CN/ccr.json +0 -65
- package/dist/i18n/locales/zh-CN/claude-md.json +0 -73
- package/dist/i18n/locales/zh-CN/cli.json +0 -148
- package/dist/i18n/locales/zh-CN/cloud-setup.json +0 -31
- package/dist/i18n/locales/zh-CN/cloud-sync.json +0 -147
- package/dist/i18n/locales/zh-CN/cloud.json +0 -40
- package/dist/i18n/locales/zh-CN/cloudPlugins.json +0 -118
- package/dist/i18n/locales/zh-CN/codex.json +0 -184
- package/dist/i18n/locales/zh-CN/cometix.json +0 -29
- package/dist/i18n/locales/zh-CN/common.json +0 -68
- package/dist/i18n/locales/zh-CN/config.json +0 -108
- package/dist/i18n/locales/zh-CN/configuration.json +0 -234
- package/dist/i18n/locales/zh-CN/context.json +0 -85
- package/dist/i18n/locales/zh-CN/dashboard.json +0 -78
- package/dist/i18n/locales/zh-CN/errors.json +0 -26
- package/dist/i18n/locales/zh-CN/evolution.json +0 -54
- package/dist/i18n/locales/zh-CN/hooks.json +0 -74
- package/dist/i18n/locales/zh-CN/hooksSync.json +0 -133
- package/dist/i18n/locales/zh-CN/installation.json +0 -83
- package/dist/i18n/locales/zh-CN/interview.json +0 -104
- package/dist/i18n/locales/zh-CN/language.json +0 -19
- package/dist/i18n/locales/zh-CN/lsp.json +0 -78
- package/dist/i18n/locales/zh-CN/marketplace.json +0 -116
- package/dist/i18n/locales/zh-CN/mcp.json +0 -180
- package/dist/i18n/locales/zh-CN/memory.json +0 -23
- package/dist/i18n/locales/zh-CN/menu.json +0 -299
- package/dist/i18n/locales/zh-CN/multi-config.json +0 -79
- package/dist/i18n/locales/zh-CN/notification.json +0 -307
- package/dist/i18n/locales/zh-CN/permissions.json +0 -95
- package/dist/i18n/locales/zh-CN/persistence.json +0 -127
- package/dist/i18n/locales/zh-CN/plugins.json +0 -146
- package/dist/i18n/locales/zh-CN/quick-actions.json +0 -78
- package/dist/i18n/locales/zh-CN/registry.json +0 -54
- package/dist/i18n/locales/zh-CN/remote.json +0 -93
- package/dist/i18n/locales/zh-CN/sandbox.json +0 -44
- package/dist/i18n/locales/zh-CN/setup.json +0 -44
- package/dist/i18n/locales/zh-CN/shencha.json +0 -14
- package/dist/i18n/locales/zh-CN/skills.json +0 -100
- package/dist/i18n/locales/zh-CN/skillsSync.json +0 -74
- package/dist/i18n/locales/zh-CN/smartGuide.json +0 -49
- package/dist/i18n/locales/zh-CN/stats.json +0 -20
- package/dist/i18n/locales/zh-CN/subagent.json +0 -69
- package/dist/i18n/locales/zh-CN/superpowers.json +0 -117
- package/dist/i18n/locales/zh-CN/team.json +0 -7
- package/dist/i18n/locales/zh-CN/thinking.json +0 -65
- package/dist/i18n/locales/zh-CN/tools.json +0 -42
- package/dist/i18n/locales/zh-CN/uninstall.json +0 -56
- package/dist/i18n/locales/zh-CN/updater.json +0 -29
- package/dist/i18n/locales/zh-CN/vim.json +0 -169
- package/dist/i18n/locales/zh-CN/workflow.json +0 -55
- package/dist/i18n/locales/zh-CN/workspace.json +0 -108
- package/dist/index.d.mts +0 -5658
- package/dist/index.d.ts +0 -5658
- package/dist/index.mjs +0 -3732
- package/dist/shared/ccjk.5bEolFrk.mjs +0 -254
- package/dist/shared/ccjk.8oaxX4iR.mjs +0 -90
- package/dist/shared/ccjk.B2U7DsPy.mjs +0 -31
- package/dist/shared/ccjk.B2f-cwUP.mjs +0 -468
- package/dist/shared/ccjk.BAGoDD49.mjs +0 -36
- package/dist/shared/ccjk.BBtCGd_g.mjs +0 -899
- package/dist/shared/ccjk.BFQ7yr5S.mjs +0 -16
- package/dist/shared/ccjk.BLsIiTqO.mjs +0 -449
- package/dist/shared/ccjk.BXv8aYs1.mjs +0 -170
- package/dist/shared/ccjk.BnsY5WxD.mjs +0 -171
- package/dist/shared/ccjk.BoApaI4j.mjs +0 -28
- package/dist/shared/ccjk.Bq8TqZG_.mjs +0 -189
- package/dist/shared/ccjk.BtrioX1Z.mjs +0 -25
- package/dist/shared/ccjk.Bx_rmYfN.mjs +0 -69
- package/dist/shared/ccjk.BzPbSEP2.mjs +0 -115
- package/dist/shared/ccjk.C0WLUnFV.mjs +0 -293
- package/dist/shared/ccjk.C1hANZTu.mjs +0 -19
- package/dist/shared/ccjk.C2jHOZVP.mjs +0 -52
- package/dist/shared/ccjk.CNhnT6uQ.mjs +0 -636
- package/dist/shared/ccjk.COweQ1RR.mjs +0 -5
- package/dist/shared/ccjk.CfKKcvWy.mjs +0 -126
- package/dist/shared/ccjk.Cjgrln_h.mjs +0 -297
- package/dist/shared/ccjk.CoCHVXl3.mjs +0 -3951
- package/dist/shared/ccjk.CwGZSTAK.mjs +0 -319
- package/dist/shared/ccjk.CxpGa6MC.mjs +0 -2724
- package/dist/shared/ccjk.D-magaEx.mjs +0 -763
- package/dist/shared/ccjk.D0g2ABGg.mjs +0 -171
- package/dist/shared/ccjk.D6ycHbak.mjs +0 -270
- package/dist/shared/ccjk.D75wivnp.mjs +0 -142
- package/dist/shared/ccjk.DDL-4C-k.mjs +0 -100
- package/dist/shared/ccjk.DFRPtmK_.mjs +0 -75
- package/dist/shared/ccjk.DMV3x5Sd.mjs +0 -299
- package/dist/shared/ccjk.DZ2LLOa-.mjs +0 -2195
- package/dist/shared/ccjk.DbigonEQ.mjs +0 -698
- package/dist/shared/ccjk.DcMvE7lf.mjs +0 -618
- package/dist/shared/ccjk.DeWpAShp.mjs +0 -1828
- package/dist/shared/ccjk.DhJ1kyDR.mjs +0 -30
- package/dist/shared/ccjk.DlTXS9rP.mjs +0 -224
- package/dist/shared/ccjk.DopKzo3z.mjs +0 -305
- package/dist/shared/ccjk.DsZsc4LR.mjs +0 -1280
- package/dist/shared/ccjk.DuzJZlgj.mjs +0 -418
- package/dist/shared/ccjk.Dxgd2vjc.mjs +0 -444
- package/dist/shared/ccjk.J8YiPsOw.mjs +0 -259
- package/dist/shared/ccjk.KfSWcGlE.mjs +0 -38
- package/dist/shared/ccjk.L7yC58_i.mjs +0 -225
- package/dist/shared/ccjk.MwtjAULc.mjs +0 -1447
- package/dist/shared/ccjk.OJKHVSOb.mjs +0 -2005
- package/dist/shared/ccjk.OTnevPNE.mjs +0 -225
- package/dist/shared/ccjk.RyizuzOI.mjs +0 -21
- package/dist/shared/ccjk.T_cX87dY.mjs +0 -15
- package/dist/shared/ccjk.bQ7Dh1g4.mjs +0 -249
- package/dist/shared/ccjk.gDEDGD_t.mjs +0 -38
- package/dist/shared/ccjk.hoqrwWdN.mjs +0 -333
- package/dist/shared/ccjk.i_vn-9C3.mjs +0 -317
- package/dist/shared/ccjk.lG3ccFjm.mjs +0 -885
- package/dist/shared/ccjk.wLJHO0Af.mjs +0 -244
- package/dist/shared/ccjk.y-a_1vK4.mjs +0 -5127
- package/dist/templates/agents/README.md +0 -78
- package/dist/templates/agents/fullstack-developer.json +0 -70
- package/dist/templates/agents/go-expert.json +0 -69
- package/dist/templates/agents/index.json +0 -64
- package/dist/templates/agents/python-expert.json +0 -69
- package/dist/templates/agents/react-specialist.json +0 -69
- package/dist/templates/agents/testing-automation-expert.json +0 -70
- package/dist/templates/agents/typescript-architect.json +0 -69
- package/dist/templates/claude-code/common/settings.json +0 -109
- package/dist/templates/common/error-prevention.md +0 -267
- package/dist/templates/common/karpathy-baseline.md +0 -83
- package/dist/templates/common/output-styles/zh-CN/carmack-mode.md +0 -381
- package/dist/templates/common/output-styles/zh-CN/codex-rigor-mode.md +0 -114
- package/dist/templates/common/output-styles/zh-CN/dhh-mode.md +0 -265
- package/dist/templates/common/output-styles/zh-CN/evan-you-mode.md +0 -539
- package/dist/templates/common/output-styles/zh-CN/jobs-mode.md +0 -369
- package/dist/templates/common/output-styles/zh-CN/linus-mode.md +0 -135
- package/dist/templates/common/output-styles/zh-CN/uncle-bob-mode.md +0 -221
- package/dist/templates/common/workflow/continuousDelivery/en/continuous-delivery.md +0 -628
- package/dist/templates/common/workflow/continuousDelivery/zh-CN/continuous-delivery.md +0 -628
- package/dist/templates/common/workflow/essential/en/agents/ccjk-config-agent.md +0 -187
- package/dist/templates/common/workflow/essential/en/agents/ccjk-mcp-agent.md +0 -191
- package/dist/templates/common/workflow/essential/en/agents/ccjk-skill-agent.md +0 -249
- package/dist/templates/common/workflow/essential/en/agents/ccjk-workflow-agent.md +0 -277
- package/dist/templates/common/workflow/essential/en/agents/get-current-datetime.md +0 -29
- package/dist/templates/common/workflow/essential/en/agents/init-architect.md +0 -115
- package/dist/templates/common/workflow/essential/en/agents/ui-ux-designer.md +0 -91
- package/dist/templates/common/workflow/essential/en/feat.md +0 -92
- package/dist/templates/common/workflow/essential/en/goal.md +0 -147
- package/dist/templates/common/workflow/essential/en/init-project.md +0 -53
- package/dist/templates/common/workflow/essential/zh-CN/agents/get-current-datetime.md +0 -29
- package/dist/templates/common/workflow/essential/zh-CN/agents/init-architect.md +0 -115
- package/dist/templates/common/workflow/essential/zh-CN/agents/ui-ux-designer.md +0 -91
- package/dist/templates/common/workflow/essential/zh-CN/feat.md +0 -315
- package/dist/templates/common/workflow/essential/zh-CN/goal.md +0 -146
- package/dist/templates/common/workflow/essential/zh-CN/init-project.md +0 -53
- package/dist/templates/common/workflow/git/en/git-cleanBranches.md +0 -102
- package/dist/templates/common/workflow/git/en/git-commit.md +0 -205
- package/dist/templates/common/workflow/git/en/git-rollback.md +0 -90
- package/dist/templates/common/workflow/git/en/git-worktree.md +0 -276
- package/dist/templates/common/workflow/git/zh-CN/git-cleanBranches.md +0 -102
- package/dist/templates/common/workflow/git/zh-CN/git-commit.md +0 -205
- package/dist/templates/common/workflow/git/zh-CN/git-rollback.md +0 -90
- package/dist/templates/common/workflow/git/zh-CN/git-worktree.md +0 -276
- package/dist/templates/common/workflow/interview/en/interview.md +0 -67
- package/dist/templates/common/workflow/interview/zh-CN/interview.md +0 -67
- package/dist/templates/common/workflow/linearMethod/en/linear-method.md +0 -651
- package/dist/templates/common/workflow/linearMethod/zh-CN/linear-method.md +0 -752
- package/dist/templates/common/workflow/refactoringMaster/en/refactoring-master.md +0 -516
- package/dist/templates/common/workflow/refactoringMaster/zh-CN/refactoring-master.md +0 -812
- package/dist/templates/common/workflow/sixStep/en/workflow.md +0 -83
- package/dist/templates/common/workflow/sixStep/zh-CN/workflow.md +0 -359
- package/dist/templates/common/workflow/specFirstTDD/en/spec-first-tdd.md +0 -364
- package/dist/templates/common/workflow/specFirstTDD/zh-CN/spec-first-tdd.md +0 -366
- package/dist/templates/hooks/README.md +0 -212
- package/dist/templates/hooks/git-workflow-hooks.md +0 -551
- package/dist/templates/hooks/post-test/coverage.json +0 -21
- package/dist/templates/hooks/post-test/summary.json +0 -21
- package/dist/templates/hooks/post-test-coverage.md +0 -434
- package/dist/templates/hooks/pre-commit/eslint.json +0 -22
- package/dist/templates/hooks/pre-commit/prettier.json +0 -22
- package/dist/templates/hooks/pre-commit-black.md +0 -274
- package/dist/templates/hooks/pre-commit-eslint.md +0 -153
- package/dist/templates/hooks/pre-commit-gofmt.md +0 -284
- package/dist/templates/hooks/pre-commit-prettier.md +0 -212
- package/dist/templates/hooks/pre-commit-type-check.md +0 -377
- package/dist/templates/skills/ccjk-init.md +0 -154
- package/dist/templates/skills/ccjk-mcp-setup.md +0 -205
- package/dist/templates/skills/ccjk-troubleshoot.md +0 -228
- package/dist/templates/skills/django-patterns.md +0 -1016
- package/dist/templates/skills/git-workflow.md +0 -748
- package/dist/templates/skills/go-idioms.md +0 -963
- package/dist/templates/skills/index.json +0 -132
- package/dist/templates/skills/nextjs-optimization.md +0 -694
- package/dist/templates/skills/python-pep8.md +0 -852
- package/dist/templates/skills/react-patterns.md +0 -686
- package/dist/templates/skills/rust-patterns.md +0 -1057
- package/dist/templates/skills/security-best-practices.md +0 -1413
- package/dist/templates/skills/testing-best-practices.md +0 -1315
- package/dist/templates/skills/ts-best-practices.md +0 -354
- package/templates/agents/README.md +0 -78
- package/templates/agents/fullstack-developer.json +0 -70
- package/templates/agents/go-expert.json +0 -69
- package/templates/agents/index.json +0 -64
- package/templates/agents/python-expert.json +0 -69
- package/templates/agents/react-specialist.json +0 -69
- package/templates/agents/testing-automation-expert.json +0 -70
- package/templates/agents/typescript-architect.json +0 -69
- package/templates/claude-code/common/settings.json +0 -109
- package/templates/common/error-prevention.md +0 -267
- package/templates/common/karpathy-baseline.md +0 -83
- package/templates/common/output-styles/zh-CN/carmack-mode.md +0 -381
- package/templates/common/output-styles/zh-CN/codex-rigor-mode.md +0 -114
- package/templates/common/output-styles/zh-CN/dhh-mode.md +0 -265
- package/templates/common/output-styles/zh-CN/evan-you-mode.md +0 -539
- package/templates/common/output-styles/zh-CN/jobs-mode.md +0 -369
- package/templates/common/output-styles/zh-CN/linus-mode.md +0 -135
- package/templates/common/output-styles/zh-CN/uncle-bob-mode.md +0 -221
- package/templates/common/workflow/continuousDelivery/en/continuous-delivery.md +0 -628
- package/templates/common/workflow/continuousDelivery/zh-CN/continuous-delivery.md +0 -628
- package/templates/common/workflow/essential/en/agents/ccjk-config-agent.md +0 -187
- package/templates/common/workflow/essential/en/agents/ccjk-mcp-agent.md +0 -191
- package/templates/common/workflow/essential/en/agents/ccjk-skill-agent.md +0 -249
- package/templates/common/workflow/essential/en/agents/ccjk-workflow-agent.md +0 -277
- package/templates/common/workflow/essential/en/agents/get-current-datetime.md +0 -29
- package/templates/common/workflow/essential/en/agents/init-architect.md +0 -115
- package/templates/common/workflow/essential/en/agents/ui-ux-designer.md +0 -91
- package/templates/common/workflow/essential/en/feat.md +0 -92
- package/templates/common/workflow/essential/en/goal.md +0 -147
- package/templates/common/workflow/essential/en/init-project.md +0 -53
- package/templates/common/workflow/essential/zh-CN/agents/get-current-datetime.md +0 -29
- package/templates/common/workflow/essential/zh-CN/agents/init-architect.md +0 -115
- package/templates/common/workflow/essential/zh-CN/agents/ui-ux-designer.md +0 -91
- package/templates/common/workflow/essential/zh-CN/feat.md +0 -315
- package/templates/common/workflow/essential/zh-CN/goal.md +0 -146
- package/templates/common/workflow/essential/zh-CN/init-project.md +0 -53
- package/templates/common/workflow/git/en/git-cleanBranches.md +0 -102
- package/templates/common/workflow/git/en/git-commit.md +0 -205
- package/templates/common/workflow/git/en/git-rollback.md +0 -90
- package/templates/common/workflow/git/en/git-worktree.md +0 -276
- package/templates/common/workflow/git/zh-CN/git-cleanBranches.md +0 -102
- package/templates/common/workflow/git/zh-CN/git-commit.md +0 -205
- package/templates/common/workflow/git/zh-CN/git-rollback.md +0 -90
- package/templates/common/workflow/git/zh-CN/git-worktree.md +0 -276
- package/templates/common/workflow/interview/en/interview.md +0 -67
- package/templates/common/workflow/interview/zh-CN/interview.md +0 -67
- package/templates/common/workflow/linearMethod/en/linear-method.md +0 -651
- package/templates/common/workflow/linearMethod/zh-CN/linear-method.md +0 -752
- package/templates/common/workflow/refactoringMaster/en/refactoring-master.md +0 -516
- package/templates/common/workflow/refactoringMaster/zh-CN/refactoring-master.md +0 -812
- package/templates/common/workflow/sixStep/en/workflow.md +0 -83
- package/templates/common/workflow/sixStep/zh-CN/workflow.md +0 -359
- package/templates/common/workflow/specFirstTDD/en/spec-first-tdd.md +0 -364
- package/templates/common/workflow/specFirstTDD/zh-CN/spec-first-tdd.md +0 -366
- package/templates/hooks/README.md +0 -212
- package/templates/hooks/git-workflow-hooks.md +0 -551
- package/templates/hooks/post-test/coverage.json +0 -21
- package/templates/hooks/post-test/summary.json +0 -21
- package/templates/hooks/post-test-coverage.md +0 -434
- package/templates/hooks/pre-commit/eslint.json +0 -22
- package/templates/hooks/pre-commit/prettier.json +0 -22
- package/templates/hooks/pre-commit-black.md +0 -274
- package/templates/hooks/pre-commit-eslint.md +0 -153
- package/templates/hooks/pre-commit-gofmt.md +0 -284
- package/templates/hooks/pre-commit-prettier.md +0 -212
- package/templates/hooks/pre-commit-type-check.md +0 -377
- package/templates/skills/basic.hbs +0 -72
- package/templates/skills/ccjk-init.md +0 -154
- package/templates/skills/ccjk-mcp-setup.md +0 -205
- package/templates/skills/ccjk-troubleshoot.md +0 -228
- package/templates/skills/code-refactor.hbs +0 -133
- package/templates/skills/code-review.hbs +0 -141
- package/templates/skills/django-patterns.md +0 -1016
- package/templates/skills/git-workflow.md +0 -748
- package/templates/skills/go-idioms.md +0 -963
- package/templates/skills/index.json +0 -132
- package/templates/skills/nextjs-optimization.md +0 -694
- package/templates/skills/python-pep8.md +0 -852
- package/templates/skills/react-patterns.md +0 -686
- package/templates/skills/rust-patterns.md +0 -1057
- package/templates/skills/security-best-practices.md +0 -1413
- package/templates/skills/testing-best-practices.md +0 -1315
- package/templates/skills/ts-best-practices.md +0 -354
- package/templates/skills/type-fix.hbs +0 -132
|
@@ -1,517 +0,0 @@
|
|
|
1
|
-
import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
2
|
-
import { homedir } from 'node:os';
|
|
3
|
-
import { join } from 'node:path';
|
|
4
|
-
import a from './index5.mjs';
|
|
5
|
-
import { CODE_TOOL_TYPES } from './constants.mjs';
|
|
6
|
-
import { i18n } from './index2.mjs';
|
|
7
|
-
import '../shared/ccjk.BAGoDD49.mjs';
|
|
8
|
-
import '../shared/ccjk.bQ7Dh1g4.mjs';
|
|
9
|
-
import 'node:process';
|
|
10
|
-
import 'node:url';
|
|
11
|
-
|
|
12
|
-
const COMPLETION_COMMANDS = [
|
|
13
|
-
// Core Commands
|
|
14
|
-
{
|
|
15
|
-
name: "init",
|
|
16
|
-
description: "Initialize Claude Code configuration",
|
|
17
|
-
aliases: ["i"],
|
|
18
|
-
options: [
|
|
19
|
-
{ flags: "--lang, -l", description: "Display language", values: ["zh-CN", "en"] },
|
|
20
|
-
{ flags: "--config-lang, -c", description: "Configuration language", values: ["zh-CN", "en"] },
|
|
21
|
-
{ flags: "--force, -f", description: "Force overwrite" },
|
|
22
|
-
{ flags: "--skip-prompt, -s", description: "Skip prompts" },
|
|
23
|
-
{ flags: "--code-type, -T", description: "Code tool type", values: [...CODE_TOOL_TYPES] }
|
|
24
|
-
]
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: "update",
|
|
28
|
-
description: "Update Claude Code prompts",
|
|
29
|
-
aliases: ["u"],
|
|
30
|
-
options: [
|
|
31
|
-
{ flags: "--lang, -l", description: "Display language", values: ["zh-CN", "en"] },
|
|
32
|
-
{ flags: "--config-lang, -c", description: "Configuration language", values: ["zh-CN", "en"] }
|
|
33
|
-
]
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
name: "doctor",
|
|
37
|
-
description: "Run environment health check",
|
|
38
|
-
options: [
|
|
39
|
-
{ flags: "--check-providers", description: "Check API provider health" },
|
|
40
|
-
{ flags: "--code-type, -T", description: "Code tool type", values: ["claude-code", "clavue", "codex"] },
|
|
41
|
-
{ flags: "--fix-settings", description: "Fix settings.json validation issues" }
|
|
42
|
-
]
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
name: "help",
|
|
46
|
-
description: "Show help and quick reference",
|
|
47
|
-
aliases: ["h", "?"]
|
|
48
|
-
},
|
|
49
|
-
// MCP Commands
|
|
50
|
-
{
|
|
51
|
-
name: "mcp",
|
|
52
|
-
description: "MCP Server management",
|
|
53
|
-
options: [
|
|
54
|
-
{ flags: "--verbose, -v", description: "Verbose output" },
|
|
55
|
-
{ flags: "--dry-run, -d", description: "Preview changes" }
|
|
56
|
-
],
|
|
57
|
-
subcommands: [
|
|
58
|
-
{ name: "status", description: "Quick MCP status overview" },
|
|
59
|
-
{ name: "doctor", description: "Health check and diagnostics" },
|
|
60
|
-
{ name: "profile", description: "Switch profile (minimal/development/full)" },
|
|
61
|
-
{ name: "release", description: "Release idle services" },
|
|
62
|
-
{ name: "market", description: "MCP service marketplace" },
|
|
63
|
-
{ name: "list", description: "List installed services" },
|
|
64
|
-
{ name: "search", description: "Search MCP services" },
|
|
65
|
-
{ name: "install", description: "Install MCP service" },
|
|
66
|
-
{ name: "uninstall", description: "Uninstall MCP service" },
|
|
67
|
-
{ name: "help", description: "Show MCP help" }
|
|
68
|
-
]
|
|
69
|
-
},
|
|
70
|
-
// Browser Commands
|
|
71
|
-
{
|
|
72
|
-
name: "browser",
|
|
73
|
-
description: "Agent Browser management",
|
|
74
|
-
aliases: ["ab"],
|
|
75
|
-
options: [
|
|
76
|
-
{ flags: "--verbose, -v", description: "Verbose output" }
|
|
77
|
-
],
|
|
78
|
-
subcommands: [
|
|
79
|
-
{ name: "install", description: "Install Agent Browser" },
|
|
80
|
-
{ name: "uninstall", description: "Uninstall Agent Browser" },
|
|
81
|
-
{ name: "status", description: "Show browser status" },
|
|
82
|
-
{ name: "start", description: "Start browser session" },
|
|
83
|
-
{ name: "stop", description: "Stop browser session" },
|
|
84
|
-
{ name: "config", description: "Configure browser" }
|
|
85
|
-
]
|
|
86
|
-
},
|
|
87
|
-
// Skills Commands
|
|
88
|
-
{
|
|
89
|
-
name: "skills",
|
|
90
|
-
description: "Manage CCJK skills",
|
|
91
|
-
aliases: ["sk"],
|
|
92
|
-
options: [
|
|
93
|
-
{ flags: "--category, -c", description: "Filter by category" },
|
|
94
|
-
{ flags: "--show-disabled", description: "Show disabled skills" },
|
|
95
|
-
{ flags: "--format, -f", description: "Output format", values: ["table", "json", "list"] },
|
|
96
|
-
{ flags: "--batch", description: "Batch create skills" }
|
|
97
|
-
],
|
|
98
|
-
subcommands: [
|
|
99
|
-
{ name: "list", description: "List all skills" },
|
|
100
|
-
{ name: "run", description: "Run a skill" },
|
|
101
|
-
{ name: "info", description: "Show skill info" },
|
|
102
|
-
{ name: "create", description: "Create a new skill" },
|
|
103
|
-
{ name: "enable", description: "Enable a skill" },
|
|
104
|
-
{ name: "disable", description: "Disable a skill" },
|
|
105
|
-
{ name: "delete", description: "Delete a skill" }
|
|
106
|
-
]
|
|
107
|
-
},
|
|
108
|
-
// Config Commands
|
|
109
|
-
{
|
|
110
|
-
name: "config",
|
|
111
|
-
description: "Manage CCJK configuration",
|
|
112
|
-
options: [
|
|
113
|
-
{ flags: "--format, -f", description: "Output format", values: ["table", "json", "yaml"] },
|
|
114
|
-
{ flags: "--global, -g", description: "Use global config" }
|
|
115
|
-
],
|
|
116
|
-
subcommands: [
|
|
117
|
-
{ name: "list", description: "List all configuration" },
|
|
118
|
-
{ name: "get", description: "Get configuration value" },
|
|
119
|
-
{ name: "set", description: "Set configuration value" },
|
|
120
|
-
{ name: "unset", description: "Unset configuration value" },
|
|
121
|
-
{ name: "reset", description: "Reset configuration" },
|
|
122
|
-
{ name: "edit", description: "Edit configuration file" },
|
|
123
|
-
{ name: "validate", description: "Validate configuration" }
|
|
124
|
-
]
|
|
125
|
-
},
|
|
126
|
-
// Agent Commands
|
|
127
|
-
{
|
|
128
|
-
name: "agent",
|
|
129
|
-
description: "Manage AI agents",
|
|
130
|
-
aliases: ["ag"],
|
|
131
|
-
options: [
|
|
132
|
-
{ flags: "--template, -t", description: "Use agent template" },
|
|
133
|
-
{ flags: "--skills, -s", description: "Comma-separated skill IDs" },
|
|
134
|
-
{ flags: "--mcp, -m", description: "Comma-separated MCP servers" },
|
|
135
|
-
{ flags: "--persona, -p", description: "Custom persona" },
|
|
136
|
-
{ flags: "--json", description: "Output as JSON" }
|
|
137
|
-
],
|
|
138
|
-
subcommands: [
|
|
139
|
-
{ name: "list", description: "List agents" },
|
|
140
|
-
{ name: "create", description: "Create agent" },
|
|
141
|
-
{ name: "delete", description: "Delete agent" },
|
|
142
|
-
{ name: "run", description: "Run agent" },
|
|
143
|
-
{ name: "info", description: "Show agent info" }
|
|
144
|
-
]
|
|
145
|
-
},
|
|
146
|
-
// Interview Commands
|
|
147
|
-
{
|
|
148
|
-
name: "interview",
|
|
149
|
-
description: "Interview-Driven Development",
|
|
150
|
-
aliases: ["iv"],
|
|
151
|
-
options: [
|
|
152
|
-
{ flags: "--template, -t", description: "Interview template" },
|
|
153
|
-
{ flags: "--depth, -d", description: "Interview depth", values: ["quick", "standard", "deep"] },
|
|
154
|
-
{ flags: "--resume, -r", description: "Resume session" },
|
|
155
|
-
{ flags: "--list", description: "List sessions" }
|
|
156
|
-
]
|
|
157
|
-
},
|
|
158
|
-
// Commit Command
|
|
159
|
-
{
|
|
160
|
-
name: "commit",
|
|
161
|
-
description: "Smart git commit",
|
|
162
|
-
options: [
|
|
163
|
-
{ flags: "--auto, -a", description: "Auto-generate message" },
|
|
164
|
-
{ flags: "--dry-run, -d", description: "Preview only" },
|
|
165
|
-
{ flags: "--message, -m", description: "Custom message" }
|
|
166
|
-
]
|
|
167
|
-
},
|
|
168
|
-
// Providers Commands
|
|
169
|
-
{
|
|
170
|
-
name: "providers",
|
|
171
|
-
description: "Manage API providers",
|
|
172
|
-
options: [
|
|
173
|
-
{ flags: "--format, -f", description: "Output format", values: ["table", "json"] },
|
|
174
|
-
{ flags: "--code-type, -T", description: "Code tool type" },
|
|
175
|
-
{ flags: "--verbose, -v", description: "Verbose output" }
|
|
176
|
-
],
|
|
177
|
-
subcommands: [
|
|
178
|
-
{ name: "list", description: "List providers" },
|
|
179
|
-
{ name: "add", description: "Add provider" },
|
|
180
|
-
{ name: "remove", description: "Remove provider" },
|
|
181
|
-
{ name: "switch", description: "Switch provider" }
|
|
182
|
-
]
|
|
183
|
-
},
|
|
184
|
-
// Thinking Commands
|
|
185
|
-
{
|
|
186
|
-
name: "thinking",
|
|
187
|
-
description: "Thinking Mode (Opus 4.5+ extended reasoning)",
|
|
188
|
-
aliases: ["think"],
|
|
189
|
-
options: [
|
|
190
|
-
{ flags: "--json", description: "Output in JSON format" },
|
|
191
|
-
{ flags: "--verbose, -v", description: "Verbose output" }
|
|
192
|
-
],
|
|
193
|
-
subcommands: [
|
|
194
|
-
{ name: "enable", description: "Enable thinking mode" },
|
|
195
|
-
{ name: "disable", description: "Disable thinking mode" },
|
|
196
|
-
{ name: "status", description: "Show thinking mode status" },
|
|
197
|
-
{ name: "config", description: "Configure thinking mode" }
|
|
198
|
-
]
|
|
199
|
-
},
|
|
200
|
-
// Postmortem Commands
|
|
201
|
-
{
|
|
202
|
-
name: "postmortem",
|
|
203
|
-
description: "Postmortem Intelligence",
|
|
204
|
-
aliases: ["pm"],
|
|
205
|
-
options: [
|
|
206
|
-
{ flags: "--severity", description: "Filter by severity", values: ["critical", "high", "medium", "low"] },
|
|
207
|
-
{ flags: "--category", description: "Filter by category" },
|
|
208
|
-
{ flags: "--status", description: "Filter by status" },
|
|
209
|
-
{ flags: "--staged", description: "Check staged files only" },
|
|
210
|
-
{ flags: "--ci", description: "CI mode" }
|
|
211
|
-
],
|
|
212
|
-
subcommands: [
|
|
213
|
-
{ name: "init", description: "Initialize system" },
|
|
214
|
-
{ name: "generate", description: "Generate from commits" },
|
|
215
|
-
{ name: "list", description: "List all reports" },
|
|
216
|
-
{ name: "show", description: "Show report details" },
|
|
217
|
-
{ name: "check", description: "Check code for issues" },
|
|
218
|
-
{ name: "sync", description: "Sync to CLAUDE.md" },
|
|
219
|
-
{ name: "stats", description: "Show statistics" }
|
|
220
|
-
]
|
|
221
|
-
},
|
|
222
|
-
// Session Commands
|
|
223
|
-
{
|
|
224
|
-
name: "session",
|
|
225
|
-
description: "Session management",
|
|
226
|
-
options: [
|
|
227
|
-
{ flags: "--name, -n", description: "Session name" }
|
|
228
|
-
],
|
|
229
|
-
subcommands: [
|
|
230
|
-
{ name: "save", description: "Save session" },
|
|
231
|
-
{ name: "restore", description: "Restore session" },
|
|
232
|
-
{ name: "list", description: "List sessions" },
|
|
233
|
-
{ name: "delete", description: "Delete session" }
|
|
234
|
-
]
|
|
235
|
-
},
|
|
236
|
-
// Context Commands
|
|
237
|
-
{
|
|
238
|
-
name: "context",
|
|
239
|
-
description: "Context management",
|
|
240
|
-
aliases: ["ctx"],
|
|
241
|
-
options: [
|
|
242
|
-
{ flags: "--verbose, -v", description: "Verbose output" }
|
|
243
|
-
],
|
|
244
|
-
subcommands: [
|
|
245
|
-
{ name: "analyze", description: "Analyze context" },
|
|
246
|
-
{ name: "compress", description: "Compress context" },
|
|
247
|
-
{ name: "optimize", description: "Optimize context" },
|
|
248
|
-
{ name: "status", description: "Show context status" }
|
|
249
|
-
]
|
|
250
|
-
},
|
|
251
|
-
// Cloud Commands
|
|
252
|
-
{
|
|
253
|
-
name: "cloud",
|
|
254
|
-
description: "Cloud sync",
|
|
255
|
-
aliases: ["c"],
|
|
256
|
-
options: [
|
|
257
|
-
{ flags: "--dry-run, -d", description: "Preview changes" },
|
|
258
|
-
{ flags: "--force, -f", description: "Force sync" }
|
|
259
|
-
],
|
|
260
|
-
subcommands: [
|
|
261
|
-
{ name: "skills", description: "Sync custom skills" },
|
|
262
|
-
{ name: "agents", description: "Sync AI agents" },
|
|
263
|
-
{ name: "plugins", description: "Plugin marketplace" }
|
|
264
|
-
]
|
|
265
|
-
},
|
|
266
|
-
// System Commands
|
|
267
|
-
{
|
|
268
|
-
name: "system",
|
|
269
|
-
description: "System management",
|
|
270
|
-
aliases: ["sys"],
|
|
271
|
-
subcommands: [
|
|
272
|
-
{ name: "setup", description: "First-time setup" },
|
|
273
|
-
{ name: "sync", description: "Quick knowledge sync" },
|
|
274
|
-
{ name: "versions", description: "Check all versions" },
|
|
275
|
-
{ name: "upgrade", description: "Upgrade all components" },
|
|
276
|
-
{ name: "permissions", description: "Show permissions" },
|
|
277
|
-
{ name: "config", description: "Scan config files" },
|
|
278
|
-
{ name: "workspace", description: "Workspace diagnostics" }
|
|
279
|
-
]
|
|
280
|
-
},
|
|
281
|
-
// Completion Command (self-referential)
|
|
282
|
-
{
|
|
283
|
-
name: "completion",
|
|
284
|
-
description: "Shell completion management",
|
|
285
|
-
subcommands: [
|
|
286
|
-
{ name: "install", description: "Install completion script" },
|
|
287
|
-
{ name: "uninstall", description: "Uninstall completion script" },
|
|
288
|
-
{ name: "show", description: "Show completion script" }
|
|
289
|
-
]
|
|
290
|
-
},
|
|
291
|
-
// Other Commands
|
|
292
|
-
{ name: "ccr", description: "Configure Claude Code Router" },
|
|
293
|
-
{ name: "ccu", description: "Claude Code usage analysis" },
|
|
294
|
-
{ name: "impact", description: "Usage impact page with daily token trends", aliases: ["gain"] },
|
|
295
|
-
{ name: "vim", description: "Vim mode configuration" },
|
|
296
|
-
{ name: "workflows", description: "Manage workflows", aliases: ["wf"] },
|
|
297
|
-
{ name: "stats", description: "Usage statistics" },
|
|
298
|
-
{ name: "uninstall", description: "Remove CCJK configurations" },
|
|
299
|
-
{ name: "check-updates", description: "Check for updates", aliases: ["check"] },
|
|
300
|
-
{ name: "config-switch", description: "Switch configuration", aliases: ["cs"] }
|
|
301
|
-
];
|
|
302
|
-
class CCJKCompletionProvider {
|
|
303
|
-
getCommands() {
|
|
304
|
-
return COMPLETION_COMMANDS;
|
|
305
|
-
}
|
|
306
|
-
getOptions(command) {
|
|
307
|
-
const cmd = COMPLETION_COMMANDS.find(
|
|
308
|
-
(c) => c.name === command || c.aliases?.includes(command)
|
|
309
|
-
);
|
|
310
|
-
return cmd?.options || [];
|
|
311
|
-
}
|
|
312
|
-
getSubcommands(command) {
|
|
313
|
-
const cmd = COMPLETION_COMMANDS.find(
|
|
314
|
-
(c) => c.name === command || c.aliases?.includes(command)
|
|
315
|
-
);
|
|
316
|
-
return cmd?.subcommands || [];
|
|
317
|
-
}
|
|
318
|
-
async getValues(command, option) {
|
|
319
|
-
const cmd = COMPLETION_COMMANDS.find(
|
|
320
|
-
(c) => c.name === command || c.aliases?.includes(command)
|
|
321
|
-
);
|
|
322
|
-
if (!cmd?.options)
|
|
323
|
-
return [];
|
|
324
|
-
const opt = cmd.options.find((o) => o.flags.includes(option));
|
|
325
|
-
if (!opt?.values)
|
|
326
|
-
return [];
|
|
327
|
-
if (typeof opt.values === "function") {
|
|
328
|
-
return await opt.values();
|
|
329
|
-
}
|
|
330
|
-
return opt.values;
|
|
331
|
-
}
|
|
332
|
-
async generateScript(shell) {
|
|
333
|
-
switch (shell) {
|
|
334
|
-
case "bash":
|
|
335
|
-
return await this.generateBashScript();
|
|
336
|
-
case "zsh":
|
|
337
|
-
return await this.generateZshScript();
|
|
338
|
-
case "fish":
|
|
339
|
-
return await this.generateFishScript();
|
|
340
|
-
case "powershell":
|
|
341
|
-
return await this.generatePowerShellScript();
|
|
342
|
-
default:
|
|
343
|
-
throw new Error(`Unsupported shell: ${shell}`);
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
async generateBashScript() {
|
|
347
|
-
const { generateBashCompletion } = await import('./bash.mjs');
|
|
348
|
-
return generateBashCompletion(this.getCommands());
|
|
349
|
-
}
|
|
350
|
-
async generateZshScript() {
|
|
351
|
-
const { generateZshCompletion } = await import('./zsh.mjs');
|
|
352
|
-
return generateZshCompletion(this.getCommands());
|
|
353
|
-
}
|
|
354
|
-
async generateFishScript() {
|
|
355
|
-
const { generateFishCompletion } = await import('./fish.mjs');
|
|
356
|
-
return generateFishCompletion(this.getCommands());
|
|
357
|
-
}
|
|
358
|
-
async generatePowerShellScript() {
|
|
359
|
-
const { generatePowerShellCompletion } = await import('./powershell.mjs');
|
|
360
|
-
return generatePowerShellCompletion(this.getCommands());
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
const provider = new CCJKCompletionProvider();
|
|
364
|
-
async function installCompletion(shell, options = {}) {
|
|
365
|
-
const isZh = (options.lang || i18n.language) === "zh-CN";
|
|
366
|
-
console.log("");
|
|
367
|
-
console.log(a.bold.cyan(isZh ? `Installing ${shell} completion...` : `Installing ${shell} completion...`));
|
|
368
|
-
const script = await provider.generateScript(shell);
|
|
369
|
-
const installPath = getCompletionInstallPath(shell);
|
|
370
|
-
if (!installPath) {
|
|
371
|
-
console.log(a.red(isZh ? `Cannot determine install path for ${shell}` : `Cannot determine install path for ${shell}`));
|
|
372
|
-
return;
|
|
373
|
-
}
|
|
374
|
-
const dir = join(installPath, "..");
|
|
375
|
-
if (!existsSync(dir)) {
|
|
376
|
-
mkdirSync(dir, { recursive: true });
|
|
377
|
-
}
|
|
378
|
-
writeFileSync(installPath, script, "utf-8");
|
|
379
|
-
console.log(a.green(isZh ? `Completion script installed to: ${installPath}` : `Completion script installed to: ${installPath}`));
|
|
380
|
-
console.log("");
|
|
381
|
-
showActivationInstructions(shell, installPath, isZh);
|
|
382
|
-
}
|
|
383
|
-
async function uninstallCompletion(shell, options = {}) {
|
|
384
|
-
const isZh = (options.lang || i18n.language) === "zh-CN";
|
|
385
|
-
const installPath = getCompletionInstallPath(shell);
|
|
386
|
-
if (!installPath || !existsSync(installPath)) {
|
|
387
|
-
console.log(a.yellow(isZh ? `No completion script found for ${shell}` : `No completion script found for ${shell}`));
|
|
388
|
-
return;
|
|
389
|
-
}
|
|
390
|
-
const { unlinkSync } = await import('node:fs');
|
|
391
|
-
unlinkSync(installPath);
|
|
392
|
-
console.log(a.green(isZh ? `Completion script removed: ${installPath}` : `Completion script removed: ${installPath}`));
|
|
393
|
-
}
|
|
394
|
-
async function showCompletion(shell, _options = {}) {
|
|
395
|
-
const script = await provider.generateScript(shell);
|
|
396
|
-
console.log(script);
|
|
397
|
-
}
|
|
398
|
-
function getCompletionInstallPath(shell) {
|
|
399
|
-
const home = homedir();
|
|
400
|
-
switch (shell) {
|
|
401
|
-
case "bash":
|
|
402
|
-
if (existsSync("/etc/bash_completion.d")) {
|
|
403
|
-
return "/etc/bash_completion.d/ccjk";
|
|
404
|
-
}
|
|
405
|
-
return join(home, ".bash_completion.d", "ccjk");
|
|
406
|
-
case "zsh":
|
|
407
|
-
const omzPath = join(home, ".oh-my-zsh", "completions");
|
|
408
|
-
if (existsSync(omzPath)) {
|
|
409
|
-
return join(omzPath, "_ccjk");
|
|
410
|
-
}
|
|
411
|
-
return join(home, ".zsh", "completions", "_ccjk");
|
|
412
|
-
case "fish":
|
|
413
|
-
return join(home, ".config", "fish", "completions", "ccjk.fish");
|
|
414
|
-
case "powershell":
|
|
415
|
-
return join(home, "Documents", "PowerShell", "Scripts", "ccjk-completion.ps1");
|
|
416
|
-
default:
|
|
417
|
-
return null;
|
|
418
|
-
}
|
|
419
|
-
}
|
|
420
|
-
function showActivationInstructions(shell, installPath, isZh) {
|
|
421
|
-
console.log(a.bold(isZh ? "Activation Instructions:" : "Activation Instructions:"));
|
|
422
|
-
console.log("");
|
|
423
|
-
switch (shell) {
|
|
424
|
-
case "bash":
|
|
425
|
-
console.log(a.dim(isZh ? "Add the following to your ~/.bashrc:" : "Add the following to your ~/.bashrc:"));
|
|
426
|
-
console.log("");
|
|
427
|
-
console.log(a.green(` source ${installPath}`));
|
|
428
|
-
console.log("");
|
|
429
|
-
console.log(a.dim(isZh ? "Then reload your shell:" : "Then reload your shell:"));
|
|
430
|
-
console.log(a.green(" source ~/.bashrc"));
|
|
431
|
-
break;
|
|
432
|
-
case "zsh":
|
|
433
|
-
console.log(a.dim(isZh ? "Add the following to your ~/.zshrc:" : "Add the following to your ~/.zshrc:"));
|
|
434
|
-
console.log("");
|
|
435
|
-
console.log(a.green(` fpath=(${join(installPath, "..")} $fpath)`));
|
|
436
|
-
console.log(a.green(" autoload -Uz compinit && compinit"));
|
|
437
|
-
console.log("");
|
|
438
|
-
console.log(a.dim(isZh ? "Then reload your shell:" : "Then reload your shell:"));
|
|
439
|
-
console.log(a.green(" source ~/.zshrc"));
|
|
440
|
-
break;
|
|
441
|
-
case "fish":
|
|
442
|
-
console.log(a.dim(isZh ? "Fish completions are automatically loaded." : "Fish completions are automatically loaded."));
|
|
443
|
-
console.log(a.dim(isZh ? "Restart your shell or run:" : "Restart your shell or run:"));
|
|
444
|
-
console.log(a.green(" source ~/.config/fish/config.fish"));
|
|
445
|
-
break;
|
|
446
|
-
case "powershell":
|
|
447
|
-
console.log(a.dim(isZh ? "Add the following to your PowerShell profile:" : "Add the following to your PowerShell profile:"));
|
|
448
|
-
console.log("");
|
|
449
|
-
console.log(a.green(` . ${installPath}`));
|
|
450
|
-
console.log("");
|
|
451
|
-
console.log(a.dim(isZh ? "To find your profile path, run:" : "To find your profile path, run:"));
|
|
452
|
-
console.log(a.green(" $PROFILE"));
|
|
453
|
-
break;
|
|
454
|
-
}
|
|
455
|
-
console.log("");
|
|
456
|
-
}
|
|
457
|
-
async function completionCommand(action, shell, options = {}) {
|
|
458
|
-
const isZh = (options.lang || i18n.language) === "zh-CN";
|
|
459
|
-
if (!action) {
|
|
460
|
-
showCompletionHelp(isZh);
|
|
461
|
-
return;
|
|
462
|
-
}
|
|
463
|
-
const validShells = ["bash", "zsh", "fish", "powershell"];
|
|
464
|
-
switch (action) {
|
|
465
|
-
case "install":
|
|
466
|
-
if (!shell || !validShells.includes(shell)) {
|
|
467
|
-
console.log(a.red(isZh ? `Please specify a valid shell: ${validShells.join(", ")}` : `Please specify a valid shell: ${validShells.join(", ")}`));
|
|
468
|
-
return;
|
|
469
|
-
}
|
|
470
|
-
await installCompletion(shell, options);
|
|
471
|
-
break;
|
|
472
|
-
case "uninstall":
|
|
473
|
-
if (!shell || !validShells.includes(shell)) {
|
|
474
|
-
console.log(a.red(isZh ? `Please specify a valid shell: ${validShells.join(", ")}` : `Please specify a valid shell: ${validShells.join(", ")}`));
|
|
475
|
-
return;
|
|
476
|
-
}
|
|
477
|
-
await uninstallCompletion(shell, options);
|
|
478
|
-
break;
|
|
479
|
-
case "show":
|
|
480
|
-
if (!shell || !validShells.includes(shell)) {
|
|
481
|
-
console.log(a.red(isZh ? `Please specify a valid shell: ${validShells.join(", ")}` : `Please specify a valid shell: ${validShells.join(", ")}`));
|
|
482
|
-
return;
|
|
483
|
-
}
|
|
484
|
-
await showCompletion(shell, options);
|
|
485
|
-
break;
|
|
486
|
-
default:
|
|
487
|
-
showCompletionHelp(isZh);
|
|
488
|
-
}
|
|
489
|
-
}
|
|
490
|
-
function showCompletionHelp(isZh) {
|
|
491
|
-
console.log("");
|
|
492
|
-
console.log(a.bold.cyan(isZh ? "Shell Completion Commands" : "Shell Completion Commands"));
|
|
493
|
-
console.log(a.dim("-".repeat(50)));
|
|
494
|
-
console.log("");
|
|
495
|
-
console.log(` ${a.green("ccjk completion install <shell>")}`);
|
|
496
|
-
console.log(` ${a.dim(isZh ? "Install completion script" : "Install completion script")}`);
|
|
497
|
-
console.log("");
|
|
498
|
-
console.log(` ${a.green("ccjk completion uninstall <shell>")}`);
|
|
499
|
-
console.log(` ${a.dim(isZh ? "Uninstall completion script" : "Uninstall completion script")}`);
|
|
500
|
-
console.log("");
|
|
501
|
-
console.log(` ${a.green("ccjk completion show <shell>")}`);
|
|
502
|
-
console.log(` ${a.dim(isZh ? "Show completion script" : "Show completion script")}`);
|
|
503
|
-
console.log("");
|
|
504
|
-
console.log(a.bold(isZh ? "Supported Shells:" : "Supported Shells:"));
|
|
505
|
-
console.log(` ${a.yellow("bash")} - Bash shell`);
|
|
506
|
-
console.log(` ${a.yellow("zsh")} - Zsh shell`);
|
|
507
|
-
console.log(` ${a.yellow("fish")} - Fish shell`);
|
|
508
|
-
console.log(` ${a.yellow("powershell")} - PowerShell`);
|
|
509
|
-
console.log("");
|
|
510
|
-
console.log(a.bold(isZh ? "Examples:" : "Examples:"));
|
|
511
|
-
console.log(a.dim(" ccjk completion install bash"));
|
|
512
|
-
console.log(a.dim(" ccjk completion install zsh"));
|
|
513
|
-
console.log(a.dim(" ccjk completion show fish"));
|
|
514
|
-
console.log("");
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
export { completionCommand, provider as completionProvider, installCompletion, showCompletion, uninstallCompletion };
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
import { existsSync, statSync, readFileSync } from 'node:fs';
|
|
2
|
-
import { homedir } from 'node:os';
|
|
3
|
-
import process__default from 'node:process';
|
|
4
|
-
import a from './index5.mjs';
|
|
5
|
-
import { d as dayjs } from '../shared/ccjk.RyizuzOI.mjs';
|
|
6
|
-
import { SETTINGS_FILE, ClAUDE_CONFIG_FILE, CLAUDE_VSC_CONFIG_FILE } from './constants.mjs';
|
|
7
|
-
import { STATUS } from './banner.mjs';
|
|
8
|
-
import { j as join } from '../shared/ccjk.bQ7Dh1g4.mjs';
|
|
9
|
-
import '../shared/ccjk.BAGoDD49.mjs';
|
|
10
|
-
import './index2.mjs';
|
|
11
|
-
import 'node:url';
|
|
12
|
-
import '../shared/ccjk.gDEDGD_t.mjs';
|
|
13
|
-
|
|
14
|
-
const CONFIG_LOCATIONS = [
|
|
15
|
-
{ path: SETTINGS_FILE, type: "global" },
|
|
16
|
-
{ path: ClAUDE_CONFIG_FILE, type: "legacy" },
|
|
17
|
-
{ path: CLAUDE_VSC_CONFIG_FILE, type: "global" },
|
|
18
|
-
{ path: join(homedir(), ".config", "claude-code", "settings.json"), type: "global" }
|
|
19
|
-
];
|
|
20
|
-
function detectAllConfigs(projectDir) {
|
|
21
|
-
const locations = [];
|
|
22
|
-
for (const loc of CONFIG_LOCATIONS) {
|
|
23
|
-
const exists = existsSync(loc.path);
|
|
24
|
-
const location = {
|
|
25
|
-
path: loc.path,
|
|
26
|
-
type: loc.type,
|
|
27
|
-
exists
|
|
28
|
-
};
|
|
29
|
-
if (exists) {
|
|
30
|
-
try {
|
|
31
|
-
const stat = statSync(loc.path);
|
|
32
|
-
location.size = stat.size;
|
|
33
|
-
location.modifiedAt = stat.mtime;
|
|
34
|
-
const content = readFileSync(loc.path, "utf-8");
|
|
35
|
-
location.content = JSON.parse(content);
|
|
36
|
-
} catch {
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
locations.push(location);
|
|
40
|
-
}
|
|
41
|
-
if (projectDir) {
|
|
42
|
-
const projectConfigs = [
|
|
43
|
-
join(projectDir, ".claude", "settings.json"),
|
|
44
|
-
join(projectDir, "claude.json"),
|
|
45
|
-
join(projectDir, ".claude.json")
|
|
46
|
-
];
|
|
47
|
-
for (const path of projectConfigs) {
|
|
48
|
-
const exists = existsSync(path);
|
|
49
|
-
const location = {
|
|
50
|
-
path,
|
|
51
|
-
type: "project",
|
|
52
|
-
exists
|
|
53
|
-
};
|
|
54
|
-
if (exists) {
|
|
55
|
-
try {
|
|
56
|
-
const stat = statSync(path);
|
|
57
|
-
location.size = stat.size;
|
|
58
|
-
location.modifiedAt = stat.mtime;
|
|
59
|
-
const content = readFileSync(path, "utf-8");
|
|
60
|
-
location.content = JSON.parse(content);
|
|
61
|
-
} catch {
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
locations.push(location);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
const customPath = process__default.env.CLAUDE_CONFIG_PATH;
|
|
68
|
-
if (customPath && !locations.some((l) => l.path === customPath)) {
|
|
69
|
-
const exists = existsSync(customPath);
|
|
70
|
-
const location = {
|
|
71
|
-
path: customPath,
|
|
72
|
-
type: "custom",
|
|
73
|
-
exists
|
|
74
|
-
};
|
|
75
|
-
if (exists) {
|
|
76
|
-
try {
|
|
77
|
-
const stat = statSync(customPath);
|
|
78
|
-
location.size = stat.size;
|
|
79
|
-
location.modifiedAt = stat.mtime;
|
|
80
|
-
const content = readFileSync(customPath, "utf-8");
|
|
81
|
-
location.content = JSON.parse(content);
|
|
82
|
-
} catch {
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
locations.push(location);
|
|
86
|
-
}
|
|
87
|
-
return locations;
|
|
88
|
-
}
|
|
89
|
-
function compareConfigs(configs) {
|
|
90
|
-
const existingConfigs = configs.filter((c) => c.exists && c.content);
|
|
91
|
-
if (existingConfigs.length < 2)
|
|
92
|
-
return [];
|
|
93
|
-
const allKeys = /* @__PURE__ */ new Set();
|
|
94
|
-
const keyValues = {};
|
|
95
|
-
for (const config of existingConfigs) {
|
|
96
|
-
if (!config.content)
|
|
97
|
-
continue;
|
|
98
|
-
const flattenObject = (obj, prefix = "") => {
|
|
99
|
-
for (const [key, value] of Object.entries(obj)) {
|
|
100
|
-
const fullKey = prefix ? `${prefix}.${key}` : key;
|
|
101
|
-
if (value && typeof value === "object" && !Array.isArray(value)) {
|
|
102
|
-
flattenObject(value, fullKey);
|
|
103
|
-
} else {
|
|
104
|
-
allKeys.add(fullKey);
|
|
105
|
-
if (!keyValues[fullKey]) {
|
|
106
|
-
keyValues[fullKey] = {};
|
|
107
|
-
}
|
|
108
|
-
keyValues[fullKey][config.path] = value;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
flattenObject(config.content);
|
|
113
|
-
}
|
|
114
|
-
const diffs = [];
|
|
115
|
-
for (const key of allKeys) {
|
|
116
|
-
const values = keyValues[key];
|
|
117
|
-
const files = Object.keys(values);
|
|
118
|
-
if (files.length < 2)
|
|
119
|
-
continue;
|
|
120
|
-
const uniqueValues = new Set(files.map((f) => JSON.stringify(values[f])));
|
|
121
|
-
if (uniqueValues.size > 1) {
|
|
122
|
-
diffs.push({
|
|
123
|
-
key,
|
|
124
|
-
files,
|
|
125
|
-
values,
|
|
126
|
-
conflicting: true
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
return diffs;
|
|
131
|
-
}
|
|
132
|
-
function displayConfigScan(configs) {
|
|
133
|
-
const existingConfigs = configs.filter((c) => c.exists);
|
|
134
|
-
console.log(a.green("\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Config Files Detected \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n"));
|
|
135
|
-
if (existingConfigs.length === 0) {
|
|
136
|
-
console.log(STATUS.info("No config files found"));
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
for (const config of configs) {
|
|
140
|
-
if (!config.exists) {
|
|
141
|
-
console.log(STATUS.pending(`${config.path} (not found)`));
|
|
142
|
-
continue;
|
|
143
|
-
}
|
|
144
|
-
const sizeKB = config.size ? (config.size / 1024).toFixed(1) : "?";
|
|
145
|
-
const modified = config.modifiedAt ? dayjs(config.modifiedAt).format("YYYY-MM-DD HH:mm") : "unknown";
|
|
146
|
-
const typeLabel = config.type === "global" ? "primary" : config.type;
|
|
147
|
-
if (config.type === "global" && config.path === SETTINGS_FILE) {
|
|
148
|
-
console.log(STATUS.success(`${config.path}`));
|
|
149
|
-
console.log(a.gray(` (${typeLabel}, ${sizeKB}KB, modified ${modified})`));
|
|
150
|
-
} else if (config.type === "legacy") {
|
|
151
|
-
console.log(STATUS.warning(`${config.path}`));
|
|
152
|
-
console.log(a.gray(` (${typeLabel}, ${sizeKB}KB, modified ${modified})`));
|
|
153
|
-
} else {
|
|
154
|
-
console.log(STATUS.info(`${config.path}`));
|
|
155
|
-
console.log(a.gray(` (${typeLabel}, ${sizeKB}KB, modified ${modified})`));
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
const conflicts = compareConfigs(configs);
|
|
159
|
-
if (conflicts.length > 0) {
|
|
160
|
-
console.log(a.yellow(`
|
|
161
|
-
Conflicts found: ${conflicts.length}`));
|
|
162
|
-
for (const conflict of conflicts.slice(0, 5)) {
|
|
163
|
-
console.log(a.yellow(` - ${conflict.key}: differs in ${conflict.files.length} files`));
|
|
164
|
-
}
|
|
165
|
-
if (conflicts.length > 5) {
|
|
166
|
-
console.log(a.gray(` ... and ${conflicts.length - 5} more`));
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
console.log("");
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
export { compareConfigs, detectAllConfigs, displayConfigScan };
|