@autopilot-harness/cli 0.1.0 → 0.2.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.
Files changed (42) hide show
  1. package/README.md +1 -1
  2. package/assets/autopilot-harness-hook.mjs +228 -36
  3. package/assets/vendor/runtime.mjs +397 -15
  4. package/dist/assets/autopilot-harness-hook.mjs +228 -36
  5. package/dist/assets/vendor/runtime.mjs +397 -15
  6. package/dist/bin.js +6 -3
  7. package/dist/bin.js.map +1 -1
  8. package/dist/index.d.ts +3 -2
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +2 -2
  11. package/dist/index.js.map +1 -1
  12. package/dist/init/claude-settings-merge.d.ts +51 -0
  13. package/dist/init/claude-settings-merge.d.ts.map +1 -0
  14. package/dist/init/claude-settings-merge.js +318 -0
  15. package/dist/init/claude-settings-merge.js.map +1 -0
  16. package/dist/init/install.d.ts +4 -1
  17. package/dist/init/install.d.ts.map +1 -1
  18. package/dist/init/install.js +258 -83
  19. package/dist/init/install.js.map +1 -1
  20. package/dist/init/platforms.d.ts +5 -0
  21. package/dist/init/platforms.d.ts.map +1 -1
  22. package/dist/init/platforms.js +17 -0
  23. package/dist/init/platforms.js.map +1 -1
  24. package/dist/init/types.d.ts +1 -1
  25. package/dist/init/types.js +1 -1
  26. package/dist/init/wizard-helpers.d.ts.map +1 -1
  27. package/dist/init/wizard-helpers.js +21 -10
  28. package/dist/init/wizard-helpers.js.map +1 -1
  29. package/dist/status-doctor.d.ts.map +1 -1
  30. package/dist/status-doctor.js +121 -55
  31. package/dist/status-doctor.js.map +1 -1
  32. package/dist/uninstall.d.ts.map +1 -1
  33. package/dist/uninstall.js +163 -5
  34. package/dist/uninstall.js.map +1 -1
  35. package/dist/upgrade.d.ts.map +1 -1
  36. package/dist/upgrade.js +100 -2
  37. package/dist/upgrade.js.map +1 -1
  38. package/dist/vendor-entry.d.ts +4 -1
  39. package/dist/vendor-entry.d.ts.map +1 -1
  40. package/dist/vendor-entry.js +6 -2
  41. package/dist/vendor-entry.js.map +1 -1
  42. package/package.json +5 -4
@@ -4,14 +4,16 @@ import path from "node:path";
4
4
  import { fileURLToPath } from "node:url";
5
5
  import { defaultConfigYaml } from "./default-config.js";
6
6
  import { mergeHooksJson, validateHooksShape } from "./hooks-merge.js";
7
+ import { mergeClaudeSettings, validateClaudeSettingsShape, } from "./claude-settings-merge.js";
7
8
  import { PACKAGE_VERSION } from "./types.js";
8
9
  import { applyPlansGitignore, applyAutopilotRuntimeGitignore, assertNotSymlink, assertParentDirInProject, assertRealpathInside, assertPairInsideOrUnlinkAll, assertWrittenInsideProject, isRealDirectory, isRealRegularFile, mkdirRealDirSync, normalizePlansDir, writeQuickstart, assertPresentRealFile, } from "./wizard-helpers.js";
9
10
  import { skillDescriptions } from "@autopilot-harness/i18n";
10
11
  import { DEFAULT_AUTOPILOT_IGNORE_TEXT } from "@autopilot-harness/core";
11
12
  import { readConfigInstallHints, readConfigPlatformsOrThrow } from "./config-merge.js";
12
- import { applyPlatformsToConfigYaml, assertInstallablePlatforms, MAX_PLATFORM_BINDINGS, mergePlatformBindings, mergedIncludesAllRequested, normalizeBinding, primaryBinding, } from "./platforms.js";
13
+ import { applyPlatformsToConfigYaml, assertInstallablePlatforms, isInstallableBinding, MAX_PLATFORM_BINDINGS, mergePlatformBindings, mergedIncludesAllRequested, normalizeBinding, primaryBinding, sanitizePlatformId, } from "./platforms.js";
13
14
  import { MAX_UNTRUSTED_TEXT_BYTES, readUntrustedUtf8File, copyFileReplaceSync, copyFileNoFollowExclSync, writeFileReplaceSync, renameReplaceSync, } from "../read-untrusted-file.js";
14
15
  export { mergeHooksJson, stripAutopilotHooks, isAutopilotCommand, countAutopilotDuplicates, validateHooksShape, hasCompleteAutopilotHooks, summarizeAutopilotHooks, autopilotStopHasUnlimitedLoop, autopilotHookCommand, } from "./hooks-merge.js";
16
+ export { mergeClaudeSettings, validateClaudeSettingsShape, hasClaudeBlockCapZero, hasCompleteClaudeAutopilotHooks, summarizeClaudeAutopilotHooks, stripAutopilotClaudeSettings, claudeSettingsContainAutopilot, CLAUDE_AUTOPILOT_EVENTS, CLAUDE_BLOCK_CAP_ENV, } from "./claude-settings-merge.js";
15
17
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
16
18
  /** Skills written by init; uninstall must remove the same set. */
17
19
  export const AUTOPILOT_SKILL_NAMES = [
@@ -157,6 +159,13 @@ function copyHookAsset(cliRoot, destBin, projectRoot) {
157
159
  copyFileReplaceSync(src, hookDest);
158
160
  assertWrittenInsideProject(projectRoot, hookDest, ".autopilot/bin/autopilot-harness-hook.mjs");
159
161
  }
162
+ function platformsWantHost(platforms, hostId) {
163
+ const want = sanitizePlatformId(hostId);
164
+ // Only installable bindings wire host settings. A hand-edited
165
+ // `claude-code`/`cursor` with the wrong surface must not force reads/writes
166
+ // (e.g. corrupt leftover settings blocking --add-platform of another host).
167
+ return platforms.some((b) => sanitizePlatformId(b.id) === want && isInstallableBinding(b));
168
+ }
160
169
  /** Read hooks.json; refuse to clobber an existing unreadable file. */
161
170
  function readHooksFile(filePath) {
162
171
  let raw;
@@ -210,6 +219,42 @@ function readHooksFile(filePath) {
210
219
  };
211
220
  }
212
221
  }
222
+ /** Read `.claude/settings.json`; refuse to clobber an existing unreadable file. */
223
+ function readClaudeSettingsFile(filePath) {
224
+ let raw;
225
+ try {
226
+ raw = readUntrustedUtf8File(filePath, MAX_UNTRUSTED_TEXT_BYTES, ".claude/settings.json");
227
+ }
228
+ catch (err) {
229
+ const code = err?.code;
230
+ if (code === "ENOENT") {
231
+ return { ok: true, value: null };
232
+ }
233
+ const msg = err instanceof Error ? err.message : String(err);
234
+ return { ok: false, error: `Cannot read ${filePath}: ${msg}` };
235
+ }
236
+ try {
237
+ const parsed = JSON.parse(raw);
238
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
239
+ return {
240
+ ok: false,
241
+ error: `${filePath} is not a JSON object; fix or remove it before init.`,
242
+ };
243
+ }
244
+ const obj = parsed;
245
+ const shapeError = validateClaudeSettingsShape(obj);
246
+ if (shapeError) {
247
+ return { ok: false, error: `${filePath}: ${shapeError}` };
248
+ }
249
+ return { ok: true, value: obj };
250
+ }
251
+ catch {
252
+ return {
253
+ ok: false,
254
+ error: `${filePath} is not valid JSON; fix or remove it before init.`,
255
+ };
256
+ }
257
+ }
213
258
  function resolveAutopilotIgnoreTemplate(templatesRoot) {
214
259
  const templatePath = path.join(templatesRoot, ".autopilotignore");
215
260
  if (isRealRegularFile(templatePath)) {
@@ -355,21 +400,24 @@ function resolveInstallLocale(optsLocale, configExists, force, configPath) {
355
400
  }
356
401
  return optsLocale === "zh-CN" ? "zh-CN" : "en";
357
402
  }
358
- function installSkills(templatesRoot, projectRoot, locale) {
403
+ function installSkills(templatesRoot, projectRoot, locale,
404
+ /** Host skills root relative to project, e.g. `.cursor` or `.claude`. */
405
+ hostSkillsParent) {
359
406
  const written = [];
360
407
  const descriptions = skillDescriptions(locale);
361
- const skillsRoot = path.join(projectRoot, ".cursor", "skills");
362
- assertNotSymlink(skillsRoot, ".cursor/skills/");
408
+ const skillsRoot = path.join(projectRoot, hostSkillsParent, "skills");
409
+ const skillsLabel = `${hostSkillsParent}/skills/`;
410
+ assertNotSymlink(skillsRoot, skillsLabel);
363
411
  for (const name of SKILL_NAMES) {
364
412
  const tplPath = path.join(templatesRoot, "skills", name, "SKILL.md.tpl");
365
413
  assertPresentRealFile(tplPath, `skill template ${name}`);
366
414
  const destDir = path.join(skillsRoot, name);
367
- mkdirRealDirSync(destDir, `.cursor/skills/${name}/`, projectRoot);
368
- assertRealpathInside(projectRoot, destDir, `.cursor/skills/${name}/`);
415
+ mkdirRealDirSync(destDir, `${skillsLabel}${name}/`, projectRoot);
416
+ assertRealpathInside(projectRoot, destDir, `${skillsLabel}${name}/`);
369
417
  const body = renderSkill(readUntrustedUtf8File(tplPath, MAX_UNTRUSTED_TEXT_BYTES, `skill template ${name}`), descriptions[name] ?? name);
370
418
  const dest = path.join(destDir, "SKILL.md");
371
- assertNotSymlink(dest, `.cursor/skills/${name}/SKILL.md`);
372
- writeFileAtomic(dest, body, projectRoot, `.cursor/skills/${name}/`);
419
+ assertNotSymlink(dest, `${skillsLabel}${name}/SKILL.md`);
420
+ writeFileAtomic(dest, body, projectRoot, `${skillsLabel}${name}/`);
373
421
  written.push(path.relative(projectRoot, dest));
374
422
  }
375
423
  return written;
@@ -492,15 +540,13 @@ export function preflightForceRefresh(projectRoot) {
492
540
  error: "Missing assets/vendor/runtime.mjs or migrations — run pnpm bundle-vendor (or pnpm build)",
493
541
  };
494
542
  }
495
- const hooksPath = path.join(root, ".cursor", "hooks.json");
496
- const hooksRead = readHooksFile(hooksPath);
497
- if (!hooksRead.ok) {
498
- return { ok: false, error: hooksRead.error };
499
- }
543
+ // Host settings (`.cursor/hooks.json` / `.claude/settings.json`) are validated
544
+ // only for platforms that will be wired — see installInitYes.
500
545
  return { ok: true };
501
546
  }
502
547
  /**
503
- * Non-interactive init (`--yes`). Writes .autopilot + merges .cursor/hooks.json.
548
+ * Non-interactive init (`--yes`). Writes .autopilot + host hooks/skills
549
+ * (`.cursor/hooks.json` and/or `.claude/settings.json` per platforms).
504
550
  * `--force` refreshes hook/skills/pin/hooks merge but does **not** overwrite
505
551
  * an existing config.yml, except when `mergePlatforms` / `--add-platform`
506
552
  * updates the `platforms` list (committed only after hooks succeed).
@@ -525,14 +571,16 @@ export function installInitYes(opts) {
525
571
  const configPath = path.join(autopilotDir, "config.yml");
526
572
  const cursorDir = path.join(projectRoot, ".cursor");
527
573
  const hooksPath = path.join(cursorDir, "hooks.json");
574
+ const claudeDir = path.join(projectRoot, ".claude");
575
+ const claudeSettingsPath = path.join(claudeDir, "settings.json");
528
576
  const mergePlatforms = Boolean(opts.mergePlatforms);
529
577
  // Adding hosts into an existing config requires the force/refresh path.
530
578
  const force = Boolean(opts.force) || mergePlatforms;
531
579
  try {
532
580
  assertNotSymlink(autopilotDir, ".autopilot/");
533
581
  assertNotSymlink(configPath, ".autopilot/config.yml");
534
- assertNotSymlink(cursorDir, ".cursor/");
535
- assertNotSymlink(hooksPath, ".cursor/hooks.json");
582
+ // Host path symlink checks happen only for platforms we are about to wire
583
+ // (Claude-only must not fail on a leftover `.cursor/hooks.json` symlink).
536
584
  }
537
585
  catch (err) {
538
586
  const msg = err instanceof Error ? err.message : String(err);
@@ -576,11 +624,6 @@ export function installInitYes(opts) {
576
624
  return { ok: false, error: preflight.error };
577
625
  }
578
626
  const { cliRoot, templatesRoot } = resolvePackageRoots();
579
- // Fail closed on corrupt hooks before any mutate.
580
- const hooksPre = readHooksFile(hooksPath);
581
- if (!hooksPre.ok) {
582
- return { ok: false, error: hooksPre.error };
583
- }
584
627
  const plansNorm = normalizePlansDir(opts.plansDir);
585
628
  if (!plansNorm.ok) {
586
629
  return { ok: false, error: plansNorm.error };
@@ -602,10 +645,108 @@ export function installInitYes(opts) {
602
645
  try {
603
646
  const written = [];
604
647
  mkdirRealDirSync(autopilotDir, ".autopilot/", projectRoot);
605
- // Fresh init: write config. --add-platform / mergePlatforms: validate merge
606
- // now, but re-read + write only after hooks succeed (avoid half-updated
607
- // config on later failure, and shrink TOCTOU vs concurrent editors).
608
- // Plain --force: leave config.yml alone.
648
+ // Resolve hosts to wire before any config write (fail closed on corrupt
649
+ // host settings without leaving an orphan config.yml).
650
+ // --add-platform / mergePlatforms: validate merge now, but re-read + write
651
+ // only after hooks succeed. Plain --force: wire hosts listed in config.
652
+ if (configExists && mergePlatforms) {
653
+ let existingYaml;
654
+ try {
655
+ existingYaml = readUntrustedUtf8File(configPath, MAX_UNTRUSTED_TEXT_BYTES, ".autopilot/config.yml");
656
+ }
657
+ catch (err) {
658
+ const msg = err instanceof Error ? err.message : String(err);
659
+ return { ok: false, error: `Cannot read config.yml: ${msg}` };
660
+ }
661
+ let existingPlatforms;
662
+ try {
663
+ existingPlatforms = readConfigPlatformsOrThrow(existingYaml);
664
+ }
665
+ catch (err) {
666
+ const msg = err instanceof Error ? err.message : String(err);
667
+ return {
668
+ ok: false,
669
+ error: `Cannot update platforms in config.yml: ${msg}`,
670
+ };
671
+ }
672
+ effectivePlatforms = mergePlatformBindings(existingPlatforms, requestedPlatforms);
673
+ // Only the *requested* additions must be installable (checked above).
674
+ // Existing config may already declare future hosts; do not reject merge
675
+ // because of those entries — install still only wires installable ports.
676
+ if (effectivePlatforms.length === 0) {
677
+ return {
678
+ ok: false,
679
+ error: "platforms list is empty after merge; refusing to update config.yml",
680
+ };
681
+ }
682
+ if (!mergedIncludesAllRequested(effectivePlatforms, requestedPlatforms)) {
683
+ return {
684
+ ok: false,
685
+ error: "Cannot add platform(s): platforms list is at capacity. Remove an entry from config.yml and retry.",
686
+ };
687
+ }
688
+ try {
689
+ // Fail closed early if the current snapshot cannot be rewritten.
690
+ applyPlatformsToConfigYaml(existingYaml, effectivePlatforms);
691
+ pendingMergePlatforms = true;
692
+ }
693
+ catch (err) {
694
+ const msg = err instanceof Error ? err.message : String(err);
695
+ return { ok: false, error: `Cannot update platforms in config.yml: ${msg}` };
696
+ }
697
+ }
698
+ else if (configExists && force) {
699
+ // Plain --force: wire hosts declared in config.yml (installable only).
700
+ try {
701
+ const yaml = readUntrustedUtf8File(configPath, MAX_UNTRUSTED_TEXT_BYTES, ".autopilot/config.yml");
702
+ const fromConfig = readConfigPlatformsOrThrow(yaml);
703
+ const installable = fromConfig.filter((b) => isInstallableBinding(b));
704
+ if (installable.length > 0) {
705
+ effectivePlatforms = installable;
706
+ }
707
+ }
708
+ catch {
709
+ // Keep requestedPlatforms — still refresh the CLI-selected host.
710
+ }
711
+ }
712
+ const wantCursor = platformsWantHost(effectivePlatforms, "cursor");
713
+ const wantClaude = platformsWantHost(effectivePlatforms, "claude-code");
714
+ if (!wantCursor && !wantClaude) {
715
+ return {
716
+ ok: false,
717
+ error: "No installable host platform to wire (need cursor and/or claude-code).",
718
+ };
719
+ }
720
+ // Fail closed on corrupt/symlink settings only for hosts we are about to wire.
721
+ if (wantCursor) {
722
+ try {
723
+ assertNotSymlink(cursorDir, ".cursor/");
724
+ assertNotSymlink(hooksPath, ".cursor/hooks.json");
725
+ }
726
+ catch (err) {
727
+ const msg = err instanceof Error ? err.message : String(err);
728
+ return { ok: false, error: msg };
729
+ }
730
+ const hooksPre = readHooksFile(hooksPath);
731
+ if (!hooksPre.ok) {
732
+ return { ok: false, error: hooksPre.error };
733
+ }
734
+ }
735
+ if (wantClaude) {
736
+ try {
737
+ assertNotSymlink(claudeDir, ".claude/");
738
+ assertNotSymlink(claudeSettingsPath, ".claude/settings.json");
739
+ }
740
+ catch (err) {
741
+ const msg = err instanceof Error ? err.message : String(err);
742
+ return { ok: false, error: msg };
743
+ }
744
+ const claudePre = readClaudeSettingsFile(claudeSettingsPath);
745
+ if (!claudePre.ok) {
746
+ return { ok: false, error: claudePre.error };
747
+ }
748
+ }
749
+ // Fresh init: write config only after host settings preflight succeeded.
609
750
  if (!configExists) {
610
751
  try {
611
752
  // Re-check immediately before wx: earlier `configExists` / mkdir leave a window
@@ -662,52 +803,6 @@ export function installInitYes(opts) {
662
803
  createdConfig = true;
663
804
  written.push(path.relative(projectRoot, configPath));
664
805
  }
665
- else if (mergePlatforms) {
666
- let existingYaml;
667
- try {
668
- existingYaml = readUntrustedUtf8File(configPath, MAX_UNTRUSTED_TEXT_BYTES, ".autopilot/config.yml");
669
- }
670
- catch (err) {
671
- const msg = err instanceof Error ? err.message : String(err);
672
- return { ok: false, error: `Cannot read config.yml: ${msg}` };
673
- }
674
- let existingPlatforms;
675
- try {
676
- existingPlatforms = readConfigPlatformsOrThrow(existingYaml);
677
- }
678
- catch (err) {
679
- const msg = err instanceof Error ? err.message : String(err);
680
- return {
681
- ok: false,
682
- error: `Cannot update platforms in config.yml: ${msg}`,
683
- };
684
- }
685
- effectivePlatforms = mergePlatformBindings(existingPlatforms, requestedPlatforms);
686
- // Only the *requested* additions must be installable (checked above).
687
- // Existing config may already declare future hosts; do not reject merge
688
- // because of those entries — install still only wires installable ports.
689
- if (effectivePlatforms.length === 0) {
690
- return {
691
- ok: false,
692
- error: "platforms list is empty after merge; refusing to update config.yml",
693
- };
694
- }
695
- if (!mergedIncludesAllRequested(effectivePlatforms, requestedPlatforms)) {
696
- return {
697
- ok: false,
698
- error: "Cannot add platform(s): platforms list is at capacity. Remove an entry from config.yml and retry.",
699
- };
700
- }
701
- try {
702
- // Fail closed early if the current snapshot cannot be rewritten.
703
- applyPlatformsToConfigYaml(existingYaml, effectivePlatforms);
704
- pendingMergePlatforms = true;
705
- }
706
- catch (err) {
707
- const msg = err instanceof Error ? err.message : String(err);
708
- return { ok: false, error: `Cannot update platforms in config.yml: ${msg}` };
709
- }
710
- }
711
806
  const primaryPlatform = primaryBinding(effectivePlatforms).id;
712
807
  const rollbackFreshConfig = () => {
713
808
  if (!createdConfig)
@@ -732,7 +827,6 @@ export function installInitYes(opts) {
732
827
  assertRealpathInside(projectRoot, binDir, ".autopilot/bin/");
733
828
  copyHookAsset(cliRoot, binDir, projectRoot);
734
829
  written.push(path.relative(projectRoot, path.join(binDir, "autopilot-harness-hook.mjs")));
735
- written.push(...installSkills(templatesRoot, projectRoot, locale));
736
830
  written.push(...installWorkflows(templatesRoot, projectRoot));
737
831
  const ignoreRel = ensureAutopilotIgnore(projectRoot, templatesRoot);
738
832
  if (ignoreRel && !written.includes(ignoreRel))
@@ -757,26 +851,107 @@ export function installInitYes(opts) {
757
851
  if (qsRel && !written.includes(qsRel))
758
852
  written.push(qsRel);
759
853
  }
760
- // Re-read hooks immediately before write to shrink TOCTOU with other tools.
761
- const hooksFresh = readHooksFile(hooksPath);
762
- if (!hooksFresh.ok) {
854
+ // Re-read every host we will write *before* mutating any of them, so a
855
+ // dual-host TOCTOU failure does not leave only one side refreshed.
856
+ let hooksFresh = null;
857
+ let claudeFresh = null;
858
+ if (wantCursor) {
859
+ hooksFresh = readHooksFile(hooksPath);
860
+ if (!hooksFresh.ok) {
861
+ rollbackFreshConfig();
862
+ return { ok: false, error: hooksFresh.error };
863
+ }
864
+ try {
865
+ assertNotSymlink(cursorDir, ".cursor/");
866
+ assertNotSymlink(hooksPath, ".cursor/hooks.json");
867
+ }
868
+ catch (err) {
869
+ rollbackFreshConfig();
870
+ const msg = err instanceof Error ? err.message : String(err);
871
+ return { ok: false, error: msg };
872
+ }
873
+ }
874
+ if (wantClaude) {
875
+ claudeFresh = readClaudeSettingsFile(claudeSettingsPath);
876
+ if (!claudeFresh.ok) {
877
+ rollbackFreshConfig();
878
+ return { ok: false, error: claudeFresh.error };
879
+ }
880
+ try {
881
+ assertNotSymlink(claudeDir, ".claude/");
882
+ assertNotSymlink(claudeSettingsPath, ".claude/settings.json");
883
+ }
884
+ catch (err) {
885
+ rollbackFreshConfig();
886
+ const msg = err instanceof Error ? err.message : String(err);
887
+ return { ok: false, error: msg };
888
+ }
889
+ }
890
+ // Fail-fast: merge the pre-skills snapshot in memory so shape errors cannot
891
+ // leave orphan host skills. Final re-read+merge happens immediately before
892
+ // writes (below) to shrink TOCTOU after skills I/O.
893
+ try {
894
+ if (wantCursor && hooksFresh?.ok) {
895
+ mergeHooksJson(hooksFresh.value);
896
+ }
897
+ if (wantClaude && claudeFresh?.ok) {
898
+ mergeClaudeSettings(claudeFresh.value);
899
+ }
900
+ }
901
+ catch (err) {
763
902
  rollbackFreshConfig();
764
- return { ok: false, error: hooksFresh.error };
903
+ const msg = err instanceof Error ? err.message : String(err);
904
+ return { ok: false, error: msg };
765
905
  }
906
+ // Host skills only after settings preflight + merge dry-run succeeded.
907
+ if (wantCursor) {
908
+ written.push(...installSkills(templatesRoot, projectRoot, locale, ".cursor"));
909
+ }
910
+ if (wantClaude) {
911
+ written.push(...installSkills(templatesRoot, projectRoot, locale, ".claude"));
912
+ }
913
+ // Final re-read + merge immediately before any host settings write.
914
+ let mergedHooks = null;
915
+ let mergedClaude = null;
766
916
  try {
767
- assertNotSymlink(cursorDir, ".cursor/");
768
- assertNotSymlink(hooksPath, ".cursor/hooks.json");
917
+ if (wantCursor) {
918
+ const hooksFinal = readHooksFile(hooksPath);
919
+ if (!hooksFinal.ok) {
920
+ rollbackFreshConfig();
921
+ return { ok: false, error: hooksFinal.error };
922
+ }
923
+ assertNotSymlink(cursorDir, ".cursor/");
924
+ assertNotSymlink(hooksPath, ".cursor/hooks.json");
925
+ mergedHooks = mergeHooksJson(hooksFinal.value);
926
+ }
927
+ if (wantClaude) {
928
+ const claudeFinal = readClaudeSettingsFile(claudeSettingsPath);
929
+ if (!claudeFinal.ok) {
930
+ rollbackFreshConfig();
931
+ return { ok: false, error: claudeFinal.error };
932
+ }
933
+ assertNotSymlink(claudeDir, ".claude/");
934
+ assertNotSymlink(claudeSettingsPath, ".claude/settings.json");
935
+ mergedClaude = mergeClaudeSettings(claudeFinal.value);
936
+ }
769
937
  }
770
938
  catch (err) {
771
939
  rollbackFreshConfig();
772
940
  const msg = err instanceof Error ? err.message : String(err);
773
941
  return { ok: false, error: msg };
774
942
  }
775
- mkdirRealDirSync(path.dirname(hooksPath), ".cursor/", projectRoot);
776
- assertRealpathInside(projectRoot, path.dirname(hooksPath), ".cursor/");
777
- const merged = mergeHooksJson(hooksFresh.value);
778
- writeFileAtomic(hooksPath, JSON.stringify(merged, null, 2) + "\n", projectRoot, ".cursor/");
779
- written.push(path.relative(projectRoot, hooksPath));
943
+ if (mergedHooks) {
944
+ mkdirRealDirSync(path.dirname(hooksPath), ".cursor/", projectRoot);
945
+ assertRealpathInside(projectRoot, path.dirname(hooksPath), ".cursor/");
946
+ writeFileAtomic(hooksPath, JSON.stringify(mergedHooks, null, 2) + "\n", projectRoot, ".cursor/");
947
+ written.push(path.relative(projectRoot, hooksPath));
948
+ }
949
+ if (mergedClaude) {
950
+ mkdirRealDirSync(path.dirname(claudeSettingsPath), ".claude/", projectRoot);
951
+ assertRealpathInside(projectRoot, path.dirname(claudeSettingsPath), ".claude/");
952
+ writeFileAtomic(claudeSettingsPath, JSON.stringify(mergedClaude, null, 2) + "\n", projectRoot, ".claude/");
953
+ written.push(path.relative(projectRoot, claudeSettingsPath));
954
+ }
780
955
  // Commit platforms merge after hooks: re-read so concurrent edits between
781
956
  // validation and commit are not silently clobbered by a stale snapshot.
782
957
  if (pendingMergePlatforms) {
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/init/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/init/install.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,11 @@ export declare function defaultSurfaceFor(platformId: string): string;
20
20
  export declare function bindingKey(b: PlatformBinding): string;
21
21
  export declare function normalizeBinding(idRaw: string, surfaceRaw?: string): PlatformBinding | null;
22
22
  export declare function isInstallableBinding(b: PlatformBinding): boolean;
23
+ /**
24
+ * Whether doctor/upgrade should require wiring for `hostId`.
25
+ * Empty / legacy platforms lists (no installable bindings) default to Cursor-only.
26
+ */
27
+ export declare function configWantsInstallableHost(platforms: readonly PlatformBinding[], hostId: string): boolean;
23
28
  /**
24
29
  * Legacy `platform`/`surface` primary: prefer an installable binding so older
25
30
  * readers are not pointed at a declared-but-unwired future host.
@@ -1 +1 @@
1
- {"version":3,"file":"platforms.d.ts","sourceRoot":"","sources":["../../src/init/platforms.ts"],"names":[],"mappings":"AAEA,sDAAsD;AACtD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,uEAAuE;AACvE,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,eAAe,EAEzD,CAAC;AAEH,+EAA+E;AAC/E,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAQxC,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQtD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQrD;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAErD;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,GAClB,eAAe,GAAG,IAAI,CAUxB;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,CAGhE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,SAAS,eAAe,EAAE,GACpC,eAAe,CAKjB;AAED,oEAAoE;AACpE,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAenE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,SAAS,eAAe,EAAE,EACpC,SAAS,EAAE,SAAS,eAAe,EAAE,GACpC,eAAe,EAAE,CAsBnB;AAED;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GAClC,eAAe,EAAE,CAiBnB;AAwCD,0EAA0E;AAC1E,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,eAAe,CAAC,EAAE,MAAM,GACvB,eAAe,EAAE,CAyBnB;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,eAAe,EAAE,GACpC,MAAM,GAAG,IAAI,CAaf;AAED,wEAAwE;AACxE,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,eAAe,EAAE,EAClC,SAAS,EAAE,SAAS,eAAe,EAAE,GACpC,OAAO,CAQT;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,SAAS,eAAe,EAAE,GACpC,MAAM,CAgCR;AAED,4EAA4E;AAC5E,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,SAAS,eAAe,EAAE,GACpC,MAAM,CASR"}
1
+ {"version":3,"file":"platforms.d.ts","sourceRoot":"","sources":["../../src/init/platforms.ts"],"names":[],"mappings":"AAEA,sDAAsD;AACtD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,uEAAuE;AACvE,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,eAAe,EAGzD,CAAC;AAEH,+EAA+E;AAC/E,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAQxC,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQtD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQrD;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAErD;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,GAClB,eAAe,GAAG,IAAI,CAUxB;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,CAGhE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,eAAe,EAAE,EACrC,MAAM,EAAE,MAAM,GACb,OAAO,CAOT;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,SAAS,eAAe,EAAE,GACpC,eAAe,CAKjB;AAED,oEAAoE;AACpE,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAmBnE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,SAAS,eAAe,EAAE,EACpC,SAAS,EAAE,SAAS,eAAe,EAAE,GACpC,eAAe,EAAE,CAsBnB;AAED;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GAClC,eAAe,EAAE,CAiBnB;AAwCD,0EAA0E;AAC1E,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,eAAe,CAAC,EAAE,MAAM,GACvB,eAAe,EAAE,CAyBnB;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,eAAe,EAAE,GACpC,MAAM,GAAG,IAAI,CAaf;AAED,wEAAwE;AACxE,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,eAAe,EAAE,EAClC,SAAS,EAAE,SAAS,eAAe,EAAE,GACpC,OAAO,CAQT;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,SAAS,eAAe,EAAE,GACpC,MAAM,CAgCR;AAED,4EAA4E;AAC5E,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,SAAS,eAAe,EAAE,GACpC,MAAM,CASR"}