claude-nomad 0.48.0 → 0.50.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 +22 -0
- package/README.md +40 -9
- package/dist/nomad.mjs +604 -210
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.50.0](https://github.com/funkadelic/claude-nomad/compare/v0.49.0...v0.50.0) (2026-06-11)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Added
|
|
7
|
+
|
|
8
|
+
* **extras-sync:** overlay .planning sync so repo-only files survive ([#283](https://github.com/funkadelic/claude-nomad/issues/283)) ([8ba7e13](https://github.com/funkadelic/claude-nomad/commit/8ba7e1372a973b5d0434e7180595ddfaff2369e0))
|
|
9
|
+
* **pull:** self-heal unmerged-index wedge with no active rebase ([#286](https://github.com/funkadelic/claude-nomad/issues/286)) ([977534c](https://github.com/funkadelic/claude-nomad/commit/977534c56c6160e81a835189db21913424a20242))
|
|
10
|
+
* **sync:** stop double-managing gsd-owned hooks, agents, and skills ([#285](https://github.com/funkadelic/claude-nomad/issues/285)) ([aabfd8a](https://github.com/funkadelic/claude-nomad/commit/aabfd8a96ab80dc998b8df27d64f98ceaa33ec49))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Documentation
|
|
14
|
+
|
|
15
|
+
* add GSD-aware sync page and document plugin minimum CLI version ([#287](https://github.com/funkadelic/claude-nomad/issues/287)) ([6ac4320](https://github.com/funkadelic/claude-nomad/commit/6ac4320dca12f959bd6329f0e1c813408a3b9c6a))
|
|
16
|
+
* **plugin:** clarify CLI-subcommand wording in version-floor note ([#288](https://github.com/funkadelic/claude-nomad/issues/288)) ([d45adee](https://github.com/funkadelic/claude-nomad/commit/d45adeed8d01515e6cb94f6ac72feced2fb31a52))
|
|
17
|
+
|
|
18
|
+
## [0.49.0](https://github.com/funkadelic/claude-nomad/compare/v0.48.0...v0.49.0) (2026-06-10)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
|
|
23
|
+
* **plugin:** add companion Claude Code plugin ([#281](https://github.com/funkadelic/claude-nomad/issues/281)) ([af85994](https://github.com/funkadelic/claude-nomad/commit/af859940453b6f9419d26072be4b0e04aaea1e8f))
|
|
24
|
+
|
|
3
25
|
## [0.48.0](https://github.com/funkadelic/claude-nomad/compare/v0.47.1...v0.48.0) (2026-06-09)
|
|
4
26
|
|
|
5
27
|
|
package/README.md
CHANGED
|
@@ -27,8 +27,11 @@ survives different file paths and your secrets never ride along.
|
|
|
27
27
|
`claude --resume` on your laptop, and it is there. claude-nomad rewrites the machine-specific file
|
|
28
28
|
paths Claude Code embeds in every transcript, so history survives projects living at different
|
|
29
29
|
paths on different hosts.
|
|
30
|
-
- **One shared setup, per-machine exceptions.**
|
|
31
|
-
|
|
30
|
+
- **One shared setup, per-machine exceptions.** Your own skills, slash commands, rules, and your
|
|
31
|
+
`CLAUDE.md` live in one place and follow you everywhere. `hooks/` and `agents/` are installed
|
|
32
|
+
per-host by `@opengsd/gsd-core` via npm and are not synced (syncing them caused version-skew
|
|
33
|
+
churn). Skills sync as a filtered copy: your own skills travel, `gsd-*` skills are excluded (see
|
|
34
|
+
`SHARED_LINKS` and `src/skills-sync.ts` in `src/config.ts`). Settings merge a shared base with a
|
|
32
35
|
per-host override, so one machine can run a different model or MCP URL without forking the rest.
|
|
33
36
|
- **Every push is secret-scanned.** Only an explicit allow-list of paths ever leaves the machine,
|
|
34
37
|
credentials never sync, and gitleaks scans the exact files about to be published. The push aborts
|
|
@@ -41,8 +44,11 @@ survives different file paths and your secrets never ride along.
|
|
|
41
44
|
when `~/.claude/settings.json` no longer matches the base+host merge nomad would write, the
|
|
42
45
|
silent-clobber case, with `nomad pull` as the fix), each with a fix hint.
|
|
43
46
|
- **Self-healing sync.** Every overwrite is backed up first, and `nomad pull --force-remote`
|
|
44
|
-
recovers
|
|
45
|
-
|
|
47
|
+
recovers two kinds of stuck sync repo: a repo stuck mid-rebase or mid-merge (aborts the operation,
|
|
48
|
+
parks stranded work on a branch, refuses if shared config is at risk), and a repo where the rebase
|
|
49
|
+
was interrupted but the git index was left with unmerged entries and no active operation (clears
|
|
50
|
+
the index via `git reset --mixed HEAD`, surfaces any orphaned stash entry left by the interrupted
|
|
51
|
+
autostash, never discards working-tree edits).
|
|
46
52
|
- **Easy off.** `nomad eject` replaces every managed `~/.claude/` symlink with a real copy in one
|
|
47
53
|
step, so your setup keeps working after you delete the sync checkout and uninstall the CLI.
|
|
48
54
|
|
|
@@ -105,11 +111,32 @@ All allow paths always re-scan after writing the allowlist; a surviving finding
|
|
|
105
111
|
push. See [Recovery flows](https://funkadelic.github.io/claude-nomad/recovery/) for the full
|
|
106
112
|
decision tree.
|
|
107
113
|
|
|
108
|
-
If a previous `nomad pull` left the sync repo stuck
|
|
109
|
-
|
|
110
|
-
commits on a `nomad/stranded-<ts>` branch,
|
|
111
|
-
|
|
112
|
-
|
|
114
|
+
If a previous `nomad pull` left the sync repo in a stuck state, run `nomad pull --force-remote` to
|
|
115
|
+
auto-recover. It handles two cases: a repo stuck mid-rebase or mid-merge (aborts the in-progress
|
|
116
|
+
operation, parks stranded commits on a `nomad/stranded-<ts>` branch, resets to `origin/main`, then
|
|
117
|
+
re-pulls; refuses if stranded or dirty tracked changes touch synced config), and a repo where the
|
|
118
|
+
rebase was torn down but the git index still has unmerged entries with no active rebase or merge in
|
|
119
|
+
progress (clears the stuck index via `git reset --mixed HEAD`, preserving working-tree edits,
|
|
120
|
+
surfaces any orphaned autostash entry, then re-pulls). Run `nomad doctor` first if you are unsure
|
|
121
|
+
which state you are in; the Repository section names the specific problem and points at the right
|
|
122
|
+
fix.
|
|
123
|
+
|
|
124
|
+
## Claude Code plugin
|
|
125
|
+
|
|
126
|
+
An optional companion plugin puts nomad one slash away inside Claude Code and warns you at session
|
|
127
|
+
start when your synced setup has drifted. It is a thin layer over the CLI: install `claude-nomad`
|
|
128
|
+
first (minimum version `>= 0.35.0`), then add the plugin.
|
|
129
|
+
|
|
130
|
+
```text
|
|
131
|
+
/plugin marketplace add funkadelic/claude-nomad
|
|
132
|
+
/plugin install nomad@claude-nomad
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
It adds `/nomad:pull`, `/nomad:diff`, `/nomad:push` (preview only), `/nomad:doctor`, and
|
|
136
|
+
`/nomad:clean`, plus a session-start drift check. The plugin versions independently from the CLI,
|
|
137
|
+
but requires nomad `>= 0.35.0` because it calls recent subcommands (`nomad diff`,
|
|
138
|
+
`nomad clean --backups`) and reads the doctor command's status output. See the
|
|
139
|
+
[plugin guide](https://funkadelic.github.io/claude-nomad/plugin/) for details.
|
|
113
140
|
|
|
114
141
|
## Requirements
|
|
115
142
|
|
|
@@ -125,9 +152,13 @@ version-staleness check and `nomad doctor --check-schema`. The CLI works without
|
|
|
125
152
|
|
|
126
153
|
- [How it works](https://funkadelic.github.io/claude-nomad/how-it-works/) -- path remapping,
|
|
127
154
|
settings merge, what syncs and what doesn't
|
|
155
|
+
- [GSD-aware sync](https://funkadelic.github.io/claude-nomad/gsd-aware-sync/) -- what nomad does for
|
|
156
|
+
GSD users out of the box
|
|
128
157
|
- [Setup and migration](https://funkadelic.github.io/claude-nomad/quickstart/) -- full setup
|
|
129
158
|
walkthrough, migrating an existing `~/.claude/`
|
|
130
159
|
- [Commands reference](https://funkadelic.github.io/claude-nomad/commands/) -- all CLI flags
|
|
160
|
+
- [Claude Code plugin](https://funkadelic.github.io/claude-nomad/plugin/) -- /nomad slash commands
|
|
161
|
+
and the session-start drift check
|
|
131
162
|
- [Recovery flows](https://funkadelic.github.io/claude-nomad/recovery/) -- backups, drop-session,
|
|
132
163
|
redact, gitleaks allowlist, non-interactive allow
|
|
133
164
|
- [FAQ](https://funkadelic.github.io/claude-nomad/faq/) -- common questions, like the right
|