@delfini/cli 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.cjs CHANGED
@@ -1962,7 +1962,7 @@ var import_node_path3 = require("path");
1962
1962
  var import_promises = require("readline/promises");
1963
1963
  var import_node_url = require("url");
1964
1964
 
1965
- // src/doc-scope.ts
1965
+ // src/config.ts
1966
1966
  init_cjs_shims();
1967
1967
  var import_node_fs = require("fs");
1968
1968
  var import_node_path = __toESM(require("path"), 1);
@@ -6611,6 +6611,18 @@ function classifyEntry(entry) {
6611
6611
  return "dir";
6612
6612
  return lastSegment.includes(".") ? "file" : "dir";
6613
6613
  }
6614
+ function isFileInDocScope(filePath, scope) {
6615
+ const file = posixNormalize(toPosix(filePath).replace(/^\/+/, ""));
6616
+ if (file === "" || file === ".")
6617
+ return false;
6618
+ const entries = normalizeDocScope(scope);
6619
+ for (const entry of entries) {
6620
+ const pattern = classifyEntry(entry) === "dir" ? `${entry}/**` : entry;
6621
+ if ((0, import_picomatch.default)(pattern, { dot: false, nocase: true })(file))
6622
+ return true;
6623
+ }
6624
+ return false;
6625
+ }
6614
6626
  function toPosix(p) {
6615
6627
  return p.split("\\").join("/");
6616
6628
  }
@@ -6644,7 +6656,10 @@ function posixNormalize(input) {
6644
6656
 
6645
6657
  // ../drift-engine/dist/diff-filter.js
6646
6658
  init_cjs_shims();
6647
- function filterDiff(diff) {
6659
+ function filterDiff(diff, options = {}) {
6660
+ const builtins = options.builtins ?? true;
6661
+ const ignorePaths = options.ignorePaths ?? [];
6662
+ const hasIgnore = ignorePaths.length > 0;
6648
6663
  const droppedPaths = [];
6649
6664
  const droppedHunks = [];
6650
6665
  const files = parseDiffIntoFiles(diff);
@@ -6653,6 +6668,14 @@ function filterDiff(diff) {
6653
6668
  keptParts.push(files.preamble);
6654
6669
  }
6655
6670
  for (const file of files.files) {
6671
+ if (hasIgnore && isFileInDocScope(file.path, ignorePaths)) {
6672
+ droppedPaths.push({ path: file.path, reason: "ignored" });
6673
+ continue;
6674
+ }
6675
+ if (!builtins) {
6676
+ keptParts.push(file.rawSlice);
6677
+ continue;
6678
+ }
6656
6679
  const pathReason = classifyPath(file.path);
6657
6680
  if (pathReason !== null) {
6658
6681
  droppedPaths.push({ path: file.path, reason: pathReason });
@@ -7084,42 +7107,48 @@ function mostCommonHunkReason(droppedHunks) {
7084
7107
  return bestReason;
7085
7108
  }
7086
7109
 
7087
- // src/doc-scope.ts
7088
- var DOC_SCOPE_RELATIVE_PATH = ".claude/skills/delfini/doc-scope.json";
7089
- var DOC_SCOPE_VERSION = 1;
7090
- var DOC_SCOPE_VERSION_MISMATCH_MESSAGE = "your doc-scope.json is for a newer @delfini/cli; please upgrade.";
7110
+ // src/config.ts
7111
+ var DELFINI_CONFIG_RELATIVE_PATH = ".claude/skills/delfini/delfini-config.json";
7112
+ var LEGACY_DOC_SCOPE_RELATIVE_PATH = ".claude/skills/delfini/doc-scope.json";
7113
+ var DELFINI_CONFIG_VERSION = 1;
7114
+ var CONFIG_VERSION_MISMATCH_MESSAGE = "your delfini-config.json is for a newer @delfini/cli; please upgrade.";
7091
7115
  var REPO_ROOT_REL = ".";
7092
- var DocScopeVersionMismatchError = class extends Error {
7093
- code = "DOC_SCOPE_VERSION_MISMATCH";
7094
- constructor(message = DOC_SCOPE_VERSION_MISMATCH_MESSAGE) {
7116
+ var ConfigVersionMismatchError = class extends Error {
7117
+ code = "CONFIG_VERSION_MISMATCH";
7118
+ constructor(message = CONFIG_VERSION_MISMATCH_MESSAGE) {
7095
7119
  super(message);
7096
- this.name = "DocScopeVersionMismatchError";
7120
+ this.name = "ConfigVersionMismatchError";
7097
7121
  }
7098
7122
  };
7099
- var DocScopeCorruptError = class extends Error {
7100
- code = "DOC_SCOPE_CORRUPT";
7123
+ var ConfigCorruptError = class extends Error {
7124
+ code = "CONFIG_CORRUPT";
7101
7125
  constructor(message) {
7102
7126
  super(message);
7103
- this.name = "DocScopeCorruptError";
7127
+ this.name = "ConfigCorruptError";
7104
7128
  }
7105
7129
  };
7106
- var DocScopeValidationError = class extends Error {
7107
- code = "DOC_SCOPE_VALIDATION";
7130
+ var ConfigValidationError = class extends Error {
7131
+ code = "CONFIG_VALIDATION";
7108
7132
  constructor(message) {
7109
7133
  super(message);
7110
- this.name = "DocScopeValidationError";
7134
+ this.name = "ConfigValidationError";
7111
7135
  }
7112
7136
  };
7113
- var docScopeSchemaV1 = external_exports.object({
7137
+ var configSchemaV1 = external_exports.object({
7114
7138
  version: external_exports.literal(1),
7115
- doc_scope: external_exports.array(external_exports.string().min(1))
7139
+ doc_scope: external_exports.array(external_exports.string().min(1)),
7140
+ ignore_code_scope: external_exports.array(external_exports.string().min(1)).optional()
7116
7141
  });
7117
7142
  var versionProbeSchema = external_exports.object({
7118
7143
  version: external_exports.number().int().positive()
7119
7144
  });
7120
- async function readDocScope(repoRoot) {
7145
+ async function readConfig(repoRoot) {
7121
7146
  const root = repoRoot ?? await getRepoRoot();
7122
- const target = import_node_path.default.join(root, DOC_SCOPE_RELATIVE_PATH);
7147
+ const primary = await readConfigFile(import_node_path.default.join(root, DELFINI_CONFIG_RELATIVE_PATH));
7148
+ if (primary !== null) return primary;
7149
+ return readConfigFile(import_node_path.default.join(root, LEGACY_DOC_SCOPE_RELATIVE_PATH));
7150
+ }
7151
+ async function readConfigFile(target) {
7123
7152
  let raw;
7124
7153
  try {
7125
7154
  raw = await import_node_fs.promises.readFile(target, "utf8");
@@ -7131,54 +7160,96 @@ async function readDocScope(repoRoot) {
7131
7160
  try {
7132
7161
  parsed = JSON.parse(raw);
7133
7162
  } catch (err) {
7134
- throw new DocScopeCorruptError(
7135
- `${DOC_SCOPE_RELATIVE_PATH} is malformed: ${err.message}`
7163
+ throw new ConfigCorruptError(
7164
+ `${import_node_path.default.basename(target)} is malformed: ${err.message}`
7136
7165
  );
7137
7166
  }
7138
7167
  const probe = versionProbeSchema.safeParse(parsed);
7139
- if (probe.success && probe.data.version > DOC_SCOPE_VERSION) {
7140
- throw new DocScopeVersionMismatchError();
7168
+ if (probe.success && probe.data.version > DELFINI_CONFIG_VERSION) {
7169
+ throw new ConfigVersionMismatchError();
7141
7170
  }
7142
- const result = docScopeSchemaV1.safeParse(parsed);
7171
+ const result = configSchemaV1.safeParse(parsed);
7143
7172
  if (!result.success) {
7144
- throw new DocScopeCorruptError(
7145
- `${DOC_SCOPE_RELATIVE_PATH} is malformed: ${result.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join("; ")}`
7173
+ throw new ConfigCorruptError(
7174
+ `${import_node_path.default.basename(target)} is malformed: ${result.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join("; ")}`
7146
7175
  );
7147
7176
  }
7148
- return result.data;
7177
+ return {
7178
+ version: DELFINI_CONFIG_VERSION,
7179
+ doc_scope: result.data.doc_scope,
7180
+ ignore_code_scope: result.data.ignore_code_scope ?? []
7181
+ };
7149
7182
  }
7150
- async function writeDocScope(paths, options) {
7183
+ async function writeConfig(update, options) {
7151
7184
  const root = options?.repoRoot ?? await getRepoRoot();
7185
+ const existing = await readConfig(root);
7186
+ let docScope = existing?.doc_scope ?? [];
7187
+ let ignoreCodeScope = existing?.ignore_code_scope ?? [];
7188
+ if (update.doc_scope !== void 0) {
7189
+ docScope = validateAndNormalize(update.doc_scope, "doc_scope", { requireNonEmpty: true });
7190
+ }
7191
+ if (update.ignore_code_scope !== void 0) {
7192
+ ignoreCodeScope = validateAndNormalize(update.ignore_code_scope, "ignore_code_scope", {
7193
+ requireNonEmpty: false
7194
+ });
7195
+ }
7196
+ if (docScope.length === 0) {
7197
+ throw new ConfigValidationError(
7198
+ `${DELFINI_CONFIG_RELATIVE_PATH}: doc_scope requires at least one path`
7199
+ );
7200
+ }
7201
+ const payload = {
7202
+ version: DELFINI_CONFIG_VERSION,
7203
+ doc_scope: docScope
7204
+ };
7205
+ if (ignoreCodeScope.length > 0) {
7206
+ payload.ignore_code_scope = ignoreCodeScope;
7207
+ }
7208
+ const target = import_node_path.default.join(root, DELFINI_CONFIG_RELATIVE_PATH);
7209
+ await import_node_fs.promises.mkdir(import_node_path.default.dirname(target), { recursive: true });
7210
+ await import_node_fs.promises.writeFile(target, `${JSON.stringify(payload, null, 2)}
7211
+ `, "utf8");
7212
+ await removeLegacyDocScope(root);
7213
+ }
7214
+ async function writeDocScope(paths, options) {
7152
7215
  if (!Array.isArray(paths) || paths.length === 0) {
7153
- throw new DocScopeValidationError("at least one path is required");
7216
+ throw new ConfigValidationError("at least one path is required");
7154
7217
  }
7218
+ await writeConfig({ doc_scope: paths }, options);
7219
+ }
7220
+ function validateAndNormalize(paths, field, opts) {
7155
7221
  const errors = [];
7156
7222
  for (const entry of paths) {
7157
7223
  const err = validateDocScopeEntry(entry, REPO_ROOT_REL);
7158
7224
  if (err !== null) errors.push(err);
7159
7225
  }
7160
7226
  if (errors.length > 0) {
7161
- throw new DocScopeValidationError(
7162
- `${DOC_SCOPE_RELATIVE_PATH}: invalid path(s):
7227
+ throw new ConfigValidationError(
7228
+ `${DELFINI_CONFIG_RELATIVE_PATH}: invalid ${field} path(s):
7163
7229
  ${errors.map((e) => ` - ${e}`).join("\n")}`
7164
7230
  );
7165
7231
  }
7166
7232
  const normalised = normalizeDocScope(paths);
7167
- if (normalised.length === 0) {
7168
- throw new DocScopeValidationError(
7169
- `${DOC_SCOPE_RELATIVE_PATH}: every entry collapses to an empty scope after normalisation (e.g. '.', './', 'docs/..') \u2014 provide at least one concrete path`
7233
+ if (opts.requireNonEmpty && normalised.length === 0) {
7234
+ throw new ConfigValidationError(
7235
+ `${DELFINI_CONFIG_RELATIVE_PATH}: every ${field} entry collapses to an empty scope after normalisation (e.g. '.', './', 'docs/..') \u2014 provide at least one concrete path`
7170
7236
  );
7171
7237
  }
7172
- const target = import_node_path.default.join(root, DOC_SCOPE_RELATIVE_PATH);
7173
- await import_node_fs.promises.mkdir(import_node_path.default.dirname(target), { recursive: true });
7174
- const payload = { version: DOC_SCOPE_VERSION, doc_scope: normalised };
7175
- const json = `${JSON.stringify(payload, null, 2)}
7176
- `;
7177
- await import_node_fs.promises.writeFile(target, json, "utf8");
7238
+ return normalised;
7239
+ }
7240
+ async function removeLegacyDocScope(root) {
7241
+ const legacy = import_node_path.default.join(root, LEGACY_DOC_SCOPE_RELATIVE_PATH);
7242
+ try {
7243
+ await import_node_fs.promises.unlink(legacy);
7244
+ } catch (err) {
7245
+ if (!isNoEntError(err)) throw err;
7246
+ }
7178
7247
  }
7179
- async function docScopeExists(repoRoot) {
7248
+ async function configExists(repoRoot) {
7180
7249
  const root = repoRoot ?? await getRepoRoot();
7181
- const target = import_node_path.default.join(root, DOC_SCOPE_RELATIVE_PATH);
7250
+ return await isFile(import_node_path.default.join(root, DELFINI_CONFIG_RELATIVE_PATH)) || await isFile(import_node_path.default.join(root, LEGACY_DOC_SCOPE_RELATIVE_PATH));
7251
+ }
7252
+ async function isFile(target) {
7182
7253
  try {
7183
7254
  const st = await import_node_fs.promises.stat(target);
7184
7255
  return st.isFile();
@@ -7186,13 +7257,14 @@ async function docScopeExists(repoRoot) {
7186
7257
  return false;
7187
7258
  }
7188
7259
  }
7189
- async function deleteDocScope(repoRoot) {
7260
+ async function deleteConfig(repoRoot) {
7190
7261
  const root = repoRoot ?? await getRepoRoot();
7191
- const target = import_node_path.default.join(root, DOC_SCOPE_RELATIVE_PATH);
7192
- try {
7193
- await import_node_fs.promises.unlink(target);
7194
- } catch (err) {
7195
- if (!isNoEntError(err)) throw err;
7262
+ for (const rel of [DELFINI_CONFIG_RELATIVE_PATH, LEGACY_DOC_SCOPE_RELATIVE_PATH]) {
7263
+ try {
7264
+ await import_node_fs.promises.unlink(import_node_path.default.join(root, rel));
7265
+ } catch (err) {
7266
+ if (!isNoEntError(err)) throw err;
7267
+ }
7196
7268
  }
7197
7269
  }
7198
7270
  async function expandDocScope(paths, repoRoot) {
@@ -7384,24 +7456,24 @@ function sanitiseScope(paths) {
7384
7456
  return paths.map((entry) => entry.trim()).filter((entry) => entry.length > 0);
7385
7457
  }
7386
7458
  async function applyDocScope(repoRoot, logger, provideDocScope) {
7387
- const target = (0, import_node_path3.join)(repoRoot, DOC_SCOPE_RELATIVE_PATH);
7459
+ const target = (0, import_node_path3.join)(repoRoot, DELFINI_CONFIG_RELATIVE_PATH);
7388
7460
  if (provideDocScope) {
7389
7461
  const paths2 = sanitiseScope(await provideDocScope());
7390
7462
  if (paths2.length === 0) {
7391
- log(logger, `doc-scope.json \u2192 ${target} (no paths provided, no change)`);
7463
+ log(logger, `delfini-config.json \u2192 ${target} (no paths provided, no change)`);
7392
7464
  return;
7393
7465
  }
7394
7466
  await persistDocScope(repoRoot, logger, target, paths2);
7395
7467
  return;
7396
7468
  }
7397
- if (await docScopeExists(repoRoot)) {
7398
- log(logger, `doc-scope.json \u2192 ${target} (already configured, no change)`);
7469
+ if (await configExists(repoRoot)) {
7470
+ log(logger, `delfini-config.json \u2192 ${target} (already configured, no change)`);
7399
7471
  return;
7400
7472
  }
7401
7473
  if (!process.stdin.isTTY) {
7402
7474
  log(
7403
7475
  logger,
7404
- `doc-scope.json \u2192 ${target} (non-interactive shell: scope prompt skipped, no change)`
7476
+ `delfini-config.json \u2192 ${target} (non-interactive shell: scope prompt skipped, no change)`
7405
7477
  );
7406
7478
  return;
7407
7479
  }
@@ -7409,7 +7481,7 @@ async function applyDocScope(repoRoot, logger, provideDocScope) {
7409
7481
  if (paths.length === 0) {
7410
7482
  log(
7411
7483
  logger,
7412
- `doc-scope.json \u2192 ${target} (no paths provided, no change \u2014 first /delfini run will prompt)`
7484
+ `delfini-config.json \u2192 ${target} (no paths provided, no change \u2014 first /delfini run will prompt)`
7413
7485
  );
7414
7486
  return;
7415
7487
  }
@@ -7429,12 +7501,12 @@ async function promptDocScope() {
7429
7501
  async function persistDocScope(repoRoot, logger, target, paths) {
7430
7502
  try {
7431
7503
  await writeDocScope(paths, { repoRoot });
7432
- log(logger, `doc-scope.json \u2192 ${target} (wrote ${paths.length} path(s))`);
7504
+ log(logger, `delfini-config.json \u2192 ${target} (wrote ${paths.length} path(s))`);
7433
7505
  } catch (err) {
7434
- if (err instanceof DocScopeValidationError) {
7506
+ if (err instanceof ConfigValidationError) {
7435
7507
  log(
7436
7508
  logger,
7437
- `doc-scope.json \u2192 ${target} (skipped \u2014 ${err.message}). Fix the path(s) and re-run \`delfini install\`, edit the file directly, or set the scope on the first /delfini run.`
7509
+ `delfini-config.json \u2192 ${target} (skipped \u2014 ${err.message}). Fix the path(s) and re-run \`delfini install\`, edit the file directly, or set the scope on the first /delfini run.`
7438
7510
  );
7439
7511
  return;
7440
7512
  }
@@ -7860,13 +7932,15 @@ async function runLocalPrepare(options = {}) {
7860
7932
  );
7861
7933
  }
7862
7934
  const repoRoot = options.repoRoot ?? await getRepoRoot();
7863
- const scopePaths = await resolveScopePaths(options.scope, repoRoot);
7935
+ const config = await readConfig(repoRoot);
7936
+ const scopePaths = resolveScopePaths(options.scope, config);
7864
7937
  if (scopePaths === null) {
7865
7938
  stderr.write(
7866
- "No doc-scope configured. Pass `--scope <paths>` or run the skill\nfirst-run setup to create `.claude/skills/delfini/doc-scope.json`.\n"
7939
+ "No doc-scope configured. Pass `--scope <paths>` or run the skill\nfirst-run setup to create `.claude/skills/delfini/delfini-config.json`.\n"
7867
7940
  );
7868
7941
  return 2;
7869
7942
  }
7943
+ const ignoreCodeScope = resolveIgnoreCodeScope(options.ignoreCodeScope, config);
7870
7944
  const expansion = await expandDocScope(scopePaths, repoRoot);
7871
7945
  for (const missing of expansion.missingPaths) {
7872
7946
  stderr.write(formatMissingPathWarning(missing));
@@ -7876,8 +7950,12 @@ async function runLocalPrepare(options = {}) {
7876
7950
  const rawDiff = await computeDiff(git, repoRoot, baseRef, diffSource);
7877
7951
  let diff = rawDiff;
7878
7952
  let filterResult = null;
7879
- if (options.enableDiffPreFilter === true) {
7880
- filterResult = filterDiff(rawDiff);
7953
+ const enableBuiltins = options.enableDiffPreFilter === true;
7954
+ if (enableBuiltins || ignoreCodeScope.length > 0) {
7955
+ filterResult = filterDiff(rawDiff, {
7956
+ builtins: enableBuiltins,
7957
+ ignorePaths: ignoreCodeScope
7958
+ });
7881
7959
  diff = filterResult.keptDiff;
7882
7960
  }
7883
7961
  const docs = await readDocs(expansion.files, repoRoot, stderr);
@@ -7926,7 +8004,7 @@ async function runLocalPrepare(options = {}) {
7926
8004
  `);
7927
8005
  return 0;
7928
8006
  }
7929
- async function resolveScopePaths(scopeOption, repoRoot) {
8007
+ function resolveScopePaths(scopeOption, config) {
7930
8008
  if (scopeOption !== void 0) {
7931
8009
  const normalised = normaliseScopeOption(scopeOption);
7932
8010
  if (normalised.length === 0) {
@@ -7934,11 +8012,16 @@ async function resolveScopePaths(scopeOption, repoRoot) {
7934
8012
  }
7935
8013
  return normalised;
7936
8014
  }
7937
- const persisted = await readDocScope(repoRoot);
7938
- if (persisted === null) {
8015
+ if (config === null) {
7939
8016
  return null;
7940
8017
  }
7941
- return persisted.doc_scope;
8018
+ return config.doc_scope;
8019
+ }
8020
+ function resolveIgnoreCodeScope(ignoreOption, config) {
8021
+ if (ignoreOption !== void 0) {
8022
+ return normaliseScopeOption(ignoreOption);
8023
+ }
8024
+ return config?.ignore_code_scope ?? [];
7942
8025
  }
7943
8026
  function normaliseScopeOption(scope) {
7944
8027
  const raw = Array.isArray(scope) ? scope : scope.split(",");
@@ -8138,7 +8221,7 @@ function readPackageJson() {
8138
8221
  }
8139
8222
  async function main(argv) {
8140
8223
  const program = new import_commander.Command();
8141
- program.name("delfini").description("Delfini Skill CLI \u2014 deterministic, never calls an LLM.").version(pkg.version, "-V, --version", "print the @delfini/cli version").option("--reset-scope", "delete the persisted doc-scope.json").exitOverride();
8224
+ program.name("delfini").description("Delfini Skill CLI \u2014 deterministic, never calls an LLM.").version(pkg.version, "-V, --version", "print the @delfini/cli version").option("--reset-scope", "delete the persisted delfini-config.json (and any legacy doc-scope.json)").exitOverride();
8142
8225
  program.action(async (opts) => {
8143
8226
  if (opts.resetScope) {
8144
8227
  await handleResetScope();
@@ -8148,7 +8231,7 @@ async function main(argv) {
8148
8231
  "Scaffold .claude/skills/delfini/SKILL.md + CLAUDE.md auto-invoke + .gitignore append"
8149
8232
  ).option("--tool <agent>", "Coding agent target (only 'CLAUDE' supported in V1)", "CLAUDE").option("--auto-invoke", "append the CLAUDE.md auto-invoke block without prompting").option("--no-auto-invoke", "strip the CLAUDE.md auto-invoke block without prompting").option(
8150
8233
  "--scope <paths>",
8151
- "Seed doc-scope.json with these paths (space- or comma-separated; overwrites any existing scope) without prompting. Omit to be prompted interactively on a TTY."
8234
+ "Seed delfini-config.json doc_scope with these paths (space- or comma-separated; overwrites any existing scope) without prompting. Omit to be prompted interactively on a TTY."
8152
8235
  ).action(
8153
8236
  async (targetPath, opts) => {
8154
8237
  const confirmAutoInvoke = opts.autoInvoke === void 0 ? void 0 : () => Promise.resolve(opts.autoInvoke);
@@ -8158,7 +8241,10 @@ async function main(argv) {
8158
8241
  );
8159
8242
  program.command("local-prepare").description(
8160
8243
  "Compute diff + doc-scope + prompt + token-budget gate; write .delfini-trace/"
8161
- ).option("--scope <paths>", "Comma-separated doc-scope paths (overrides doc-scope.json)").option("--base <ref>", "Diff base ref (default: git merge-base HEAD origin/main)").option(
8244
+ ).option("--scope <paths>", "Comma-separated doc-scope paths (overrides delfini-config.json doc_scope)").option(
8245
+ "--ignore-code-scope <paths>",
8246
+ "Comma-separated code paths whose changes are ignored for analysis (overrides delfini-config.json ignore_code_scope). Each entry is a directory, file, or glob."
8247
+ ).option("--base <ref>", "Diff base ref (default: git merge-base HEAD origin/main)").option(
8162
8248
  "--diff-source <source>",
8163
8249
  "Which diff to analyse: 'local' (default), 'committed', or 'both'",
8164
8250
  "local"
@@ -8187,6 +8273,7 @@ async function main(argv) {
8187
8273
  async (opts) => {
8188
8274
  const exitCode = await runLocalPrepare({
8189
8275
  scope: opts.scope,
8276
+ ignoreCodeScope: opts.ignoreCodeScope,
8190
8277
  base: opts.base,
8191
8278
  diffSource: opts.diffSource,
8192
8279
  relevanceThreshold: opts.relevanceThreshold,
@@ -8216,7 +8303,7 @@ async function main(argv) {
8216
8303
  }
8217
8304
  async function handleResetScope() {
8218
8305
  try {
8219
- await deleteDocScope();
8306
+ await deleteConfig();
8220
8307
  } catch (err) {
8221
8308
  if (err instanceof RepoRootNotFoundError) {
8222
8309
  return;
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  main
3
- } from "./chunk-K5X5TSUR.js";
4
- import "./chunk-LJKEHO6F.js";
3
+ } from "./chunk-IU4AWQKF.js";
4
+ import "./chunk-IUXS75FH.js";
5
5
  export {
6
6
  main
7
7
  };