claude-nomad 0.62.5 → 0.63.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/CHANGELOG.md +48 -0
- package/README.md +27 -10
- package/dist/nomad.mjs +735 -455
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,53 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.63.0](https://github.com/funkadelic/claude-nomad/compare/v0.62.6...v0.63.0) (2026-07-31)
|
|
4
|
+
|
|
5
|
+
### What's new
|
|
6
|
+
|
|
7
|
+
- **Windows: your own edits to shared config are no longer reverted.** On Windows, editing a synced
|
|
8
|
+
file like `~/.claude/CLAUDE.md` and then running `nomad pull` overwrote it from the repo, and
|
|
9
|
+
`nomad sync` went on to publish the reverted version, silently undoing the change you ran sync to
|
|
10
|
+
publish. Your edit is now carried into the sync repo first, so it survives the pull and gets
|
|
11
|
+
published instead.
|
|
12
|
+
- **The secret prompt on push is readable and asks once per secret.** When a push finds a possible
|
|
13
|
+
secret it used to ask the same question several times over for one secret, and the snippet it
|
|
14
|
+
showed was mostly noise. It now asks once per secret and describes what was actually found, so you
|
|
15
|
+
can tell a real credential from a false positive at a glance.
|
|
16
|
+
- **Three ways that prompt could show you a secret it meant to hide are closed**, along with a case
|
|
17
|
+
where allowing one false positive could quietly let a real secret through beside it on the same
|
|
18
|
+
line.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
|
|
23
|
+
* **pull:** stop Windows pulls reverting unpublished shared-config edits ([#476](https://github.com/funkadelic/claude-nomad/issues/476)) ([16fa692](https://github.com/funkadelic/claude-nomad/commit/16fa6925477fb56dd0104c8106cbdaf2ff27539d))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
|
|
28
|
+
* **push:** rework the leak recovery prompt and close disclosure paths ([#477](https://github.com/funkadelic/claude-nomad/issues/477)) ([a1ccb9a](https://github.com/funkadelic/claude-nomad/commit/a1ccb9af7ac718ee43a5629f9d5ee6ca89c84114))
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### Testing
|
|
32
|
+
|
|
33
|
+
* **push:** close doMock/doUnmock asymmetry in the push cluster ([#475](https://github.com/funkadelic/claude-nomad/issues/475)) ([9c0d5ab](https://github.com/funkadelic/claude-nomad/commit/9c0d5abf32e3478b85550ee18365bffab425f193))
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### Dependencies
|
|
37
|
+
|
|
38
|
+
* bump actions/checkout from 7.0.0 to 7.0.1 ([#470](https://github.com/funkadelic/claude-nomad/issues/470)) ([4b74689](https://github.com/funkadelic/claude-nomad/commit/4b74689b6b857aeddeb040113e50488fdc0ab2fa))
|
|
39
|
+
* bump actions/labeler from 6.2.0 to 7.0.0 ([#469](https://github.com/funkadelic/claude-nomad/issues/469)) ([8a6d413](https://github.com/funkadelic/claude-nomad/commit/8a6d413aa815fa7c2070c29c76d5d5688146ffbd))
|
|
40
|
+
* bump the codeql-action group with 2 updates ([#468](https://github.com/funkadelic/claude-nomad/issues/468)) ([d19e7fd](https://github.com/funkadelic/claude-nomad/commit/d19e7fdad1d24f8917c10c9e398cc8c89db9c289))
|
|
41
|
+
* bump the dev-dependencies group across 1 directory with 6 updates ([#471](https://github.com/funkadelic/claude-nomad/issues/471)) ([971a82f](https://github.com/funkadelic/claude-nomad/commit/971a82f6dac29dacfa0681b15b33e616dbbdef99))
|
|
42
|
+
* bump the prod-dependencies group across 1 directory with 2 updates ([#474](https://github.com/funkadelic/claude-nomad/issues/474)) ([ea259dd](https://github.com/funkadelic/claude-nomad/commit/ea259dd169ce2d7beba9bef83581199ebea5a167))
|
|
43
|
+
|
|
44
|
+
## [0.62.6](https://github.com/funkadelic/claude-nomad/compare/v0.62.5...v0.62.6) (2026-07-25)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
### Fixed
|
|
48
|
+
|
|
49
|
+
* **nomad:** treat a Ctrl+C prompt abort as a user cancel ([#466](https://github.com/funkadelic/claude-nomad/issues/466)) ([6250627](https://github.com/funkadelic/claude-nomad/commit/62506279155fe02c067675271fa9bc02f341a14b))
|
|
50
|
+
|
|
3
51
|
## [0.62.5](https://github.com/funkadelic/claude-nomad/compare/v0.62.4...v0.62.5) (2026-07-24)
|
|
4
52
|
|
|
5
53
|
|
package/README.md
CHANGED
|
@@ -119,8 +119,22 @@ $ nomad pull
|
|
|
119
119
|
|
|
120
120
|
### Windows
|
|
121
121
|
|
|
122
|
-
claude-nomad
|
|
123
|
-
|
|
122
|
+
claude-nomad runs natively on Windows (PowerShell or cmd), and WSL2 works too. The everyday loop is
|
|
123
|
+
the same either way; the difference is under the hood.
|
|
124
|
+
|
|
125
|
+
On macOS, Linux, and WSL2, claude-nomad symlinks your shared config into `~/.claude/`, so there is
|
|
126
|
+
only ever one file: the one in your sync repo. Native Windows cannot use symlinks, because creating
|
|
127
|
+
one there needs Developer Mode or admin rights, so claude-nomad keeps a real copy there instead.
|
|
128
|
+
That leaves two files to keep in step, and claude-nomad does it for you: `nomad pull` and
|
|
129
|
+
`nomad sync` both copy your edits into the repo before they fetch, so an unpublished edit is never
|
|
130
|
+
overwritten. Enabling Developer Mode does not change this; copies are used on every native Windows
|
|
131
|
+
host either way.
|
|
132
|
+
|
|
133
|
+
Two things are genuinely Windows-only, both covered in the bullets below: a `.gitleaksignore` allow
|
|
134
|
+
entry may not travel to a macOS or Linux host, and deep session paths can hit Windows's
|
|
135
|
+
260-character path limit.
|
|
136
|
+
|
|
137
|
+
The native Windows steps are the same as above with a couple of PowerShell-specific swaps:
|
|
124
138
|
|
|
125
139
|
```powershell
|
|
126
140
|
# 1. Install the CLI.
|
|
@@ -148,13 +162,14 @@ A few Windows-specific things worth knowing:
|
|
|
148
162
|
use Scoop). `nomad doctor` prints the same hint whenever gitleaks is missing from PATH.
|
|
149
163
|
- **Shared config is copied, not symlinked.** On macOS and Linux, files like `CLAUDE.md` and your
|
|
150
164
|
skills live in the sync repo and are symlinked into `~/.claude/`, so there is one source of truth
|
|
151
|
-
on disk. Creating a symlink on Windows needs Developer Mode or admin rights, so on Windows
|
|
152
|
-
are real copies instead
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
165
|
+
on disk. Creating a symlink on Windows needs Developer Mode or admin rights, so on native Windows
|
|
166
|
+
these are real copies instead, whether or not you have Developer Mode enabled. WSL2 is unaffected
|
|
167
|
+
and behaves like Linux. What this means for you: nothing extra. On Windows both `nomad pull` and
|
|
168
|
+
`nomad sync` mirror your local copies into the repo before they fetch, so an unpublished edit is
|
|
169
|
+
captured rather than reverted. The one command that deliberately takes the repo's version is
|
|
170
|
+
`nomad pull --force-remote`, which is what that flag is for; the copy it replaces is snapshotted
|
|
171
|
+
to the backup dir first. This is the same behavior claude-nomad's `skills/` sync already has on
|
|
172
|
+
every platform.
|
|
158
173
|
- **A `.gitleaksignore` allow entry may not travel across hosts.** gitleaks fingerprints each
|
|
159
174
|
finding using the file path exactly as it saw it: backslashes on Windows, forward slashes on
|
|
160
175
|
macOS/Linux. If you allow a finding with `nomad push --allow` (or `nomad allow`) on Windows, the
|
|
@@ -313,6 +328,7 @@ branch on `$?` without parsing stderr text.
|
|
|
313
328
|
| 2 | Usage | Bad argv: an unknown subcommand, an unknown flag, or a malformed flag value. |
|
|
314
329
|
| 4 | Conflict | The sync repo is wedged (e.g. an unresolved rebase) and needs manual git resolution. |
|
|
315
330
|
| 5 | Leak blocked | gitleaks confirmed a secret in the staged tree and the push was aborted. |
|
|
331
|
+
| 130 | Interrupted | You pressed Ctrl+C at an interactive prompt, so nomad stopped without finishing. |
|
|
316
332
|
|
|
317
333
|
A run skipped because another nomad process already holds the lock also exits 0: this is an
|
|
318
334
|
intentional no-op skip, not a failure, so a backgrounded shell-rc or cron invocation never raises a
|
|
@@ -323,7 +339,8 @@ false alarm from a concurrent run. Value `3` is reserved for future use.
|
|
|
323
339
|
If `nomad` ever hits an unexpected bug, it no longer dumps a raw stack trace at you. Instead it
|
|
324
340
|
prints a short "this looks like a bug" banner (with a link to the issue tracker) and writes a small
|
|
325
341
|
report you can attach to a bug report if you choose. The exit code is unchanged: an unexpected crash
|
|
326
|
-
exits `1`, and a documented failure still exits with its own code from the table above.
|
|
342
|
+
exits `1`, and a documented failure still exits with its own code from the table above. A prompt you
|
|
343
|
+
cancel yourself is not a crash: it exits `130` and writes no report.
|
|
327
344
|
|
|
328
345
|
What this means for you:
|
|
329
346
|
|