claudekit-cli 3.38.0-dev.4 → 3.38.0-dev.5

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 (2) hide show
  1. package/dist/index.js +14 -3
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -42046,6 +42046,7 @@ var init_commands = __esm(() => {
42046
42046
  only: exports_external.array(ExcludePatternSchema).optional().default([]),
42047
42047
  global: exports_external.boolean().default(false),
42048
42048
  fresh: exports_external.boolean().default(false),
42049
+ force: exports_external.boolean().default(false),
42049
42050
  installSkills: exports_external.boolean().default(false),
42050
42051
  withSudo: exports_external.boolean().default(false),
42051
42052
  prefix: exports_external.boolean().default(false),
@@ -57258,7 +57259,7 @@ var package_default;
57258
57259
  var init_package = __esm(() => {
57259
57260
  package_default = {
57260
57261
  name: "claudekit-cli",
57261
- version: "3.38.0-dev.4",
57262
+ version: "3.38.0-dev.5",
57262
57263
  description: "CLI tool for bootstrapping and updating ClaudeKit projects",
57263
57264
  type: "module",
57264
57265
  repository: {
@@ -70762,6 +70763,10 @@ var init_init_command_help = __esm(() => {
70762
70763
  {
70763
70764
  flags: "--fresh",
70764
70765
  description: "Full reset: remove CK files, replace settings.json and CLAUDE.md, reinstall from scratch"
70766
+ },
70767
+ {
70768
+ flags: "--force",
70769
+ description: "Force reinstall even if already at latest version (use with --yes; re-onboards missing files without full reset)"
70765
70770
  }
70766
70771
  ]
70767
70772
  },
@@ -96046,6 +96051,7 @@ async function resolveOptions(ctx) {
96046
96051
  global: parsed.global ?? false,
96047
96052
  yes: parsed.yes ?? false,
96048
96053
  fresh: parsed.fresh ?? false,
96054
+ force: parsed.force ?? false,
96049
96055
  refresh: parsed.refresh ?? false,
96050
96056
  exclude: parsed.exclude ?? [],
96051
96057
  only: parsed.only ?? [],
@@ -96950,8 +96956,11 @@ async function handleSelection(ctx) {
96950
96956
  logger.success(`Found: ${release.tag_name}`);
96951
96957
  }
96952
96958
  }
96959
+ if (ctx.options.force && !ctx.options.yes) {
96960
+ logger.info("--force has no effect without --yes (the version-match skip only applies in non-interactive mode)");
96961
+ }
96953
96962
  const releaseTag = release?.tag_name;
96954
- if (ctx.options.yes && !ctx.options.fresh && releaseTag && !isOfflineMode && !pendingKits?.length) {
96963
+ if (ctx.options.yes && !ctx.options.fresh && !ctx.options.force && releaseTag && !isOfflineMode && !pendingKits?.length) {
96955
96964
  try {
96956
96965
  const prefix = PathResolver.getPathPrefix(ctx.options.global);
96957
96966
  const claudeDir2 = prefix ? join111(resolvedDir, prefix) : resolvedDir;
@@ -97882,6 +97891,7 @@ function createInitContext(rawOptions, prompts) {
97882
97891
  global: false,
97883
97892
  yes: false,
97884
97893
  fresh: false,
97894
+ force: false,
97885
97895
  refresh: false,
97886
97896
  exclude: [],
97887
97897
  only: [],
@@ -100234,6 +100244,7 @@ async function handleKitSelection(ctx) {
100234
100244
  exclude: [],
100235
100245
  only: [],
100236
100246
  fresh: false,
100247
+ force: false,
100237
100248
  installSkills: false,
100238
100249
  withSudo: false,
100239
100250
  prefix: false,
@@ -103163,7 +103174,7 @@ function registerCommands(cli) {
103163
103174
  }
103164
103175
  await newCommand(options2);
103165
103176
  });
103166
- cli.command("init", "Initialize or update ClaudeKit project (with interactive version selection)").option("--dir <dir>", "Target directory (default: .)").option("--kit <kit>", "Kit to use: engineer, marketing, all, or comma-separated").option("-r, --release <version>", "Skip version selection, use specific version (e.g., latest, v1.0.0)").option("--exclude <pattern>", "Exclude files matching glob pattern (can be used multiple times)").option("--only <pattern>", "Include only files matching glob pattern (can be used multiple times)").option("-g, --global", "Use platform-specific user configuration directory").option("--fresh", "Full reset: remove CK files, replace settings.json and CLAUDE.md, reinstall from scratch").option("--install-skills", "Install skills dependencies (non-interactive mode)").option("--with-sudo", "Include system packages requiring sudo (Linux: ffmpeg, imagemagick)").option("--prefix", "Add /ck: prefix to all slash commands by moving them to commands/ck/ subdirectory").option("--beta", "Show beta versions in selection prompt").option("--refresh", "Bypass release cache to fetch latest versions from GitHub").option("--dry-run", "Preview changes without applying them (requires --prefix)").option("--force-overwrite", "Override ownership protections and delete user-modified files (requires --prefix)").option("--force-overwrite-settings", "Fully replace settings.json instead of selective merge (destroys user customizations)").option("--skip-setup", "Skip interactive configuration wizard").option("--docs-dir <name>", "Custom docs folder name (default: docs)").option("--plans-dir <name>", "Custom plans folder name (default: plans)").option("-y, --yes", "Non-interactive mode with sensible defaults (skip all prompts)").option("--sync", "Sync config files from upstream with interactive hunk-by-hunk merge").option("--use-git", "Use git clone instead of GitHub API (uses SSH/HTTPS credentials)").option("--archive <path>", "Use local archive file instead of downloading (zip/tar.gz)").option("--kit-path <path>", "Use local kit directory instead of downloading").action(async (options2) => {
103177
+ cli.command("init", "Initialize or update ClaudeKit project (with interactive version selection)").option("--dir <dir>", "Target directory (default: .)").option("--kit <kit>", "Kit to use: engineer, marketing, all, or comma-separated").option("-r, --release <version>", "Skip version selection, use specific version (e.g., latest, v1.0.0)").option("--exclude <pattern>", "Exclude files matching glob pattern (can be used multiple times)").option("--only <pattern>", "Include only files matching glob pattern (can be used multiple times)").option("-g, --global", "Use platform-specific user configuration directory").option("--fresh", "Full reset: remove CK files, replace settings.json and CLAUDE.md, reinstall from scratch").option("--force", "Force reinstall even if already at latest version (use with --yes; re-onboards missing files without full reset)").option("--install-skills", "Install skills dependencies (non-interactive mode)").option("--with-sudo", "Include system packages requiring sudo (Linux: ffmpeg, imagemagick)").option("--prefix", "Add /ck: prefix to all slash commands by moving them to commands/ck/ subdirectory").option("--beta", "Show beta versions in selection prompt").option("--refresh", "Bypass release cache to fetch latest versions from GitHub").option("--dry-run", "Preview changes without applying them (requires --prefix)").option("--force-overwrite", "Override ownership protections and delete user-modified files (requires --prefix)").option("--force-overwrite-settings", "Fully replace settings.json instead of selective merge (destroys user customizations)").option("--skip-setup", "Skip interactive configuration wizard").option("--docs-dir <name>", "Custom docs folder name (default: docs)").option("--plans-dir <name>", "Custom plans folder name (default: plans)").option("-y, --yes", "Non-interactive mode with sensible defaults (skip all prompts)").option("--sync", "Sync config files from upstream with interactive hunk-by-hunk merge").option("--use-git", "Use git clone instead of GitHub API (uses SSH/HTTPS credentials)").option("--archive <path>", "Use local archive file instead of downloading (zip/tar.gz)").option("--kit-path <path>", "Use local kit directory instead of downloading").action(async (options2) => {
103167
103178
  if (options2.exclude && !Array.isArray(options2.exclude)) {
103168
103179
  options2.exclude = [options2.exclude];
103169
103180
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claudekit-cli",
3
- "version": "3.38.0-dev.4",
3
+ "version": "3.38.0-dev.5",
4
4
  "description": "CLI tool for bootstrapping and updating ClaudeKit projects",
5
5
  "type": "module",
6
6
  "repository": {