@tanagram/lore 0.1.53 → 0.1.54

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.
Files changed (3) hide show
  1. package/README.md +71 -1
  2. package/dist/index.js +422 -136
  3. package/package.json +6 -2
package/README.md CHANGED
@@ -2,9 +2,79 @@
2
2
 
3
3
  The command-line interface for Lore.
4
4
 
5
+ ## Interactive TUI
6
+
7
+ Running `lore` with no subcommand drops you into an interactive Ink
8
+ dashboard when stdin and stdout are TTYs:
9
+
10
+ ```
11
+ ┌── lore — matt@tanagram.ai · tanagram ─────────────────── v0.1.50 ──┐
12
+ │ │
13
+ │ ╭─ Daemon ──────────────────╮ ╭─ Workspace ─────────────────────╮ │
14
+ │ │ ● Status running │ │ ● User matt@tanagram.ai │ │
15
+ │ │ ● Enabled yes │ │ ● Display Matt │ │
16
+ │ │ ● Running yes │ │ ● Org tanagram │ │
17
+ │ │ ● Heartbeat 12s ago │ │ ● Skills 8 installed · 3 │ │
18
+ │ │ ● Last upload 3m ago │ │ published │ │
19
+ │ ╰────────────────────────────╯ ╰────────────────────────────────╯ │
20
+ │ │
21
+ │ ╭─ Quick actions ───── ↑/↓ or j/k · Enter to choose · q to quit ─╮ │
22
+ │ │ › Share Codex session lore share-codex --session-file … │ │
23
+ │ │ Share Cowork session lore share-cowork │ │
24
+ │ │ Export latest Claude lore export │ │
25
+ │ │ Inspect background daemon lore status │ │
26
+ │ │ List installed skills lore skills list │ │
27
+ │ │ … │ │
28
+ │ ╰─────────────────────────────────────────────────────────────────╯ │
29
+ └────────────────────────────────────────────────────────────────────┘
30
+ ```
31
+
32
+ Picking an action exits the dashboard and re-enters the matching
33
+ subcommand exactly as if you had typed it yourself — auth checks,
34
+ metrics, and error formatting all flow through the same path.
35
+
36
+ The interactive flows (`lore login`, `lore enable` / `disable` /
37
+ `restart` / `status`, and the three share/export commands) also render
38
+ through Ink in TTY mode:
39
+
40
+ - **`lore login`** — three labelled steps (negotiating with WorkOS →
41
+ device code panel → polling), then a success box with the resolved
42
+ LaunchAgent paths. Distinct copy for timed-out / denied / expired.
43
+ - **`lore enable` / `disable` / `restart`** — spinner with mode-specific
44
+ copy while launchctl works, then a success or error MessageBox.
45
+ - **`lore status`** — two-panel view (health on the left, paths on the
46
+ right) with severity dots and a "Not healthy" callout pointing at
47
+ `lore restart` / `lore logs` when something is off.
48
+ - **`lore export` / `share-codex` / `share-cowork`** — four-step pipeline
49
+ display (resolving → uploading → parsing → updating visibility) with
50
+ the resulting URL highlighted in a success box.
51
+
52
+ ### Disabling the TUI
53
+
54
+ The TUI is presentation only — every command produces identical
55
+ stdout in non-TTY contexts (scripts, CI, piped output). To force the
56
+ plain rendering even in a TTY:
57
+
58
+ - pass `--no-tui` at the top level: `lore --no-tui status`
59
+ - or set `LORE_NO_TUI=1` in the environment.
60
+
61
+ `lore status --json` always prints JSON and never mounts the TUI.
62
+
63
+ The plain path is also taken automatically whenever:
64
+
65
+ - stdout or stdin is not a TTY (piped, redirected, or scripted)
66
+ - `CI` is set to a truthy value
67
+ - `TERM=dumb`
68
+
69
+ ### TUI architecture (for contributors)
70
+
71
+ See [AGENTS.md](./AGENTS.md) for the contributor guide on adding new
72
+ screens, the presentation/handler split, and the TTY-detection contract.
73
+
5
74
  ## Subcommands
6
75
 
7
- - `lore` — prints help text.
76
+ - `lore` — opens the interactive dashboard in a TTY; prints help text
77
+ in non-TTY contexts.
8
78
  - `lore login` — authorizes the CLI against your Lore workspace using WorkOS
9
79
  CLI Auth's device-code flow. On macOS, also auto-runs `lore enable` to
10
80
  install and start the background uploader; if that step fails, login still