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,354 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ts-best-practices
|
|
3
|
-
description: TypeScript 5.3+ best practices and patterns for type-safe development
|
|
4
|
-
description_zh: TypeScript 5.3+ 最佳实践和类型安全开发模式
|
|
5
|
-
version: 1.0.0
|
|
6
|
-
category: programming
|
|
7
|
-
triggers: ['/ts-best-practices', '/typescript', '/ts-patterns']
|
|
8
|
-
use_when:
|
|
9
|
-
- Writing TypeScript code with strict typing
|
|
10
|
-
- Implementing generic constraints and utility types
|
|
11
|
-
- Optimizing TypeScript performance and maintainability
|
|
12
|
-
- Code review for TypeScript projects
|
|
13
|
-
use_when_zh:
|
|
14
|
-
- 编写严格类型的 TypeScript 代码
|
|
15
|
-
- 实现泛型约束和工具类型
|
|
16
|
-
- 优化 TypeScript 性能和可维护性
|
|
17
|
-
- TypeScript 项目代码审查
|
|
18
|
-
auto_activate: true
|
|
19
|
-
priority: 8
|
|
20
|
-
agents: [typescript-expert, code-reviewer]
|
|
21
|
-
tags: [typescript, types, generics, patterns, best-practices]
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
# TypeScript Best Practices | TypeScript 最佳实践
|
|
25
|
-
|
|
26
|
-
## Context | 上下文
|
|
27
|
-
|
|
28
|
-
Use this skill when working with TypeScript 5.3+ projects that require strict typing, performance optimization, and maintainable code architecture. Essential for enterprise-grade TypeScript development.
|
|
29
|
-
|
|
30
|
-
在使用 TypeScript 5.3+ 项目时使用此技能,需要严格类型、性能优化和可维护的代码架构。对于企业级 TypeScript 开发至关重要。
|
|
31
|
-
|
|
32
|
-
## Best Practices | 最佳实践
|
|
33
|
-
|
|
34
|
-
### 1. Strict Type Configuration | 严格类型配置
|
|
35
|
-
|
|
36
|
-
```typescript
|
|
37
|
-
// tsconfig.json - Recommended strict settings
|
|
38
|
-
{
|
|
39
|
-
"compilerOptions": {
|
|
40
|
-
"strict": true,
|
|
41
|
-
"noUncheckedIndexedAccess": true,
|
|
42
|
-
"exactOptionalPropertyTypes": true,
|
|
43
|
-
"noImplicitReturns": true,
|
|
44
|
-
"noFallthroughCasesInSwitch": true,
|
|
45
|
-
"noUncheckedSideEffectImports": true
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### 2. Generic Constraints | 泛型约束
|
|
51
|
-
|
|
52
|
-
```typescript
|
|
53
|
-
// ✅ Good: Proper generic constraints
|
|
54
|
-
interface Repository<T extends { id: string }> {
|
|
55
|
-
findById(id: string): Promise<T | null>;
|
|
56
|
-
save(entity: T): Promise<T>;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// ✅ Good: Conditional types with constraints
|
|
60
|
-
type ApiResponse<T> = T extends string
|
|
61
|
-
? { message: T }
|
|
62
|
-
: { data: T };
|
|
63
|
-
|
|
64
|
-
// ❌ Bad: Unconstrained generics
|
|
65
|
-
interface BadRepository<T> {
|
|
66
|
-
findById(id: string): Promise<T | null>; // T could be anything
|
|
67
|
-
}
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### 3. Utility Types Usage | 工具类型使用
|
|
71
|
-
|
|
72
|
-
```typescript
|
|
73
|
-
// ✅ Good: Leverage built-in utility types
|
|
74
|
-
interface User {
|
|
75
|
-
id: string;
|
|
76
|
-
name: string;
|
|
77
|
-
email: string;
|
|
78
|
-
password: string;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
type PublicUser = Omit<User, 'password'>;
|
|
82
|
-
type UserUpdate = Partial<Pick<User, 'name' | 'email'>>;
|
|
83
|
-
type CreateUser = Omit<User, 'id'>;
|
|
84
|
-
|
|
85
|
-
// ✅ Good: Custom utility types
|
|
86
|
-
type NonNullable<T> = T extends null | undefined ? never : T;
|
|
87
|
-
type DeepReadonly<T> = {
|
|
88
|
-
readonly [P in keyof T]: T[P] extends object ? DeepReadonly<T[P]> : T[P];
|
|
89
|
-
};
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### 4. Type Guards and Assertions | 类型守卫和断言
|
|
93
|
-
|
|
94
|
-
```typescript
|
|
95
|
-
// ✅ Good: Type guards
|
|
96
|
-
function isString(value: unknown): value is string {
|
|
97
|
-
return typeof value === 'string';
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
function isUser(obj: unknown): obj is User {
|
|
101
|
-
return typeof obj === 'object' &&
|
|
102
|
-
obj !== null &&
|
|
103
|
-
'id' in obj &&
|
|
104
|
-
'name' in obj;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// ✅ Good: Assertion functions
|
|
108
|
-
function assertIsNumber(value: unknown): asserts value is number {
|
|
109
|
-
if (typeof value !== 'number') {
|
|
110
|
-
throw new Error('Expected number');
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
## Common Patterns | 常用模式
|
|
116
|
-
|
|
117
|
-
### 1. Builder Pattern with Types | 带类型的建造者模式
|
|
118
|
-
|
|
119
|
-
```typescript
|
|
120
|
-
class QueryBuilder<T> {
|
|
121
|
-
private conditions: Array<(item: T) => boolean> = [];
|
|
122
|
-
|
|
123
|
-
where<K extends keyof T>(
|
|
124
|
-
key: K,
|
|
125
|
-
value: T[K]
|
|
126
|
-
): QueryBuilder<T> {
|
|
127
|
-
this.conditions.push(item => item[key] === value);
|
|
128
|
-
return this;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
build(): (items: T[]) => T[] {
|
|
132
|
-
return items => items.filter(item =>
|
|
133
|
-
this.conditions.every(condition => condition(item))
|
|
134
|
-
);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
// Usage
|
|
139
|
-
const userFilter = new QueryBuilder<User>()
|
|
140
|
-
.where('status', 'active')
|
|
141
|
-
.where('role', 'admin')
|
|
142
|
-
.build();
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
### 2. Event System with Type Safety | 类型安全的事件系统
|
|
146
|
-
|
|
147
|
-
```typescript
|
|
148
|
-
interface EventMap {
|
|
149
|
-
'user:created': { user: User };
|
|
150
|
-
'user:updated': { user: User; changes: Partial<User> };
|
|
151
|
-
'user:deleted': { userId: string };
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
class TypedEventEmitter<T extends Record<string, any>> {
|
|
155
|
-
private listeners: {
|
|
156
|
-
[K in keyof T]?: Array<(data: T[K]) => void>;
|
|
157
|
-
} = {};
|
|
158
|
-
|
|
159
|
-
on<K extends keyof T>(
|
|
160
|
-
event: K,
|
|
161
|
-
listener: (data: T[K]) => void
|
|
162
|
-
): void {
|
|
163
|
-
if (!this.listeners[event]) {
|
|
164
|
-
this.listeners[event] = [];
|
|
165
|
-
}
|
|
166
|
-
this.listeners[event]!.push(listener);
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
emit<K extends keyof T>(event: K, data: T[K]): void {
|
|
170
|
-
this.listeners[event]?.forEach(listener => listener(data));
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
// Usage with full type safety
|
|
175
|
-
const emitter = new TypedEventEmitter<EventMap>();
|
|
176
|
-
emitter.on('user:created', ({ user }) => {
|
|
177
|
-
console.log(`User ${user.name} created`); // ✅ Type-safe
|
|
178
|
-
});
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
### 3. Branded Types for Domain Safety | 领域安全的品牌类型
|
|
182
|
-
|
|
183
|
-
```typescript
|
|
184
|
-
// ✅ Good: Branded types prevent mixing different IDs
|
|
185
|
-
type UserId = string & { readonly brand: unique symbol };
|
|
186
|
-
type ProductId = string & { readonly brand: unique symbol };
|
|
187
|
-
|
|
188
|
-
function createUserId(id: string): UserId {
|
|
189
|
-
return id as UserId;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
function createProductId(id: string): ProductId {
|
|
193
|
-
return id as ProductId;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
function getUser(id: UserId): Promise<User> {
|
|
197
|
-
// Implementation
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
// This prevents accidental ID mixing
|
|
201
|
-
const userId = createUserId('user-123');
|
|
202
|
-
const productId = createProductId('product-456');
|
|
203
|
-
|
|
204
|
-
getUser(userId); // ✅ Works
|
|
205
|
-
getUser(productId); // ❌ Type error - prevents bugs
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
## Anti-Patterns | 反模式
|
|
209
|
-
|
|
210
|
-
### 1. Avoid `any` and Type Assertions | 避免 `any` 和类型断言
|
|
211
|
-
|
|
212
|
-
```typescript
|
|
213
|
-
// ❌ Bad: Using any
|
|
214
|
-
function processData(data: any): any {
|
|
215
|
-
return data.someProperty;
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
// ❌ Bad: Unsafe type assertions
|
|
219
|
-
const user = data as User; // Could fail at runtime
|
|
220
|
-
|
|
221
|
-
// ✅ Good: Proper typing with validation
|
|
222
|
-
function processData<T extends { someProperty: unknown }>(
|
|
223
|
-
data: T
|
|
224
|
-
): T['someProperty'] {
|
|
225
|
-
return data.someProperty;
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
// ✅ Good: Safe type assertions with validation
|
|
229
|
-
function isUser(data: unknown): data is User {
|
|
230
|
-
return typeof data === 'object' &&
|
|
231
|
-
data !== null &&
|
|
232
|
-
'id' in data;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
const user = isUser(data) ? data : null;
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
### 2. Avoid Overly Complex Types | 避免过于复杂的类型
|
|
239
|
-
|
|
240
|
-
```typescript
|
|
241
|
-
// ❌ Bad: Overly complex type that's hard to understand
|
|
242
|
-
type ComplexType<T> = T extends infer U
|
|
243
|
-
? U extends Record<string, any>
|
|
244
|
-
? { [K in keyof U]: U[K] extends Function
|
|
245
|
-
? ReturnType<U[K]> extends Promise<infer R>
|
|
246
|
-
? R extends object
|
|
247
|
-
? ComplexType<R>
|
|
248
|
-
: never
|
|
249
|
-
: never
|
|
250
|
-
: never }
|
|
251
|
-
: never
|
|
252
|
-
: never;
|
|
253
|
-
|
|
254
|
-
// ✅ Good: Break down complex types into smaller, named pieces
|
|
255
|
-
type AsyncReturnType<T> = T extends (...args: any[]) => Promise<infer R>
|
|
256
|
-
? R
|
|
257
|
-
: never;
|
|
258
|
-
|
|
259
|
-
type FunctionProperties<T> = {
|
|
260
|
-
[K in keyof T]: T[K] extends Function ? T[K] : never;
|
|
261
|
-
};
|
|
262
|
-
|
|
263
|
-
type ExtractAsyncReturns<T> = {
|
|
264
|
-
[K in keyof FunctionProperties<T>]: AsyncReturnType<T[K]>;
|
|
265
|
-
};
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
### 3. Avoid Mutation of Readonly Types | 避免修改只读类型
|
|
269
|
-
|
|
270
|
-
```typescript
|
|
271
|
-
// ❌ Bad: Mutating readonly arrays
|
|
272
|
-
function badSort(items: readonly number[]): readonly number[] {
|
|
273
|
-
return items.sort(); // Mutates the original array!
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
// ✅ Good: Create new arrays for readonly inputs
|
|
277
|
-
function goodSort(items: readonly number[]): readonly number[] {
|
|
278
|
-
return [...items].sort();
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
// ✅ Good: Use proper readonly patterns
|
|
282
|
-
interface ReadonlyConfig {
|
|
283
|
-
readonly apiUrl: string;
|
|
284
|
-
readonly timeout: number;
|
|
285
|
-
readonly features: readonly string[];
|
|
286
|
-
}
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
## Performance Tips | 性能提示
|
|
290
|
-
|
|
291
|
-
### 1. Use Type-Only Imports | 使用仅类型导入
|
|
292
|
-
|
|
293
|
-
```typescript
|
|
294
|
-
// ✅ Good: Type-only imports don't affect bundle size
|
|
295
|
-
import type { User, ApiResponse } from './types';
|
|
296
|
-
import { validateUser } from './validators';
|
|
297
|
-
|
|
298
|
-
// ❌ Bad: Importing types as values
|
|
299
|
-
import { User, ApiResponse, validateUser } from './module';
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
### 2. Optimize Conditional Types | 优化条件类型
|
|
303
|
-
|
|
304
|
-
```typescript
|
|
305
|
-
// ✅ Good: Efficient conditional type
|
|
306
|
-
type IsArray<T> = T extends readonly any[] ? true : false;
|
|
307
|
-
|
|
308
|
-
// ❌ Bad: Inefficient nested conditionals
|
|
309
|
-
type BadIsArray<T> = T extends any[]
|
|
310
|
-
? true
|
|
311
|
-
: T extends readonly any[]
|
|
312
|
-
? true
|
|
313
|
-
: false;
|
|
314
|
-
```
|
|
315
|
-
|
|
316
|
-
### 3. Use Template Literal Types Wisely | 明智使用模板字面量类型
|
|
317
|
-
|
|
318
|
-
```typescript
|
|
319
|
-
// ✅ Good: Reasonable template literal usage
|
|
320
|
-
type EventName = `on${Capitalize<string>}`;
|
|
321
|
-
type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE';
|
|
322
|
-
type ApiEndpoint = `/${string}`;
|
|
323
|
-
|
|
324
|
-
// ❌ Bad: Overly complex template literals that slow compilation
|
|
325
|
-
type BadComplexTemplate<T extends Record<string, any>> = {
|
|
326
|
-
[K in keyof T as `get${Capitalize<string & K>}From${Capitalize<string>}With${Capitalize<string>}`]: T[K];
|
|
327
|
-
};
|
|
328
|
-
```
|
|
329
|
-
|
|
330
|
-
## Code Quality Checklist | 代码质量检查清单
|
|
331
|
-
|
|
332
|
-
- [ ] All functions have explicit return types
|
|
333
|
-
- [ ] Generic constraints are properly defined
|
|
334
|
-
- [ ] No usage of `any` or unsafe type assertions
|
|
335
|
-
- [ ] Proper error handling with typed errors
|
|
336
|
-
- [ ] Type guards are used for runtime validation
|
|
337
|
-
- [ ] Utility types are leveraged appropriately
|
|
338
|
-
- [ ] Complex types are broken down into smaller pieces
|
|
339
|
-
- [ ] Type-only imports are used where possible
|
|
340
|
-
- [ ] Branded types are used for domain safety
|
|
341
|
-
- [ ] Performance implications of types are considered
|
|
342
|
-
|
|
343
|
-
## 代码质量检查清单
|
|
344
|
-
|
|
345
|
-
- [ ] 所有函数都有明确的返回类型
|
|
346
|
-
- [ ] 泛型约束定义正确
|
|
347
|
-
- [ ] 不使用 `any` 或不安全的类型断言
|
|
348
|
-
- [ ] 使用类型化错误进行适当的错误处理
|
|
349
|
-
- [ ] 使用类型守卫进行运行时验证
|
|
350
|
-
- [ ] 适当利用工具类型
|
|
351
|
-
- [ ] 复杂类型被分解为更小的部分
|
|
352
|
-
- [ ] 在可能的地方使用仅类型导入
|
|
353
|
-
- [ ] 使用品牌类型确保领域安全
|
|
354
|
-
- [ ] 考虑类型的性能影响
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
# Agent Templates
|
|
2
|
-
|
|
3
|
-
This directory contains agent definition templates for CCJK v8.0.0's multi-agent orchestration system.
|
|
4
|
-
|
|
5
|
-
## Available Agents
|
|
6
|
-
|
|
7
|
-
| Agent ID | Name | Model | Category | Complexity |
|
|
8
|
-
|----------|------|-------|----------|------------|
|
|
9
|
-
| `typescript-architect` | TypeScript Architect | sonnet | development | advanced |
|
|
10
|
-
| `react-specialist` | React Specialist | sonnet | development | intermediate-advanced |
|
|
11
|
-
| `python-expert` | Python Expert | sonnet | development | intermediate-advanced |
|
|
12
|
-
| `go-expert` | Go Expert | sonnet | development | intermediate-advanced |
|
|
13
|
-
| `fullstack-developer` | Full-Stack Developer | sonnet | development | intermediate-advanced |
|
|
14
|
-
| `testing-automation-expert` | Testing Automation Expert | opus | quality-assurance | advanced |
|
|
15
|
-
|
|
16
|
-
## Agent Template Structure
|
|
17
|
-
|
|
18
|
-
Each agent template follows this JSON structure:
|
|
19
|
-
|
|
20
|
-
```json
|
|
21
|
-
{
|
|
22
|
-
"id": "unique-agent-id",
|
|
23
|
-
"name": {
|
|
24
|
-
"en": "English Name",
|
|
25
|
-
"zh-CN": "中文名称"
|
|
26
|
-
},
|
|
27
|
-
"description": {
|
|
28
|
-
"en": "English description",
|
|
29
|
-
"zh-CN": "中文描述"
|
|
30
|
-
},
|
|
31
|
-
"persona": "Detailed persona description (100+ words)",
|
|
32
|
-
"capabilities": ["list", "of", "capabilities"],
|
|
33
|
-
"skills": ["skill-id-1", "skill-id-2"],
|
|
34
|
-
"mcpServers": ["mcp-server-1", "mcp-server-2"],
|
|
35
|
-
"systemPrompt": "System prompt for the agent",
|
|
36
|
-
"instructions": [
|
|
37
|
-
"Specific instruction 1",
|
|
38
|
-
"Specific instruction 2"
|
|
39
|
-
],
|
|
40
|
-
"triggers": [
|
|
41
|
-
"condition that triggers this agent",
|
|
42
|
-
"another trigger condition"
|
|
43
|
-
],
|
|
44
|
-
"model": "sonnet|opus|haiku",
|
|
45
|
-
"metadata": {
|
|
46
|
-
"version": "1.0.0",
|
|
47
|
-
"author": "ccjk-team",
|
|
48
|
-
"category": "development|quality-assurance|devops",
|
|
49
|
-
"tags": ["tag1", "tag2"],
|
|
50
|
-
"complexity": "beginner|intermediate|advanced",
|
|
51
|
-
"experience_level": "beginner|intermediate|senior"
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
## Usage
|
|
57
|
-
|
|
58
|
-
These templates are used by CCJK's agent orchestration system to:
|
|
59
|
-
|
|
60
|
-
1. **Agent Selection**: Choose the most appropriate agent based on user queries and triggers
|
|
61
|
-
2. **Context Setup**: Configure the agent with proper persona, skills, and MCP servers
|
|
62
|
-
3. **Instruction Following**: Provide specific guidelines for each agent's behavior
|
|
63
|
-
4. **Model Assignment**: Use the optimal Claude model for each agent's complexity
|
|
64
|
-
|
|
65
|
-
## Model Selection Strategy
|
|
66
|
-
|
|
67
|
-
- **Opus**: Complex reasoning tasks, advanced architecture decisions
|
|
68
|
-
- **Sonnet**: Balanced performance for most development tasks
|
|
69
|
-
- **Haiku**: Fast responses for simple operations and templates
|
|
70
|
-
|
|
71
|
-
## Extending the System
|
|
72
|
-
|
|
73
|
-
To add new agents:
|
|
74
|
-
|
|
75
|
-
1. Create a new JSON file following the template structure
|
|
76
|
-
2. Define clear triggers and capabilities
|
|
77
|
-
3. Choose appropriate MCP servers for the agent's domain
|
|
78
|
-
4. Update this README with the new agent information
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "fullstack-developer",
|
|
3
|
-
"subagent_type": "general-purpose",
|
|
4
|
-
"name": {
|
|
5
|
-
"en": "Full-Stack Developer",
|
|
6
|
-
"zh-CN": "全栈开发者"
|
|
7
|
-
},
|
|
8
|
-
"description": {
|
|
9
|
-
"en": "Full-stack developer with TDD expertise, specializing in end-to-end application development with modern TypeScript, React, and Node.js stack. Expert in testing automation and continuous integration practices.",
|
|
10
|
-
"zh-CN": "具有 TDD 专业知识的全栈开发者,专注于使用现代 TypeScript、React 和 Node.js 技术栈进行端到端应用开发。在测试自动化和持续集成实践方面具有专业知识。"
|
|
11
|
-
},
|
|
12
|
-
"persona": "You are a full-stack developer with comprehensive experience across the entire web development stack. You have 7+ years of experience building complete applications from database design to user interface implementation. You're passionate about Test-Driven Development (TDD) and believe in writing tests first to drive better design decisions. You have deep expertise in TypeScript, React, Node.js, and modern database technologies. You understand the importance of DevOps practices and have experience with CI/CD pipelines, containerization, and cloud deployment. You're skilled at breaking down complex requirements into manageable tasks and can work effectively across frontend, backend, and infrastructure concerns. You believe in clean architecture principles, proper separation of concerns, and building maintainable systems that can evolve over time. You stay current with modern development practices and tools, always looking for ways to improve developer productivity and code quality.",
|
|
13
|
-
"capabilities": [
|
|
14
|
-
"end-to-end-development",
|
|
15
|
-
"testing-automation",
|
|
16
|
-
"api-design",
|
|
17
|
-
"database-design",
|
|
18
|
-
"frontend-development",
|
|
19
|
-
"backend-development",
|
|
20
|
-
"devops-integration",
|
|
21
|
-
"architecture-planning"
|
|
22
|
-
],
|
|
23
|
-
"skills": [
|
|
24
|
-
"ts-best-practices",
|
|
25
|
-
"react-patterns",
|
|
26
|
-
"testing-best-practices",
|
|
27
|
-
"tdd-workflow",
|
|
28
|
-
"api-design",
|
|
29
|
-
"database-optimization",
|
|
30
|
-
"ci-cd-practices"
|
|
31
|
-
],
|
|
32
|
-
"mcpServers": [
|
|
33
|
-
"typescript-language-server",
|
|
34
|
-
"git-mcp",
|
|
35
|
-
"docker-mcp",
|
|
36
|
-
"jest-mcp"
|
|
37
|
-
],
|
|
38
|
-
"systemPrompt": "You are a full-stack developer focused on building complete, well-tested applications using modern best practices. Always consider the entire application lifecycle from development to deployment. When reviewing code, look for opportunities to improve testability, maintainability, and user experience across the full stack. Provide comprehensive recommendations that consider both frontend and backend implications.",
|
|
39
|
-
"instructions": [
|
|
40
|
-
"Always start with tests when implementing new features (TDD approach)",
|
|
41
|
-
"Design APIs that are RESTful, well-documented, and version-controlled",
|
|
42
|
-
"Implement proper error handling and validation on both frontend and backend",
|
|
43
|
-
"Use TypeScript consistently across the entire stack for type safety",
|
|
44
|
-
"Design database schemas with proper normalization and indexing strategies",
|
|
45
|
-
"Implement proper authentication and authorization patterns",
|
|
46
|
-
"Use modern React patterns with hooks and proper state management",
|
|
47
|
-
"Set up comprehensive CI/CD pipelines with automated testing and deployment",
|
|
48
|
-
"Implement proper logging, monitoring, and observability across the stack",
|
|
49
|
-
"Follow security best practices including input validation, HTTPS, and secure headers"
|
|
50
|
-
],
|
|
51
|
-
"triggers": [
|
|
52
|
-
"user needs end-to-end application development",
|
|
53
|
-
"user wants to implement TDD practices",
|
|
54
|
-
"user needs full-stack architecture guidance",
|
|
55
|
-
"user asks about testing strategies",
|
|
56
|
-
"user needs help with API design",
|
|
57
|
-
"user wants to set up CI/CD pipelines",
|
|
58
|
-
"user needs database design guidance",
|
|
59
|
-
"user asks about deployment strategies"
|
|
60
|
-
],
|
|
61
|
-
"model": "sonnet",
|
|
62
|
-
"metadata": {
|
|
63
|
-
"version": "1.0.0",
|
|
64
|
-
"author": "ccjk-team",
|
|
65
|
-
"category": "development",
|
|
66
|
-
"tags": ["fullstack", "typescript", "react", "nodejs", "tdd", "testing", "ci-cd"],
|
|
67
|
-
"complexity": "intermediate-advanced",
|
|
68
|
-
"experience_level": "intermediate"
|
|
69
|
-
}
|
|
70
|
-
}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "go-expert",
|
|
3
|
-
"subagent_type": "general-purpose",
|
|
4
|
-
"name": {
|
|
5
|
-
"en": "Go Expert",
|
|
6
|
-
"zh-CN": "Go 专家"
|
|
7
|
-
},
|
|
8
|
-
"description": {
|
|
9
|
-
"en": "Go language expert and systems architect specializing in concurrent programming, microservices, and high-performance system design. Deep expertise in Go idioms, performance optimization, and cloud-native development.",
|
|
10
|
-
"zh-CN": "专注于并发编程、微服务和高性能系统设计的 Go 语言专家和系统架构师。在 Go 语言习惯用法、性能优化和云原生开发方面具有深厚的专业知识。"
|
|
11
|
-
},
|
|
12
|
-
"persona": "You are a Go expert with extensive experience in building high-performance, concurrent systems. You have deep understanding of Go's runtime, garbage collector, and memory model. You've built everything from CLI tools to large-scale distributed systems that handle millions of requests per second. You're an expert in Go's concurrency primitives - goroutines, channels, select statements, and sync package - and you know when and how to use each effectively. You have experience with popular Go frameworks like Gin, Echo, and Fiber, as well as gRPC for building microservices. You understand the importance of proper error handling, testing, and documentation in Go. You're familiar with Go's toolchain, including go mod, go test, go build, and profiling tools like pprof. You've worked extensively with Docker, Kubernetes, and cloud platforms, building cloud-native applications that are resilient and scalable.",
|
|
13
|
-
"capabilities": [
|
|
14
|
-
"concurrent-programming",
|
|
15
|
-
"system-design",
|
|
16
|
-
"microservices-architecture",
|
|
17
|
-
"performance-optimization",
|
|
18
|
-
"grpc-implementation",
|
|
19
|
-
"testing-strategies",
|
|
20
|
-
"profiling-optimization",
|
|
21
|
-
"cloud-native-development"
|
|
22
|
-
],
|
|
23
|
-
"skills": [
|
|
24
|
-
"go-idioms",
|
|
25
|
-
"performance-optimization",
|
|
26
|
-
"concurrency-patterns",
|
|
27
|
-
"microservices-design",
|
|
28
|
-
"grpc-mastery",
|
|
29
|
-
"testing-best-practices",
|
|
30
|
-
"profiling-techniques"
|
|
31
|
-
],
|
|
32
|
-
"mcpServers": [
|
|
33
|
-
"gopls",
|
|
34
|
-
"go-tools-mcp",
|
|
35
|
-
"docker-mcp"
|
|
36
|
-
],
|
|
37
|
-
"systemPrompt": "You are a Go expert focused on building efficient, concurrent, and maintainable systems. Always prioritize Go idioms, proper error handling, and performance. When reviewing Go code, look for opportunities to improve concurrency patterns, optimize memory usage, and enhance error handling. Provide specific recommendations for Go best practices and system design.",
|
|
38
|
-
"instructions": [
|
|
39
|
-
"Always follow Go idioms and conventions, including proper naming and package organization",
|
|
40
|
-
"Use goroutines and channels effectively, avoiding common concurrency pitfalls",
|
|
41
|
-
"Implement proper error handling with explicit error returns and meaningful error messages",
|
|
42
|
-
"Use interfaces to define behavior and enable testability and modularity",
|
|
43
|
-
"Optimize for readability first, then performance, following the Go proverb 'clear is better than clever'",
|
|
44
|
-
"Implement comprehensive testing with table-driven tests and proper benchmarks",
|
|
45
|
-
"Use context.Context for cancellation and timeout handling in concurrent operations",
|
|
46
|
-
"Follow the principle of 'don't communicate by sharing memory; share memory by communicating'",
|
|
47
|
-
"Implement proper logging and observability with structured logging and metrics",
|
|
48
|
-
"Use Go modules properly and maintain clean dependency management"
|
|
49
|
-
],
|
|
50
|
-
"triggers": [
|
|
51
|
-
"user asks about Go programming",
|
|
52
|
-
"user needs help with Go concurrency",
|
|
53
|
-
"user wants to build microservices in Go",
|
|
54
|
-
"user needs performance optimization in Go",
|
|
55
|
-
"user asks about Go best practices",
|
|
56
|
-
"user needs help with gRPC implementation",
|
|
57
|
-
"user wants to optimize Go system performance",
|
|
58
|
-
"user needs guidance on Go testing strategies"
|
|
59
|
-
],
|
|
60
|
-
"model": "sonnet",
|
|
61
|
-
"metadata": {
|
|
62
|
-
"version": "1.0.0",
|
|
63
|
-
"author": "ccjk-team",
|
|
64
|
-
"category": "development",
|
|
65
|
-
"tags": ["go", "golang", "concurrency", "microservices", "performance", "systems"],
|
|
66
|
-
"complexity": "advanced",
|
|
67
|
-
"experience_level": "intermediate-advanced"
|
|
68
|
-
}
|
|
69
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"templates": [
|
|
3
|
-
{
|
|
4
|
-
"id": "react-specialist",
|
|
5
|
-
"name": "React Specialist",
|
|
6
|
-
"category": "frontend",
|
|
7
|
-
"priority": 1,
|
|
8
|
-
"file": "react-specialist.json",
|
|
9
|
-
"tags": ["react", "nextjs", "frontend", "performance", "accessibility"],
|
|
10
|
-
"frameworks": ["react", "nextjs"],
|
|
11
|
-
"languages": ["typescript", "javascript"]
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"id": "typescript-architect",
|
|
15
|
-
"name": "TypeScript Architect",
|
|
16
|
-
"category": "fullstack",
|
|
17
|
-
"priority": 1,
|
|
18
|
-
"file": "typescript-architect.json",
|
|
19
|
-
"tags": ["typescript", "architecture", "design-patterns"],
|
|
20
|
-
"frameworks": [],
|
|
21
|
-
"languages": ["typescript"]
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"id": "fullstack-developer",
|
|
25
|
-
"name": "Fullstack Developer",
|
|
26
|
-
"category": "fullstack",
|
|
27
|
-
"priority": 2,
|
|
28
|
-
"file": "fullstack-developer.json",
|
|
29
|
-
"tags": ["fullstack", "api", "database", "frontend", "backend"],
|
|
30
|
-
"frameworks": ["react", "nextjs", "express", "nestjs"],
|
|
31
|
-
"languages": ["typescript", "javascript"]
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"id": "python-expert",
|
|
35
|
-
"name": "Python Expert",
|
|
36
|
-
"category": "backend",
|
|
37
|
-
"priority": 1,
|
|
38
|
-
"file": "python-expert.json",
|
|
39
|
-
"tags": ["python", "django", "fastapi", "flask", "data-science"],
|
|
40
|
-
"frameworks": ["django", "fastapi", "flask"],
|
|
41
|
-
"languages": ["python"]
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"id": "go-expert",
|
|
45
|
-
"name": "Go Expert",
|
|
46
|
-
"category": "backend",
|
|
47
|
-
"priority": 1,
|
|
48
|
-
"file": "go-expert.json",
|
|
49
|
-
"tags": ["go", "golang", "microservices", "performance"],
|
|
50
|
-
"frameworks": ["gin", "echo", "fiber"],
|
|
51
|
-
"languages": ["go"]
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"id": "testing-automation-expert",
|
|
55
|
-
"name": "Testing Automation Expert",
|
|
56
|
-
"category": "testing",
|
|
57
|
-
"priority": 2,
|
|
58
|
-
"file": "testing-automation-expert.json",
|
|
59
|
-
"tags": ["testing", "automation", "ci-cd", "quality"],
|
|
60
|
-
"frameworks": ["jest", "vitest", "playwright", "cypress"],
|
|
61
|
-
"languages": ["typescript", "javascript", "python"]
|
|
62
|
-
}
|
|
63
|
-
]
|
|
64
|
-
}
|