claudekit-cli 3.41.4-dev.43 → 3.41.4-dev.44

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.
Files changed (3) hide show
  1. package/cli-manifest.json +2128 -0
  2. package/dist/index.js +1489 -666
  3. package/package.json +8 -3
package/dist/index.js CHANGED
@@ -60755,7 +60755,7 @@ var package_default;
60755
60755
  var init_package = __esm(() => {
60756
60756
  package_default = {
60757
60757
  name: "claudekit-cli",
60758
- version: "3.41.4-dev.43",
60758
+ version: "3.41.4-dev.44",
60759
60759
  description: "CLI tool for bootstrapping and updating ClaudeKit projects",
60760
60760
  type: "module",
60761
60761
  repository: {
@@ -60772,7 +60772,8 @@ var init_package = __esm(() => {
60772
60772
  files: [
60773
60773
  "bin/ck.js",
60774
60774
  "dist/index.js",
60775
- "dist/ui/"
60775
+ "dist/ui/",
60776
+ "cli-manifest.json"
60776
60777
  ],
60777
60778
  scripts: {
60778
60779
  tauri: "tauri",
@@ -60807,7 +60808,11 @@ var init_package = __esm(() => {
60807
60808
  metrics: "bun run scripts/workflow-metrics.ts",
60808
60809
  validate: "bun run typecheck && bun run lint && bun run desktop:check-sync && bun run desktop:validate-config && bun run desktop:validate-icons && bun test && bun run ui:test && bun run build",
60809
60810
  "install:hooks": "./.githooks/install.sh",
60810
- prepare: `node -e "try{require('child_process').execSync('git rev-parse --git-dir',{stdio:'ignore'});require('child_process').execSync('bash .githooks/install.sh',{stdio:'inherit'})}catch(e){console.warn('[i] Hook install skipped:',e.message)}"`
60811
+ prepare: `node -e "try{require('child_process').execSync('git rev-parse --git-dir',{stdio:'ignore'});require('child_process').execSync('bash .githooks/install.sh',{stdio:'inherit'})}catch(e){console.warn('[i] Hook install skipped:',e.message)}"`,
60812
+ "help:check-parity": "bun run scripts/check-help-parity.ts",
60813
+ "manifest:generate": "bun run scripts/generate-cli-manifest.ts",
60814
+ "docs:generate": "bun run scripts/generate-cli-reference.ts",
60815
+ prepublishOnly: "bun run help:check-parity && bun run manifest:generate && bun run docs:generate"
60811
60816
  },
60812
60817
  keywords: [
60813
60818
  "cli",
@@ -74703,59 +74708,639 @@ var init_content = __esm(() => {
74703
74708
  init_content_subcommands();
74704
74709
  });
74705
74710
 
74706
- // src/domains/help/commands/common-options.ts
74707
- var filterOptionsGroup, folderOptionsGroup;
74708
- var init_common_options = __esm(() => {
74709
- filterOptionsGroup = {
74710
- title: "Filter Options",
74711
- options: [
74711
+ // src/domains/help/commands/agents-command-help.ts
74712
+ var agentsCommandHelp;
74713
+ var init_agents_command_help = __esm(() => {
74714
+ agentsCommandHelp = {
74715
+ name: "agents",
74716
+ description: "Install, uninstall, and manage Claude Code agents across providers",
74717
+ usage: "ck agents [options]",
74718
+ examples: [
74719
+ {
74720
+ command: "ck agents --name maintainer --agent codex",
74721
+ description: "Install one agent to Codex"
74722
+ },
74723
+ {
74724
+ command: "ck agents --list --installed",
74725
+ description: "Show installed agents and locations"
74726
+ }
74727
+ ],
74728
+ optionGroups: [
74729
+ {
74730
+ title: "Mode Options",
74731
+ options: [
74732
+ {
74733
+ flags: "-l, --list",
74734
+ description: "List available agents from source"
74735
+ },
74736
+ {
74737
+ flags: "--installed",
74738
+ description: "When used with --list, show installed agents instead"
74739
+ },
74740
+ {
74741
+ flags: "-u, --uninstall",
74742
+ description: "Uninstall agent(s) from providers"
74743
+ },
74744
+ {
74745
+ flags: "--sync",
74746
+ description: "Sync registry with filesystem (clean orphaned entries)"
74747
+ }
74748
+ ]
74749
+ },
74750
+ {
74751
+ title: "Installation Options",
74752
+ options: [
74753
+ {
74754
+ flags: "-n, --name <agent>",
74755
+ description: "Agent name to install or uninstall"
74756
+ },
74757
+ {
74758
+ flags: "-a, --agent <provider>",
74759
+ description: "Target provider(s), can be specified multiple times"
74760
+ },
74761
+ {
74762
+ flags: "-g, --global",
74763
+ description: "Install globally instead of project-level"
74764
+ },
74765
+ {
74766
+ flags: "--all",
74767
+ description: "Install to all supported providers"
74768
+ },
74769
+ {
74770
+ flags: "-y, --yes",
74771
+ description: "Skip confirmation prompts"
74772
+ }
74773
+ ]
74774
+ },
74775
+ {
74776
+ title: "Uninstall Options",
74777
+ options: [
74778
+ {
74779
+ flags: "--force",
74780
+ description: "Force uninstall even if not tracked in registry"
74781
+ }
74782
+ ]
74783
+ }
74784
+ ]
74785
+ };
74786
+ });
74787
+
74788
+ // src/domains/help/commands/api-command-help.ts
74789
+ var apiCommandHelp;
74790
+ var init_api_command_help = __esm(() => {
74791
+ apiCommandHelp = {
74792
+ name: "api",
74793
+ description: "Interact with ClaudeKit API and proxy services",
74794
+ usage: "ck api [action] [service] [path] [options]",
74795
+ examples: [
74796
+ {
74797
+ command: "ck api status",
74798
+ description: "Validate your API key and check rate limit status"
74799
+ },
74800
+ {
74801
+ command: "ck api vidcap summary https://youtu.be/abc123",
74802
+ description: "Generate an AI summary of a YouTube video"
74803
+ }
74804
+ ],
74805
+ optionGroups: [
74806
+ {
74807
+ title: "Output Options",
74808
+ options: [{ flags: "--json", description: "Output raw JSON instead of formatted display" }]
74809
+ }
74810
+ ],
74811
+ subcommands: [
74812
+ {
74813
+ name: "status",
74814
+ description: "Validate API key and check rate limit",
74815
+ usage: "ck api status [--json]",
74816
+ examples: [],
74817
+ optionGroups: [
74818
+ {
74819
+ title: "Output Options",
74820
+ options: [
74821
+ { flags: "--json", description: "Output raw JSON instead of formatted display" }
74822
+ ]
74823
+ }
74824
+ ]
74825
+ },
74826
+ {
74827
+ name: "services",
74828
+ description: "List available proxy services",
74829
+ usage: "ck api services [--json]",
74830
+ examples: [],
74831
+ optionGroups: [
74832
+ {
74833
+ title: "Output Options",
74834
+ options: [
74835
+ { flags: "--json", description: "Output raw JSON instead of formatted display" }
74836
+ ]
74837
+ }
74838
+ ]
74839
+ },
74840
+ {
74841
+ name: "setup",
74842
+ description: "Configure and store your ClaudeKit API key",
74843
+ usage: "ck api setup [--key <key>] [--force] [--json]",
74844
+ examples: [],
74845
+ optionGroups: [
74846
+ {
74847
+ title: "Setup Options",
74848
+ options: [
74849
+ { flags: "--key <key>", description: "API key to store" },
74850
+ { flags: "--force", description: "Force re-setup even if key already exists" }
74851
+ ]
74852
+ },
74853
+ {
74854
+ title: "Output Options",
74855
+ options: [
74856
+ { flags: "--json", description: "Output raw JSON instead of formatted display" }
74857
+ ]
74858
+ }
74859
+ ]
74860
+ },
74861
+ {
74862
+ name: "proxy",
74863
+ description: "Generic HTTP proxy to any ClaudeKit-backed service",
74864
+ usage: "ck api proxy <service> <path> [options]",
74865
+ examples: [],
74866
+ optionGroups: [
74867
+ {
74868
+ title: "Proxy Options",
74869
+ options: [
74870
+ {
74871
+ flags: "--method <method>",
74872
+ description: "HTTP method for the request",
74873
+ defaultValue: "GET"
74874
+ },
74875
+ { flags: "--body <json>", description: "Request body as JSON string" },
74876
+ { flags: "--query <json>", description: "Query params as JSON string" }
74877
+ ]
74878
+ },
74879
+ {
74880
+ title: "Output Options",
74881
+ options: [
74882
+ { flags: "--json", description: "Output raw JSON instead of formatted display" }
74883
+ ]
74884
+ }
74885
+ ]
74886
+ },
74887
+ {
74888
+ name: "vidcap",
74889
+ description: "Video metadata and AI processing via YouTube",
74890
+ usage: "ck api vidcap <action> <url|query>",
74891
+ examples: [],
74892
+ optionGroups: [
74893
+ {
74894
+ title: "Vidcap Options",
74895
+ options: [
74896
+ {
74897
+ flags: "--locale <locale>",
74898
+ description: "Locale for summary/caption output",
74899
+ defaultValue: "en"
74900
+ },
74901
+ { flags: "--max-results <n>", description: "Max results for search action" },
74902
+ {
74903
+ flags: "--second <s>",
74904
+ description: "Timestamp in seconds for screenshot action"
74905
+ },
74906
+ {
74907
+ flags: "--order <order>",
74908
+ description: "Sort order for comments (time/relevance)"
74909
+ }
74910
+ ]
74911
+ },
74912
+ {
74913
+ title: "Output Options",
74914
+ options: [
74915
+ { flags: "--json", description: "Output raw JSON instead of formatted display" }
74916
+ ]
74917
+ }
74918
+ ],
74919
+ subcommands: [
74920
+ {
74921
+ name: "info",
74922
+ description: "Fetch video metadata (title, duration, channel)",
74923
+ usage: "ck api vidcap info <url>",
74924
+ examples: [],
74925
+ optionGroups: [
74926
+ {
74927
+ title: "Output Options",
74928
+ options: [{ flags: "--json", description: "Output raw JSON" }]
74929
+ }
74930
+ ]
74931
+ },
74932
+ {
74933
+ name: "search",
74934
+ description: "Search YouTube for videos matching a query",
74935
+ usage: "ck api vidcap search <query>",
74936
+ examples: [],
74937
+ optionGroups: [
74938
+ {
74939
+ title: "Search Options",
74940
+ options: [{ flags: "--max-results <n>", description: "Maximum number of results" }]
74941
+ }
74942
+ ]
74943
+ },
74944
+ {
74945
+ name: "summary",
74946
+ description: "Generate an AI summary of a video",
74947
+ usage: "ck api vidcap summary <url>",
74948
+ examples: [],
74949
+ optionGroups: [
74950
+ {
74951
+ title: "Summary Options",
74952
+ options: [
74953
+ {
74954
+ flags: "--locale <locale>",
74955
+ description: "Locale for summary text",
74956
+ defaultValue: "en"
74957
+ }
74958
+ ]
74959
+ }
74960
+ ]
74961
+ },
74962
+ {
74963
+ name: "caption",
74964
+ description: "Extract captions/transcript from a video",
74965
+ usage: "ck api vidcap caption <url>",
74966
+ examples: [],
74967
+ optionGroups: [
74968
+ {
74969
+ title: "Caption Options",
74970
+ options: [
74971
+ {
74972
+ flags: "--locale <locale>",
74973
+ description: "Locale for caption text",
74974
+ defaultValue: "en"
74975
+ }
74976
+ ]
74977
+ }
74978
+ ]
74979
+ },
74980
+ {
74981
+ name: "screenshot",
74982
+ description: "Capture a frame from a video at a specific timestamp",
74983
+ usage: "ck api vidcap screenshot <url>",
74984
+ examples: [],
74985
+ optionGroups: [
74986
+ {
74987
+ title: "Screenshot Options",
74988
+ options: [{ flags: "--second <s>", description: "Timestamp in seconds" }]
74989
+ }
74990
+ ]
74991
+ },
74992
+ {
74993
+ name: "comments",
74994
+ description: "Fetch comments for a video",
74995
+ usage: "ck api vidcap comments <url>",
74996
+ examples: [],
74997
+ optionGroups: [
74998
+ {
74999
+ title: "Comment Options",
75000
+ options: [
75001
+ {
75002
+ flags: "--order <order>",
75003
+ description: "Sort order: time or relevance"
75004
+ },
75005
+ { flags: "--max-results <n>", description: "Maximum number of comments" }
75006
+ ]
75007
+ }
75008
+ ]
75009
+ },
75010
+ {
75011
+ name: "media",
75012
+ description: "Download media or extract media URLs from a video",
75013
+ usage: "ck api vidcap media <url>",
75014
+ examples: [],
75015
+ optionGroups: [
75016
+ {
75017
+ title: "Output Options",
75018
+ options: [{ flags: "--json", description: "Output raw JSON" }]
75019
+ }
75020
+ ]
75021
+ }
75022
+ ]
75023
+ },
75024
+ {
75025
+ name: "reviewweb",
75026
+ description: "Web scraping and SEO analysis via the ClaudeKit proxy",
75027
+ usage: "ck api reviewweb <action> <url|domain|keyword>",
75028
+ examples: [],
75029
+ optionGroups: [
75030
+ {
75031
+ title: "Review Options",
75032
+ options: [
75033
+ {
75034
+ flags: "--format <fmt>",
75035
+ description: "Summary format: bullet or paragraph"
75036
+ },
75037
+ { flags: "--max-length <n>", description: "Maximum summary length in characters" },
75038
+ {
75039
+ flags: "--instructions <text>",
75040
+ description: "Extraction instructions (extract action)"
75041
+ },
75042
+ { flags: "--template <json>", description: "JSON template for structured extraction" },
75043
+ {
75044
+ flags: "--type <type>",
75045
+ description: "Link type filter: web/image/file/all"
75046
+ },
75047
+ { flags: "--country <code>", description: "Country code for SEO commands" }
75048
+ ]
75049
+ },
75050
+ {
75051
+ title: "Output Options",
75052
+ options: [
75053
+ { flags: "--json", description: "Output raw JSON instead of formatted display" }
75054
+ ]
75055
+ }
75056
+ ],
75057
+ subcommands: [
75058
+ {
75059
+ name: "scrape",
75060
+ description: "Scrape raw HTML content from a URL",
75061
+ usage: "ck api reviewweb scrape <url>",
75062
+ examples: [],
75063
+ optionGroups: [
75064
+ {
75065
+ title: "Output Options",
75066
+ options: [{ flags: "--json", description: "Output raw JSON" }]
75067
+ }
75068
+ ]
75069
+ },
75070
+ {
75071
+ name: "summarize",
75072
+ description: "AI-generated summary of a web page",
75073
+ usage: "ck api reviewweb summarize <url>",
75074
+ examples: [],
75075
+ optionGroups: [
75076
+ {
75077
+ title: "Summary Options",
75078
+ options: [
75079
+ { flags: "--format <fmt>", description: "Output format: bullet or paragraph" },
75080
+ { flags: "--max-length <n>", description: "Maximum length in characters" }
75081
+ ]
75082
+ }
75083
+ ]
75084
+ },
75085
+ {
75086
+ name: "markdown",
75087
+ description: "Convert a web page to clean Markdown",
75088
+ usage: "ck api reviewweb markdown <url>",
75089
+ examples: [],
75090
+ optionGroups: [
75091
+ {
75092
+ title: "Output Options",
75093
+ options: [{ flags: "--json", description: "Output raw JSON" }]
75094
+ }
75095
+ ]
75096
+ },
75097
+ {
75098
+ name: "extract",
75099
+ description: "Extract structured data from a web page",
75100
+ usage: "ck api reviewweb extract <url>",
75101
+ examples: [],
75102
+ optionGroups: [
75103
+ {
75104
+ title: "Extraction Options",
75105
+ options: [
75106
+ { flags: "--instructions <text>", description: "Extraction instructions" },
75107
+ { flags: "--template <json>", description: "JSON template for output shape" }
75108
+ ]
75109
+ }
75110
+ ]
75111
+ },
75112
+ {
75113
+ name: "links",
75114
+ description: "Extract all links from a web page",
75115
+ usage: "ck api reviewweb links <url>",
75116
+ examples: [],
75117
+ optionGroups: [
75118
+ {
75119
+ title: "Filter Options",
75120
+ options: [
75121
+ {
75122
+ flags: "--type <type>",
75123
+ description: "Link type: web/image/file/all",
75124
+ defaultValue: "all"
75125
+ }
75126
+ ]
75127
+ }
75128
+ ]
75129
+ },
75130
+ {
75131
+ name: "screenshot",
75132
+ description: "Capture a screenshot of a web page",
75133
+ usage: "ck api reviewweb screenshot <url>",
75134
+ examples: [],
75135
+ optionGroups: [
75136
+ {
75137
+ title: "Output Options",
75138
+ options: [{ flags: "--json", description: "Output raw JSON" }]
75139
+ }
75140
+ ]
75141
+ },
75142
+ {
75143
+ name: "seo-traffic",
75144
+ description: "Fetch estimated organic traffic data for a domain",
75145
+ usage: "ck api reviewweb seo-traffic <domain>",
75146
+ examples: [],
75147
+ optionGroups: [
75148
+ {
75149
+ title: "SEO Options",
75150
+ options: [
75151
+ { flags: "--country <code>", description: "Country code for traffic data" }
75152
+ ]
75153
+ }
75154
+ ]
75155
+ },
75156
+ {
75157
+ name: "seo-keywords",
75158
+ description: "Fetch top SEO keywords for a domain or keyword",
75159
+ usage: "ck api reviewweb seo-keywords <domain|keyword>",
75160
+ examples: [],
75161
+ optionGroups: [
75162
+ {
75163
+ title: "SEO Options",
75164
+ options: [
75165
+ { flags: "--country <code>", description: "Country code for keyword data" }
75166
+ ]
75167
+ }
75168
+ ]
75169
+ },
75170
+ {
75171
+ name: "seo-backlinks",
75172
+ description: "Fetch backlink profile for a domain",
75173
+ usage: "ck api reviewweb seo-backlinks <domain>",
75174
+ examples: [],
75175
+ optionGroups: [
75176
+ {
75177
+ title: "SEO Options",
75178
+ options: [
75179
+ { flags: "--country <code>", description: "Country code for backlink data" }
75180
+ ]
75181
+ }
75182
+ ]
75183
+ }
75184
+ ]
75185
+ }
75186
+ ]
75187
+ };
75188
+ });
75189
+
75190
+ // src/domains/help/commands/app-command-help.ts
75191
+ var appCommandHelp;
75192
+ var init_app_command_help = __esm(() => {
75193
+ appCommandHelp = {
75194
+ name: "app",
75195
+ description: "Launch the ClaudeKit Control Center desktop app",
75196
+ usage: "ck app [options]",
75197
+ examples: [
75198
+ {
75199
+ command: "ck app",
75200
+ description: "Launch the native desktop app, downloading it on first run"
75201
+ },
75202
+ {
75203
+ command: "ck app --web",
75204
+ description: "Open the existing web dashboard instead of the desktop app"
75205
+ }
75206
+ ],
75207
+ optionGroups: [
75208
+ {
75209
+ title: "Desktop Actions",
75210
+ options: [
75211
+ {
75212
+ flags: "--web",
75213
+ description: "Open the browser dashboard instead of launching the desktop app"
75214
+ },
75215
+ {
75216
+ flags: "--update",
75217
+ description: "Install a newer desktop build before launch when one is available"
75218
+ },
75219
+ {
75220
+ flags: "--path",
75221
+ description: "Print the installed path, or the target install path if absent"
75222
+ },
75223
+ {
75224
+ flags: "--uninstall",
75225
+ description: "Remove the installed desktop app and exit"
75226
+ },
75227
+ {
75228
+ flags: "--dev",
75229
+ description: "Force dev channel for this invocation"
75230
+ },
75231
+ {
75232
+ flags: "--stable",
75233
+ description: "Force stable channel for this invocation"
75234
+ }
75235
+ ]
75236
+ }
75237
+ ],
75238
+ sections: [
75239
+ {
75240
+ title: "Notes",
75241
+ content: "`ck app` downloads the desktop app build for your platform when needed, then launches it. Use `ck config` when you need web-only dashboard flags such as `--host` or `--port`."
75242
+ }
75243
+ ]
75244
+ };
75245
+ });
75246
+
75247
+ // src/domains/help/commands/backups-command-help.ts
75248
+ var backupsCommandHelp;
75249
+ var init_backups_command_help = __esm(() => {
75250
+ backupsCommandHelp = {
75251
+ name: "backups",
75252
+ description: "List, restore, and prune ClaudeKit recovery backups",
75253
+ usage: "ck backups <list|restore|prune> [options]",
75254
+ examples: [
75255
+ {
75256
+ command: "ck backups list --limit 5",
75257
+ description: "Show the newest five recovery backups"
75258
+ },
75259
+ {
75260
+ command: "ck backups restore 2026-04-06T21-53-01-706-byrf --yes",
75261
+ description: "Restore a specific recovery backup without prompting"
75262
+ }
75263
+ ],
75264
+ optionGroups: [
75265
+ {
75266
+ title: "Subcommands",
75267
+ options: [
75268
+ {
75269
+ flags: "list [--limit <n>] [--json]",
75270
+ description: "List recovery backups under ~/.claudekit/backups/"
75271
+ },
75272
+ {
75273
+ flags: "restore <id> [--yes] [--json]",
75274
+ description: "Restore a specific recovery backup to its original source root"
75275
+ },
75276
+ {
75277
+ flags: "prune [id] [--keep <n> | --all] [--yes] [--json]",
75278
+ description: "Delete one, many, or old recovery backups"
75279
+ }
75280
+ ]
75281
+ },
75282
+ {
75283
+ title: "Shared Options",
75284
+ options: [
75285
+ { flags: "--limit <n>", description: "Show only the newest N backups" },
75286
+ { flags: "--keep <n>", description: "Keep the newest N backups when pruning" },
75287
+ { flags: "--all", description: "Delete all recovery backups" },
75288
+ { flags: "-y, --yes", description: "Skip confirmation prompts" },
75289
+ { flags: "--json", description: "Output machine-readable JSON" }
75290
+ ]
75291
+ }
75292
+ ],
75293
+ subcommands: [
74712
75294
  {
74713
- flags: "--exclude <pattern>",
74714
- description: "Exclude files matching glob pattern (can be used multiple times)"
75295
+ name: "list",
75296
+ description: "List recovery backups under ~/.claudekit/backups/",
75297
+ usage: "ck backups list [--limit <n>] [--json]",
75298
+ examples: [],
75299
+ optionGroups: []
74715
75300
  },
74716
75301
  {
74717
- flags: "--beta",
74718
- description: "Show beta versions in selection prompt"
75302
+ name: "restore",
75303
+ description: "Restore a specific recovery backup to its original source root",
75304
+ usage: "ck backups restore <id> [--yes] [--json]",
75305
+ examples: [],
75306
+ optionGroups: []
74719
75307
  },
74720
75308
  {
74721
- flags: "--refresh",
74722
- description: "Bypass release cache to fetch latest versions from GitHub"
75309
+ name: "prune",
75310
+ description: "Delete one, many, or old recovery backups",
75311
+ usage: "ck backups prune [id] [--keep <n> | --all] [--yes] [--json]",
75312
+ examples: [],
75313
+ optionGroups: []
74723
75314
  }
74724
- ]
74725
- };
74726
- folderOptionsGroup = {
74727
- title: "Folder Options",
74728
- options: [
75315
+ ],
75316
+ sections: [
74729
75317
  {
74730
- flags: "--docs-dir <name>",
74731
- description: "Custom docs folder name to avoid conflicts with existing folders",
74732
- defaultValue: "docs"
75318
+ title: "Backup Scope",
75319
+ content: "These backups contain only the ClaudeKit-managed files targeted by destructive operations, not the full ~/.claude/ directory."
74733
75320
  },
74734
75321
  {
74735
- flags: "--plans-dir <name>",
74736
- description: "Custom plans folder name to avoid conflicts with existing folders",
74737
- defaultValue: "plans"
75322
+ title: "Automatic Retention",
75323
+ content: "ClaudeKit keeps the newest recovery backups automatically and prunes older ones after successful destructive operations."
74738
75324
  }
74739
75325
  ]
74740
75326
  };
74741
75327
  });
74742
75328
 
74743
- // src/domains/help/commands/new-command-help.ts
74744
- var newCommandHelp;
74745
- var init_new_command_help = __esm(() => {
74746
- init_common_options();
74747
- newCommandHelp = {
74748
- name: "new",
74749
- description: "Bootstrap a new ClaudeKit project (with interactive version selection)",
74750
- usage: "ck new [options]",
75329
+ // src/domains/help/commands/commands-command-help.ts
75330
+ var commandsCommandHelp;
75331
+ var init_commands_command_help = __esm(() => {
75332
+ commandsCommandHelp = {
75333
+ name: "commands",
75334
+ description: "Install, uninstall, and manage Claude commands across providers",
75335
+ usage: "ck commands [options]",
74751
75336
  examples: [
74752
75337
  {
74753
- command: "ck new --kit engineer --dir ./my-project",
74754
- description: "Create engineer kit project in specific directory"
75338
+ command: "ck commands --name plan --agent codex",
75339
+ description: "Install one slash command to Codex"
74755
75340
  },
74756
75341
  {
74757
- command: "ck new -y --use-git --release v2.1.0",
74758
- description: "Non-interactive with git clone (no GitHub API needed)"
75342
+ command: "ck commands --list",
75343
+ description: "List available commands from source"
74759
75344
  }
74760
75345
  ],
74761
75346
  optionGroups: [
@@ -74763,171 +75348,422 @@ var init_new_command_help = __esm(() => {
74763
75348
  title: "Mode Options",
74764
75349
  options: [
74765
75350
  {
74766
- flags: "-y, --yes",
74767
- description: "Non-interactive mode (skip all prompts)"
75351
+ flags: "-l, --list",
75352
+ description: "List available commands from source"
74768
75353
  },
74769
75354
  {
74770
- flags: "--use-git",
74771
- description: "Use git clone instead of GitHub API (uses SSH/HTTPS credentials)"
75355
+ flags: "--installed",
75356
+ description: "When used with --list, show installed commands instead"
75357
+ },
75358
+ {
75359
+ flags: "-u, --uninstall",
75360
+ description: "Uninstall command(s) from providers"
75361
+ },
75362
+ {
75363
+ flags: "--sync",
75364
+ description: "Sync registry with filesystem (clean orphaned entries)"
74772
75365
  }
74773
75366
  ]
74774
75367
  },
74775
75368
  {
74776
- title: "Project Options",
75369
+ title: "Installation Options",
74777
75370
  options: [
74778
75371
  {
74779
- flags: "--dir <directory>",
74780
- description: "Target directory for the new project",
74781
- defaultValue: "."
75372
+ flags: "-n, --name <command>",
75373
+ description: "Command name to install or uninstall"
74782
75374
  },
74783
75375
  {
74784
- flags: "--kit <kit>",
74785
- description: "Kit to use (engineer, marketing)"
75376
+ flags: "-a, --agent <provider>",
75377
+ description: "Target provider(s), can be specified multiple times"
74786
75378
  },
74787
75379
  {
74788
- flags: "-r, --release <version>",
74789
- description: "Skip version selection, use specific version (e.g., latest, v1.0.0)"
75380
+ flags: "-g, --global",
75381
+ description: "Install globally instead of project-level"
75382
+ },
75383
+ {
75384
+ flags: "--all",
75385
+ description: "Install to all supported providers"
74790
75386
  },
75387
+ {
75388
+ flags: "-y, --yes",
75389
+ description: "Skip confirmation prompts"
75390
+ }
75391
+ ]
75392
+ },
75393
+ {
75394
+ title: "Uninstall Options",
75395
+ options: [
74791
75396
  {
74792
75397
  flags: "--force",
74793
- description: "Overwrite existing files without confirmation"
75398
+ description: "Force uninstall even if not tracked in registry"
74794
75399
  }
74795
75400
  ]
75401
+ }
75402
+ ]
75403
+ };
75404
+ });
75405
+
75406
+ // src/domains/help/commands/config-command-help.ts
75407
+ var configCommandHelp;
75408
+ var init_config_command_help = __esm(() => {
75409
+ configCommandHelp = {
75410
+ name: "config",
75411
+ description: "Manage ClaudeKit configuration and launch the config dashboard",
75412
+ usage: "ck config [action] [key] [value] [options]",
75413
+ examples: [
75414
+ {
75415
+ command: "ck config",
75416
+ description: "Launch the web dashboard (same as 'ck config ui')"
74796
75417
  },
74797
- filterOptionsGroup,
74798
75418
  {
74799
- title: "Installation Options",
75419
+ command: "ck config --host 0.0.0.0 --no-open",
75420
+ description: "Expose the dashboard to your network intentionally"
75421
+ },
75422
+ {
75423
+ command: "ck config set defaults.kit engineer",
75424
+ description: "Set a config value from the CLI"
75425
+ }
75426
+ ],
75427
+ optionGroups: [
75428
+ {
75429
+ title: "Actions",
74800
75430
  options: [
74801
75431
  {
74802
- flags: "--opencode",
74803
- description: "Install OpenCode CLI package (non-interactive mode)"
75432
+ flags: "ui",
75433
+ description: "Launch config dashboard (default action when omitted)"
74804
75434
  },
74805
75435
  {
74806
- flags: "--gemini",
74807
- description: "Install Google Gemini CLI package (non-interactive mode)"
75436
+ flags: "get <key>",
75437
+ description: "Read a config value"
74808
75438
  },
74809
75439
  {
74810
- flags: "--install-skills",
74811
- description: "Install skills dependencies (non-interactive mode)"
75440
+ flags: "set <key> <value>",
75441
+ description: "Write a config value"
74812
75442
  },
74813
75443
  {
74814
- flags: "--with-sudo",
74815
- description: "Include system packages requiring sudo (Linux: ffmpeg, imagemagick)"
75444
+ flags: "show",
75445
+ description: "Print merged config"
75446
+ }
75447
+ ]
75448
+ },
75449
+ {
75450
+ title: "Scope Options",
75451
+ options: [
75452
+ {
75453
+ flags: "-g, --global",
75454
+ description: "Use global config (~/.claudekit/config.json)"
74816
75455
  },
74817
75456
  {
74818
- flags: "--prefix",
74819
- description: "Add /ck: prefix to all slash commands"
75457
+ flags: "-l, --local",
75458
+ description: "Use local config (.claude/.ck.json)"
74820
75459
  }
74821
75460
  ]
74822
75461
  },
74823
- folderOptionsGroup
75462
+ {
75463
+ title: "Dashboard Options",
75464
+ options: [
75465
+ {
75466
+ flags: "--port <port>",
75467
+ description: "Port for dashboard server"
75468
+ },
75469
+ {
75470
+ flags: "--host <host>",
75471
+ description: "Bind dashboard host (default: 127.0.0.1)"
75472
+ },
75473
+ {
75474
+ flags: "--no-open",
75475
+ description: "Do not auto-open browser when launching dashboard"
75476
+ },
75477
+ {
75478
+ flags: "--dev",
75479
+ description: "Run dashboard in development mode with HMR"
75480
+ }
75481
+ ]
75482
+ },
75483
+ {
75484
+ title: "Output Options",
75485
+ options: [
75486
+ {
75487
+ flags: "--json",
75488
+ description: "Output machine-readable JSON for CLI actions"
75489
+ }
75490
+ ]
75491
+ }
75492
+ ],
75493
+ subcommands: [
75494
+ {
75495
+ name: "ui",
75496
+ description: "Launch config dashboard (default action when omitted)",
75497
+ usage: "ck config ui [--port <port>] [--host <host>] [--no-open] [--dev]",
75498
+ examples: [],
75499
+ optionGroups: []
75500
+ },
75501
+ {
75502
+ name: "get",
75503
+ description: "Read a config value",
75504
+ usage: "ck config get <key> [-g | -l] [--json]",
75505
+ examples: [],
75506
+ optionGroups: []
75507
+ },
75508
+ {
75509
+ name: "set",
75510
+ description: "Write a config value",
75511
+ usage: "ck config set <key> <value> [-g | -l]",
75512
+ examples: [],
75513
+ optionGroups: []
75514
+ },
75515
+ {
75516
+ name: "show",
75517
+ description: "Print merged config",
75518
+ usage: "ck config show [-g | -l] [--json]",
75519
+ examples: [],
75520
+ optionGroups: []
75521
+ }
75522
+ ],
75523
+ sections: [
75524
+ {
75525
+ title: "Notes",
75526
+ content: "Run 'ck config --help' to see both CLI actions and dashboard flags. Running bare 'ck config' opens the dashboard directly. Use '--host' to expose the dashboard intentionally beyond localhost."
75527
+ }
74824
75528
  ]
74825
75529
  };
74826
75530
  });
74827
75531
 
74828
- // src/domains/help/commands/backups-command-help.ts
74829
- var backupsCommandHelp;
74830
- var init_backups_command_help = __esm(() => {
74831
- backupsCommandHelp = {
74832
- name: "backups",
74833
- description: "List, restore, and prune ClaudeKit recovery backups",
74834
- usage: "ck backups <list|restore|prune> [options]",
75532
+ // src/domains/help/commands/content-command-help.ts
75533
+ var contentCommandHelp;
75534
+ var init_content_command_help = __esm(() => {
75535
+ contentCommandHelp = {
75536
+ name: "content",
75537
+ description: "Multi-channel content automation engine",
75538
+ usage: "ck content [action] [id] [options]",
74835
75539
  examples: [
74836
75540
  {
74837
- command: "ck backups list --limit 5",
74838
- description: "Show the newest five recovery backups"
75541
+ command: "ck content start",
75542
+ description: "Start the content daemon (default action)"
74839
75543
  },
74840
75544
  {
74841
- command: "ck backups restore 2026-04-06T21-53-01-706-byrf --yes",
74842
- description: "Restore a specific recovery backup without prompting"
75545
+ command: "ck content setup",
75546
+ description: "Interactive configuration wizard"
75547
+ },
75548
+ {
75549
+ command: "ck content queue",
75550
+ description: "List pending content items for review"
74843
75551
  }
74844
75552
  ],
74845
75553
  optionGroups: [
74846
75554
  {
74847
- title: "Subcommands",
75555
+ title: "Actions",
75556
+ options: [
75557
+ {
75558
+ flags: "start",
75559
+ description: "Start the content daemon (default when no action specified)"
75560
+ },
75561
+ {
75562
+ flags: "stop",
75563
+ description: "Stop the running content daemon"
75564
+ },
75565
+ {
75566
+ flags: "status",
75567
+ description: "Show daemon status and recent activity"
75568
+ },
75569
+ {
75570
+ flags: "logs",
75571
+ description: "View content daemon logs"
75572
+ },
75573
+ {
75574
+ flags: "setup",
75575
+ description: "Interactive configuration wizard"
75576
+ },
75577
+ {
75578
+ flags: "queue",
75579
+ description: "List pending content items"
75580
+ },
75581
+ {
75582
+ flags: "approve <id>",
75583
+ description: "Approve a content item for publishing"
75584
+ },
75585
+ {
75586
+ flags: "reject <id>",
75587
+ description: "Reject a content item"
75588
+ }
75589
+ ]
75590
+ },
75591
+ {
75592
+ title: "Options",
74848
75593
  options: [
74849
75594
  {
74850
- flags: "list [--limit <n>] [--json]",
74851
- description: "List recovery backups under ~/.claudekit/backups/"
75595
+ flags: "--dry-run",
75596
+ description: "Generate content without publishing"
74852
75597
  },
74853
75598
  {
74854
- flags: "restore <id> [--yes] [--json]",
74855
- description: "Restore a specific recovery backup to its original source root"
75599
+ flags: "--verbose",
75600
+ description: "Enable verbose logging"
74856
75601
  },
74857
75602
  {
74858
- flags: "prune [id] [--keep <n> | --all] [--yes] [--json]",
74859
- description: "Delete one, many, or old recovery backups"
75603
+ flags: "--force",
75604
+ description: "Kill existing process and start fresh"
75605
+ },
75606
+ {
75607
+ flags: "--tail",
75608
+ description: "Follow log output in real-time (for logs action)"
75609
+ },
75610
+ {
75611
+ flags: "--reason <reason>",
75612
+ description: "Rejection reason (for reject action)"
74860
75613
  }
74861
75614
  ]
75615
+ }
75616
+ ],
75617
+ subcommands: [
75618
+ {
75619
+ name: "start",
75620
+ description: "Start the content daemon (default when no action specified)",
75621
+ usage: "ck content start",
75622
+ examples: [],
75623
+ optionGroups: []
74862
75624
  },
74863
75625
  {
74864
- title: "Shared Options",
74865
- options: [
74866
- { flags: "--limit <n>", description: "Show only the newest N backups" },
74867
- { flags: "--keep <n>", description: "Keep the newest N backups when pruning" },
74868
- { flags: "--all", description: "Delete all recovery backups" },
74869
- { flags: "-y, --yes", description: "Skip confirmation prompts" },
74870
- { flags: "--json", description: "Output machine-readable JSON" }
74871
- ]
75626
+ name: "stop",
75627
+ description: "Stop the running content daemon",
75628
+ usage: "ck content stop",
75629
+ examples: [],
75630
+ optionGroups: []
75631
+ },
75632
+ {
75633
+ name: "status",
75634
+ description: "Show daemon status and recent activity",
75635
+ usage: "ck content status",
75636
+ examples: [],
75637
+ optionGroups: []
75638
+ },
75639
+ {
75640
+ name: "logs",
75641
+ description: "View content daemon logs",
75642
+ usage: "ck content logs [--tail]",
75643
+ examples: [],
75644
+ optionGroups: []
75645
+ },
75646
+ {
75647
+ name: "setup",
75648
+ description: "Interactive configuration wizard",
75649
+ usage: "ck content setup",
75650
+ examples: [],
75651
+ optionGroups: []
75652
+ },
75653
+ {
75654
+ name: "queue",
75655
+ description: "List pending content items",
75656
+ usage: "ck content queue",
75657
+ examples: [],
75658
+ optionGroups: []
75659
+ },
75660
+ {
75661
+ name: "approve",
75662
+ description: "Approve a content item for publishing",
75663
+ usage: "ck content approve <id>",
75664
+ examples: [],
75665
+ optionGroups: []
75666
+ },
75667
+ {
75668
+ name: "reject",
75669
+ description: "Reject a content item",
75670
+ usage: "ck content reject <id> [--reason <reason>]",
75671
+ examples: [],
75672
+ optionGroups: []
74872
75673
  }
74873
75674
  ],
74874
75675
  sections: [
74875
75676
  {
74876
- title: "Backup Scope",
74877
- content: "These backups contain only the ClaudeKit-managed files targeted by destructive operations, not the full ~/.claude/ directory."
74878
- },
74879
- {
74880
- title: "Automatic Retention",
74881
- content: "ClaudeKit keeps the newest recovery backups automatically and prunes older ones after successful destructive operations."
75677
+ title: "Notes",
75678
+ content: "Requires content config in .ck.json. Run 'ck content setup' for guided configuration. Review mode can be 'auto' or 'manual' (default: manual)."
74882
75679
  }
74883
75680
  ]
74884
75681
  };
74885
75682
  });
74886
75683
 
74887
- // src/domains/help/commands/app-command-help.ts
74888
- var appCommandHelp;
74889
- var init_app_command_help = __esm(() => {
74890
- appCommandHelp = {
74891
- name: "app",
74892
- description: "Launch the ClaudeKit Control Center desktop app",
74893
- usage: "ck app [options]",
75684
+ // src/domains/help/commands/doctor-command-help.ts
75685
+ var doctorCommandHelp;
75686
+ var init_doctor_command_help = __esm(() => {
75687
+ doctorCommandHelp = {
75688
+ name: "doctor",
75689
+ description: "Comprehensive health check for ClaudeKit",
75690
+ usage: "ck doctor [options]",
74894
75691
  examples: [
74895
75692
  {
74896
- command: "ck app",
74897
- description: "Launch the native desktop app, downloading it on first run"
75693
+ command: "ck doctor",
75694
+ description: "Run full health check interactively"
74898
75695
  },
74899
75696
  {
74900
- command: "ck app --web",
74901
- description: "Open the existing web dashboard instead of the desktop app"
75697
+ command: "ck doctor --fix",
75698
+ description: "Auto-fix all fixable issues"
75699
+ },
75700
+ {
75701
+ command: "ck doctor --check-only",
75702
+ description: "CI mode: exit 1 on failures, no prompts"
74902
75703
  }
74903
75704
  ],
74904
75705
  optionGroups: [
74905
75706
  {
74906
- title: "Desktop Actions",
75707
+ title: "Options",
74907
75708
  options: [
74908
75709
  {
74909
- flags: "--web",
74910
- description: "Open the browser dashboard instead of launching the desktop app"
75710
+ flags: "--report",
75711
+ description: "Generate shareable diagnostic report"
74911
75712
  },
74912
75713
  {
74913
- flags: "--update",
74914
- description: "Install a newer desktop build before launch when one is available"
75714
+ flags: "--fix",
75715
+ description: "Auto-fix all fixable issues"
74915
75716
  },
74916
75717
  {
74917
- flags: "--path",
74918
- description: "Print the installed path, or the target install path if absent"
75718
+ flags: "--check-only",
75719
+ description: "CI mode: no prompts, exit 1 on failures"
74919
75720
  },
74920
75721
  {
74921
- flags: "--uninstall",
74922
- description: "Remove the installed desktop app and exit"
75722
+ flags: "--full",
75723
+ description: "Include extended priority checks (slower but more thorough)"
75724
+ },
75725
+ {
75726
+ flags: "--json",
75727
+ description: "Output JSON format"
74923
75728
  }
74924
75729
  ]
74925
75730
  }
74926
- ],
74927
- sections: [
75731
+ ]
75732
+ };
75733
+ });
75734
+
75735
+ // src/domains/help/commands/common-options.ts
75736
+ var filterOptionsGroup, folderOptionsGroup;
75737
+ var init_common_options = __esm(() => {
75738
+ filterOptionsGroup = {
75739
+ title: "Filter Options",
75740
+ options: [
74928
75741
  {
74929
- title: "Notes",
74930
- content: "`ck app` downloads the desktop app build for your platform when needed, then launches it. Use `ck config` when you need web-only dashboard flags such as `--host` or `--port`."
75742
+ flags: "--exclude <pattern>",
75743
+ description: "Exclude files matching glob pattern (can be used multiple times)"
75744
+ },
75745
+ {
75746
+ flags: "--beta",
75747
+ description: "Show beta versions in selection prompt"
75748
+ },
75749
+ {
75750
+ flags: "--refresh",
75751
+ description: "Bypass release cache to fetch latest versions from GitHub"
75752
+ }
75753
+ ]
75754
+ };
75755
+ folderOptionsGroup = {
75756
+ title: "Folder Options",
75757
+ options: [
75758
+ {
75759
+ flags: "--docs-dir <name>",
75760
+ description: "Custom docs folder name to avoid conflicts with existing folders",
75761
+ defaultValue: "docs"
75762
+ },
75763
+ {
75764
+ flags: "--plans-dir <name>",
75765
+ description: "Custom plans folder name to avoid conflicts with existing folders",
75766
+ defaultValue: "plans"
74931
75767
  }
74932
75768
  ]
74933
75769
  };
@@ -74966,6 +75802,14 @@ var init_init_command_help = __esm(() => {
74966
75802
  {
74967
75803
  flags: "--sync",
74968
75804
  description: "Sync config files from upstream with interactive hunk-by-hunk merge"
75805
+ },
75806
+ {
75807
+ flags: "--archive <path>",
75808
+ description: "Use local archive file instead of downloading (zip/tar.gz)"
75809
+ },
75810
+ {
75811
+ flags: "--kit-path <path>",
75812
+ description: "Use local kit directory instead of downloading"
74969
75813
  }
74970
75814
  ]
74971
75815
  },
@@ -75025,414 +75869,243 @@ var init_init_command_help = __esm(() => {
75025
75869
  options: [
75026
75870
  {
75027
75871
  flags: "--install-skills",
75028
- description: "Install skills dependencies (non-interactive mode)"
75029
- },
75030
- {
75031
- flags: "--with-sudo",
75032
- description: "Include system packages requiring sudo (Linux: ffmpeg, imagemagick)"
75033
- },
75034
- {
75035
- flags: "--prefix",
75036
- description: "Add /ck: prefix to all slash commands"
75037
- },
75038
- {
75039
- flags: "--skip-setup",
75040
- description: "Skip interactive configuration wizard"
75041
- },
75042
- {
75043
- flags: "--dry-run",
75044
- description: "Preview changes without applying them (requires --prefix)"
75045
- },
75046
- {
75047
- flags: "--force-overwrite",
75048
- description: "Override ownership protections and delete user-modified files"
75049
- },
75050
- {
75051
- flags: "--force-overwrite-settings",
75052
- description: "Fully replace settings.json instead of selective merge"
75053
- }
75054
- ]
75055
- },
75056
- folderOptionsGroup
75057
- ]
75058
- };
75059
- });
75060
-
75061
- // src/domains/help/commands/doctor-command-help.ts
75062
- var doctorCommandHelp;
75063
- var init_doctor_command_help = __esm(() => {
75064
- doctorCommandHelp = {
75065
- name: "doctor",
75066
- description: "Comprehensive health check for ClaudeKit",
75067
- usage: "ck doctor [options]",
75068
- examples: [
75069
- {
75070
- command: "ck doctor",
75071
- description: "Run full health check interactively"
75072
- },
75073
- {
75074
- command: "ck doctor --fix",
75075
- description: "Auto-fix all fixable issues"
75076
- },
75077
- {
75078
- command: "ck doctor --check-only",
75079
- description: "CI mode: exit 1 on failures, no prompts"
75080
- }
75081
- ],
75082
- optionGroups: [
75083
- {
75084
- title: "Options",
75085
- options: [
75086
- {
75087
- flags: "--report",
75088
- description: "Generate shareable diagnostic report"
75089
- },
75090
- {
75091
- flags: "--fix",
75092
- description: "Auto-fix all fixable issues"
75093
- },
75094
- {
75095
- flags: "--check-only",
75096
- description: "CI mode: no prompts, exit 1 on failures"
75097
- },
75098
- {
75099
- flags: "--full",
75100
- description: "Include extended priority checks (slower but more thorough)"
75101
- },
75102
- {
75103
- flags: "--json",
75104
- description: "Output JSON format"
75105
- }
75106
- ]
75107
- }
75108
- ]
75109
- };
75110
- });
75111
-
75112
- // src/domains/help/commands/uninstall-command-help.ts
75113
- var uninstallCommandHelp;
75114
- var init_uninstall_command_help = __esm(() => {
75115
- uninstallCommandHelp = {
75116
- name: "uninstall",
75117
- description: "Remove ClaudeKit installations (ownership-aware)",
75118
- usage: "ck uninstall [options]",
75119
- examples: [
75120
- {
75121
- command: "ck uninstall --local --yes",
75122
- description: "Remove local installation without confirmation"
75123
- },
75124
- {
75125
- command: "ck uninstall --dry-run",
75126
- description: "Preview what would be removed without deleting"
75127
- }
75128
- ],
75129
- optionGroups: [
75130
- {
75131
- title: "Scope Options",
75132
- options: [
75133
- {
75134
- flags: "-l, --local",
75135
- description: "Uninstall only local installation (current project)"
75872
+ description: "Install skills dependencies (non-interactive mode)"
75136
75873
  },
75137
75874
  {
75138
- flags: "-g, --global",
75139
- description: "Uninstall only global installation (~/.claude/)"
75875
+ flags: "--with-sudo",
75876
+ description: "Include system packages requiring sudo (Linux: ffmpeg, imagemagick)"
75140
75877
  },
75141
75878
  {
75142
- flags: "-A, --all",
75143
- description: "Uninstall from both local and global locations"
75879
+ flags: "--prefix",
75880
+ description: "Add /ck: prefix to all slash commands"
75144
75881
  },
75145
75882
  {
75146
- flags: "-k, --kit <type>",
75147
- description: "Uninstall specific kit only (engineer, marketing)"
75148
- }
75149
- ]
75150
- },
75151
- {
75152
- title: "Safety Options",
75153
- options: [
75883
+ flags: "--skip-setup",
75884
+ description: "Skip interactive configuration wizard"
75885
+ },
75154
75886
  {
75155
75887
  flags: "--dry-run",
75156
- description: "Preview what would be removed without deleting"
75888
+ description: "Preview changes without applying them (requires --prefix)"
75157
75889
  },
75158
75890
  {
75159
75891
  flags: "--force-overwrite",
75160
- description: "Delete even user-modified files (requires confirmation)"
75892
+ description: "Override ownership protections and delete user-modified files"
75161
75893
  },
75162
75894
  {
75163
- flags: "-y, --yes",
75164
- description: "Skip confirmation prompt"
75895
+ flags: "--force-overwrite-settings",
75896
+ description: "Fully replace settings.json instead of selective merge"
75165
75897
  }
75166
75898
  ]
75167
- }
75168
- ],
75169
- sections: [
75170
- {
75171
- title: "Ownership-Aware Uninstall",
75172
- content: "Uninstall preserves user customizations by default. Only CK-installed files that haven't been modified are removed. User-created files and modified files are preserved unless --force-overwrite is used."
75173
- }
75899
+ },
75900
+ folderOptionsGroup
75174
75901
  ]
75175
75902
  };
75176
75903
  });
75177
75904
 
75178
- // src/domains/help/commands/update-command-help.ts
75179
- var updateCommandHelp;
75180
- var init_update_command_help = __esm(() => {
75181
- updateCommandHelp = {
75182
- name: "update",
75183
- description: "Update ClaudeKit CLI tool only (not kit content)",
75184
- usage: "ck update [options]",
75905
+ // src/domains/help/commands/migrate-command-help.ts
75906
+ var migrateCommandHelp;
75907
+ var init_migrate_command_help = __esm(() => {
75908
+ migrateCommandHelp = {
75909
+ name: "migrate",
75910
+ description: "Migrate Claude Code agents, commands, skills, config, rules, and hooks to other providers",
75911
+ usage: "ck migrate [options]",
75185
75912
  examples: [
75186
75913
  {
75187
- command: "ck update --check",
75188
- description: "Check for CLI updates without installing"
75914
+ command: "ck migrate --agent codex --dry-run",
75915
+ description: "Preview the destination-aware migration plan before writing files"
75916
+ },
75917
+ {
75918
+ command: "ck migrate --agent codex -g",
75919
+ description: "Write to Codex global paths such as ~/.codex/ and ~/.agents/skills"
75189
75920
  },
75190
75921
  {
75191
- command: "ck update --beta --yes",
75192
- description: "Update to latest beta version without confirmation"
75922
+ command: "CK_FORCE_ASCII=1 ck migrate --agent codex",
75923
+ description: "Force ASCII borders on legacy Windows terminals (cmd.exe, older PowerShell)"
75193
75924
  }
75194
75925
  ],
75195
75926
  optionGroups: [
75196
75927
  {
75197
- title: "Update Options",
75928
+ title: "Target Options",
75198
75929
  options: [
75199
75930
  {
75200
- flags: "-r, --release <version>",
75201
- description: "Update to a specific version"
75931
+ flags: "-a, --agent <provider>",
75932
+ description: "Target provider(s), can be specified multiple times"
75202
75933
  },
75203
75934
  {
75204
- flags: "--check",
75205
- description: "Check for updates without installing"
75935
+ flags: "--all",
75936
+ description: "Migrate to all supported providers"
75937
+ },
75938
+ {
75939
+ flags: "-g, --global",
75940
+ description: "Install globally instead of the default project-level scope"
75206
75941
  },
75207
75942
  {
75208
75943
  flags: "-y, --yes",
75209
- description: "Skip all confirmation prompts (CLI and kit content update)"
75944
+ description: "Skip confirmation prompts after the pre-flight summary"
75210
75945
  },
75211
75946
  {
75212
- flags: "--beta",
75213
- description: "Update to the latest beta version"
75947
+ flags: "-f, --force",
75948
+ description: "Force reinstall deleted or edited managed items"
75214
75949
  },
75215
75950
  {
75216
- flags: "--registry <url>",
75217
- description: "Custom npm registry URL"
75951
+ flags: "--dry-run",
75952
+ description: "Preview plan, destinations, and next steps without writing files"
75218
75953
  }
75219
75954
  ]
75220
75955
  },
75221
75956
  {
75222
- title: "Deprecated Options",
75957
+ title: "Content Selection",
75223
75958
  options: [
75224
75959
  {
75225
- flags: "--kit <kit>",
75226
- description: "This option is no longer supported with 'ck update'",
75227
- deprecated: {
75228
- message: "Use 'ck init --kit <kit>' to update kit installations",
75229
- alternative: "ck init --kit <kit>"
75230
- }
75960
+ flags: "--config",
75961
+ description: "Migrate CLAUDE.md config only"
75231
75962
  },
75232
75963
  {
75233
- flags: "-g, --global",
75234
- description: "This option is no longer supported with 'ck update'",
75235
- deprecated: {
75236
- message: "Use 'ck init --global' to update global kit",
75237
- alternative: "ck init --global"
75238
- }
75964
+ flags: "--rules",
75965
+ description: "Migrate .claude/rules only"
75966
+ },
75967
+ {
75968
+ flags: "--hooks",
75969
+ description: "Migrate .claude/hooks only"
75970
+ },
75971
+ {
75972
+ flags: "--skip-config",
75973
+ description: "Skip config migration"
75974
+ },
75975
+ {
75976
+ flags: "--skip-rules",
75977
+ description: "Skip rules migration"
75978
+ },
75979
+ {
75980
+ flags: "--skip-hooks",
75981
+ description: "Skip hooks migration"
75982
+ },
75983
+ {
75984
+ flags: "--source <path>",
75985
+ description: "Custom CLAUDE.md source path"
75239
75986
  }
75240
75987
  ]
75241
75988
  }
75242
- ],
75243
- sections: [
75244
- {
75245
- title: "Note",
75246
- content: "'ck update' updates the CLI tool only and defaults to the latest stable release. Use '--beta' to opt into prerelease CLI builds. To update kit content (skills, commands, rules), use 'ck init' for local or 'ck init -g' for global. Use --yes to skip all prompts (both CLI and kit content update) for non-interactive/CI usage."
75247
- }
75248
75989
  ]
75249
75990
  };
75250
75991
  });
75251
75992
 
75252
- // src/domains/help/commands/versions-command-help.ts
75253
- var versionsCommandHelp;
75254
- var init_versions_command_help = __esm(() => {
75255
- versionsCommandHelp = {
75256
- name: "versions",
75257
- description: "List available versions of ClaudeKit repositories",
75258
- usage: "ck versions [options]",
75993
+ // src/domains/help/commands/new-command-help.ts
75994
+ var newCommandHelp;
75995
+ var init_new_command_help = __esm(() => {
75996
+ init_common_options();
75997
+ newCommandHelp = {
75998
+ name: "new",
75999
+ description: "Bootstrap a new ClaudeKit project (with interactive version selection)",
76000
+ usage: "ck new [options]",
75259
76001
  examples: [
75260
76002
  {
75261
- command: "ck versions --kit engineer --limit 10",
75262
- description: "Show latest 10 versions of engineer kit"
76003
+ command: "ck new --kit engineer --dir ./my-project",
76004
+ description: "Create engineer kit project in specific directory"
75263
76005
  },
75264
76006
  {
75265
- command: "ck versions --all",
75266
- description: "Show all releases including prereleases"
76007
+ command: "ck new -y --use-git --release v2.1.0",
76008
+ description: "Non-interactive with git clone (no GitHub API needed)"
75267
76009
  }
75268
76010
  ],
75269
76011
  optionGroups: [
75270
76012
  {
75271
- title: "Filter Options",
76013
+ title: "Mode Options",
75272
76014
  options: [
75273
76015
  {
75274
- flags: "--kit <kit>",
75275
- description: "Filter by specific kit (engineer, marketing)"
76016
+ flags: "-y, --yes",
76017
+ description: "Non-interactive mode (skip all prompts)"
75276
76018
  },
75277
76019
  {
75278
- flags: "--limit <number>",
75279
- description: "Number of releases to show",
75280
- defaultValue: "30"
76020
+ flags: "--use-git",
76021
+ description: "Use git clone instead of GitHub API (uses SSH/HTTPS credentials)"
75281
76022
  },
75282
76023
  {
75283
- flags: "--all",
75284
- description: "Show all releases including prereleases"
76024
+ flags: "--archive <path>",
76025
+ description: "Use local archive file instead of downloading (zip/tar.gz)"
76026
+ },
76027
+ {
76028
+ flags: "--kit-path <path>",
76029
+ description: "Use local kit directory instead of downloading"
75285
76030
  }
75286
76031
  ]
75287
- }
75288
- ]
75289
- };
75290
- });
75291
-
75292
- // src/domains/help/commands/skills-command-help.ts
75293
- var skillsCommandHelp;
75294
- var init_skills_command_help = __esm(() => {
75295
- skillsCommandHelp = {
75296
- name: "skills",
75297
- description: "Install, uninstall, and manage ClaudeKit skills across coding agents",
75298
- usage: "ck skills [options]",
75299
- examples: [
75300
- {
75301
- command: "ck skills --name frontend-design --agent claude-code -g",
75302
- description: "Install skill to Claude Code globally"
75303
76032
  },
75304
76033
  {
75305
- command: "ck skills --list --installed",
75306
- description: "Show all installed skills with their locations"
75307
- }
75308
- ],
75309
- optionGroups: [
75310
- {
75311
- title: "Mode Options",
76034
+ title: "Project Options",
75312
76035
  options: [
75313
76036
  {
75314
- flags: "-l, --list",
75315
- description: "List available skills from ClaudeKit source"
76037
+ flags: "--dir <directory>",
76038
+ description: "Target directory for the new project",
76039
+ defaultValue: "."
75316
76040
  },
75317
76041
  {
75318
- flags: "--installed",
75319
- description: "When used with --list, show installed skills instead"
76042
+ flags: "--kit <kit>",
76043
+ description: "Kit to use (engineer, marketing)"
75320
76044
  },
75321
76045
  {
75322
- flags: "-u, --uninstall",
75323
- description: "Uninstall skill(s) from agent(s)"
76046
+ flags: "-r, --release <version>",
76047
+ description: "Skip version selection, use specific version (e.g., latest, v1.0.0)"
75324
76048
  },
75325
76049
  {
75326
- flags: "--sync",
75327
- description: "Sync registry with filesystem (clean orphaned entries)"
76050
+ flags: "--force",
76051
+ description: "Overwrite existing files without confirmation"
75328
76052
  }
75329
76053
  ]
75330
76054
  },
76055
+ filterOptionsGroup,
75331
76056
  {
75332
76057
  title: "Installation Options",
75333
76058
  options: [
75334
76059
  {
75335
- flags: "-n, --name <skill>",
75336
- description: "Skill name to install or uninstall"
76060
+ flags: "--opencode",
76061
+ description: "Install OpenCode CLI package (non-interactive mode)"
75337
76062
  },
75338
76063
  {
75339
- flags: "-a, --agent <agent>",
75340
- description: "Target agent(s) - can be specified multiple times. Valid: claude-code, cursor, codex, opencode, goose, gemini-cli, antigravity, github-copilot, amp, kilo, roo, windsurf, cline, openhands"
76064
+ flags: "--gemini",
76065
+ description: "Install Google Gemini CLI package (non-interactive mode)"
75341
76066
  },
75342
76067
  {
75343
- flags: "-g, --global",
75344
- description: "Install to user's home directory (available across projects)"
76068
+ flags: "--install-skills",
76069
+ description: "Install skills dependencies (non-interactive mode)"
75345
76070
  },
75346
76071
  {
75347
- flags: "--all",
75348
- description: "Install to all supported agents"
76072
+ flags: "--with-sudo",
76073
+ description: "Include system packages requiring sudo (Linux: ffmpeg, imagemagick)"
75349
76074
  },
75350
76075
  {
75351
- flags: "-y, --yes",
75352
- description: "Non-interactive mode (skip confirmations)"
75353
- }
75354
- ]
75355
- },
75356
- {
75357
- title: "Uninstall Options",
75358
- options: [
75359
- {
75360
- flags: "-f, --force",
75361
- description: "Force uninstall even if skill not in registry (requires --agent)"
76076
+ flags: "--prefix",
76077
+ description: "Add /ck: prefix to all slash commands"
75362
76078
  }
75363
76079
  ]
75364
- }
75365
- ],
75366
- sections: [
75367
- {
75368
- title: "Supported Agents",
75369
- content: ` claude-code Claude Code CLI
75370
- cursor Cursor IDE
75371
- codex Codex CLI
75372
- opencode OpenCode
75373
- goose Goose AI
75374
- gemini-cli Gemini CLI
75375
- antigravity Antigravity Agent
75376
- github-copilot GitHub Copilot
75377
- amp Amp
75378
- kilo Kilo Code
75379
- roo Roo Code
75380
- windsurf Windsurf IDE
75381
- cline Cline
75382
- openhands OpenHands`
75383
76080
  },
75384
- {
75385
- title: "Notes",
75386
- content: ` • Skills are installed from ~/.claude/skills (ClaudeKit Engineer source)
75387
- • OpenCode reuses Claude-compatible skill roots (.claude/skills, ~/.claude/skills), so installs may be a no-op
75388
- • Registry stored at ~/.claudekit/skill-registry.json
75389
- • Target paths vary by agent; some agents intentionally share a common skills directory`
75390
- }
76081
+ folderOptionsGroup
75391
76082
  ]
75392
76083
  };
75393
76084
  });
75394
76085
 
75395
- // src/domains/help/commands/config-command-help.ts
75396
- var configCommandHelp;
75397
- var init_config_command_help = __esm(() => {
75398
- configCommandHelp = {
75399
- name: "config",
75400
- description: "Manage ClaudeKit configuration and launch the config dashboard",
75401
- usage: "ck config [action] [key] [value] [options]",
76086
+ // src/domains/help/commands/plan-command-help.ts
76087
+ var planCommandHelp;
76088
+ var init_plan_command_help = __esm(() => {
76089
+ planCommandHelp = {
76090
+ name: "plan",
76091
+ description: "Plan management: parse, validate, status, kanban, create, check, uncheck, add-phase",
76092
+ usage: "ck plan [action] [target] [options]",
75402
76093
  examples: [
75403
76094
  {
75404
- command: "ck config",
75405
- description: "Launch the web dashboard (same as 'ck config ui')"
75406
- },
75407
- {
75408
- command: "ck config --host 0.0.0.0 --no-open",
75409
- description: "Expose the dashboard to your network intentionally"
76095
+ command: "ck plan status",
76096
+ description: "Show progress summary for all plans in the current project"
75410
76097
  },
75411
76098
  {
75412
- command: "ck config set defaults.kit engineer",
75413
- description: "Set a config value from the CLI"
76099
+ command: "ck plan create --title 'Auth feature' --phases setup,api,ui",
76100
+ description: "Scaffold a new plan directory with three phases"
75414
76101
  }
75415
76102
  ],
75416
76103
  optionGroups: [
75417
76104
  {
75418
- title: "Actions",
76105
+ title: "Output Options",
75419
76106
  options: [
75420
- {
75421
- flags: "ui",
75422
- description: "Launch config dashboard (default action when omitted)"
75423
- },
75424
- {
75425
- flags: "get <key>",
75426
- description: "Read a config value"
75427
- },
75428
- {
75429
- flags: "set <key> <value>",
75430
- description: "Write a config value"
75431
- },
75432
- {
75433
- flags: "show",
75434
- description: "Print merged config"
75435
- }
76107
+ { flags: "--json", description: "Output in JSON format" },
76108
+ { flags: "--strict", description: "Strict validation mode (validate action)" }
75436
76109
  ]
75437
76110
  },
75438
76111
  {
@@ -75440,49 +76113,147 @@ var init_config_command_help = __esm(() => {
75440
76113
  options: [
75441
76114
  {
75442
76115
  flags: "-g, --global",
75443
- description: "Use global config (~/.claudekit/config.json)"
75444
- },
76116
+ description: "Use global plans scope (~/.claude/plans or configured global root)"
76117
+ }
76118
+ ]
76119
+ }
76120
+ ],
76121
+ subcommands: [
76122
+ {
76123
+ name: "parse",
76124
+ description: "Parse a plan.md and output an ASCII table or JSON of all phases",
76125
+ usage: "ck plan parse [target] [--json]",
76126
+ examples: [],
76127
+ optionGroups: [
75445
76128
  {
75446
- flags: "-l, --local",
75447
- description: "Use local config (.claude/.ck.json)"
76129
+ title: "Output Options",
76130
+ options: [{ flags: "--json", description: "Output machine-readable JSON" }]
75448
76131
  }
75449
76132
  ]
75450
76133
  },
75451
76134
  {
75452
- title: "Dashboard Options",
75453
- options: [
76135
+ name: "validate",
76136
+ description: "Validate plan.md syntax and structure",
76137
+ usage: "ck plan validate [target] [--strict] [--json]",
76138
+ examples: [],
76139
+ optionGroups: [
75454
76140
  {
75455
- flags: "--port <port>",
75456
- description: "Port for dashboard server"
75457
- },
76141
+ title: "Validation Options",
76142
+ options: [
76143
+ { flags: "--strict", description: "Fail on warnings in addition to errors" },
76144
+ { flags: "--json", description: "Output results as JSON" }
76145
+ ]
76146
+ }
76147
+ ]
76148
+ },
76149
+ {
76150
+ name: "status",
76151
+ description: "Show progress for plans in scope",
76152
+ usage: "ck plan status [--json] [-g]",
76153
+ examples: [],
76154
+ optionGroups: [
75458
76155
  {
75459
- flags: "--host <host>",
75460
- description: "Bind dashboard host (default: 127.0.0.1)"
76156
+ title: "Output Options",
76157
+ options: [{ flags: "--json", description: "Output in JSON format" }]
75461
76158
  },
75462
76159
  {
75463
- flags: "--no-open",
75464
- description: "Do not auto-open browser when launching dashboard"
76160
+ title: "Scope Options",
76161
+ options: [{ flags: "-g, --global", description: "Show status for global plans scope" }]
76162
+ }
76163
+ ]
76164
+ },
76165
+ {
76166
+ name: "kanban",
76167
+ description: "Launch interactive Kanban dashboard in the browser",
76168
+ usage: "ck plan kanban [--port <port>] [--no-open] [--dev]",
76169
+ examples: [],
76170
+ optionGroups: [
76171
+ {
76172
+ title: "Dashboard Options",
76173
+ options: [
76174
+ { flags: "--port <port>", description: "Port to serve the Kanban dashboard on" },
76175
+ { flags: "--no-open", description: "Do not auto-open the browser" },
76176
+ { flags: "--dev", description: "Start dashboard in development mode" }
76177
+ ]
76178
+ }
76179
+ ]
76180
+ },
76181
+ {
76182
+ name: "create",
76183
+ description: "Scaffold a new plan directory with phase files",
76184
+ usage: "ck plan create [--title <title>] [--phases <phases>] [options]",
76185
+ examples: [],
76186
+ optionGroups: [
76187
+ {
76188
+ title: "Create Options",
76189
+ options: [
76190
+ { flags: "--title <title>", description: "Plan title" },
76191
+ {
76192
+ flags: "--phases <phases>",
76193
+ description: "Comma-separated list of phase names"
76194
+ },
76195
+ { flags: "--dir <dir>", description: "Plan output directory" },
76196
+ {
76197
+ flags: "--priority <priority>",
76198
+ description: "Priority level: P1, P2, or P3"
76199
+ },
76200
+ { flags: "--issue <issue>", description: "GitHub issue number to link" },
76201
+ {
76202
+ flags: "--source <source>",
76203
+ description: "Creation source: skill | cli | dashboard"
76204
+ },
76205
+ {
76206
+ flags: "--session-id <id>",
76207
+ description: "Claude session ID for tracking"
76208
+ }
76209
+ ]
75465
76210
  },
75466
76211
  {
75467
- flags: "--dev",
75468
- description: "Run dashboard in development mode with HMR"
76212
+ title: "Scope Options",
76213
+ options: [{ flags: "-g, --global", description: "Create plan in global plans scope" }]
75469
76214
  }
75470
76215
  ]
75471
76216
  },
75472
76217
  {
75473
- title: "Output Options",
75474
- options: [
76218
+ name: "check",
76219
+ description: "Mark a phase as completed (or in-progress with --start)",
76220
+ usage: "ck plan check <id> [--start]",
76221
+ examples: [],
76222
+ optionGroups: [
75475
76223
  {
75476
- flags: "--json",
75477
- description: "Output machine-readable JSON for CLI actions"
76224
+ title: "Check Options",
76225
+ options: [
76226
+ {
76227
+ flags: "--start",
76228
+ description: "Mark phase as in-progress instead of completed"
76229
+ }
76230
+ ]
75478
76231
  }
75479
76232
  ]
75480
- }
75481
- ],
75482
- sections: [
76233
+ },
75483
76234
  {
75484
- title: "Notes",
75485
- content: "Run 'ck config --help' to see both CLI actions and dashboard flags. Running bare 'ck config' opens the dashboard directly. Use '--host' to expose the dashboard intentionally beyond localhost."
76235
+ name: "uncheck",
76236
+ description: "Reset a phase back to pending status",
76237
+ usage: "ck plan uncheck <id>",
76238
+ examples: [],
76239
+ optionGroups: []
76240
+ },
76241
+ {
76242
+ name: "add-phase",
76243
+ description: "Append a new phase to an existing plan",
76244
+ usage: "ck plan add-phase [target] [--after <id>]",
76245
+ examples: [],
76246
+ optionGroups: [
76247
+ {
76248
+ title: "Phase Options",
76249
+ options: [
76250
+ {
76251
+ flags: "--after <after>",
76252
+ description: "Insert the new phase after this phase ID"
76253
+ }
76254
+ ]
76255
+ }
76256
+ ]
75486
76257
  }
75487
76258
  ]
75488
76259
  };
@@ -75543,6 +76314,10 @@ var init_projects_command_help = __esm(() => {
75543
76314
  flags: "--alias <alias>",
75544
76315
  description: "Custom alias for project (add)"
75545
76316
  },
76317
+ {
76318
+ flags: "--pinned",
76319
+ description: "Pin this project (add)"
76320
+ },
75546
76321
  {
75547
76322
  flags: "--tags <tags>",
75548
76323
  description: "Comma-separated tags (add)"
@@ -75553,6 +76328,31 @@ var init_projects_command_help = __esm(() => {
75553
76328
  }
75554
76329
  ]
75555
76330
  }
76331
+ ],
76332
+ subcommands: [
76333
+ {
76334
+ name: "list",
76335
+ description: "List projects in registry",
76336
+ usage: "ck projects list [--json] [--pinned]",
76337
+ examples: [],
76338
+ optionGroups: [],
76339
+ aliases: ["ls"]
76340
+ },
76341
+ {
76342
+ name: "add",
76343
+ description: "Add project path to registry",
76344
+ usage: "ck projects add <path> [--alias <alias>] [--pinned] [--tags <tags>]",
76345
+ examples: [],
76346
+ optionGroups: []
76347
+ },
76348
+ {
76349
+ name: "remove",
76350
+ description: "Remove project by alias or ID",
76351
+ usage: "ck projects remove [alias] [--id <id>]",
76352
+ examples: [],
76353
+ optionGroups: [],
76354
+ aliases: ["rm"]
76355
+ }
75556
76356
  ]
75557
76357
  };
75558
76358
  });
@@ -75601,21 +76401,21 @@ var init_setup_command_help = __esm(() => {
75601
76401
  };
75602
76402
  });
75603
76403
 
75604
- // src/domains/help/commands/agents-command-help.ts
75605
- var agentsCommandHelp;
75606
- var init_agents_command_help = __esm(() => {
75607
- agentsCommandHelp = {
75608
- name: "agents",
75609
- description: "Install, uninstall, and manage Claude Code agents across providers",
75610
- usage: "ck agents [options]",
76404
+ // src/domains/help/commands/skills-command-help.ts
76405
+ var skillsCommandHelp;
76406
+ var init_skills_command_help = __esm(() => {
76407
+ skillsCommandHelp = {
76408
+ name: "skills",
76409
+ description: "Install, uninstall, and manage ClaudeKit skills across coding agents",
76410
+ usage: "ck skills [options]",
75611
76411
  examples: [
75612
76412
  {
75613
- command: "ck agents --name maintainer --agent codex",
75614
- description: "Install one agent to Codex"
76413
+ command: "ck skills --name frontend-design --agent claude-code -g",
76414
+ description: "Install skill to Claude Code globally"
75615
76415
  },
75616
76416
  {
75617
- command: "ck agents --list --installed",
75618
- description: "Show installed agents and locations"
76417
+ command: "ck skills --list --installed",
76418
+ description: "Show all installed skills with their locations"
75619
76419
  }
75620
76420
  ],
75621
76421
  optionGroups: [
@@ -75624,15 +76424,15 @@ var init_agents_command_help = __esm(() => {
75624
76424
  options: [
75625
76425
  {
75626
76426
  flags: "-l, --list",
75627
- description: "List available agents from source"
76427
+ description: "List available skills from ClaudeKit source"
75628
76428
  },
75629
76429
  {
75630
76430
  flags: "--installed",
75631
- description: "When used with --list, show installed agents instead"
76431
+ description: "When used with --list, show installed skills instead"
75632
76432
  },
75633
76433
  {
75634
76434
  flags: "-u, --uninstall",
75635
- description: "Uninstall agent(s) from providers"
76435
+ description: "Uninstall skill(s) from agent(s)"
75636
76436
  },
75637
76437
  {
75638
76438
  flags: "--sync",
@@ -75644,101 +76444,53 @@ var init_agents_command_help = __esm(() => {
75644
76444
  title: "Installation Options",
75645
76445
  options: [
75646
76446
  {
75647
- flags: "-n, --name <agent>",
75648
- description: "Agent name to install or uninstall"
76447
+ flags: "-n, --name <skill>",
76448
+ description: "Skill name to install or uninstall"
75649
76449
  },
75650
76450
  {
75651
- flags: "-a, --agent <provider>",
75652
- description: "Target provider(s), can be specified multiple times"
76451
+ flags: "-a, --agent <agent>",
76452
+ description: "Target agent(s) - can be specified multiple times. Valid: claude-code, cursor, codex, opencode, goose, gemini-cli, antigravity, github-copilot, amp, kilo, roo, windsurf, cline, openhands"
75653
76453
  },
75654
76454
  {
75655
76455
  flags: "-g, --global",
75656
- description: "Install globally instead of project-level"
76456
+ description: "Install to user's home directory (available across projects)"
75657
76457
  },
75658
76458
  {
75659
76459
  flags: "--all",
75660
- description: "Install to all supported providers"
76460
+ description: "Install to all supported agents"
75661
76461
  },
75662
76462
  {
75663
76463
  flags: "-y, --yes",
75664
- description: "Skip confirmation prompts"
75665
- }
75666
- ]
75667
- },
75668
- {
75669
- title: "Uninstall Options",
75670
- options: [
75671
- {
75672
- flags: "--force",
75673
- description: "Force uninstall even if not tracked in registry"
76464
+ description: "Non-interactive mode (skip confirmations)"
75674
76465
  }
75675
76466
  ]
75676
- }
75677
- ]
75678
- };
75679
- });
75680
-
75681
- // src/domains/help/commands/commands-command-help.ts
75682
- var commandsCommandHelp;
75683
- var init_commands_command_help = __esm(() => {
75684
- commandsCommandHelp = {
75685
- name: "commands",
75686
- description: "Install, uninstall, and manage Claude commands across providers",
75687
- usage: "ck commands [options]",
75688
- examples: [
75689
- {
75690
- command: "ck commands --name plan --agent codex",
75691
- description: "Install one slash command to Codex"
75692
76467
  },
75693
76468
  {
75694
- command: "ck commands --list",
75695
- description: "List available commands from source"
75696
- }
75697
- ],
75698
- optionGroups: [
75699
- {
75700
- title: "Mode Options",
76469
+ title: "Catalog Options",
75701
76470
  options: [
75702
76471
  {
75703
- flags: "-l, --list",
75704
- description: "List available commands from source"
75705
- },
75706
- {
75707
- flags: "--installed",
75708
- description: "When used with --list, show installed commands instead"
75709
- },
75710
- {
75711
- flags: "-u, --uninstall",
75712
- description: "Uninstall command(s) from providers"
76472
+ flags: "--catalog",
76473
+ description: "Show skill catalog stats and metadata"
75713
76474
  },
75714
76475
  {
75715
- flags: "--sync",
75716
- description: "Sync registry with filesystem (clean orphaned entries)"
75717
- }
75718
- ]
75719
- },
75720
- {
75721
- title: "Installation Options",
75722
- options: [
75723
- {
75724
- flags: "-n, --name <command>",
75725
- description: "Command name to install or uninstall"
76476
+ flags: "--regenerate",
76477
+ description: "Force regenerate catalog (use with --catalog)"
75726
76478
  },
75727
76479
  {
75728
- flags: "-a, --agent <provider>",
75729
- description: "Target provider(s), can be specified multiple times"
76480
+ flags: "--search <query>",
76481
+ description: "BM25 full-text search over skill catalog"
75730
76482
  },
75731
76483
  {
75732
- flags: "-g, --global",
75733
- description: "Install globally instead of project-level"
76484
+ flags: "--json",
76485
+ description: "Output search results as JSON (use with --search)"
75734
76486
  },
75735
76487
  {
75736
- flags: "--all",
75737
- description: "Install to all supported providers"
76488
+ flags: "--limit <n>",
76489
+ description: "Max search results, default 10 (use with --search)"
75738
76490
  },
75739
76491
  {
75740
- flags: "-y, --yes",
75741
- description: "Skip confirmation prompts"
76492
+ flags: "--validate",
76493
+ description: "Validate SKILL.md frontmatter fields"
75742
76494
  }
75743
76495
  ]
75744
76496
  },
@@ -75746,190 +76498,222 @@ var init_commands_command_help = __esm(() => {
75746
76498
  title: "Uninstall Options",
75747
76499
  options: [
75748
76500
  {
75749
- flags: "--force",
75750
- description: "Force uninstall even if not tracked in registry"
76501
+ flags: "-f, --force",
76502
+ description: "Force uninstall even if skill not in registry (requires --agent)"
75751
76503
  }
75752
76504
  ]
75753
76505
  }
76506
+ ],
76507
+ sections: [
76508
+ {
76509
+ title: "Supported Agents",
76510
+ content: ` claude-code Claude Code CLI
76511
+ cursor Cursor IDE
76512
+ codex Codex CLI
76513
+ opencode OpenCode
76514
+ goose Goose AI
76515
+ gemini-cli Gemini CLI
76516
+ antigravity Antigravity Agent
76517
+ github-copilot GitHub Copilot
76518
+ amp Amp
76519
+ kilo Kilo Code
76520
+ roo Roo Code
76521
+ windsurf Windsurf IDE
76522
+ cline Cline
76523
+ openhands OpenHands`
76524
+ },
76525
+ {
76526
+ title: "Notes",
76527
+ content: ` • Skills are installed from ~/.claude/skills (ClaudeKit Engineer source)
76528
+ • OpenCode reuses Claude-compatible skill roots (.claude/skills, ~/.claude/skills), so installs may be a no-op
76529
+ • Registry stored at ~/.claudekit/skill-registry.json
76530
+ • Target paths vary by agent; some agents intentionally share a common skills directory`
76531
+ }
75754
76532
  ]
75755
76533
  };
75756
76534
  });
75757
76535
 
75758
- // src/domains/help/commands/content-command-help.ts
75759
- var contentCommandHelp;
75760
- var init_content_command_help = __esm(() => {
75761
- contentCommandHelp = {
75762
- name: "content",
75763
- description: "Multi-channel content automation engine",
75764
- usage: "ck content [action] [id] [options]",
76536
+ // src/domains/help/commands/uninstall-command-help.ts
76537
+ var uninstallCommandHelp;
76538
+ var init_uninstall_command_help = __esm(() => {
76539
+ uninstallCommandHelp = {
76540
+ name: "uninstall",
76541
+ description: "Remove ClaudeKit installations (ownership-aware)",
76542
+ usage: "ck uninstall [options]",
75765
76543
  examples: [
75766
76544
  {
75767
- command: "ck content start",
75768
- description: "Start the content daemon (default action)"
75769
- },
75770
- {
75771
- command: "ck content setup",
75772
- description: "Interactive configuration wizard"
76545
+ command: "ck uninstall --local --yes",
76546
+ description: "Remove local installation without confirmation"
75773
76547
  },
75774
76548
  {
75775
- command: "ck content queue",
75776
- description: "List pending content items for review"
76549
+ command: "ck uninstall --dry-run",
76550
+ description: "Preview what would be removed without deleting"
75777
76551
  }
75778
76552
  ],
75779
76553
  optionGroups: [
75780
76554
  {
75781
- title: "Actions",
76555
+ title: "Scope Options",
75782
76556
  options: [
75783
76557
  {
75784
- flags: "start",
75785
- description: "Start the content daemon (default when no action specified)"
75786
- },
75787
- {
75788
- flags: "stop",
75789
- description: "Stop the running content daemon"
75790
- },
75791
- {
75792
- flags: "status",
75793
- description: "Show daemon status and recent activity"
75794
- },
75795
- {
75796
- flags: "logs",
75797
- description: "View content daemon logs"
75798
- },
75799
- {
75800
- flags: "setup",
75801
- description: "Interactive configuration wizard"
76558
+ flags: "-l, --local",
76559
+ description: "Uninstall only local installation (current project)"
75802
76560
  },
75803
76561
  {
75804
- flags: "queue",
75805
- description: "List pending content items"
76562
+ flags: "-g, --global",
76563
+ description: "Uninstall only global installation (~/.claude/)"
75806
76564
  },
75807
76565
  {
75808
- flags: "approve <id>",
75809
- description: "Approve a content item for publishing"
76566
+ flags: "-A, --all",
76567
+ description: "Uninstall from both local and global locations"
75810
76568
  },
75811
76569
  {
75812
- flags: "reject <id>",
75813
- description: "Reject a content item"
76570
+ flags: "-k, --kit <type>",
76571
+ description: "Uninstall specific kit only (engineer, marketing)"
75814
76572
  }
75815
76573
  ]
75816
76574
  },
75817
76575
  {
75818
- title: "Options",
76576
+ title: "Safety Options",
75819
76577
  options: [
75820
76578
  {
75821
76579
  flags: "--dry-run",
75822
- description: "Generate content without publishing"
75823
- },
75824
- {
75825
- flags: "--verbose",
75826
- description: "Enable verbose logging"
75827
- },
75828
- {
75829
- flags: "--force",
75830
- description: "Kill existing process and start fresh"
76580
+ description: "Preview what would be removed without deleting"
75831
76581
  },
75832
76582
  {
75833
- flags: "--tail",
75834
- description: "Follow log output in real-time (for logs action)"
76583
+ flags: "--force-overwrite",
76584
+ description: "Delete even user-modified files (requires confirmation)"
75835
76585
  },
75836
76586
  {
75837
- flags: "--reason <reason>",
75838
- description: "Rejection reason (for reject action)"
76587
+ flags: "-y, --yes",
76588
+ description: "Skip confirmation prompt"
75839
76589
  }
75840
76590
  ]
75841
76591
  }
75842
76592
  ],
75843
76593
  sections: [
75844
76594
  {
75845
- title: "Notes",
75846
- content: "Requires content config in .ck.json. Run 'ck content setup' for guided configuration. Review mode can be 'auto' or 'manual' (default: manual)."
76595
+ title: "Ownership-Aware Uninstall",
76596
+ content: "Uninstall preserves user customizations by default. Only CK-installed files that haven't been modified are removed. User-created files and modified files are preserved unless --force-overwrite is used."
75847
76597
  }
75848
76598
  ]
75849
76599
  };
75850
76600
  });
75851
76601
 
75852
- // src/domains/help/commands/migrate-command-help.ts
75853
- var migrateCommandHelp;
75854
- var init_migrate_command_help = __esm(() => {
75855
- migrateCommandHelp = {
75856
- name: "migrate",
75857
- description: "Migrate Claude Code agents, commands, skills, config, rules, and hooks to other providers",
75858
- usage: "ck migrate [options]",
76602
+ // src/domains/help/commands/update-command-help.ts
76603
+ var updateCommandHelp;
76604
+ var init_update_command_help = __esm(() => {
76605
+ updateCommandHelp = {
76606
+ name: "update",
76607
+ description: "Update ClaudeKit CLI tool only (not kit content)",
76608
+ usage: "ck update [options]",
75859
76609
  examples: [
75860
76610
  {
75861
- command: "ck migrate --agent codex --dry-run",
75862
- description: "Preview the destination-aware migration plan before writing files"
75863
- },
75864
- {
75865
- command: "ck migrate --agent codex -g",
75866
- description: "Write to Codex global paths such as ~/.codex/ and ~/.agents/skills"
76611
+ command: "ck update --check",
76612
+ description: "Check for CLI updates without installing"
75867
76613
  },
75868
76614
  {
75869
- command: "CK_FORCE_ASCII=1 ck migrate --agent codex",
75870
- description: "Force ASCII borders on legacy Windows terminals (cmd.exe, older PowerShell)"
76615
+ command: "ck update --dev --yes",
76616
+ description: "Update to latest dev version without confirmation"
75871
76617
  }
75872
76618
  ],
75873
76619
  optionGroups: [
75874
76620
  {
75875
- title: "Target Options",
76621
+ title: "Update Options",
75876
76622
  options: [
75877
76623
  {
75878
- flags: "-a, --agent <provider>",
75879
- description: "Target provider(s), can be specified multiple times"
75880
- },
75881
- {
75882
- flags: "--all",
75883
- description: "Migrate to all supported providers"
76624
+ flags: "-r, --release <version>",
76625
+ description: "Update to a specific version"
75884
76626
  },
75885
76627
  {
75886
- flags: "-g, --global",
75887
- description: "Install globally instead of the default project-level scope"
76628
+ flags: "--check",
76629
+ description: "Check for updates without installing"
75888
76630
  },
75889
76631
  {
75890
76632
  flags: "-y, --yes",
75891
- description: "Skip confirmation prompts after the pre-flight summary"
76633
+ description: "Skip all confirmation prompts (CLI and kit content update)"
75892
76634
  },
75893
76635
  {
75894
- flags: "-f, --force",
75895
- description: "Force reinstall deleted or edited managed items"
76636
+ flags: "-d, --dev",
76637
+ description: "Update to the latest dev version"
75896
76638
  },
75897
76639
  {
75898
- flags: "--dry-run",
75899
- description: "Preview plan, destinations, and next steps without writing files"
76640
+ flags: "--registry <url>",
76641
+ description: "Custom npm registry URL"
75900
76642
  }
75901
76643
  ]
75902
76644
  },
75903
76645
  {
75904
- title: "Content Selection",
76646
+ title: "Deprecated Options",
75905
76647
  options: [
75906
76648
  {
75907
- flags: "--config",
75908
- description: "Migrate CLAUDE.md config only"
75909
- },
75910
- {
75911
- flags: "--rules",
75912
- description: "Migrate .claude/rules only"
76649
+ flags: "--beta",
76650
+ description: "(deprecated) Alias for --dev; use -d, --dev instead",
76651
+ deprecated: {
76652
+ message: "Use '-d, --dev' to update to the latest dev version",
76653
+ alternative: "-d, --dev"
76654
+ }
75913
76655
  },
75914
76656
  {
75915
- flags: "--hooks",
75916
- description: "Migrate .claude/hooks only"
76657
+ flags: "--kit <kit>",
76658
+ description: "This option is no longer supported with 'ck update'",
76659
+ deprecated: {
76660
+ message: "Use 'ck init --kit <kit>' to update kit installations",
76661
+ alternative: "ck init --kit <kit>"
76662
+ }
75917
76663
  },
75918
76664
  {
75919
- flags: "--skip-config",
75920
- description: "Skip config migration"
75921
- },
76665
+ flags: "-g, --global",
76666
+ description: "This option is no longer supported with 'ck update'",
76667
+ deprecated: {
76668
+ message: "Use 'ck init --global' to update global kit",
76669
+ alternative: "ck init --global"
76670
+ }
76671
+ }
76672
+ ]
76673
+ }
76674
+ ],
76675
+ sections: [
76676
+ {
76677
+ title: "Note",
76678
+ content: "'ck update' updates the CLI tool only and defaults to the latest stable release. Use '--beta' to opt into prerelease CLI builds. To update kit content (skills, commands, rules), use 'ck init' for local or 'ck init -g' for global. Use --yes to skip all prompts (both CLI and kit content update) for non-interactive/CI usage."
76679
+ }
76680
+ ]
76681
+ };
76682
+ });
76683
+
76684
+ // src/domains/help/commands/versions-command-help.ts
76685
+ var versionsCommandHelp;
76686
+ var init_versions_command_help = __esm(() => {
76687
+ versionsCommandHelp = {
76688
+ name: "versions",
76689
+ description: "List available versions of ClaudeKit repositories",
76690
+ usage: "ck versions [options]",
76691
+ examples: [
76692
+ {
76693
+ command: "ck versions --kit engineer --limit 10",
76694
+ description: "Show latest 10 versions of engineer kit"
76695
+ },
76696
+ {
76697
+ command: "ck versions --all",
76698
+ description: "Show all releases including prereleases"
76699
+ }
76700
+ ],
76701
+ optionGroups: [
76702
+ {
76703
+ title: "Filter Options",
76704
+ options: [
75922
76705
  {
75923
- flags: "--skip-rules",
75924
- description: "Skip rules migration"
76706
+ flags: "--kit <kit>",
76707
+ description: "Filter by specific kit (engineer, marketing)"
75925
76708
  },
75926
76709
  {
75927
- flags: "--skip-hooks",
75928
- description: "Skip hooks migration"
76710
+ flags: "--limit <number>",
76711
+ description: "Number of releases to show",
76712
+ defaultValue: "30"
75929
76713
  },
75930
76714
  {
75931
- flags: "--source <path>",
75932
- description: "Custom CLAUDE.md source path"
76715
+ flags: "--all",
76716
+ description: "Show all releases including prereleases"
75933
76717
  }
75934
76718
  ]
75935
76719
  }
@@ -75970,6 +76754,10 @@ var init_watch_command_help = __esm(() => {
75970
76754
  {
75971
76755
  flags: "--force",
75972
76756
  description: "Kill existing watch process and start fresh"
76757
+ },
76758
+ {
76759
+ flags: "--verbose",
76760
+ description: "Enable verbose logging"
75973
76761
  }
75974
76762
  ]
75975
76763
  }
@@ -75979,22 +76767,24 @@ var init_watch_command_help = __esm(() => {
75979
76767
 
75980
76768
  // src/domains/help/commands/index.ts
75981
76769
  var init_commands2 = __esm(() => {
75982
- init_new_command_help();
75983
- init_backups_command_help();
76770
+ init_agents_command_help();
76771
+ init_api_command_help();
75984
76772
  init_app_command_help();
75985
- init_init_command_help();
76773
+ init_backups_command_help();
76774
+ init_commands_command_help();
76775
+ init_config_command_help();
76776
+ init_content_command_help();
75986
76777
  init_doctor_command_help();
76778
+ init_init_command_help();
76779
+ init_migrate_command_help();
76780
+ init_new_command_help();
76781
+ init_plan_command_help();
76782
+ init_projects_command_help();
76783
+ init_setup_command_help();
76784
+ init_skills_command_help();
75987
76785
  init_uninstall_command_help();
75988
76786
  init_update_command_help();
75989
76787
  init_versions_command_help();
75990
- init_skills_command_help();
75991
- init_config_command_help();
75992
- init_projects_command_help();
75993
- init_setup_command_help();
75994
- init_agents_command_help();
75995
- init_commands_command_help();
75996
- init_content_command_help();
75997
- init_migrate_command_help();
75998
76788
  init_watch_command_help();
75999
76789
  init_common_options();
76000
76790
  });
@@ -76008,22 +76798,24 @@ var init_help_commands = __esm(() => {
76008
76798
  init_commands2();
76009
76799
  init_commands2();
76010
76800
  HELP_REGISTRY = {
76011
- new: newCommandHelp,
76801
+ agents: agentsCommandHelp,
76802
+ api: apiCommandHelp,
76012
76803
  app: appCommandHelp,
76013
76804
  backups: backupsCommandHelp,
76014
- init: initCommandHelp,
76805
+ commands: commandsCommandHelp,
76015
76806
  config: configCommandHelp,
76016
76807
  content: contentCommandHelp,
76808
+ doctor: doctorCommandHelp,
76809
+ init: initCommandHelp,
76810
+ migrate: migrateCommandHelp,
76811
+ new: newCommandHelp,
76812
+ plan: planCommandHelp,
76017
76813
  projects: projectsCommandHelp,
76018
76814
  setup: setupCommandHelp,
76815
+ skills: skillsCommandHelp,
76816
+ uninstall: uninstallCommandHelp,
76019
76817
  update: updateCommandHelp,
76020
76818
  versions: versionsCommandHelp,
76021
- doctor: doctorCommandHelp,
76022
- uninstall: uninstallCommandHelp,
76023
- skills: skillsCommandHelp,
76024
- agents: agentsCommandHelp,
76025
- commands: commandsCommandHelp,
76026
- migrate: migrateCommandHelp,
76027
76819
  watch: watchCommandHelp
76028
76820
  };
76029
76821
  });
@@ -76221,10 +77013,23 @@ function renderCommandHeader(help, theme) {
76221
77013
  }
76222
77014
  return parts.join(" ");
76223
77015
  }
76224
- function renderUsage(help, theme) {
77016
+ function renderUsage(help, theme, _parentName) {
76225
77017
  return [theme.heading("Usage:"), ` ${theme.example(help.usage)}`, ""].join(`
76226
77018
  `);
76227
77019
  }
77020
+ function renderSubcommandList(subcommands, theme) {
77021
+ if (subcommands.length === 0)
77022
+ return "";
77023
+ const maxNameWidth = Math.max(...subcommands.map((s) => s.name.length));
77024
+ const lines = [theme.heading("Subcommands:")];
77025
+ for (const sub of subcommands) {
77026
+ const namePart = ` ${padEnd(theme.command(sub.name), maxNameWidth + 4)}`;
77027
+ lines.push(`${namePart}${theme.description(sub.description)}`);
77028
+ }
77029
+ lines.push("");
77030
+ return lines.join(`
77031
+ `);
77032
+ }
76228
77033
  function renderExamples(help, options2) {
76229
77034
  if (!options2.showExamples || help.examples.length === 0)
76230
77035
  return "";
@@ -76299,13 +77104,15 @@ function renderDeprecationWarning(help, theme) {
76299
77104
  function renderHelp(help, context = { globalHelp: false, options: DEFAULT_HELP_OPTIONS }) {
76300
77105
  const options2 = { ...DEFAULT_HELP_OPTIONS, ...context.options };
76301
77106
  const theme = options2.theme;
77107
+ const { parentName } = context;
76302
77108
  const sections = [
76303
77109
  renderBanner(options2),
76304
77110
  renderDeprecationWarning(help, theme),
76305
77111
  renderCommandHeader(help, theme),
76306
77112
  "",
76307
- renderUsage(help, theme),
77113
+ renderUsage(help, theme, parentName),
76308
77114
  renderExamples(help, options2),
77115
+ help.subcommands?.length ? renderSubcommandList(help.subcommands, theme) : "",
76309
77116
  renderOptionGroups(help, theme),
76310
77117
  renderSections(help, theme)
76311
77118
  ];
@@ -76370,7 +77177,8 @@ var init_help_renderer = __esm(() => {
76370
77177
  var exports_help_interceptor = {};
76371
77178
  __export(exports_help_interceptor, {
76372
77179
  isHelpRequested: () => isHelpRequested,
76373
- handleHelp: () => handleHelp
77180
+ handleHelp: () => handleHelp,
77181
+ getCommandChainFromArgv: () => getCommandChainFromArgv
76374
77182
  });
76375
77183
  function getHelpOptions() {
76376
77184
  const isTTY2 = process.stdout.isTTY ?? false;
@@ -76386,30 +77194,45 @@ function getHelpOptions() {
76386
77194
  noColor
76387
77195
  };
76388
77196
  }
76389
- function getCommandFromArgv() {
77197
+ function getCommandChainFromArgv() {
76390
77198
  const argv = process.argv.slice(2);
76391
- for (const arg of argv) {
76392
- if (arg.startsWith("-")) {
76393
- continue;
76394
- }
76395
- if (hasCommand(arg)) {
76396
- return arg;
76397
- }
76398
- return null;
77199
+ const tokens = argv.filter((arg) => !arg.startsWith("-"));
77200
+ const [first, second] = tokens;
77201
+ if (!first || !hasCommand(first)) {
77202
+ return [];
76399
77203
  }
76400
- return null;
77204
+ const chain = [first];
77205
+ if (second) {
77206
+ chain.push(second);
77207
+ }
77208
+ return chain;
76401
77209
  }
76402
77210
  async function handleHelp(_args) {
76403
77211
  try {
76404
77212
  const options2 = getHelpOptions();
76405
- const command = getCommandFromArgv();
77213
+ const chain = getCommandChainFromArgv();
76406
77214
  let output3;
76407
- if (command === null) {
77215
+ if (chain.length === 0) {
76408
77216
  output3 = renderGlobalHelp(HELP_REGISTRY, options2);
76409
77217
  } else {
76410
- const help = HELP_REGISTRY[command];
76411
- output3 = renderHelp(help, {
76412
- command,
77218
+ const [parentCmd, subCmd] = chain;
77219
+ const parentHelp = HELP_REGISTRY[parentCmd];
77220
+ if (subCmd && parentHelp.subcommands) {
77221
+ const subHelp = parentHelp.subcommands.find((s) => s.name === subCmd);
77222
+ if (subHelp) {
77223
+ output3 = renderHelp(subHelp, {
77224
+ command: subCmd,
77225
+ globalHelp: false,
77226
+ options: options2,
77227
+ parentName: parentCmd
77228
+ });
77229
+ await displayHelp(output3, options2);
77230
+ process.exitCode = 0;
77231
+ return;
77232
+ }
77233
+ }
77234
+ output3 = renderHelp(parentHelp, {
77235
+ command: parentCmd,
76413
77236
  globalHelp: false,
76414
77237
  options: options2
76415
77238
  });