@jive-sh/skill-sync 0.4.9 → 0.4.10-latest-darwin-arm64
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/multi-call-binary +4 -0
- package/package.json +11 -39
- package/README.md +0 -93
- package/bin/package.json +0 -1
- package/bin/skill-sync +0 -576
- package/bin/skill-sync-daemon +0 -576
- package/dist/daemons/skill-sync-daemon.js +0 -463
- package/dist/daemons/skill-sync-daemon.js.map +0 -1
- package/dist/entrypoints/skill-sync.js +0 -140
- package/dist/entrypoints/skill-sync.js.map +0 -1
- package/dist/index.js +0 -10
- package/dist/index.js.map +0 -1
- package/dist/internal/config.js +0 -149
- package/dist/internal/config.js.map +0 -1
- package/dist/internal/control.js +0 -101
- package/dist/internal/control.js.map +0 -1
- package/dist/internal/folders.js +0 -46
- package/dist/internal/folders.js.map +0 -1
- package/dist/internal/path.js +0 -36
- package/dist/internal/path.js.map +0 -1
- package/dist/internal/server.js +0 -32
- package/dist/internal/server.js.map +0 -1
- package/dist/internal/sync.js +0 -162
- package/dist/internal/sync.js.map +0 -1
- package/dist/internal/usage.js +0 -251
- package/dist/internal/usage.js.map +0 -1
- package/dist/internal/wire.js +0 -18
- package/dist/internal/wire.js.map +0 -1
- package/install.cjs +0 -576
- package/src/daemons/skill-sync-daemon.ts +0 -457
- package/src/entrypoints/skill-sync.ts +0 -143
- package/src/index.ts +0 -15
- package/src/internal/config.ts +0 -191
- package/src/internal/control.ts +0 -127
- package/src/internal/folders.ts +0 -49
- package/src/internal/path.ts +0 -32
- package/src/internal/server.ts +0 -34
- package/src/internal/sync.ts +0 -197
- package/src/internal/usage.ts +0 -284
- package/src/internal/wire.ts +0 -210
package/package.json
CHANGED
|
@@ -1,48 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jive-sh/skill-sync",
|
|
3
|
-
"version": "0.4.
|
|
4
|
-
"license": "MIT",
|
|
3
|
+
"version": "0.4.10-latest-darwin-arm64",
|
|
5
4
|
"type": "module",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"os": [
|
|
7
|
+
"darwin"
|
|
8
|
+
],
|
|
9
|
+
"cpu": [
|
|
10
|
+
"arm64"
|
|
11
|
+
],
|
|
12
|
+
"files": [
|
|
13
|
+
"multi-call-binary"
|
|
14
|
+
],
|
|
6
15
|
"description": "Keeps one skills directory identical across every machine you work on.",
|
|
7
16
|
"repository": {
|
|
8
17
|
"type": "git",
|
|
9
18
|
"url": "git+https://github.com/jive-sh/skill-sync.git"
|
|
10
|
-
},
|
|
11
|
-
"main": "./dist/index.js",
|
|
12
|
-
"module": "./dist/index.js",
|
|
13
|
-
"types": "./src/index.ts",
|
|
14
|
-
"exports": {
|
|
15
|
-
".": {
|
|
16
|
-
"types": "./src/index.ts",
|
|
17
|
-
"import": "./dist/index.js"
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
"files": [
|
|
21
|
-
"README.md",
|
|
22
|
-
"dist",
|
|
23
|
-
"src",
|
|
24
|
-
"bin",
|
|
25
|
-
"install.cjs"
|
|
26
|
-
],
|
|
27
|
-
"scripts": {
|
|
28
|
-
"postinstall": "node ./install.cjs"
|
|
29
|
-
},
|
|
30
|
-
"bin": {
|
|
31
|
-
"skill-sync": "./bin/skill-sync",
|
|
32
|
-
"skill-sync-daemon": "./bin/skill-sync-daemon"
|
|
33
|
-
},
|
|
34
|
-
"optionalDependencies": {
|
|
35
|
-
"@jive-sh/skill-sync-darwin-arm64": "npm:@jive-sh/skill-sync@0.4.9-latest-darwin-arm64",
|
|
36
|
-
"@jive-sh/skill-sync-darwin-x64": "npm:@jive-sh/skill-sync@0.4.9-latest-darwin-x64",
|
|
37
|
-
"@jive-sh/skill-sync-linux-arm64": "npm:@jive-sh/skill-sync@0.4.9-latest-linux-arm64",
|
|
38
|
-
"@jive-sh/skill-sync-linux-x64": "npm:@jive-sh/skill-sync@0.4.9-latest-linux-x64",
|
|
39
|
-
"@jive-sh/skill-sync-windows-x64": "npm:@jive-sh/skill-sync@0.4.9-latest-windows-x64"
|
|
40
|
-
},
|
|
41
|
-
"dependencies": {
|
|
42
|
-
"commander": "^13.1.0"
|
|
43
|
-
},
|
|
44
|
-
"peerDependencies": {
|
|
45
|
-
"effect": "^4.0.0",
|
|
46
|
-
"typescript": "^5.9.3"
|
|
47
19
|
}
|
|
48
20
|
}
|
package/README.md
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
# @jive-sh/skill-sync
|
|
2
|
-
|
|
3
|
-
Keeps the skills you choose identical across every Claude and Codex skills folder on every machine you
|
|
4
|
-
work on.
|
|
5
|
-
|
|
6
|
-
A daemon finds each agent home on the machine (Claude's `~/.claude` and every `~/.claude-<name>`, and
|
|
7
|
-
Codex's `~/.agents`, counted as soon as either `~/.agents` or `~/.codex` exists; anything named `*.lock` is
|
|
8
|
-
another program's lock and is ignored, as a home and as a file or folder inside a skills folder) and syncs the `skills`
|
|
9
|
-
folder in each through a Cloudflare Worker: file index in D1, contents in R2 addressed by hash. `skill-sync login` asks the daemon to sign in and opens
|
|
10
|
-
`skill-sync.jive.sh` in your browser, where you verify with your jive.sh passkey (from any passkey
|
|
11
|
-
manager, such as Google Password Manager). The service hands a per-machine token straight to the daemon,
|
|
12
|
-
never through the CLI. The daemon keeps it in `~/.jive/skill-sync-token.json` and starts syncing, and it
|
|
13
|
-
stays signed in through restarts, reboots and upgrades until you run `skill-sync logout` or revoke the
|
|
14
|
-
token.
|
|
15
|
-
|
|
16
|
-
```
|
|
17
|
-
skill-sync login sign this machine in with your passkey; the daemon starts syncing
|
|
18
|
-
skill-sync logout revoke this machine's token and stop syncing
|
|
19
|
-
skill-sync list list the skills that sync, as the server holds them (needs a sign-in)
|
|
20
|
-
skill-sync upgrade upgrade with the package manager that installed it
|
|
21
|
-
skill-sync version print the installed version
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Everything else — which folders and skills sync, renaming computers — is on the
|
|
25
|
-
dashboard.
|
|
26
|
-
|
|
27
|
-
The daemon registers itself to start at login when the package is installed. It also keeps skill-sync up
|
|
28
|
-
to date: every 5 minutes it asks the package manager that installed it (bun, pnpm, yarn or npm, with that
|
|
29
|
-
manager's own registry settings) whether a newer version is published, installs it the same way, and
|
|
30
|
-
restarts on it, still signed in. `skill-sync upgrade` does the same at once.
|
|
31
|
-
|
|
32
|
-
## The dashboard
|
|
33
|
-
|
|
34
|
-
`https://skill-sync.jive.sh/` shows, live, the latest version published on npm, and:
|
|
35
|
-
|
|
36
|
-
- **Synced skills**: the list, with the shared version of each skill and where it was last edited.
|
|
37
|
-
- **Computers**: each machine (renameable), whether its daemon is running and which version it runs, its
|
|
38
|
-
skills folders, and the skills in each with their files. A daemon older than the published version is
|
|
39
|
-
marked "update pending"; it upgrades itself within 5 minutes.
|
|
40
|
-
- **Accounts**, under each running computer: one line per Claude and Codex account on it, with how much of
|
|
41
|
-
each limit is used, when it resets, and when that reading was taken. See [Account usage](#account-usage).
|
|
42
|
-
|
|
43
|
-
Every file shows the first 8 characters of its SHA-256, amber when a folder's copy differs from the synced
|
|
44
|
-
one. The page reloads itself when a new version of the service is deployed.
|
|
45
|
-
|
|
46
|
-
The server holds one list of skills to sync. Every enabled folder on every machine pushes and pulls
|
|
47
|
-
exactly the skills on that list, and never touches any other skill. A skill's checkbox adds it to the
|
|
48
|
-
list or removes it, for every machine at once. A folder's checkbox turns syncing on or off for that
|
|
49
|
-
folder; a folder seen for the first time starts off, so nothing is written into a folder until you tick it. Both are stored on the server, so they apply at once
|
|
50
|
-
and survive a reinstall.
|
|
51
|
-
|
|
52
|
-
A folder that lacks a listed skill gets a copy. Deleting a listed skill in any folder deletes it in every
|
|
53
|
-
folder and takes it off the list; unticking it instead stops syncing and leaves every copy where it is.
|
|
54
|
-
|
|
55
|
-
## The latest edit wins
|
|
56
|
-
|
|
57
|
-
Every file carries the time it was last edited: on a machine, its modification time; on the server, the
|
|
58
|
-
edit time of the version it holds. Whenever two copies of a file differ, the one edited later replaces
|
|
59
|
-
the other, on the server and in every folder. Nothing is merged and nothing is set aside. A deletion
|
|
60
|
-
counts as an edit made when the daemon noticed it.
|
|
61
|
-
|
|
62
|
-
Edit times come from each machine's clock, so a machine whose clock is far off can win or lose against
|
|
63
|
-
edits it should not.
|
|
64
|
-
|
|
65
|
-
## Account usage
|
|
66
|
-
|
|
67
|
-
Every minute the daemon reads how much of its limits each account on the machine has used, and sends the
|
|
68
|
-
numbers to the dashboard when they change. An account is a folder in your home directory: `~/.claude` and each
|
|
69
|
-
`~/.claude-<name>` for Claude (each a `CLAUDE_CONFIG_DIR`), `~/.codex` and each `~/.codex-<name>` for Codex
|
|
70
|
-
(each a `CODEX_HOME`).
|
|
71
|
-
|
|
72
|
-
The numbers come only from files each tool writes for itself. No credential is read, nothing is fetched, and
|
|
73
|
-
only the numbers leave the machine:
|
|
74
|
-
|
|
75
|
-
- **Claude**: the plan usage Claude Code last fetched, which it keeps in the account's `.claude.json` (for
|
|
76
|
-
`~/.claude`, in `~/.claude.json`) and refreshes about every five minutes while a session runs. The 5-hour and
|
|
77
|
-
weekly limits, and usage credits spent when they are on.
|
|
78
|
-
- **Codex**: the rate limits Codex recorded with its latest turn, in the account's session files under
|
|
79
|
-
`sessions/`. Its 5-hour and weekly limits.
|
|
80
|
-
|
|
81
|
-
So a reading is as fresh as the tool's last use of that account, and the dashboard shows its age on every
|
|
82
|
-
line. A limit whose reset time has passed since the reading shows no number, since the new window's use is not
|
|
83
|
-
known yet. Neither file is a documented format: when a tool changes its format, the line says "usage unknown"
|
|
84
|
-
and why, rather than showing a wrong number. Daemons before 0.4.9 send no usage, and their machines show no
|
|
85
|
-
accounts.
|
|
86
|
-
|
|
87
|
-
## Configuration
|
|
88
|
-
|
|
89
|
-
`~/.jive/skill-sync.json` holds the endpoint and the machine name, written on first run.
|
|
90
|
-
`~/.jive/skill-sync-token.json` holds this machine's token while it is signed in. It is an ordinary file,
|
|
91
|
-
so anything that can read your home directory can copy the token; signing out, or the server rejecting the
|
|
92
|
-
token, deletes it. The CLI reaches the daemon over `~/.jive/skill-sync.sock` (a named pipe on Windows),
|
|
93
|
-
which only your user can open.
|
package/bin/package.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"type":"commonjs"}
|