ccjk 14.2.2 → 15.0.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 +58 -341
- package/dist/cli.js +59 -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 +102 -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 +33 -0
- package/dist/commands/menu.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/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,67 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: 'AI 面试助手 - 智能面试准备和问题生成'
|
|
3
|
-
argument-hint: <职位名称> [--questions <数量>] [--difficulty <级别>]
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# AI 面试助手
|
|
7
|
-
|
|
8
|
-
> **核心理念**: 帮助你准备面试,生成针对性问题和模拟面试场景
|
|
9
|
-
|
|
10
|
-
## 使用方法
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
/interview <职位名称> [选项]
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
### 选项说明
|
|
17
|
-
|
|
18
|
-
| 选项 | 说明 |
|
|
19
|
-
|------|------|
|
|
20
|
-
| `--questions` | 生成问题数量 (默认: 10) |
|
|
21
|
-
| `--difficulty` | 难度级别 (junior/mid/senior) |
|
|
22
|
-
| `--focus` | 重点关注领域 (如: algorithm, system-design) |
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
## 面试职位
|
|
27
|
-
|
|
28
|
-
$ARGUMENTS
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## 面试流程
|
|
33
|
-
|
|
34
|
-
### 第一步:职位分析
|
|
35
|
-
|
|
36
|
-
分析职位要求,识别核心技能点:
|
|
37
|
-
- 技术栈要求
|
|
38
|
-
- 经验要求
|
|
39
|
-
- 行业背景
|
|
40
|
-
|
|
41
|
-
### 第二步:问题生成
|
|
42
|
-
|
|
43
|
-
根据职位要求生成面试问题:
|
|
44
|
-
- 基础知识问题
|
|
45
|
-
- 实战经验问题
|
|
46
|
-
- 系统设计问题
|
|
47
|
-
- 行为面试问题
|
|
48
|
-
|
|
49
|
-
### 第三步:模拟面试
|
|
50
|
-
|
|
51
|
-
提供面试模拟场景和参考答案:
|
|
52
|
-
- 问题解析
|
|
53
|
-
- 答题要点
|
|
54
|
-
- 示例回答
|
|
55
|
-
- 评分标准
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## 建议
|
|
60
|
-
|
|
61
|
-
```
|
|
62
|
-
💡 面试建议:
|
|
63
|
-
- 提前准备 3-5 个项目案例
|
|
64
|
-
- 练习 STAR 方法回答行为问题
|
|
65
|
-
- 准备 2-3 个有深度的问题反问面试官
|
|
66
|
-
- 了解目标公司的技术栈和业务
|
|
67
|
-
```
|
|
@@ -1,651 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Linear Quality Method - Problem validation → Prioritization → Focused building, Linear team's product quality philosophy
|
|
3
|
-
allowed-tools: Read(**), Write(**), Exec(npm run dev, npm test)
|
|
4
|
-
argument-hint: [--validate] [--prioritize] [--focus-mode]
|
|
5
|
-
# examples:
|
|
6
|
-
# - /linear-method # Start Linear workflow
|
|
7
|
-
# - /linear-method --validate # Problem validation phase
|
|
8
|
-
# - /linear-method --prioritize # Prioritization
|
|
9
|
-
# - /linear-method --focus-mode # Focused building mode
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# Linear Quality Method
|
|
13
|
-
|
|
14
|
-
Based on Linear team's product development philosophy: rigorous problem validation, prioritization, and focused building for high-quality software.
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## Core Philosophy
|
|
19
|
-
|
|
20
|
-
Linear is a project management tool known for speed and quality. Their development methodology emphasizes:
|
|
21
|
-
|
|
22
|
-
**1. Problem-First**
|
|
23
|
-
- Understand the problem before considering solutions
|
|
24
|
-
- Validate that the problem actually exists
|
|
25
|
-
- Assess the problem's impact scope
|
|
26
|
-
|
|
27
|
-
**2. Quality Over Speed**
|
|
28
|
-
- Better to be slow and right than fast and wrong
|
|
29
|
-
- Technical debt is the biggest enemy
|
|
30
|
-
- Every feature requires careful consideration
|
|
31
|
-
|
|
32
|
-
**3. Focus on Building**
|
|
33
|
-
- Minimize meetings and interruptions
|
|
34
|
-
- Long periods of deep work
|
|
35
|
-
- Do one thing at a time
|
|
36
|
-
|
|
37
|
-
**4. User Experience**
|
|
38
|
-
- Every detail matters
|
|
39
|
-
- Performance is a feature
|
|
40
|
-
- Simplicity over complexity
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## Linear Workflow
|
|
45
|
-
|
|
46
|
-
### Phase 1: Problem Validation
|
|
47
|
-
|
|
48
|
-
**Goal**: Ensure we're solving real and important problems
|
|
49
|
-
|
|
50
|
-
#### 1.1 Problem Statement
|
|
51
|
-
|
|
52
|
-
Using Linear's problem template:
|
|
53
|
-
|
|
54
|
-
```markdown
|
|
55
|
-
## Problem Statement
|
|
56
|
-
|
|
57
|
-
### What is the problem?
|
|
58
|
-
[Clear description of the problem]
|
|
59
|
-
|
|
60
|
-
### Who is affected?
|
|
61
|
-
- [ ] All users
|
|
62
|
-
- [ ] Specific user segment: [describe]
|
|
63
|
-
- [ ] Internal team
|
|
64
|
-
- [ ] External partners
|
|
65
|
-
|
|
66
|
-
### How often does this occur?
|
|
67
|
-
- [ ] Every time
|
|
68
|
-
- [ ] Frequently (daily)
|
|
69
|
-
- [ ] Occasionally (weekly)
|
|
70
|
-
- [ ] Rarely (monthly)
|
|
71
|
-
|
|
72
|
-
### What is the impact?
|
|
73
|
-
- [ ] Blocker (prevents work)
|
|
74
|
-
- [ ] Major (significant friction)
|
|
75
|
-
- [ ] Minor (small annoyance)
|
|
76
|
-
- [ ] Nice to have
|
|
77
|
-
|
|
78
|
-
### Evidence
|
|
79
|
-
- User feedback: [links]
|
|
80
|
-
- Analytics data: [metrics]
|
|
81
|
-
- Support tickets: [count]
|
|
82
|
-
- Team observations: [notes]
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
#### 1.2 Validation Checklist
|
|
86
|
-
|
|
87
|
-
```markdown
|
|
88
|
-
## Validation Checklist
|
|
89
|
-
|
|
90
|
-
- [ ] Problem description is clear and specific (not a solution)
|
|
91
|
-
- [ ] Supported by real user feedback or data
|
|
92
|
-
- [ ] Impact scope is quantified
|
|
93
|
-
- [ ] Consequences of not solving are assessed
|
|
94
|
-
- [ ] Aligns with product vision
|
|
95
|
-
- [ ] Not an XY problem (user wants X, we think they want Y)
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
#### 1.3 Anti-patterns: Fake Problems
|
|
99
|
-
|
|
100
|
-
```markdown
|
|
101
|
-
❌ Bad: "We need to add a new settings page"
|
|
102
|
-
→ This is a solution, not a problem
|
|
103
|
-
|
|
104
|
-
✅ Good: "Users cannot customize notification preferences, leading to
|
|
105
|
-
too many irrelevant notifications. 50+ users complain daily
|
|
106
|
-
in support channels about this issue"
|
|
107
|
-
|
|
108
|
-
❌ Bad: "Code needs refactoring"
|
|
109
|
-
→ Doesn't explain why refactoring is needed
|
|
110
|
-
|
|
111
|
-
✅ Good: "Current auth module complexity causes each new feature to take
|
|
112
|
-
3 days, while competitors need only half a day, affecting our
|
|
113
|
-
iteration speed"
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
### Phase 2: Prioritization
|
|
119
|
-
|
|
120
|
-
**Goal**: Do the most important things with limited time
|
|
121
|
-
|
|
122
|
-
#### 2.1 RICE Scoring Framework
|
|
123
|
-
|
|
124
|
-
Linear uses RICE framework for priority assessment:
|
|
125
|
-
|
|
126
|
-
```
|
|
127
|
-
RICE Score = (Reach × Impact × Confidence) / Effort
|
|
128
|
-
|
|
129
|
-
Reach: How many users affected?
|
|
130
|
-
- 1000+ users = 10
|
|
131
|
-
- 100-1000 users = 5
|
|
132
|
-
- 10-100 users = 2
|
|
133
|
-
- < 10 users = 1
|
|
134
|
-
|
|
135
|
-
Impact: How much does it affect users?
|
|
136
|
-
- Massive (3.0): Core feature, significantly improves experience
|
|
137
|
-
- High (2.0): Important feature, clearly improves experience
|
|
138
|
-
- Medium (1.0): Useful feature, moderately improves experience
|
|
139
|
-
- Low (0.5): Small improvement
|
|
140
|
-
- Minimal (0.25): Tiny improvement
|
|
141
|
-
|
|
142
|
-
Confidence: How certain are we?
|
|
143
|
-
- High (100%): Data-supported
|
|
144
|
-
- Medium (80%): Some evidence
|
|
145
|
-
- Low (50%): Based on assumptions
|
|
146
|
-
|
|
147
|
-
Effort: How many person-months?
|
|
148
|
-
- In person-months (1 person-month = 1 person working 1 month)
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
#### 2.2 Priority Examples
|
|
152
|
-
|
|
153
|
-
```markdown
|
|
154
|
-
## Feature: Keyboard Shortcuts
|
|
155
|
-
|
|
156
|
-
Reach: 8 (80% of active users)
|
|
157
|
-
Impact: 2.0 (High - significantly improves efficiency)
|
|
158
|
-
Confidence: 100% (strong user demand)
|
|
159
|
-
Effort: 2 person-months
|
|
160
|
-
|
|
161
|
-
RICE Score = (8 × 2.0 × 1.0) / 2 = 8.0
|
|
162
|
-
|
|
163
|
-
---
|
|
164
|
-
|
|
165
|
-
## Feature: Dark Mode
|
|
166
|
-
|
|
167
|
-
Reach: 10 (all users)
|
|
168
|
-
Impact: 1.0 (Medium - improves experience)
|
|
169
|
-
Confidence: 80% (some users requested)
|
|
170
|
-
Effort: 3 person-months
|
|
171
|
-
|
|
172
|
-
RICE Score = (10 × 1.0 × 0.8) / 3 = 2.67
|
|
173
|
-
|
|
174
|
-
---
|
|
175
|
-
|
|
176
|
-
## Bug: Inaccurate Search Results
|
|
177
|
-
|
|
178
|
-
Reach: 9 (90% users use search)
|
|
179
|
-
Impact: 3.0 (Massive - core feature broken)
|
|
180
|
-
Confidence: 100% (clear reproduction steps)
|
|
181
|
-
Effort: 1 person-month
|
|
182
|
-
|
|
183
|
-
RICE Score = (9 × 3.0 × 1.0) / 1 = 27.0 ← Highest priority
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
#### 2.3 Priority Matrix
|
|
187
|
-
|
|
188
|
-
```
|
|
189
|
-
High │ 🔥 Do Now │ 📅 Plan to Do
|
|
190
|
-
Impact │ (Quick Wins) │ (Major Projects)
|
|
191
|
-
│ │
|
|
192
|
-
────────┼──────────────────┼──────────────────
|
|
193
|
-
│ │
|
|
194
|
-
Low │ 🤔 Consider │ ❌ Don't Do
|
|
195
|
-
Impact │ (Fill-ins) │ (Time Sinks)
|
|
196
|
-
│ │
|
|
197
|
-
Low Effort High Effort
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
#### 2.4 The Art of Saying No
|
|
201
|
-
|
|
202
|
-
Linear team is famous for saying "no":
|
|
203
|
-
|
|
204
|
-
```markdown
|
|
205
|
-
## When to Say No
|
|
206
|
-
|
|
207
|
-
❌ Feature request from single user (unless key customer)
|
|
208
|
-
❌ Complex solution with small impact
|
|
209
|
-
❌ Doesn't align with product vision
|
|
210
|
-
❌ Simpler alternatives exist
|
|
211
|
-
❌ Maintenance cost exceeds value
|
|
212
|
-
|
|
213
|
-
## How to Say No
|
|
214
|
-
|
|
215
|
-
✅ "Thanks for the feedback! We understand this need, but it's currently
|
|
216
|
-
lower priority as only 2% of users would use it. We'll continue monitoring."
|
|
217
|
-
|
|
218
|
-
✅ "This is a good idea, but implementation cost is high (3 months),
|
|
219
|
-
and we have higher priority problems to solve."
|
|
220
|
-
|
|
221
|
-
✅ "We've considered this approach, but it would increase product complexity,
|
|
222
|
-
which conflicts with our 'keep it simple' philosophy."
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
---
|
|
226
|
-
|
|
227
|
-
### Phase 3: Spec Writing
|
|
228
|
-
|
|
229
|
-
**Goal**: Clarify all details before coding
|
|
230
|
-
|
|
231
|
-
#### 3.1 Linear Spec Template
|
|
232
|
-
|
|
233
|
-
```markdown
|
|
234
|
-
# [Feature Name]
|
|
235
|
-
|
|
236
|
-
## Problem
|
|
237
|
-
[Copy problem statement from Phase 1]
|
|
238
|
-
|
|
239
|
-
## Goals
|
|
240
|
-
- Primary goal: [core objective]
|
|
241
|
-
- Secondary goals: [secondary objectives]
|
|
242
|
-
- Non-goals: [explicitly what we won't do]
|
|
243
|
-
|
|
244
|
-
## User Stories
|
|
245
|
-
|
|
246
|
-
As a [role], I want to [action] so that [benefit].
|
|
247
|
-
|
|
248
|
-
### Example
|
|
249
|
-
As a developer, I want to use keyboard shortcuts
|
|
250
|
-
so that I can navigate the app without using the mouse.
|
|
251
|
-
|
|
252
|
-
## Solution
|
|
253
|
-
|
|
254
|
-
### Overview
|
|
255
|
-
[High-level solution description]
|
|
256
|
-
|
|
257
|
-
### User Flow
|
|
258
|
-
1. User presses `Cmd+K`
|
|
259
|
-
2. Command palette opens
|
|
260
|
-
3. User types "create issue"
|
|
261
|
-
4. Matching commands are filtered
|
|
262
|
-
5. User presses Enter
|
|
263
|
-
6. Issue creation dialog opens
|
|
264
|
-
|
|
265
|
-
### UI/UX Design
|
|
266
|
-
[Figma link or screenshots]
|
|
267
|
-
|
|
268
|
-
### Technical Approach
|
|
269
|
-
|
|
270
|
-
#### Architecture
|
|
271
|
-
```typescript
|
|
272
|
-
// Core interface design
|
|
273
|
-
interface KeyboardShortcut {
|
|
274
|
-
key: string
|
|
275
|
-
modifiers: Modifier[]
|
|
276
|
-
action: () => void
|
|
277
|
-
description: string
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
class ShortcutManager {
|
|
281
|
-
register(shortcut: KeyboardShortcut): void
|
|
282
|
-
unregister(key: string): void
|
|
283
|
-
execute(event: KeyboardEvent): void
|
|
284
|
-
}
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
#### Data Model
|
|
288
|
-
[Database schema or state structure]
|
|
289
|
-
|
|
290
|
-
#### API Changes
|
|
291
|
-
[New or modified APIs]
|
|
292
|
-
|
|
293
|
-
### Edge Cases
|
|
294
|
-
- What if user presses conflicting shortcuts?
|
|
295
|
-
- What if shortcut is already used by browser?
|
|
296
|
-
- What if user is in an input field?
|
|
297
|
-
|
|
298
|
-
### Performance Considerations
|
|
299
|
-
- Shortcut registration: O(1)
|
|
300
|
-
- Shortcut lookup: O(1) using Map
|
|
301
|
-
- No impact on initial load time
|
|
302
|
-
|
|
303
|
-
### Accessibility
|
|
304
|
-
- All shortcuts must have mouse alternatives
|
|
305
|
-
- Shortcuts must be discoverable (help menu)
|
|
306
|
-
- Support for screen readers
|
|
307
|
-
|
|
308
|
-
### Security
|
|
309
|
-
- No security implications
|
|
310
|
-
|
|
311
|
-
## Success Metrics
|
|
312
|
-
|
|
313
|
-
- 30% of users adopt keyboard shortcuts within 1 month
|
|
314
|
-
- Average task completion time reduces by 20%
|
|
315
|
-
- NPS score increases by 5 points
|
|
316
|
-
|
|
317
|
-
## Rollout Plan
|
|
318
|
-
|
|
319
|
-
### Phase 1: Internal Beta (Week 1)
|
|
320
|
-
- Deploy to team
|
|
321
|
-
- Gather feedback
|
|
322
|
-
- Fix critical bugs
|
|
323
|
-
|
|
324
|
-
### Phase 2: Public Beta (Week 2-3)
|
|
325
|
-
- Deploy to 10% of users
|
|
326
|
-
- Monitor metrics
|
|
327
|
-
- Iterate based on feedback
|
|
328
|
-
|
|
329
|
-
### Phase 3: General Availability (Week 4)
|
|
330
|
-
- Deploy to all users
|
|
331
|
-
- Announce in changelog
|
|
332
|
-
- Create help documentation
|
|
333
|
-
|
|
334
|
-
## Open Questions
|
|
335
|
-
|
|
336
|
-
- [ ] Should shortcuts be customizable?
|
|
337
|
-
- [ ] Which shortcuts should be enabled by default?
|
|
338
|
-
- [ ] How to handle conflicts with browser shortcuts?
|
|
339
|
-
|
|
340
|
-
## Timeline
|
|
341
|
-
|
|
342
|
-
- Spec review: 2 days
|
|
343
|
-
- Implementation: 1.5 weeks
|
|
344
|
-
- Testing: 2 days
|
|
345
|
-
- Beta: 1 week
|
|
346
|
-
- GA: Week 4
|
|
347
|
-
|
|
348
|
-
Total: 4 weeks
|
|
349
|
-
```
|
|
350
|
-
|
|
351
|
-
---
|
|
352
|
-
|
|
353
|
-
### Phase 4: Focused Building
|
|
354
|
-
|
|
355
|
-
**Goal**: Build features with high quality and efficiency
|
|
356
|
-
|
|
357
|
-
#### 4.1 Deep Work Principles
|
|
358
|
-
|
|
359
|
-
Linear team advocates deep work:
|
|
360
|
-
|
|
361
|
-
```markdown
|
|
362
|
-
## Deep Work Principles
|
|
363
|
-
|
|
364
|
-
### 1. Long Focus Blocks
|
|
365
|
-
- Minimum 2 hours uninterrupted work
|
|
366
|
-
- Turn off all notifications
|
|
367
|
-
- Use Pomodoro technique (optional)
|
|
368
|
-
|
|
369
|
-
### 2. Minimize Meetings
|
|
370
|
-
- Maximum 5 hours of meetings per week
|
|
371
|
-
- Async communication first
|
|
372
|
-
- Meetings must have clear agenda
|
|
373
|
-
|
|
374
|
-
### 3. Batch Communication
|
|
375
|
-
- Check messages at fixed times (e.g., 10am, 3pm)
|
|
376
|
-
- Don't immediately reply to non-urgent messages
|
|
377
|
-
- Use status indicators (focused/available)
|
|
378
|
-
|
|
379
|
-
### 4. Single-Task Mode
|
|
380
|
-
- Work on one issue at a time
|
|
381
|
-
- Finish before starting next
|
|
382
|
-
- Avoid context switching
|
|
383
|
-
```
|
|
384
|
-
|
|
385
|
-
#### 4.2 Code Quality Standards
|
|
386
|
-
|
|
387
|
-
```typescript
|
|
388
|
-
// Linear's code quality standards
|
|
389
|
-
|
|
390
|
-
// ✅ Good: Clear naming
|
|
391
|
-
function calculateMonthlyRecurringRevenue(subscriptions: Subscription[]): number {
|
|
392
|
-
return subscriptions
|
|
393
|
-
.filter(sub => sub.status === 'active')
|
|
394
|
-
.reduce((sum, sub) => sum + sub.monthlyPrice, 0)
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
// ❌ Bad: Vague naming
|
|
398
|
-
function calc(data: any[]): number {
|
|
399
|
-
return data.filter(d => d.s === 'a').reduce((s, d) => s + d.p, 0)
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
// ✅ Good: Small functions, single responsibility
|
|
403
|
-
function validateEmail(email: string): boolean {
|
|
404
|
-
return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)
|
|
405
|
-
}
|
|
406
|
-
|
|
407
|
-
function validatePassword(password: string): boolean {
|
|
408
|
-
return password.length >= 8
|
|
409
|
-
}
|
|
410
|
-
|
|
411
|
-
function validateUser(user: User): ValidationResult {
|
|
412
|
-
const errors: string[] = []
|
|
413
|
-
if (!validateEmail(user.email)) errors.push('Invalid email')
|
|
414
|
-
if (!validatePassword(user.password)) errors.push('Password too short')
|
|
415
|
-
return { valid: errors.length === 0, errors }
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
// ❌ Bad: Large function, multiple responsibilities
|
|
419
|
-
function validate(user: any): any {
|
|
420
|
-
// 100 lines of validation logic
|
|
421
|
-
}
|
|
422
|
-
```
|
|
423
|
-
|
|
424
|
-
#### 4.3 Performance First
|
|
425
|
-
|
|
426
|
-
```typescript
|
|
427
|
-
// Linear's extreme focus on performance
|
|
428
|
-
|
|
429
|
-
// ✅ Good: Optimized list rendering
|
|
430
|
-
function IssueList({ issues }: { issues: Issue[] }) {
|
|
431
|
-
return (
|
|
432
|
-
<VirtualList
|
|
433
|
-
items={issues}
|
|
434
|
-
itemHeight={48}
|
|
435
|
-
renderItem={(issue) => <IssueRow issue={issue} />}
|
|
436
|
-
/>
|
|
437
|
-
)
|
|
438
|
-
}
|
|
439
|
-
|
|
440
|
-
// ❌ Bad: Render all items
|
|
441
|
-
function IssueList({ issues }: { issues: Issue[] }) {
|
|
442
|
-
return (
|
|
443
|
-
<div>
|
|
444
|
-
{issues.map(issue => <IssueRow key={issue.id} issue={issue} />)}
|
|
445
|
-
</div>
|
|
446
|
-
)
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
// ✅ Good: Debounced search
|
|
450
|
-
const debouncedSearch = useMemo(
|
|
451
|
-
() => debounce((query: string) => {
|
|
452
|
-
searchIssues(query)
|
|
453
|
-
}, 300),
|
|
454
|
-
[]
|
|
455
|
-
)
|
|
456
|
-
|
|
457
|
-
// ✅ Good: Optimistic updates
|
|
458
|
-
function updateIssue(id: string, data: Partial<Issue>) {
|
|
459
|
-
// Update UI immediately
|
|
460
|
-
setIssues(prev => prev.map(issue =>
|
|
461
|
-
issue.id === id ? { ...issue, ...data } : issue
|
|
462
|
-
))
|
|
463
|
-
|
|
464
|
-
// Sync in background
|
|
465
|
-
api.updateIssue(id, data).catch(() => {
|
|
466
|
-
// Revert on failure
|
|
467
|
-
revertIssue(id)
|
|
468
|
-
})
|
|
469
|
-
}
|
|
470
|
-
```
|
|
471
|
-
|
|
472
|
-
---
|
|
473
|
-
|
|
474
|
-
### Phase 5: Quality Assurance
|
|
475
|
-
|
|
476
|
-
**Goal**: Ensure released features meet Linear's quality standards
|
|
477
|
-
|
|
478
|
-
#### 5.1 Testing Checklist
|
|
479
|
-
|
|
480
|
-
```markdown
|
|
481
|
-
## Testing Checklist
|
|
482
|
-
|
|
483
|
-
### Functional Testing
|
|
484
|
-
- [ ] All user scenarios work correctly
|
|
485
|
-
- [ ] Edge cases tested
|
|
486
|
-
- [ ] Error handling correct
|
|
487
|
-
|
|
488
|
-
### Performance Testing
|
|
489
|
-
- [ ] Page load time < 1s
|
|
490
|
-
- [ ] Interaction response time < 100ms
|
|
491
|
-
- [ ] No memory leaks
|
|
492
|
-
|
|
493
|
-
### Accessibility Testing
|
|
494
|
-
- [ ] Keyboard navigation works
|
|
495
|
-
- [ ] Screen reader compatible
|
|
496
|
-
- [ ] Color contrast meets standards
|
|
497
|
-
|
|
498
|
-
### Cross-browser Testing
|
|
499
|
-
- [ ] Chrome (latest)
|
|
500
|
-
- [ ] Firefox (latest)
|
|
501
|
-
- [ ] Safari (latest)
|
|
502
|
-
- [ ] Edge (latest)
|
|
503
|
-
|
|
504
|
-
### Mobile Testing
|
|
505
|
-
- [ ] iOS Safari
|
|
506
|
-
- [ ] Android Chrome
|
|
507
|
-
- [ ] Responsive layout correct
|
|
508
|
-
```
|
|
509
|
-
|
|
510
|
-
---
|
|
511
|
-
|
|
512
|
-
### Phase 6: Launch & Iterate
|
|
513
|
-
|
|
514
|
-
**Goal**: Successfully launch and continuously improve
|
|
515
|
-
|
|
516
|
-
#### 6.1 Launch Checklist
|
|
517
|
-
|
|
518
|
-
```markdown
|
|
519
|
-
## Launch Checklist
|
|
520
|
-
|
|
521
|
-
### Pre-launch
|
|
522
|
-
- [ ] All tests pass
|
|
523
|
-
- [ ] Performance metrics meet standards
|
|
524
|
-
- [ ] Documentation updated
|
|
525
|
-
- [ ] Team trained
|
|
526
|
-
|
|
527
|
-
### Launch
|
|
528
|
-
- [ ] Deploy to production
|
|
529
|
-
- [ ] Monitor key metrics
|
|
530
|
-
- [ ] Prepare rollback plan
|
|
531
|
-
|
|
532
|
-
### Post-launch
|
|
533
|
-
- [ ] Publish announcement
|
|
534
|
-
- [ ] Collect user feedback
|
|
535
|
-
- [ ] Monitor error rates
|
|
536
|
-
- [ ] Analyze usage data
|
|
537
|
-
```
|
|
538
|
-
|
|
539
|
-
#### 6.2 Success Metrics Tracking
|
|
540
|
-
|
|
541
|
-
```typescript
|
|
542
|
-
// Track key metrics
|
|
543
|
-
const metrics = {
|
|
544
|
-
// Usage metrics
|
|
545
|
-
adoptionRate: 0.30, // 30% users use new feature
|
|
546
|
-
dailyActiveUsers: 1250,
|
|
547
|
-
featureUsagePerUser: 8.5,
|
|
548
|
-
|
|
549
|
-
// Performance metrics
|
|
550
|
-
p50Latency: 45, // ms
|
|
551
|
-
p95Latency: 120, // ms
|
|
552
|
-
errorRate: 0.001, // 0.1%
|
|
553
|
-
|
|
554
|
-
// Business metrics
|
|
555
|
-
userSatisfaction: 4.8, // out of 5
|
|
556
|
-
supportTickets: -15, // 15% reduction
|
|
557
|
-
taskCompletionTime: -20 // 20% reduction
|
|
558
|
-
}
|
|
559
|
-
```
|
|
560
|
-
|
|
561
|
-
---
|
|
562
|
-
|
|
563
|
-
## Linear Principles
|
|
564
|
-
|
|
565
|
-
### 1. Speed Comes from Quality
|
|
566
|
-
|
|
567
|
-
```
|
|
568
|
-
Low quality → Technical debt → Slower development → More debt → Vicious cycle
|
|
569
|
-
High quality → Easy to modify → Faster development → Higher quality → Virtuous cycle
|
|
570
|
-
```
|
|
571
|
-
|
|
572
|
-
### 2. Simplicity Over Complexity
|
|
573
|
-
|
|
574
|
-
```markdown
|
|
575
|
-
❌ Add config options for users to choose
|
|
576
|
-
✅ Choose best default
|
|
577
|
-
|
|
578
|
-
❌ Support all possible use cases
|
|
579
|
-
✅ Focus on core use cases
|
|
580
|
-
|
|
581
|
-
❌ More features is better
|
|
582
|
-
✅ Just enough features
|
|
583
|
-
```
|
|
584
|
-
|
|
585
|
-
### 3. Details Matter
|
|
586
|
-
|
|
587
|
-
```typescript
|
|
588
|
-
// Linear's attention to detail
|
|
589
|
-
|
|
590
|
-
// Animation duration precise to milliseconds
|
|
591
|
-
const ANIMATION_DURATION = 150 // ms
|
|
592
|
-
|
|
593
|
-
// Spacing uses 4px grid system
|
|
594
|
-
const SPACING = {
|
|
595
|
-
xs: 4,
|
|
596
|
-
sm: 8,
|
|
597
|
-
md: 16,
|
|
598
|
-
lg: 24,
|
|
599
|
-
xl: 32
|
|
600
|
-
}
|
|
601
|
-
|
|
602
|
-
// Colors have clear semantics
|
|
603
|
-
const COLORS = {
|
|
604
|
-
primary: '#5E6AD2',
|
|
605
|
-
success: '#0FA958',
|
|
606
|
-
warning: '#F2994A',
|
|
607
|
-
error: '#E5484D'
|
|
608
|
-
}
|
|
609
|
-
```
|
|
610
|
-
|
|
611
|
-
### 4. UX Everywhere
|
|
612
|
-
|
|
613
|
-
```markdown
|
|
614
|
-
## UX Checklist
|
|
615
|
-
|
|
616
|
-
- [ ] Loading states (don't make users wait)
|
|
617
|
-
- [ ] Error messages (clear error info)
|
|
618
|
-
- [ ] Empty states (guide users to start)
|
|
619
|
-
- [ ] Keyboard shortcuts (improve efficiency)
|
|
620
|
-
- [ ] Undo operations (allow mistakes)
|
|
621
|
-
- [ ] Optimistic updates (instant feedback)
|
|
622
|
-
- [ ] Progressive enhancement (basic features first)
|
|
623
|
-
```
|
|
624
|
-
|
|
625
|
-
---
|
|
626
|
-
|
|
627
|
-
## Command Options
|
|
628
|
-
|
|
629
|
-
- `--validate`: Run problem validation workflow
|
|
630
|
-
- `--prioritize`: Use RICE framework for prioritization
|
|
631
|
-
- `--focus-mode`: Start focused building mode
|
|
632
|
-
- `--quality-check`: Run quality checks
|
|
633
|
-
|
|
634
|
-
---
|
|
635
|
-
|
|
636
|
-
## Success Metrics
|
|
637
|
-
|
|
638
|
-
- ✅ Feature adoption rate > 30%
|
|
639
|
-
- ✅ User satisfaction > 4.5/5
|
|
640
|
-
- ✅ Performance P95 < 200ms
|
|
641
|
-
- ✅ Error rate < 0.1%
|
|
642
|
-
- ✅ Technical debt stays low
|
|
643
|
-
|
|
644
|
-
---
|
|
645
|
-
|
|
646
|
-
## References
|
|
647
|
-
|
|
648
|
-
- Linear Blog: "How we build Linear"
|
|
649
|
-
- Linear Method: Product development philosophy
|
|
650
|
-
- Cal Newport - *Deep Work*
|
|
651
|
-
- Basecamp - *Shape Up*
|