compass-st 1.1.3 → 1.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.
package/README.md CHANGED
@@ -28,12 +28,6 @@ Writing product documentation — PRDs, epics, user stories — is mechanical wo
28
28
  npx compass-st
29
29
  ```
30
30
 
31
- Or, if `npx` is rate-limited:
32
-
33
- ```bash
34
- curl -fsSL https://raw.githubusercontent.com/mrmandovn/compass/main/bootstrap.sh | bash
35
- ```
36
-
37
31
  **Requires:** macOS or Linux, Node ≥ 16. Rust toolchain is optional — without it the markdown workflows still work; with it you also get the `compass-cli` binary (validators, project registry, memory).
38
32
 
39
33
  ---
@@ -151,11 +145,10 @@ Tested with Claude Opus/Sonnet, GPT-4, Gemini, GLM, DeepSeek, Qwen.
151
145
  ## Update
152
146
 
153
147
  ```bash
154
- cd ~/.compass && git fetch origin main && git reset --hard origin/main
155
- ./bin/install
148
+ npx compass-st
156
149
  ```
157
150
 
158
- `bootstrap.sh` preserves `~/.compass/projects.json` + `~/.compass/global-config.json` across any reset.
151
+ Re-running the installer is idempotent: it pulls the latest source into `~/.compass/`, rebuilds the CLI, and preserves your `~/.compass/projects.json` + `~/.compass/global-config.json` across the update.
159
152
 
160
153
  ---
161
154
 
package/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.3
1
+ 1.2.0
package/bin/install CHANGED
@@ -47,9 +47,6 @@ if (hasHelp) {
47
47
  npx compass-st --local Install to ./.claude/ only
48
48
  npx compass-st --uninstall Remove Compass
49
49
  npx compass-st --help Show this help
50
-
51
- ${bold('ALTERNATIVE')}
52
- curl -fsSL https://raw.githubusercontent.com/mrmandovn/compass/main/bootstrap.sh | bash
53
50
  `);
54
51
  process.exit(0);
55
52
  }
package/cli/Cargo.lock CHANGED
@@ -11,6 +11,18 @@ dependencies = [
11
11
  "memchr",
12
12
  ]
13
13
 
14
+ [[package]]
15
+ name = "anyhow"
16
+ version = "1.0.102"
17
+ source = "registry+https://github.com/rust-lang/crates.io-index"
18
+ checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
19
+
20
+ [[package]]
21
+ name = "bitflags"
22
+ version = "2.11.1"
23
+ source = "registry+https://github.com/rust-lang/crates.io-index"
24
+ checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3"
25
+
14
26
  [[package]]
15
27
  name = "block-buffer"
16
28
  version = "0.10.4"
@@ -28,7 +40,7 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
28
40
 
29
41
  [[package]]
30
42
  name = "compass-cli"
31
- version = "1.1.3"
43
+ version = "1.2.0"
32
44
  dependencies = [
33
45
  "fs2",
34
46
  "hex",
@@ -36,6 +48,7 @@ dependencies = [
36
48
  "serde",
37
49
  "serde_json",
38
50
  "sha2",
51
+ "tempfile",
39
52
  ]
40
53
 
41
54
  [[package]]
@@ -67,6 +80,34 @@ dependencies = [
67
80
  "crypto-common",
68
81
  ]
69
82
 
83
+ [[package]]
84
+ name = "equivalent"
85
+ version = "1.0.2"
86
+ source = "registry+https://github.com/rust-lang/crates.io-index"
87
+ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
88
+
89
+ [[package]]
90
+ name = "errno"
91
+ version = "0.3.14"
92
+ source = "registry+https://github.com/rust-lang/crates.io-index"
93
+ checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
94
+ dependencies = [
95
+ "libc",
96
+ "windows-sys",
97
+ ]
98
+
99
+ [[package]]
100
+ name = "fastrand"
101
+ version = "2.4.1"
102
+ source = "registry+https://github.com/rust-lang/crates.io-index"
103
+ checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6"
104
+
105
+ [[package]]
106
+ name = "foldhash"
107
+ version = "0.1.5"
108
+ source = "registry+https://github.com/rust-lang/crates.io-index"
109
+ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
110
+
70
111
  [[package]]
71
112
  name = "fs2"
72
113
  version = "0.4.3"
@@ -87,30 +128,116 @@ dependencies = [
87
128
  "version_check",
88
129
  ]
89
130
 
131
+ [[package]]
132
+ name = "getrandom"
133
+ version = "0.4.2"
134
+ source = "registry+https://github.com/rust-lang/crates.io-index"
135
+ checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555"
136
+ dependencies = [
137
+ "cfg-if",
138
+ "libc",
139
+ "r-efi",
140
+ "wasip2",
141
+ "wasip3",
142
+ ]
143
+
144
+ [[package]]
145
+ name = "hashbrown"
146
+ version = "0.15.5"
147
+ source = "registry+https://github.com/rust-lang/crates.io-index"
148
+ checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
149
+ dependencies = [
150
+ "foldhash",
151
+ ]
152
+
153
+ [[package]]
154
+ name = "hashbrown"
155
+ version = "0.17.0"
156
+ source = "registry+https://github.com/rust-lang/crates.io-index"
157
+ checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51"
158
+
159
+ [[package]]
160
+ name = "heck"
161
+ version = "0.5.0"
162
+ source = "registry+https://github.com/rust-lang/crates.io-index"
163
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
164
+
90
165
  [[package]]
91
166
  name = "hex"
92
167
  version = "0.4.3"
93
168
  source = "registry+https://github.com/rust-lang/crates.io-index"
94
169
  checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
95
170
 
171
+ [[package]]
172
+ name = "id-arena"
173
+ version = "2.3.0"
174
+ source = "registry+https://github.com/rust-lang/crates.io-index"
175
+ checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954"
176
+
177
+ [[package]]
178
+ name = "indexmap"
179
+ version = "2.14.0"
180
+ source = "registry+https://github.com/rust-lang/crates.io-index"
181
+ checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9"
182
+ dependencies = [
183
+ "equivalent",
184
+ "hashbrown 0.17.0",
185
+ "serde",
186
+ "serde_core",
187
+ ]
188
+
96
189
  [[package]]
97
190
  name = "itoa"
98
191
  version = "1.0.18"
99
192
  source = "registry+https://github.com/rust-lang/crates.io-index"
100
193
  checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
101
194
 
195
+ [[package]]
196
+ name = "leb128fmt"
197
+ version = "0.1.0"
198
+ source = "registry+https://github.com/rust-lang/crates.io-index"
199
+ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
200
+
102
201
  [[package]]
103
202
  name = "libc"
104
203
  version = "0.2.184"
105
204
  source = "registry+https://github.com/rust-lang/crates.io-index"
106
205
  checksum = "48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af"
107
206
 
207
+ [[package]]
208
+ name = "linux-raw-sys"
209
+ version = "0.12.1"
210
+ source = "registry+https://github.com/rust-lang/crates.io-index"
211
+ checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53"
212
+
213
+ [[package]]
214
+ name = "log"
215
+ version = "0.4.29"
216
+ source = "registry+https://github.com/rust-lang/crates.io-index"
217
+ checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
218
+
108
219
  [[package]]
109
220
  name = "memchr"
110
221
  version = "2.8.0"
111
222
  source = "registry+https://github.com/rust-lang/crates.io-index"
112
223
  checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
113
224
 
225
+ [[package]]
226
+ name = "once_cell"
227
+ version = "1.21.4"
228
+ source = "registry+https://github.com/rust-lang/crates.io-index"
229
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
230
+
231
+ [[package]]
232
+ name = "prettyplease"
233
+ version = "0.2.37"
234
+ source = "registry+https://github.com/rust-lang/crates.io-index"
235
+ checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b"
236
+ dependencies = [
237
+ "proc-macro2",
238
+ "syn",
239
+ ]
240
+
114
241
  [[package]]
115
242
  name = "proc-macro2"
116
243
  version = "1.0.106"
@@ -129,6 +256,12 @@ dependencies = [
129
256
  "proc-macro2",
130
257
  ]
131
258
 
259
+ [[package]]
260
+ name = "r-efi"
261
+ version = "6.0.0"
262
+ source = "registry+https://github.com/rust-lang/crates.io-index"
263
+ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
264
+
132
265
  [[package]]
133
266
  name = "regex"
134
267
  version = "1.12.3"
@@ -158,6 +291,25 @@ version = "0.8.10"
158
291
  source = "registry+https://github.com/rust-lang/crates.io-index"
159
292
  checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a"
160
293
 
294
+ [[package]]
295
+ name = "rustix"
296
+ version = "1.1.4"
297
+ source = "registry+https://github.com/rust-lang/crates.io-index"
298
+ checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190"
299
+ dependencies = [
300
+ "bitflags",
301
+ "errno",
302
+ "libc",
303
+ "linux-raw-sys",
304
+ "windows-sys",
305
+ ]
306
+
307
+ [[package]]
308
+ name = "semver"
309
+ version = "1.0.28"
310
+ source = "registry+https://github.com/rust-lang/crates.io-index"
311
+ checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd"
312
+
161
313
  [[package]]
162
314
  name = "serde"
163
315
  version = "1.0.228"
@@ -223,6 +375,19 @@ dependencies = [
223
375
  "unicode-ident",
224
376
  ]
225
377
 
378
+ [[package]]
379
+ name = "tempfile"
380
+ version = "3.27.0"
381
+ source = "registry+https://github.com/rust-lang/crates.io-index"
382
+ checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd"
383
+ dependencies = [
384
+ "fastrand",
385
+ "getrandom",
386
+ "once_cell",
387
+ "rustix",
388
+ "windows-sys",
389
+ ]
390
+
226
391
  [[package]]
227
392
  name = "typenum"
228
393
  version = "1.19.0"
@@ -235,12 +400,70 @@ version = "1.0.24"
235
400
  source = "registry+https://github.com/rust-lang/crates.io-index"
236
401
  checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
237
402
 
403
+ [[package]]
404
+ name = "unicode-xid"
405
+ version = "0.2.6"
406
+ source = "registry+https://github.com/rust-lang/crates.io-index"
407
+ checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
408
+
238
409
  [[package]]
239
410
  name = "version_check"
240
411
  version = "0.9.5"
241
412
  source = "registry+https://github.com/rust-lang/crates.io-index"
242
413
  checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
243
414
 
415
+ [[package]]
416
+ name = "wasip2"
417
+ version = "1.0.2+wasi-0.2.9"
418
+ source = "registry+https://github.com/rust-lang/crates.io-index"
419
+ checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5"
420
+ dependencies = [
421
+ "wit-bindgen",
422
+ ]
423
+
424
+ [[package]]
425
+ name = "wasip3"
426
+ version = "0.4.0+wasi-0.3.0-rc-2026-01-06"
427
+ source = "registry+https://github.com/rust-lang/crates.io-index"
428
+ checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5"
429
+ dependencies = [
430
+ "wit-bindgen",
431
+ ]
432
+
433
+ [[package]]
434
+ name = "wasm-encoder"
435
+ version = "0.244.0"
436
+ source = "registry+https://github.com/rust-lang/crates.io-index"
437
+ checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319"
438
+ dependencies = [
439
+ "leb128fmt",
440
+ "wasmparser",
441
+ ]
442
+
443
+ [[package]]
444
+ name = "wasm-metadata"
445
+ version = "0.244.0"
446
+ source = "registry+https://github.com/rust-lang/crates.io-index"
447
+ checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909"
448
+ dependencies = [
449
+ "anyhow",
450
+ "indexmap",
451
+ "wasm-encoder",
452
+ "wasmparser",
453
+ ]
454
+
455
+ [[package]]
456
+ name = "wasmparser"
457
+ version = "0.244.0"
458
+ source = "registry+https://github.com/rust-lang/crates.io-index"
459
+ checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe"
460
+ dependencies = [
461
+ "bitflags",
462
+ "hashbrown 0.15.5",
463
+ "indexmap",
464
+ "semver",
465
+ ]
466
+
244
467
  [[package]]
245
468
  name = "winapi"
246
469
  version = "0.3.9"
@@ -263,6 +486,109 @@ version = "0.4.0"
263
486
  source = "registry+https://github.com/rust-lang/crates.io-index"
264
487
  checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
265
488
 
489
+ [[package]]
490
+ name = "windows-link"
491
+ version = "0.2.1"
492
+ source = "registry+https://github.com/rust-lang/crates.io-index"
493
+ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
494
+
495
+ [[package]]
496
+ name = "windows-sys"
497
+ version = "0.61.2"
498
+ source = "registry+https://github.com/rust-lang/crates.io-index"
499
+ checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
500
+ dependencies = [
501
+ "windows-link",
502
+ ]
503
+
504
+ [[package]]
505
+ name = "wit-bindgen"
506
+ version = "0.51.0"
507
+ source = "registry+https://github.com/rust-lang/crates.io-index"
508
+ checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5"
509
+ dependencies = [
510
+ "wit-bindgen-rust-macro",
511
+ ]
512
+
513
+ [[package]]
514
+ name = "wit-bindgen-core"
515
+ version = "0.51.0"
516
+ source = "registry+https://github.com/rust-lang/crates.io-index"
517
+ checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc"
518
+ dependencies = [
519
+ "anyhow",
520
+ "heck",
521
+ "wit-parser",
522
+ ]
523
+
524
+ [[package]]
525
+ name = "wit-bindgen-rust"
526
+ version = "0.51.0"
527
+ source = "registry+https://github.com/rust-lang/crates.io-index"
528
+ checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21"
529
+ dependencies = [
530
+ "anyhow",
531
+ "heck",
532
+ "indexmap",
533
+ "prettyplease",
534
+ "syn",
535
+ "wasm-metadata",
536
+ "wit-bindgen-core",
537
+ "wit-component",
538
+ ]
539
+
540
+ [[package]]
541
+ name = "wit-bindgen-rust-macro"
542
+ version = "0.51.0"
543
+ source = "registry+https://github.com/rust-lang/crates.io-index"
544
+ checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a"
545
+ dependencies = [
546
+ "anyhow",
547
+ "prettyplease",
548
+ "proc-macro2",
549
+ "quote",
550
+ "syn",
551
+ "wit-bindgen-core",
552
+ "wit-bindgen-rust",
553
+ ]
554
+
555
+ [[package]]
556
+ name = "wit-component"
557
+ version = "0.244.0"
558
+ source = "registry+https://github.com/rust-lang/crates.io-index"
559
+ checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2"
560
+ dependencies = [
561
+ "anyhow",
562
+ "bitflags",
563
+ "indexmap",
564
+ "log",
565
+ "serde",
566
+ "serde_derive",
567
+ "serde_json",
568
+ "wasm-encoder",
569
+ "wasm-metadata",
570
+ "wasmparser",
571
+ "wit-parser",
572
+ ]
573
+
574
+ [[package]]
575
+ name = "wit-parser"
576
+ version = "0.244.0"
577
+ source = "registry+https://github.com/rust-lang/crates.io-index"
578
+ checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736"
579
+ dependencies = [
580
+ "anyhow",
581
+ "id-arena",
582
+ "indexmap",
583
+ "log",
584
+ "semver",
585
+ "serde",
586
+ "serde_derive",
587
+ "serde_json",
588
+ "unicode-xid",
589
+ "wasmparser",
590
+ ]
591
+
266
592
  [[package]]
267
593
  name = "zmij"
268
594
  version = "1.0.21"
package/cli/Cargo.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "compass-cli"
3
- version = "1.1.3"
3
+ version = "1.2.0"
4
4
  edition = "2021"
5
5
  description = "CLI for Compass — PO/PM AI Toolkit"
6
6
  license = "MIT"
@@ -14,6 +14,9 @@ hex = "0.4"
14
14
  regex = "1"
15
15
  fs2 = "0.4"
16
16
 
17
+ [dev-dependencies]
18
+ tempfile = "3"
19
+
17
20
  [[bin]]
18
21
  name = "compass-cli"
19
22
  path = "src/main.rs"