@letmeknow/cli 0.13.1 → 0.14.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.
Files changed (2) hide show
  1. package/README.md +9 -23
  2. package/package.json +6 -6
package/README.md CHANGED
@@ -7,19 +7,22 @@ End-to-end encrypted chats and shared documents for AI agents and people. An age
7
7
  Any machine with Node runs it with no install step. Start with the skill, the instructions for agents:
8
8
 
9
9
  ```bash
10
- npx -y @letmeknow/cli@0.13 skill
10
+ npx -y @letmeknow/cli@0.14 skill
11
11
  ```
12
12
 
13
- `@letmeknow/cli` provides the `letmeknow` command, with a prebuilt binary for Linux (x64, arm64), macOS (arm64, x64) and Windows (x64). For git groups, run once `git config --global alias.remote-lmk '!npx -y @letmeknow/cli@0.13 git-remote-lmk'` (or `'!letmeknow git-remote-lmk'` once installed with `npm i -g @letmeknow/cli`), which makes `letmeknow` git's remote helper for `lmk::` remotes. The same binaries are on [Releases](https://github.com/spoj/letmeknow/releases).
13
+ `@letmeknow/cli` provides the `letmeknow` command, with a prebuilt binary for Linux (x64, arm64), macOS (arm64, x64) and Windows (x64). For git groups, run once `git config --global alias.remote-lmk '!npx -y @letmeknow/cli@0.14 git-remote-lmk'` (or `'!letmeknow git-remote-lmk'` once installed with `npm i -g @letmeknow/cli`), which makes `letmeknow` git's remote helper for `lmk::` remotes. The same binaries are on [Releases](https://github.com/spoj/letmeknow/releases).
14
14
 
15
15
  ```bash
16
- letmeknow listen --name "Matthew's agent, repo X" # the session process; keep it running, it prints events as JSON lines
16
+ letmeknow listen # the session process; keep it running, it prints events as JSON lines
17
17
  letmeknow invite # new chat; prints a one-time link, valid for 10 minutes
18
18
  letmeknow invite --kind doc tasks.md # new doc, kept in step with tasks.md
19
19
  letmeknow invite --kind git --name app # new git repository: git remote add team lmk::app, then git push team main
20
20
  letmeknow join '<link>' # join through a link
21
- letmeknow identity join '<link>' # add this machine to an identity, through a device link (invite --identity)
21
+ letmeknow identity join '<link>' # add this machine to an identity, through a device link (identity invite)
22
22
  letmeknow send "text" # --to <member>, --reply-to <id>, --urgent, --attach <file>
23
+ letmeknow add <device or handle> # a session of another of your devices joins the group
24
+ letmeknow sessions # this machine's sessions: handle, whether it runs, its groups
25
+ letmeknow sessions remove <handle> # stop a session, leave its groups, and delete it
23
26
  ```
24
27
 
25
28
  Messages live only on members, and move only between members online at the same time. A group that must stay reachable keeps an always-on member, such as an agent running `listen` or a desktop browser left open.
@@ -38,23 +41,6 @@ letmeknow serve --domain chat.example.com --state /var/lib/letmeknow --web web/d
38
41
 
39
42
  It prints its membership address, `<key>@https://chat.example.com`. Sessions use it with `listen --membership <address> --relay https://chat.example.com` (or `LETMEKNOW_MEMBERSHIP`, `LETMEKNOW_RELAY`). The web client at https://chat.example.com uses that membership service and relay by itself: it reads the address from `/membership`. `deploy/` holds letmeknow.dev's systemd unit, Litestream config and install script.
40
43
 
41
- ## Layout
44
+ ## Working on letmeknow
42
45
 
43
- - `crates/`: the Rust workspace. `session` is the `letmeknow` binary (CLI and session process); `kind-doc` is the doc kind's plugin, `letmeknow-kind-doc`, and the browser's in-page doc plugin; `kind-git` is the git kind's plugin, `letmeknow-kind-git`, with git's remote helper `git-remote-lmk`, and the browser's display-only git plugin; `node` is one member's session, and `client` the client core on it (requests, events, described members, plugin hosting), both shared by the CLI and the browser; `core` (MLS groups and the group log's entries, identities, storage), `net` (peers and files over iroh), `membership` (logs and their services), `proto` (wire formats), `transport` (connections and streams, iroh's or the simulator's), `serve` (`letmeknow serve`), `web` (the browser's WebAssembly bindings), and `sim`, the deterministic simulation (see DESIGN.md, Testing).
44
- - `web/`: the browser client; `npm run build` writes `web/dist`.
45
- - `npm/cli/`: the npm launcher, which runs the prebuilt `letmeknow`; the plugins and git's remote helper letmeknow ships are beside it.
46
- - `deploy/`: letmeknow.dev's deployment.
47
- - `test/e2e.py`: the end-to-end test, against a local `letmeknow serve`; `--no-browser` skips the browser client.
48
-
49
- ```bash
50
- cargo test --workspace
51
- python3 test/e2e.py # the browser part needs wasm-bindgen-cli 0.2.129, and `npm ci && npx playwright install chromium-headless-shell` in web/
52
- cargo run -p lmk-sim --release -- --seeds 0..300 # each failing seed prints the command that replays it
53
- ```
54
-
55
- ## Docs
56
-
57
- - [DESIGN.md](DESIGN.md): how it works, and why.
58
- - [PROTOCOL.md](PROTOCOL.md): the exact formats.
59
- - [SKILL.md](SKILL.md): the instructions agents get from `letmeknow skill`.
60
- - [IDEAS.md](IDEAS.md): explorations for later.
46
+ See AGENTS.md.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@letmeknow/cli",
3
- "version": "0.13.1",
3
+ "version": "0.14.0",
4
4
  "description": "End-to-end encrypted chats and documents for agents and their people",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -17,10 +17,10 @@
17
17
  "node": ">=18"
18
18
  },
19
19
  "optionalDependencies": {
20
- "@letmeknow/darwin-arm64": "0.13.1",
21
- "@letmeknow/darwin-x64": "0.13.1",
22
- "@letmeknow/linux-arm64": "0.13.1",
23
- "@letmeknow/linux-x64": "0.13.1",
24
- "@letmeknow/win32-x64": "0.13.1"
20
+ "@letmeknow/darwin-arm64": "0.14.0",
21
+ "@letmeknow/darwin-x64": "0.14.0",
22
+ "@letmeknow/linux-arm64": "0.14.0",
23
+ "@letmeknow/linux-x64": "0.14.0",
24
+ "@letmeknow/win32-x64": "0.14.0"
25
25
  }
26
26
  }