rshow 0.0.1 → 0.0.3

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,6 +1,6 @@
1
1
  {
2
2
  "name": "rshow",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "description": "Publish static artifacts to rshow",
5
5
  "license": "MIT",
6
6
  "homepage": "https://rslib.github.io/rshow",
@@ -21,7 +21,7 @@
21
21
  ],
22
22
  "type": "module",
23
23
  "engines": {
24
- "node": ">=26"
24
+ "node": ">=22"
25
25
  },
26
26
  "bin": {
27
27
  "rshow": "dist/main.js"
@@ -38,7 +38,8 @@
38
38
  "test": "node --test test/",
39
39
  "build": "node scripts/build.mjs",
40
40
  "typecheck": "tsc --noEmit",
41
- "prepack": "node scripts/assemble.mjs"
41
+ "prepack": "node scripts/assemble.mjs",
42
+ "sea": "node scripts/sea.mjs"
42
43
  },
43
44
  "devDependencies": {
44
45
  "@types/node": "^26.6.6",
@@ -96,7 +96,7 @@ Only the owner can share, rename or delete.
96
96
 
97
97
  On 2, fix the command and do not retry the same line.
98
98
  On a config error (`no server configured`, no token, or a config file that will not load), run `rshow doctor` and show its output to the person.
99
- On 4, or on exit 2 with `no token`, never ask for a token in chat. Tell the person to run `rshow login` in their own terminal, which saves the token in the Keychain.
99
+ On 4, or on exit 2 with `no token`, never ask for a token in chat. Tell the person to run `rshow login` in their own terminal, which saves the token where only their account can read it.
100
100
  On 5, retry once and then report the message verbatim.
101
101
  On 6, fix the page, never `--no-check` past it.
102
102
 
@@ -10,6 +10,7 @@
10
10
  - projects
11
11
  - tags and list
12
12
  - theme, show, delete
13
+ - skills
13
14
  - handoff and compare
14
15
  - Config files
15
16
  - Exit codes
@@ -26,7 +27,7 @@ This file is the whole surface, both config files and the exit codes.
26
27
  | `rshow publish <file-or-dir>` | upload a folder, or one file as `index.html`, as a new version |
27
28
  | `rshow config [dir] [--offline]` | print the merged config as JSON, with `theme` resolved to its current version, such as `default@3` |
28
29
  | `rshow init --url <admin-url> --art <viewer-url>` | write the global config file, with `--theme` and `--force` |
29
- | `rshow doctor [dir]` | check node, config, token, api, art and theme, one `ok\|warn\|fail` line each |
30
+ | `rshow doctor [dir]` | check node, config, token, api, art, theme and skills, one `ok\|warn\|fail` line each |
30
31
  | `rshow list` | list artifacts you own or that are shared with you, with `--project`, `--tag` and `--q` filters |
31
32
  | `rshow show <slug>` | print the artifact, its versions, its shares, its project and its tags |
32
33
  | `rshow share <slug>` | set the mode, or add and remove shares |
@@ -41,7 +42,10 @@ This file is the whole surface, both config files and the exit codes.
41
42
  | `rshow theme preview <dir>` | build the theme, then serve its preview page on `127.0.0.1` |
42
43
  | `rshow theme publish <dir>` | publish a theme folder as `theme-<name>` and set it public |
43
44
  | `rshow theme list` | list theme artifacts and the version each one serves |
44
- | `rshow login` | read a token from the terminal with no echo, check it and save it in the macOS Keychain. The person runs it, never the agent |
45
+ | `rshow skills install [target ...]` | link or copy the three skills into `~/.claude/skills`, `~/.pi/agent/skills` or `~/.codex/skills` |
46
+ | `rshow skills uninstall [target ...]` | remove the skill links and copies rshow made |
47
+ | `rshow skills status [target ...]` | print `link`, `copy v<version>`, `missing` or `foreign` per target and skill |
48
+ | `rshow login` | read a token from the terminal with no echo, check it and save it in the macOS Keychain, the Linux keyring or a 0600 file. The person runs it, never the agent |
45
49
  | `rshow logout` | remove the saved token |
46
50
 
47
51
  `--help` on its own prints the general usage, and `--help` after a command prints that command.
@@ -188,6 +192,23 @@ It names an unknown token, a colour value that is not `#hex`, `rgb()` or `var(--
188
192
  `theme preview` builds the preset on its base in a temporary folder and serves it on `127.0.0.1`, with the same offline theme lookup, local `_data` store and live reload as `rshow preview`, and prints the URL of `index.html`; the temporary folder goes when the server stops.
189
193
  `theme publish` runs the check first on a preset, then publishes the built folder, so `--no-check` skips both.
190
194
 
195
+ ## skills
196
+
197
+ ```bash
198
+ rshow skills install [target ...] [--link|--copy] [--dry-run]
199
+ rshow skills uninstall [target ...] [--dry-run]
200
+ rshow skills status [target ...] [--json]
201
+ ```
202
+
203
+ The three skills, `rshow`, `rshow-slides` and `rshow-implement`, teach an agent to publish; `rshow skills install` puts them where claude, pi and codex read them.
204
+ A target is `claude` (`~/.claude/skills`), `pi` (`~/.pi/agent/skills`) or `codex` (`~/.codex/skills`), and with no target every one whose parent folder exists is used.
205
+ The default is a symlink to the skills folder rshow reads from; `--copy` copies it and writes a `.rshow-skill` marker with the version, which a link does not need.
206
+ The default copies in an npx cache, because npm may delete that folder under a live link.
207
+ Each skill prints `ok`, `installed`, `updated` or `removed`, then a summary line.
208
+ A folder, a file or a link that rshow did not make is left alone, with `skip <dst>: exists and is not from rshow` on stderr and exit 6 on the run.
209
+ `rshow skills uninstall` removes only what rshow made: a link into a skills folder that holds rshow skills, or a copy with the marker.
210
+ `rshow doctor` reports the skills on one `skills` line, which warns and never fails.
211
+
191
212
  ## handoff and compare
192
213
 
193
214
  ```bash
@@ -226,8 +247,10 @@ Later files win, and the environment beats both.
226
247
 
227
248
  `RSHOW_URL` overrides `url` and `RSHOW_ART` overrides `art`.
228
249
  `rshow init --url <admin-url> --art <viewer-url>` writes the global file with both, keeps its other fields, and prints the next step, `rshow login`.
229
- `rshow doctor [dir]` checks node, both config files, the token, the API, the art host and the theme, one line each, and exits 6 when a check failed. Run it on a config error and show its output to the person.
230
- The token comes from `RSHOW_TOKEN`, else from the macOS Keychain, where `rshow login` saves it. It is never read from a file or from a flag.
250
+ `rshow doctor [dir]` checks node, both config files, the token, the API, the art host, the theme and the skills, one line each, and exits 6 when a check failed. Run it on a config error and show its output to the person.
251
+ The token comes from `RSHOW_TOKEN`, else from the macOS Keychain, the Linux keyring or the 0600 credentials file, where `rshow login` put it. It is never read from a flag, and you never ask for one in chat: the person runs `rshow login`.
252
+ On a cluster, rshow trusts the system certificate store and any PEM file in `RSHOW_EXTRA_CA_FILE`, and `RSHOW_SYSTEM_CA=0` keeps the store out; `https_proxy` is used by the binary, and by an npm install with `NODE_USE_ENV_PROXY=1`.
253
+ `rshow login` needs no keychain on Linux: it uses the keyring, or writes `${XDG_CONFIG_HOME:-$HOME/.config}/rshow/credentials` with mode 600.
231
254
  `XDG_CONFIG_HOME` moves the global config file away from `~/.config`.
232
255
 
233
256
  ## Exit codes
@@ -238,5 +261,5 @@ The token comes from `RSHOW_TOKEN`, else from the macOS Keychain, where `rshow l
238
261
  | 2 | usage, which covers a bad flag, a bad slug, a missing `index.html` and a missing token |
239
262
  | 4 | auth, which covers an expired token, a revoked token and a token without the scope the command needs |
240
263
  | 5 | api or a failed build, which covers a taken slug, a refused request and a build command that exited non-zero |
241
- | 6 | `rshow check` found an error in the page |
264
+ | 6 | `rshow check` found an error in the page, or a skill folder in the way is not from rshow |
242
265
  | 7 | `rshow compare` found a screen that drifted from the handoff |