@tanagram/lore 0.1.86 → 0.1.88

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 CHANGED
@@ -2,30 +2,30 @@
2
2
 
3
3
  The command-line interface for Lore.
4
4
 
5
- ## Privacy: Lore only uploads from directories you allow
6
-
7
- By default the Lore daemon does **not** auto-upload any Claude Code
8
- session. You have to opt in per directory. This is the consent-first
9
- contract:
10
-
11
- - Sessions whose cwd is not under one of your upload directories are
12
- ignored by the daemon they stay on your machine.
13
- - The explicit commands (`lore export`, `lore share-codex`,
14
- `lore share-cowork`) are user-initiated and bypass the upload-dir
15
- gate. You can always opt-in per session.
16
- - The allowlist lives in `~/.lore/upload_dirs.json` (`~/.lore-dev/` in
17
- dev), written with 0600 mode so other users on the same machine can't
18
- read it.
19
-
20
- Adding directories takes a single keystroke on first login the TUI
21
- shows your most-recent Claude Code project cwds with the top three
22
- pre-checked, and pressing Enter accepts them. `lore listen configure`
23
- re-enters that same interactive flow any time (it's also one of the
24
- quick actions on the `lore` dashboard). For scripted/non-interactive
25
- edits, manage the list directly:
5
+ ## Privacy: Lore uploads according to your local filters
6
+
7
+ The Lore daemon evaluates `~/.lore/upload_filters.json` (`~/.lore-dev/`
8
+ in dev) before auto-uploading Claude Code sessions. Missing config or an
9
+ empty `include` allowlist means upload nothing. The `cwd` and `repo`
10
+ allowlists are a union: a session is location-allowed if it matches a
11
+ `cwd` rule OR a `repo` rule (so a non-git directory uploads via its `cwd`
12
+ even when `repo` rules also exist). When set, `include.skills` further
13
+ narrows that set (ANDed). Values within a dimension are ORed, and
14
+ `exclude` rules override includes.
15
+
16
+ The explicit commands (`lore export`, `lore share-codex`,
17
+ `lore share-cowork`) are user-initiated and upload the requested session
18
+ directly.
19
+
20
+ Adding repos and directories through the TUI is a convenience for writing
21
+ `repo` and `cwd` include filters. The post-login wizard shows your
22
+ most-recent Claude Code projects with the top three pre-checked: a project
23
+ inside a git repo is offered as its `origin` remote, and a non-repo
24
+ directory is offered by its path. Pressing Enter accepts them. `lore configure` re-enters that same interactive flow any time
25
+ (it's also one of the quick actions on the `lore` dashboard). For
26
+ scripted/non-interactive edits, manage the cwd filters directly:
26
27
 
27
28
  ```sh
28
- lore listen configure # re-run the interactive wizard
29
29
  lore listen create ~/code/projectA # watch ~/code/projectA
30
30
  lore listen create ~/work --workspace acme # route work to a non-default workspace
31
31
  lore listen list # tabular output
@@ -34,7 +34,7 @@ lore listen update ~/work --workspace other-corp # reassign workspace
34
34
  lore listen delete ~/code/projectA # stop uploading from
35
35
  ```
36
36
 
37
- Matching uses path-separator-aware **prefix-tree** semantics, so adding
37
+ `cwd` matching uses path-separator-aware **prefix-tree** semantics, so adding
38
38
  `~/code` covers `~/code/projectA`, `~/code/projectA/src`, etc., but
39
39
  deliberately does **not** cover `~/code-other`. The most-specific
40
40
  matching entry wins, so you can have a broad personal `~/` allow plus a
@@ -79,8 +79,8 @@ through Ink in TTY mode:
79
79
  device code panel → polling), then a success box with the resolved
80
80
  LaunchAgent paths. Distinct copy for timed-out / denied / expired.
81
81
  On first login the device-code flow is followed by a one-screen
82
- "Configure upload directories" wizard so the daemon has explicit
83
- consent to upload anything (see Privacy section above).
82
+ "Configure uploads" wizard that writes `repo` and `cwd` include
83
+ filters from your recent repos and directories.
84
84
  - **`lore enable` / `disable` / `restart`** — spinner with mode-specific
85
85
  copy while launchctl works, then a success or error MessageBox.
86
86
  - **`lore status`** — two-panel view (health on the left, paths on the
@@ -146,8 +146,8 @@ Esc to return to the sidebar, and q to exit.
146
146
  - `lore disable` — stops and removes the macOS background uploader.
147
147
  - `lore restart` — restarts the macOS background uploader.
148
148
  - `lore status` / `lore status --json` — shows background uploader health.
149
- - `lore listen configure` — re-enter the interactive wizard for picking
150
- the directories Lore auto-uploads from (the same flow shown on first
149
+ - `lore configure` — re-enter the interactive wizard for picking the
150
+ directories Lore auto-uploads from (the same flow shown on first
151
151
  login). Requires an interactive terminal.
152
152
  - `lore listen create <path> [--workspace <name>]` — allowlist a directory for
153
153
  daemon auto-uploads. Defaults to your active workspace; pass workspace
@@ -164,7 +164,9 @@ Esc to return to the sidebar, and q to exit.
164
164
  JSON object with the thread URL. Use `--session-id <id>` to pick a specific
165
165
  session, `--project <path>` to override the project lookup, and
166
166
  `--visibility private|workspace|public` to set the resulting thread's
167
- visibility. The URL is also copied to the system clipboard when a clipboard
167
+ visibility. Use `--highlight <description>` to have the API resolve a
168
+ natural-language share highlight and return a `/thread/<id>#tb_…` block
169
+ anchor or range when it finds a match. The URL is also copied to the system clipboard when a clipboard
168
170
  tool is available (`pbcopy` / `wl-copy` / `xclip` / `xsel` / `clip.exe`).
169
171
  - `lore share-cowork` — shares a Claude Cowork local-agent-mode session
170
172
  to Lore. Defaults to the current session when run from inside one
@@ -174,7 +176,7 @@ Esc to return to the sidebar, and q to exit.
174
176
  Use `--session <session-id>` to share a specific session by id, or
175
177
  `--list` to enumerate local sessions newest-first without sharing.
176
178
  Re-running for the same session converges to the same thread (md5
177
- dedup), so it's safe to retry. Prints the resulting `/session/<id>`
179
+ dedup), so it's safe to retry. Prints the resulting `/thread/<id>`
178
180
  URL on success.
179
181
 
180
182
  ## Dev vs prod