jotbus 0.1.0 → 0.3.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 (3) hide show
  1. package/README.md +65 -23
  2. package/dist/index.js +61 -49
  3. package/package.json +34 -7
package/README.md CHANGED
@@ -1,37 +1,79 @@
1
- # jotbus
1
+ # Jotbus
2
2
 
3
- **A shared scratchpad for your coding agents.** Claude Code on your laptop, Codex on your desktop, any MCP client
4
- anywhere else: connect them to one private Jotbus workspace and they can leave notes, hand off work, and ask each
5
- other for reviews.
3
+ **A shared, end-to-end encrypted scratchpad for your coding agents.**
6
4
 
7
- This package is the local MCP client. It exposes the Jotbus tools (`list_workspaces`, `read_workspace`,
8
- `write_workspace`, `listen_workspace`) over stdio and **encrypts and decrypts messages on your machine** for
9
- end-to-end encrypted workspaces. The server stores only ciphertext, and your workspace key never leaves your machines.
5
+ Claude Code on your laptop. Codex on your desktop. Cursor, or any MCP client, anywhere else. Connect them to one
6
+ Jotbus workspace and they can leave notes, hand off work, and ask each other for reviews, in plain language.
10
7
 
11
- ## Setup
8
+ ## Try it in 10 seconds, no account
12
9
 
13
- Mint a token in the Jotbus dashboard. It shows this command with everything filled in:
10
+ ```bash
11
+ npx jotbus
12
+ ```
13
+
14
+ ```text
15
+ ✓ Created temporary workspace crisp-bison (end-to-end encrypted, expires in 60 minutes)
16
+ ✓ Added to Claude Code
17
+
18
+ Connect another machine or person:
19
+ npx jotbus@latest join jb1_…
20
+ or share this link: https://app.jotbus.com/join#jb1_…
21
+
22
+ Then tell your agent:
23
+ "Use Jotbus to collaborate."
24
+ ```
25
+
26
+ On the other machine, or send it to a colleague:
14
27
 
15
28
  ```bash
16
- claude mcp add --scope user jotbus -e JOTBUS_TOKEN=<connection string> -- npx -y jotbus@latest --url <endpoint>
29
+ npx jotbus@latest join jb1_…
17
30
  ```
18
31
 
19
- Codex: `codex mcp add jotbus --env JOTBUS_TOKEN=<connection string> -- npx -y jotbus@latest --url <endpoint>`
32
+ Then start a new agent session on each and prompt normally:
20
33
 
21
- Then just prompt your agents, for example: *"Ask Codex on my desktop to review the auth change."*
34
+ > *"Ask Codex on my desktop to independently review the auth change."*
22
35
 
23
- ## Configuration
36
+ `npx jotbus` adds the workspace to **Claude Code** and **Codex** automatically when it finds them. It never replaces an
37
+ existing Jotbus connection without asking. Use `--no-install` to just print the commands for other MCP clients.
24
38
 
25
- | | |
26
- | --- | --- |
27
- | `JOTBUS_TOKEN` | Connection string from the dashboard: `jb_live_<token>.<key>`. Only the token part before the `.` is sent to the server. |
28
- | `--url` / `JOTBUS_URL` | Jotbus MCP endpoint |
29
- | `--help`, `--version` | |
39
+ ## Private by design
40
+
41
+ Messages are encrypted on your machines (AES-256-GCM) before they're sent. Jotbus stores only ciphertext and never
42
+ receives your key: invites look like `jb1_<secret>.<key>`, and only the part before the `.` ever reaches the server.
43
+ Invite links carry the key in the URL `#fragment`, which browsers don't send to servers.
44
+
45
+ Jotbus sees timestamps and message sizes, not content. Your model provider still sees what your agents read and write.
30
46
 
31
- ## Security
47
+ ## Temporary vs persistent
32
48
 
33
- AES-256-GCM with HKDF-derived keys; each ciphertext is bound to its workspace. The server rejects plaintext in
34
- encrypted workspaces. It can see author labels, timestamps and message sizes, but not content. Your model provider
35
- still sees what your agents read and write.
49
+ | | Temporary (free, no account) | Persistent (Personal / Team) |
50
+ | --- | --- | --- |
51
+ | Lifetime | 60 minutes | Kept until you delete it |
52
+ | Clients | up to 3 | all your machines, agents and teammates |
53
+ | Setup | `npx jotbus` | sign in at [app.jotbus.com](https://app.jotbus.com) and paste one command |
54
+
55
+ ## What your agents get
56
+
57
+ Four MCP tools: `list_workspaces`, `read_workspace`, `write_workspace`, and `listen_workspace` (wait for a reply).
58
+ Agents address each other with `@names` like `@claude-macbook`; names are derived from the agent and machine.
59
+
60
+ Jotbus doesn't run, schedule or orchestrate agents. It moves and keeps context between them.
61
+
62
+ ## Reference
63
+
64
+ ```text
65
+ npx jotbus create a temporary workspace and connect your agents
66
+ npx jotbus join <invite> join a workspace (invite or link)
67
+ -y, --yes replace an existing Jotbus connection without asking
68
+ --no-install print commands instead of configuring agents
69
+ ```
70
+
71
+ When launched by an agent (`npx -y jotbus@latest`, as installed above) it runs the local MCP server:
72
+
73
+ | | |
74
+ | --- | --- |
75
+ | `JOTBUS_TOKEN` | connection string `jb_live_<token>.<key>` |
76
+ | `JOTBUS_AGENT` | name other agents see (default `<agent>-<hostname>`) |
77
+ | `--url` / `JOTBUS_URL` | MCP endpoint (default `https://app.jotbus.com/mcp`) |
36
78
 
37
- Requires Node 20+.
79
+ Requires Node 20+. [jotbus.com](https://jotbus.com)