@nolto/cli 0.8.1 → 0.10.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/README.md +39 -4
- package/dist/index.js +804 -118
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -45,7 +45,7 @@ nolto whoami # Show resolved auth/config state and project count
|
|
|
45
45
|
```bash
|
|
46
46
|
nolto link <projectId> # Write or update nolto.json at the repository root
|
|
47
47
|
nolto link --show # Show the current binding, source, and repository identity
|
|
48
|
-
nolto link --rebind
|
|
48
|
+
nolto link --rebind [--yes] # Rebind the project to this repository (owner only)
|
|
49
49
|
nolto link --unlink # Remove projectId from nolto.json
|
|
50
50
|
```
|
|
51
51
|
|
|
@@ -53,8 +53,11 @@ Commit `nolto.json` so everyone working in the repository targets the same Nolto
|
|
|
53
53
|
project. A Nolto project is bound to the first repository identity it syncs from.
|
|
54
54
|
The identity is the normalized `origin` remote, or a machine ID plus path when no
|
|
55
55
|
remote is available. Syncing from a different repository fails with
|
|
56
|
-
`409 repo_mismatch`.
|
|
57
|
-
|
|
56
|
+
`409 repo_mismatch`. Before rebinding, run `nolto link --show` and confirm that
|
|
57
|
+
the project ID is intended for this repository. An owner can then run
|
|
58
|
+
`nolto link --rebind` in the correct repository to change the binding, at most
|
|
59
|
+
once every seven days. The command shows the project name and asks for
|
|
60
|
+
confirmation; pass `--yes` (`-y`) to skip the prompt.
|
|
58
61
|
|
|
59
62
|
CLI versions older than 0.8.0 do not send a repository identity and receive
|
|
60
63
|
`426`; run `nolto update` before syncing.
|
|
@@ -63,6 +66,9 @@ CLI versions older than 0.8.0 do not send a repository identity and receive
|
|
|
63
66
|
|
|
64
67
|
```bash
|
|
65
68
|
nolto sync # Push roadmap JSON files and linked plan Markdown
|
|
69
|
+
nolto diff [slug] # Compare local and server roadmaps without changing them
|
|
70
|
+
nolto pull [slug] # Overwrite local roadmap files from the server
|
|
71
|
+
nolto pull --merge [slug] # Structurally merge server and local roadmaps
|
|
66
72
|
nolto watch [--debounce <ms>] # Watch registered repositories and auto-sync
|
|
67
73
|
nolto watch --install-service # Install the Linux systemd user service
|
|
68
74
|
```
|
|
@@ -78,6 +84,35 @@ repositories are skipped with a warning.
|
|
|
78
84
|
The CLI warns when an installed `roadmap-progress` skill version differs from the
|
|
79
85
|
CLI version; run `nolto init` in that repository to refresh it.
|
|
80
86
|
|
|
87
|
+
Use `nolto diff [slug]` before pushing to review structural task, phase, and
|
|
88
|
+
metadata differences. It exits with code 1 when differences are found and does
|
|
89
|
+
not change either side. `nolto pull [slug]` downloads all server roadmaps, or one
|
|
90
|
+
named roadmap, and intentionally overwrites the corresponding local files after
|
|
91
|
+
validation. It never deletes local-only roadmaps. Add `--merge` to preserve valid
|
|
92
|
+
local changes using a deterministic structural merge, and review the result with
|
|
93
|
+
`git diff` before committing.
|
|
94
|
+
|
|
95
|
+
## Merging roadmap conflicts
|
|
96
|
+
|
|
97
|
+
Roadmap files use Nolto's structural Git merge driver. The repository attribute
|
|
98
|
+
and local Git configuration are:
|
|
99
|
+
|
|
100
|
+
```text
|
|
101
|
+
.nolto/roadmaps/*.json merge=nolto-roadmap
|
|
102
|
+
git config --local merge.nolto-roadmap.driver "nolto merge-file %A %B --base %O"
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
`nolto init` sets up both entries for the current repository and is safe to run
|
|
106
|
+
again for an existing repository. Git invokes the underlying command as:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
nolto merge-file <ours> <theirs> --base <ancestor>
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
The result is written to `<ours>` as required by Git. Use
|
|
113
|
+
`nolto pull --merge [slug]` when the server has changes that should be combined
|
|
114
|
+
with a valid local roadmap before syncing.
|
|
115
|
+
|
|
81
116
|
## Configuration
|
|
82
117
|
|
|
83
118
|
The config file is `~/.config/nolto/config.json` (or
|
|
@@ -139,7 +174,7 @@ Errors are written to stderr:
|
|
|
139
174
|
| Code | Meaning |
|
|
140
175
|
|---|---|
|
|
141
176
|
| 0 | Success |
|
|
142
|
-
| 1 |
|
|
177
|
+
| 1 | Roadmap differences found (`nolto diff`) or unexpected command failure |
|
|
143
178
|
| 2 | Local input or file validation error |
|
|
144
179
|
| 3 | Authentication or authorization error |
|
|
145
180
|
| 4 | Rate limit response |
|