@coderook/cli 0.22.2 → 0.24.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/package.json CHANGED
@@ -1,51 +1,53 @@
1
- {
2
- "name": "@coderook/cli",
3
- "version": "0.22.2",
4
- "description": "CodeRook from the command line, on any operating system",
5
- "license": "SEE LICENSE IN LICENSE.txt",
6
- "homepage": "https://coderook.com",
7
- "bugs": {
8
- "url": "https://coderook.com/contact"
9
- },
10
- "keywords": [
11
- "coderook",
12
- "versioning",
13
- "backup",
14
- "cbx"
15
- ],
16
- "engines": {
17
- "node": ">=20.11.0"
18
- },
19
- "bin": {
20
- "coderook": "dist/cli/src/cli.js"
21
- },
22
- "files": [
23
- ".claude-plugin",
24
- "dist",
25
- "skills"
26
- ],
27
- "scripts": {
28
- "build": "tsc -p tsconfig.json",
29
- "check": "tsc -p tsconfig.json --noEmit",
30
- "test": "tsc -p tsconfig.json && node --test --experimental-strip-types test/*.test.ts",
31
- "start": "node dist/cli/src/cli.js",
32
- "prepublishOnly": "npm run sync:plugin && npm run build",
33
- "test:e2e": "node test/e2e.mjs",
34
- "test:matrix": "node test/state-matrix.mjs",
35
- "test:attempt": "node test/attempt-identity.mjs",
36
- "test:get": "node test/get-safety.mjs",
37
- "test:live": "node test/e2e.mjs --allow-production && node test/state-matrix.mjs --allow-production && node test/get-safety.mjs --allow-production && node test/get-protects-edits.mjs --allow-production && node test/upgrade-migration.mjs --allow-production && node test/fault-get.mjs --allow-production && node test/version-floor.mjs --allow-production && node test/fault-submit.mjs --allow-production && node test/race-attempts.mjs --allow-production && node test/attempt-identity.mjs --allow-production",
38
- "test:getedits": "node test/get-protects-edits.mjs",
39
- "test:upgrade": "node test/upgrade-migration.mjs",
40
- "test:faultget": "node test/fault-get.mjs",
41
- "test:floor": "node test/version-floor.mjs",
42
- "test:faultsubmit": "node test/fault-submit.mjs",
43
- "test:race": "node test/race-attempts.mjs",
44
- "test:runner": "node test/runner-live.mjs",
45
- "sync:plugin": "node scripts/sync-plugin-version.mjs"
46
- },
47
- "devDependencies": {
48
- "@types/node": "24.10.1",
49
- "typescript": "5.9.3"
50
- }
51
- }
1
+ {
2
+ "name": "@coderook/cli",
3
+ "version": "0.24.0",
4
+ "description": "CodeRook from the command line, on any operating system",
5
+ "license": "SEE LICENSE IN LICENSE.txt",
6
+ "homepage": "https://coderook.com",
7
+ "bugs": {
8
+ "url": "https://coderook.com/contact"
9
+ },
10
+ "keywords": [
11
+ "coderook",
12
+ "versioning",
13
+ "backup",
14
+ "cbx"
15
+ ],
16
+ "engines": {
17
+ "node": ">=20.11.0"
18
+ },
19
+ "bin": {
20
+ "cbx": "dist/cli/src/cli.js",
21
+ "coderook": "dist/cli/src/cli.js",
22
+ "git-remote-coderook": "dist/cli/src/git_remote_bin.js"
23
+ },
24
+ "files": [
25
+ ".claude-plugin",
26
+ "dist",
27
+ "skills"
28
+ ],
29
+ "scripts": {
30
+ "build": "tsc -p tsconfig.json",
31
+ "check": "tsc -p tsconfig.json --noEmit",
32
+ "test": "tsc -p tsconfig.json && node --test --experimental-strip-types test/*.test.ts",
33
+ "start": "node dist/cli/src/cli.js",
34
+ "prepublishOnly": "npm run sync:plugin && npm run build",
35
+ "test:e2e": "node test/e2e.mjs",
36
+ "test:matrix": "node test/state-matrix.mjs",
37
+ "test:attempt": "node test/attempt-identity.mjs",
38
+ "test:get": "node test/get-safety.mjs",
39
+ "test:live": "node test/e2e.mjs --allow-production && node test/state-matrix.mjs --allow-production && node test/get-safety.mjs --allow-production && node test/get-protects-edits.mjs --allow-production && node test/upgrade-migration.mjs --allow-production && node test/fault-get.mjs --allow-production && node test/version-floor.mjs --allow-production && node test/fault-submit.mjs --allow-production && node test/race-attempts.mjs --allow-production && node test/attempt-identity.mjs --allow-production",
40
+ "test:getedits": "node test/get-protects-edits.mjs",
41
+ "test:upgrade": "node test/upgrade-migration.mjs",
42
+ "test:faultget": "node test/fault-get.mjs",
43
+ "test:floor": "node test/version-floor.mjs",
44
+ "test:faultsubmit": "node test/fault-submit.mjs",
45
+ "test:race": "node test/race-attempts.mjs",
46
+ "test:runner": "node test/runner-live.mjs",
47
+ "sync:plugin": "node scripts/sync-plugin-version.mjs"
48
+ },
49
+ "devDependencies": {
50
+ "@types/node": "24.10.1",
51
+ "typescript": "5.9.3"
52
+ }
53
+ }
@@ -1,130 +1,130 @@
1
- ---
2
- name: coderook
3
- description: Save, browse and restore versions of a project on CodeRook — a version host where every version is a complete snapshot and there is no git to learn. Use when asked to save or submit work to CodeRook, check what has changed, look at a project's versions or files, fetch a project, start or switch a line of work, or resolve a save that landed at the same time as somebody else's.
4
- allowed-tools: Bash Read
5
- ---
6
-
7
- # CodeRook
8
-
9
- CodeRook stores whole snapshots of a folder. A version names every file the
10
- project had at that moment, so restoring one never depends on the versions
11
- around it, and there is no staging area, no branches to rebase and no history
12
- to rewrite.
13
-
14
- Everything here is the `coderook` command line. Run it with Bash.
15
-
16
- ## Before anything else
17
-
18
- `coderook whoami` says who this machine is signed in as. If it refuses, the
19
- person needs to run `coderook sign-in` themselves — it takes a personal access
20
- token, so do not attempt it on their behalf.
21
-
22
- If the command is not found at all, this machine has the skill but not the
23
- command line. Either install it once with
24
- `npm install --global @coderook/cli`, or put `npx -y @coderook/cli` where
25
- `coderook` appears below — the commands are identical, npx is just slower
26
- to start.
27
-
28
- ## Reading
29
-
30
- ```bash
31
- coderook status # what has changed in this folder since its last version
32
- coderook projects # every project on the account
33
- coderook versions [project] # what has been saved, newest first
34
- coderook tracks [project] # the lines a project has, and any waiting on a decision
35
- ```
36
-
37
- `status` is the one to reach for when somebody asks what is uncommitted, what
38
- changed, or whether anything needs saving. It reads the folder and changes
39
- nothing.
40
-
41
- ## Saving
42
-
43
- ```bash
44
- coderook submit -m "What changed, in a sentence"
45
- ```
46
-
47
- Send only what changed; the version still names every file. Write the message
48
- yourself from the actual diff rather than asking for one — a message like
49
- "update" helps nobody reading the history later.
50
-
51
- **Ask before running this.** Saving is the one thing here that leaves a mark on
52
- somebody's account, and a version saved by mistake is a version they have to
53
- explain. Propose it, say what it would send, and let them agree.
54
-
55
- `coderook submit -n` shows exactly what would be sent without sending it. Use
56
- that freely; it is safe and it is the honest way to answer "what would this
57
- upload?".
58
-
59
- ## Fetching
60
-
61
- ```bash
62
- coderook get # bring this folder up to date
63
- coderook clone <project> [dir] # fetch a project into a new folder
64
- ```
65
-
66
- `get` protects local edits by default. `coderook get --replace` discards them
67
- to make an exact copy — only run it when the person has said so in those terms.
68
-
69
- ## Lines of work
70
-
71
- A project can have more than one line, so two people can save without one
72
- landing on top of the other.
73
-
74
- ```bash
75
- coderook track # which line this folder saves to
76
- coderook track spike --new # start a line and switch to it
77
- coderook track main # switch back
78
- coderook submit --track spike -m "…"
79
- ```
80
-
81
- Switching says where the next save goes and nothing else — no files move.
82
- Run `coderook get` afterwards to bring that line's files in.
83
-
84
- ## When two saves collide
85
-
86
- If somebody saved while this folder was behind, the second save becomes a merge
87
- waiting on a decision rather than overwriting anything.
88
-
89
- ```bash
90
- coderook merges # this folder's saves waiting on a decision
91
- coderook merge <ref> # look at one, and decide
92
- ```
93
-
94
- Read the conflict out to the person and let them choose. Do not pick a side for
95
- them: the whole reason it stopped is that the service could not tell which copy
96
- was wanted.
97
-
98
- ## What is worth leaving out
99
-
100
- ```bash
101
- coderook ignore --suggest # dependency directories, build output, virtual environments
102
- coderook ignore --suggest --apply # add the confident ones to .gitignore
103
- ```
104
-
105
- Rules live in the project's own `.gitignore`, so CodeRook, git and the website
106
- all read one file.
107
-
108
- ## Bundles
109
-
110
- ```bash
111
- coderook bundle . project.cbx # the whole project, every version, as one file
112
- coderook inspect project.cbx # what is inside, without unpacking
113
- coderook unbundle project.cbx ./restored
114
- ```
115
-
116
- ## Things not to do
117
-
118
- - Do not run `coderook delete` unless the person has asked for that project to
119
- be deleted, by name, in this conversation.
120
- - Do not run `coderook sign-out`. It costs them a token they have to fetch
121
- again and gains nothing.
122
- - Do not guess a project name. `coderook projects` lists them; a folder that is
123
- already linked needs no name at all.
124
-
125
- ## If something refuses
126
-
127
- The commands explain themselves — pass the message on rather than rewording it.
128
- A refusal that says a token was not accepted means signing in; one that says a
129
- project does not allow machines means its owner turned that off deliberately,
130
- and the answer is to say so, not to find another route in.
1
+ ---
2
+ name: coderook
3
+ description: Save, browse and restore versions of a project on CodeRook — a version host where every version is a complete snapshot and there is no git to learn. Use when asked to save or submit work to CodeRook, check what has changed, look at a project's versions or files, fetch a project, start or switch a line of work, or resolve a save that landed at the same time as somebody else's.
4
+ allowed-tools: Bash Read
5
+ ---
6
+
7
+ # CodeRook
8
+
9
+ CodeRook stores whole snapshots of a folder. A version names every file the
10
+ project had at that moment, so restoring one never depends on the versions
11
+ around it, and there is no staging area, no branches to rebase and no history
12
+ to rewrite.
13
+
14
+ Everything here is the `coderook` command line. Run it with Bash.
15
+
16
+ ## Before anything else
17
+
18
+ `cbx whoami` says who this machine is signed in as. If it refuses, the
19
+ person needs to run `cbx sign-in` themselves — it takes a personal access
20
+ token, so do not attempt it on their behalf.
21
+
22
+ If the command is not found at all, this machine has the skill but not the
23
+ command line. Either install it once with
24
+ `npm install --global @coderook/cli`, or put `npx -y @coderook/cli` where
25
+ `coderook` appears below — the commands are identical, npx is just slower
26
+ to start.
27
+
28
+ ## Reading
29
+
30
+ ```bash
31
+ cbx status # what has changed in this folder since its last version
32
+ cbx projects # every project on the account
33
+ cbx versions [project] # what has been saved, newest first
34
+ cbx tracks [project] # the lines a project has, and any waiting on a decision
35
+ ```
36
+
37
+ `status` is the one to reach for when somebody asks what is uncommitted, what
38
+ changed, or whether anything needs saving. It reads the folder and changes
39
+ nothing.
40
+
41
+ ## Saving
42
+
43
+ ```bash
44
+ cbx submit -m "What changed, in a sentence"
45
+ ```
46
+
47
+ Send only what changed; the version still names every file. Write the message
48
+ yourself from the actual diff rather than asking for one — a message like
49
+ "update" helps nobody reading the history later.
50
+
51
+ **Ask before running this.** Saving is the one thing here that leaves a mark on
52
+ somebody's account, and a version saved by mistake is a version they have to
53
+ explain. Propose it, say what it would send, and let them agree.
54
+
55
+ `cbx submit -n` shows exactly what would be sent without sending it. Use
56
+ that freely; it is safe and it is the honest way to answer "what would this
57
+ upload?".
58
+
59
+ ## Fetching
60
+
61
+ ```bash
62
+ cbx get # bring this folder up to date
63
+ cbx clone <project> [dir] # fetch a project into a new folder
64
+ ```
65
+
66
+ `get` protects local edits by default. `cbx get --replace` discards them
67
+ to make an exact copy — only run it when the person has said so in those terms.
68
+
69
+ ## Lines of work
70
+
71
+ A project can have more than one line, so two people can save without one
72
+ landing on top of the other.
73
+
74
+ ```bash
75
+ cbx track # which line this folder saves to
76
+ cbx track spike --new # start a line and switch to it
77
+ cbx track main # switch back
78
+ cbx submit --track spike -m "…"
79
+ ```
80
+
81
+ Switching says where the next save goes and nothing else — no files move.
82
+ Run `cbx get` afterwards to bring that line's files in.
83
+
84
+ ## When two saves collide
85
+
86
+ If somebody saved while this folder was behind, the second save becomes a merge
87
+ waiting on a decision rather than overwriting anything.
88
+
89
+ ```bash
90
+ cbx merges # this folder's saves waiting on a decision
91
+ cbx merge <ref> # look at one, and decide
92
+ ```
93
+
94
+ Read the conflict out to the person and let them choose. Do not pick a side for
95
+ them: the whole reason it stopped is that the service could not tell which copy
96
+ was wanted.
97
+
98
+ ## What is worth leaving out
99
+
100
+ ```bash
101
+ cbx ignore --suggest # dependency directories, build output, virtual environments
102
+ cbx ignore --suggest --apply # add the confident ones to .gitignore
103
+ ```
104
+
105
+ Rules live in the project's own `.gitignore`, so CodeRook, git and the website
106
+ all read one file.
107
+
108
+ ## Bundles
109
+
110
+ ```bash
111
+ cbx bundle . project.cbx # the whole project, every version, as one file
112
+ cbx inspect project.cbx # what is inside, without unpacking
113
+ cbx unbundle project.cbx ./restored
114
+ ```
115
+
116
+ ## Things not to do
117
+
118
+ - Do not run `cbx delete` unless the person has asked for that project to
119
+ be deleted, by name, in this conversation.
120
+ - Do not run `cbx sign-out`. It costs them a token they have to fetch
121
+ again and gains nothing.
122
+ - Do not guess a project name. `cbx projects` lists them; a folder that is
123
+ already linked needs no name at all.
124
+
125
+ ## If something refuses
126
+
127
+ The commands explain themselves — pass the message on rather than rewording it.
128
+ A refusal that says a token was not accepted means signing in; one that says a
129
+ project does not allow machines means its owner turned that off deliberately,
130
+ and the answer is to say so, not to find another route in.