cocosuperintelligence 1.7.1 → 1.7.2
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 +1 -1
- package/bin/coco-bootstrap.sh +1 -1
- package/bin/coco.js +20 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -38,7 +38,7 @@ An illustration built from a real `/SI-Decide` run (Claude Sonnet 5.5, 30 Septem
|
|
|
38
38
|
|
|
39
39
|
Prerequisites: git, bash, Node.js 14 or newer (for `npx`), and python3 (it generates the `/SI-*` commands).
|
|
40
40
|
|
|
41
|
-
`npx cocosuperintelligence` installs the latest release. It clones the pinned release tag (currently `v1.7.
|
|
41
|
+
`npx cocosuperintelligence` installs the latest release. It clones the pinned release tag (currently `v1.7.2`, not floating `main`) into `./coco` of the current directory, then runs `install.sh`. Run it from your home folder, so the clone is `~/coco` and not a folder inside another project. On a fresh machine it took about 3 minutes, including the download. <!-- x-release-please-version -->
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
44
|
npx cocosuperintelligence
|
package/bin/coco-bootstrap.sh
CHANGED
|
@@ -25,7 +25,7 @@ set -euo pipefail
|
|
|
25
25
|
|
|
26
26
|
REPO_URL="https://github.com/coco-research/coco.git"
|
|
27
27
|
# Keep in sync with package.json version. Clone the last tagged release, not floating main.
|
|
28
|
-
PINNED_TAG="v1.7.
|
|
28
|
+
PINNED_TAG="v1.7.2" # x-release-please-version
|
|
29
29
|
INSTALL_DIR="${COCO_DIR:-$HOME/.coco}"
|
|
30
30
|
YES="${COCO_BOOTSTRAP_YES:-}"
|
|
31
31
|
PASS_THROUGH=()
|
package/bin/coco.js
CHANGED
|
@@ -324,9 +324,13 @@ function cmdUninstall(argv) {
|
|
|
324
324
|
if (found.length) refuseClone(dir, `it has ${found.join(' and ')}; pass --force to remove it`);
|
|
325
325
|
}
|
|
326
326
|
}
|
|
327
|
-
// Prefix match
|
|
328
|
-
//
|
|
329
|
-
|
|
327
|
+
// Prefix match plus a trailing slash, so a clone named `coco` cannot also delete links
|
|
328
|
+
// into `coco-research` / `coco-connect`. install.sh links through whichever path it ran
|
|
329
|
+
// from, so match both the path given and its real path (a symlinked clone dir).
|
|
330
|
+
let real = dir;
|
|
331
|
+
try { real = fs.realpathSync(dir); } catch (_) { /* absent: only the given path */ }
|
|
332
|
+
const match = [...new Set([dir, real])]
|
|
333
|
+
.flatMap((d, i) => [...(i ? ['-o'] : []), '-lname', `${d.endsWith(path.sep) ? d : d + path.sep}*`]);
|
|
330
334
|
console.log(`Removing symlinks pointing into ${dir}...`);
|
|
331
335
|
const homes = [
|
|
332
336
|
path.join(os.homedir(), '.claude'),
|
|
@@ -336,7 +340,8 @@ function cmdUninstall(argv) {
|
|
|
336
340
|
];
|
|
337
341
|
for (const home of homes) {
|
|
338
342
|
if (!fs.existsSync(home)) continue;
|
|
339
|
-
|
|
343
|
+
// -H: a symlinked ~/.claude (dotfiles) is still searched.
|
|
344
|
+
run('find', ['-H', home, '-type', 'l', '(', ...match, ')', '-delete']);
|
|
340
345
|
}
|
|
341
346
|
// grok also writes generated files (SI commands, config block, hooks); its installer removes them.
|
|
342
347
|
// Best-effort: an older pinned clone may not know --uninstall; never abort the uninstall over it.
|
|
@@ -347,9 +352,17 @@ function cmdUninstall(argv) {
|
|
|
347
352
|
console.log('Note: grok installer cleanup failed (possibly an older pin without --uninstall); continuing.');
|
|
348
353
|
}
|
|
349
354
|
}
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
355
|
+
let isLink = false;
|
|
356
|
+
try { isLink = fs.lstatSync(dir).isSymbolicLink(); } catch (_) { /* absent */ }
|
|
357
|
+
if (isLink) {
|
|
358
|
+
// A symlinked clone dir may point at a checkout the user keeps elsewhere: drop only the link.
|
|
359
|
+
fs.rmSync(dir, { force: true });
|
|
360
|
+
console.log(`Removed the link ${dir}; kept the clone it points to at ${real}. Delete that by hand if you want it gone.`);
|
|
361
|
+
} else {
|
|
362
|
+
console.log(`Removing clone at ${dir}...`);
|
|
363
|
+
if (fs.existsSync(dir)) {
|
|
364
|
+
fs.rmSync(dir, { recursive: true, force: true });
|
|
365
|
+
}
|
|
353
366
|
}
|
|
354
367
|
// The update notifier's cache is ours; drop it, and ~/.coco if that leaves it empty.
|
|
355
368
|
fs.rmSync(UPDATE_CACHE, { force: true });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cocosuperintelligence",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.2",
|
|
4
4
|
"description": "CoCo Super Intelligence — summon an advisory board of 495 world-class minds inside your AI coding session. A vendor-neutral orchestration layer for Claude Code, Cursor, and Codex: 228 skills (190 installed by default), 387 commands, 34 agents, and disk-persistent state. 100% local, no telemetry. Open-core: MIT core, proprietary Super Intelligence.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"coco": "bin/coco.js"
|