claude-nomad 0.52.4 → 0.53.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.53.1](https://github.com/funkadelic/claude-nomad/compare/v0.53.0...v0.53.1) (2026-06-21)
4
+
5
+
6
+ ### Testing
7
+
8
+ * **doctor:** assert okGlyph in verbose tree so release publish passes ([#334](https://github.com/funkadelic/claude-nomad/issues/334)) ([b587e99](https://github.com/funkadelic/claude-nomad/commit/b587e99bcadb4802a6cf9edcc9a139d84b479e86))
9
+
10
+ ## [0.53.0](https://github.com/funkadelic/claude-nomad/compare/v0.52.4...v0.53.0) (2026-06-21)
11
+
12
+
13
+ ### Added
14
+
15
+ * **doctor:** compact default output with --verbose/--all/-v flag ([#327](https://github.com/funkadelic/claude-nomad/issues/327)) ([654dc91](https://github.com/funkadelic/claude-nomad/commit/654dc9174459efe0d89af2b92771bf68057e13a9))
16
+
17
+
18
+ ### Changed
19
+
20
+ * **docs:** add docs-sync gate requiring docs updates with CLI changes ([#328](https://github.com/funkadelic/claude-nomad/issues/328)) ([da2ffe9](https://github.com/funkadelic/claude-nomad/commit/da2ffe9c53824a847bb12d25b7dc879695623c13))
21
+ * drop dead exports flagged by fallow and knip; add knip config ([#330](https://github.com/funkadelic/claude-nomad/issues/330)) ([da8bab5](https://github.com/funkadelic/claude-nomad/commit/da8bab52bb9c5e457cda552b46a1dedabb00a805))
22
+
23
+
24
+ ### Documentation
25
+
26
+ * **plugin:** add marketplace description and plugin keywords ([#331](https://github.com/funkadelic/claude-nomad/issues/331)) ([51ce1f8](https://github.com/funkadelic/claude-nomad/commit/51ce1f8604002dd15a9812d0411b5d0ac17e84eb))
27
+ * **plugin:** sync plugin and marketplace descriptions ([#332](https://github.com/funkadelic/claude-nomad/issues/332)) ([33c58b2](https://github.com/funkadelic/claude-nomad/commit/33c58b21f0fcb68320cf9c051b67fde119c94b68))
28
+ * **site:** add privacy page ([#333](https://github.com/funkadelic/claude-nomad/issues/333)) ([f8f17da](https://github.com/funkadelic/claude-nomad/commit/f8f17da5bcd06d25eb6a26f328133b7083371e99))
29
+
3
30
  ## [0.52.4](https://github.com/funkadelic/claude-nomad/compare/v0.52.3...v0.52.4) (2026-06-20)
4
31
 
5
32
 
package/README.md CHANGED
@@ -49,7 +49,9 @@ survives different file paths and your secrets never ride along.
49
49
  directions: keys present in the repo merge but absent from your live `settings.json` (behind; the
50
50
  next `nomad pull` will restore them, fix: `nomad pull`) and keys present locally but not yet in
51
51
  the repo (ahead; local-only additions, fix: `nomad capture-settings`). Each issue includes a fix
52
- hint.
52
+ hint. By default the report is compact: it shows only checks that need action plus a one-line
53
+ verdict. Add `--verbose` (or `--all` / `-v`) to see the full per-check tree, including everything
54
+ that passed.
53
55
  - **Self-healing sync.** Every overwrite is backed up first, and `nomad pull --force-remote`
54
56
  recovers two kinds of stuck sync repo: a repo stuck mid-rebase or mid-merge (aborts the operation,
55
57
  parks stranded work on a branch, refuses if shared config is at risk), and a repo where the rebase
package/dist/nomad.mjs CHANGED
@@ -4440,6 +4440,25 @@ function buildVerdictSection(sections) {
4440
4440
  return summary;
4441
4441
  }
4442
4442
 
4443
+ // src/commands.doctor.compact.ts
4444
+ init_color();
4445
+ var ALWAYS_FULL = /* @__PURE__ */ new Set(["Nomad Version", "Summary", "Shared scan", "Schema scan"]);
4446
+ function isProblem(item2) {
4447
+ return item2.includes(failGlyph) || item2.includes(warnGlyph);
4448
+ }
4449
+ function isRepoStateLine(item2) {
4450
+ return item2.includes("repo state:");
4451
+ }
4452
+ function compactSections(sections) {
4453
+ return sections.map((s) => {
4454
+ if (ALWAYS_FULL.has(s.header)) return s;
4455
+ if (s.header === "Environment") {
4456
+ return { ...s, items: s.items.filter((it) => isRepoStateLine(it) || isProblem(it)) };
4457
+ }
4458
+ return { ...s, items: s.items.filter(isProblem) };
4459
+ });
4460
+ }
4461
+
4443
4462
  // src/commands.doctor.ts
4444
4463
  function gatherDoctorSections(opts) {
4445
4464
  const host = section("Environment");
@@ -4510,7 +4529,26 @@ function cmdDoctor(opts = {}) {
4510
4529
  } finally {
4511
4530
  sp.stop();
4512
4531
  }
4513
- renderDoctor(report);
4532
+ renderDoctor(opts.verbose === true ? report : compactSections(report));
4533
+ }
4534
+
4535
+ // src/nomad.dispatch.doctor.ts
4536
+ function parseDoctorArgs(args) {
4537
+ if (args[0] === "--resume-cmd") {
4538
+ const id = args[1];
4539
+ if (args.length !== 2 || id.length === 0) return { kind: "error" };
4540
+ return { kind: "resume", id };
4541
+ }
4542
+ let checkShared = false;
4543
+ let checkSchema = false;
4544
+ let verbose = false;
4545
+ for (const arg of args) {
4546
+ if (arg === "--check-shared") checkShared = true;
4547
+ else if (arg === "--check-schema") checkSchema = true;
4548
+ else if (arg === "--verbose" || arg === "--all" || arg === "-v") verbose = true;
4549
+ else return { kind: "error" };
4550
+ }
4551
+ return { kind: "run", checkShared, checkSchema, verbose };
4514
4552
  }
4515
4553
 
4516
4554
  // src/commands.drop-session.ts
@@ -6805,7 +6843,7 @@ function parsePushArgs(argv) {
6805
6843
  // package.json
6806
6844
  var package_default = {
6807
6845
  name: "claude-nomad",
6808
- version: "0.52.4",
6846
+ version: "0.53.1",
6809
6847
  type: "module",
6810
6848
  description: "Sync Claude Code config (~/.claude/) across machines via a private Git repo, with path remapping and per-host settings overrides.",
6811
6849
  keywords: [
@@ -6945,7 +6983,8 @@ var DEFAULT_HELP = [
6945
6983
  ),
6946
6984
  "",
6947
6985
  row(" doctor", "Read-only health check (symlinks, host file, path-map,"),
6948
- cont("gitleaks, gitlinks)."),
6986
+ cont("gitleaks, gitlinks). Compact by default: shows problems plus a verdict."),
6987
+ row(" --verbose, --all, -v", "Show the full per-check tree, including passing checks."),
6949
6988
  row(" --check-shared", "Preflight gitleaks scan of the session transcripts a"),
6950
6989
  cont("`nomad push` would stage (a temp copy, never the live dir)."),
6951
6990
  row(" --check-schema", "Flag settings.json keys absent from the live published"),
@@ -7205,27 +7244,24 @@ try {
7205
7244
  });
7206
7245
  break;
7207
7246
  }
7208
- case "doctor":
7209
- if (process.argv[3] === void 0) {
7210
- cmdDoctor();
7211
- } else if (process.argv[3] === "--check-shared" && process.argv.length === 4) {
7212
- cmdDoctor({ checkShared: true });
7213
- } else if (process.argv[3] === "--check-schema" && process.argv.length === 4) {
7214
- cmdDoctor({ checkSchema: true });
7215
- } else if (process.argv[3] === "--resume-cmd") {
7216
- const id = process.argv[4];
7217
- if (process.argv.length !== 5 || typeof id !== "string" || id.length === 0) {
7218
- console.error("usage: nomad doctor --resume-cmd <session-id>");
7219
- process.exit(1);
7220
- }
7221
- resumeCmd(id);
7222
- } else {
7247
+ case "doctor": {
7248
+ const parsed = parseDoctorArgs(process.argv.slice(3));
7249
+ if (parsed.kind === "error") {
7223
7250
  console.error(
7224
- "usage: nomad doctor [--check-shared | --check-schema | --resume-cmd <session-id>]"
7251
+ "usage: nomad doctor [--check-shared] [--check-schema] [--verbose|--all|-v] | --resume-cmd <session-id>"
7225
7252
  );
7226
7253
  process.exit(1);
7254
+ } else if (parsed.kind === "resume") {
7255
+ resumeCmd(parsed.id);
7256
+ } else {
7257
+ cmdDoctor({
7258
+ checkShared: parsed.checkShared,
7259
+ checkSchema: parsed.checkSchema,
7260
+ verbose: parsed.verbose
7261
+ });
7227
7262
  }
7228
7263
  break;
7264
+ }
7229
7265
  case "drop-session": {
7230
7266
  const id = process.argv[3];
7231
7267
  if (process.argv.length !== 4 || typeof id !== "string" || !/^\w[\w-]{0,127}$/.test(id)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-nomad",
3
- "version": "0.52.4",
3
+ "version": "0.53.1",
4
4
  "type": "module",
5
5
  "description": "Sync Claude Code config (~/.claude/) across machines via a private Git repo, with path remapping and per-host settings overrides.",
6
6
  "keywords": [