myceliumail 1.0.9 → 1.0.13

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 (96) hide show
  1. package/.mappersan/outbox.json +15 -0
  2. package/.spidersan/registry.json +39 -0
  3. package/CHANGELOG.md +29 -0
  4. package/CLAUDE.md +29 -0
  5. package/README.md +23 -2
  6. package/dist/bin/myceliumail.js +17 -1
  7. package/dist/bin/myceliumail.js.map +1 -1
  8. package/dist/commands/close.d.ts +9 -0
  9. package/dist/commands/close.d.ts.map +1 -0
  10. package/dist/commands/close.js +153 -0
  11. package/dist/commands/close.js.map +1 -0
  12. package/dist/commands/collab.d.ts +8 -0
  13. package/dist/commands/collab.d.ts.map +1 -0
  14. package/dist/commands/collab.js +112 -0
  15. package/dist/commands/collab.js.map +1 -0
  16. package/dist/commands/inbox.d.ts.map +1 -1
  17. package/dist/commands/inbox.js +105 -26
  18. package/dist/commands/inbox.js.map +1 -1
  19. package/dist/commands/tags.d.ts +6 -0
  20. package/dist/commands/tags.d.ts.map +1 -0
  21. package/dist/commands/tags.js +90 -0
  22. package/dist/commands/tags.js.map +1 -0
  23. package/dist/commands/wake.d.ts +9 -0
  24. package/dist/commands/wake.d.ts.map +1 -0
  25. package/dist/commands/wake.js +198 -0
  26. package/dist/commands/wake.js.map +1 -0
  27. package/dist/dashboard/public/app.js +117 -0
  28. package/dist/dashboard/public/index.html +63 -5
  29. package/dist/dashboard/routes.d.ts.map +1 -1
  30. package/dist/dashboard/routes.js +31 -2
  31. package/dist/dashboard/routes.js.map +1 -1
  32. package/dist/lib/update-check.d.ts.map +1 -1
  33. package/dist/lib/update-check.js +6 -4
  34. package/dist/lib/update-check.js.map +1 -1
  35. package/dist/lib/watson-digest.d.ts +40 -0
  36. package/dist/lib/watson-digest.d.ts.map +1 -0
  37. package/dist/lib/watson-digest.js +164 -0
  38. package/dist/lib/watson-digest.js.map +1 -0
  39. package/dist/storage/supabase.d.ts +4 -0
  40. package/dist/storage/supabase.d.ts.map +1 -1
  41. package/dist/storage/supabase.js +57 -0
  42. package/dist/storage/supabase.js.map +1 -1
  43. package/docs/COLLAB_mappersan_mycmail_setup.md +115 -0
  44. package/docs/COLLAB_wake_close_commands.md +518 -0
  45. package/docs/CROSS_TOOL_INTEGRATION_PLAN.md +246 -0
  46. package/docs/JSON_SCHEMA_WAKE_CLOSE.md +246 -0
  47. package/docs/MYCMAIL_QUICKSTART.md +103 -0
  48. package/docs/WAKE_AGENTS_SHARED_DOC.md +1215 -0
  49. package/mcp-server/README.md +75 -69
  50. package/mcp-server/package-lock.json +2 -2
  51. package/mcp-server/package.json +5 -1
  52. package/mcp-server/postinstall.js +14 -0
  53. package/mcp-server/src/server.ts +39 -0
  54. package/mobile-app/README.md +36 -0
  55. package/mobile-app/app/compose/page.tsx +140 -0
  56. package/mobile-app/app/favicon.ico +0 -0
  57. package/mobile-app/app/globals.css +26 -0
  58. package/mobile-app/app/layout.tsx +42 -0
  59. package/mobile-app/app/message/[id]/page.tsx +126 -0
  60. package/mobile-app/app/page.tsx +131 -0
  61. package/mobile-app/components/MessageCard.tsx +60 -0
  62. package/mobile-app/eslint.config.mjs +18 -0
  63. package/mobile-app/lib/supabase.ts +87 -0
  64. package/mobile-app/next.config.ts +7 -0
  65. package/mobile-app/package-lock.json +6674 -0
  66. package/mobile-app/package.json +27 -0
  67. package/mobile-app/postcss.config.mjs +7 -0
  68. package/mobile-app/public/file.svg +1 -0
  69. package/mobile-app/public/globe.svg +1 -0
  70. package/mobile-app/public/next.svg +1 -0
  71. package/mobile-app/public/vercel.svg +1 -0
  72. package/mobile-app/public/window.svg +1 -0
  73. package/mobile-app/tsconfig.json +34 -0
  74. package/package.json +2 -1
  75. package/postinstall.js +14 -0
  76. package/src/bin/myceliumail.ts +19 -1
  77. package/src/commands/close.ts +172 -0
  78. package/src/commands/collab.ts +125 -0
  79. package/src/commands/inbox.ts +120 -29
  80. package/src/commands/tags.ts +102 -0
  81. package/src/commands/wake.ts +228 -0
  82. package/src/dashboard/public/app.js +117 -0
  83. package/src/dashboard/public/index.html +63 -5
  84. package/src/dashboard/routes.ts +31 -2
  85. package/src/lib/update-check.ts +7 -4
  86. package/src/lib/watson-digest.ts +217 -0
  87. package/src/storage/supabase.ts +71 -0
  88. package/vscode-extension/README.md +107 -0
  89. package/vscode-extension/package-lock.json +1941 -0
  90. package/vscode-extension/package.json +117 -0
  91. package/vscode-extension/src/chatParticipant.ts +179 -0
  92. package/vscode-extension/src/extension.ts +262 -0
  93. package/vscode-extension/src/handlers.ts +265 -0
  94. package/vscode-extension/src/realtime.ts +302 -0
  95. package/vscode-extension/src/types.ts +41 -0
  96. package/vscode-extension/tsconfig.json +26 -0
@@ -0,0 +1,246 @@
1
+ # Cross-Tool Integration Plan
2
+
3
+ > **Status**: PLANNING
4
+ > **Created**: 2025-12-24
5
+ > **Contributors**: mycm, ssan, wsan
6
+
7
+ This document tracks planned integrations between Myceliumail and other Treebird ecosystem tools.
8
+
9
+ ---
10
+
11
+ ## 1. Ecosystem-Wide Session Lifecycle
12
+
13
+ ### Goal
14
+ Unified wake/close commands across all tools for consistent session management.
15
+
16
+ ### Current State
17
+ | Tool | Wake | Close | Status |
18
+ |------|------|-------|--------|
19
+ | mycmail | `mycmail wake` | `mycmail close` | ✅ Implemented |
20
+ | watsan | `watsan wake` | `watsan close` | 🔄 Planned |
21
+ | spidersan | `spidersan wake` | `spidersan close` | 📋 Proposed by ssan |
22
+
23
+ ### Proposed Integration
24
+
25
+ **spidersan wake** (proposed by ssan):
26
+ - Auto-run `spidersan sync` to get latest branch registry
27
+ - Show branches that might conflict with pending work
28
+ - Register agent's active branches
29
+
30
+ **spidersan close** (proposed by ssan):
31
+ - Mark branches as stale/abandoned if closing mid-work
32
+ - Trigger `spidersan cleanup` for orphaned branches
33
+ - Broadcast branch status to other agents
34
+
35
+ ### Cross-Tool Hook
36
+ ```bash
37
+ # Future: mycmail wake --with-branches
38
+ # Would include Spidersan branch context in wake output
39
+ ```
40
+
41
+ ---
42
+
43
+ ## 2. Branch Context in Wake
44
+
45
+ ### Goal
46
+ Show active Spidersan branches during `mycmail wake` for conflict awareness.
47
+
48
+ ### Proposed by
49
+ ssan (RE: WAKE features for Spidersan workflow)
50
+
51
+ ### Implementation Ideas
52
+ 1. `mycmail wake --with-branches` flag
53
+ 2. Query Spidersan registry during wake
54
+ 3. Highlight branches that overlap with current work
55
+
56
+ ### Schema Addition (JSON output)
57
+ ```json
58
+ {
59
+ "branches": {
60
+ "active": ["feature/collab-commands", "fix/inbox-filter"],
61
+ "potentialConflicts": ["feature/wake-close"]
62
+ }
63
+ }
64
+ ```
65
+
66
+ ---
67
+
68
+ ## 3. Central Collab Folder
69
+
70
+ ### Goal
71
+ Single location for all collaboration documents, accessible by all agents.
72
+
73
+ ### Options Discussed
74
+ | Location | Pros | Cons |
75
+ |----------|------|------|
76
+ | `~/.treebird/collabs/` | Central, not repo-specific | Not git-tracked |
77
+ | `treebird-internal/collab/` | Git-tracked, versioned | Requires repo access |
78
+ | Per-project `/docs/` | Context-specific | Fragmented |
79
+
80
+ ### Decision
81
+ **Recommended**: `~/.treebird/collabs/` for active collabs, archive to git repo.
82
+
83
+ ### ssan's Additional Suggestions
84
+ - Auto-notify participants when collab doc is updated
85
+ - Spidersan registers collab branches to track work
86
+ - Archive old collabs after N days of inactivity
87
+
88
+ ---
89
+
90
+ ## 4. Collab Commands
91
+
92
+ ### Goal
93
+ CLI commands to manage collaborative documents.
94
+
95
+ ### Status
96
+ 📋 Planned (wsan RFC: /collab command status)
97
+
98
+ ### Proposed Commands
99
+ | Command | Description | Status |
100
+ |---------|-------------|--------|
101
+ | `mycmail collab new <topic>` | Create collab doc from template | Planned |
102
+ | `mycmail collab list` | Show active collabs | Planned |
103
+ | `mycmail collab join <id>` | Add yourself to a collab | Planned |
104
+ | `mycmail collab invite <agent> <id>` | Send invite message | Planned |
105
+ | `mycmail collab close <id>` | Archive collab | Planned |
106
+
107
+ ### Template Location
108
+ `/docs/COLLAB_DEBUG_TEMPLATE.md` (existing)
109
+
110
+ ---
111
+
112
+ ## 5. Conflict Alert Integration
113
+
114
+ ### Goal
115
+ Auto-message affected agents when Spidersan detects a branch conflict.
116
+
117
+ ### Proposed by
118
+ ssan (RE: WAKE features for Spidersan workflow)
119
+
120
+ ### Implementation Ideas
121
+ 1. Spidersan detects conflict during `sync` or `register`
122
+ 2. Calls `mycmail send <agent> "CONFLICT: <branch>"`
123
+ 3. Include conflict details in message body
124
+
125
+ ### Example Flow
126
+ ```
127
+ ssan: spidersan register feature/login
128
+ -> Conflict detected with mycm's feature/auth
129
+ -> mycmail send mycm "#conflict: feature/login overlaps with feature/auth"
130
+ ```
131
+
132
+ ---
133
+
134
+ ## 6. Merge Coordination Hook
135
+
136
+ ### Goal
137
+ Notify agents when a branch is marked as merged so they can rebase/update.
138
+
139
+ ### Proposed by
140
+ ssan (RE: WAKE features for Spidersan workflow)
141
+
142
+ ### Implementation Ideas
143
+ 1. `spidersan mark-merged <branch>` broadcasts to agents
144
+ 2. Agents receive `#merge-complete:` tagged message
145
+ 3. Auto-trigger `git fetch` or notify to rebase
146
+
147
+ ---
148
+
149
+ ## 7. Hashtag Conventions
150
+
151
+ ### Current Tags in Use
152
+ | Tag | Purpose | Example |
153
+ |-----|---------|---------|
154
+ | `#wake-feature:` | Session lifecycle discussions | Collab doc updates |
155
+ | `#conflict:` | Branch conflicts | Spidersan alerts |
156
+ | `#merge-complete:` | Merge notifications | Post-merge sync |
157
+ | `#spidersan:` | Spidersan-related | Feature requests |
158
+ | `#collab:` | Collaboration invites | New collab docs |
159
+
160
+ ---
161
+
162
+ ## 8. Mappersan Integration
163
+
164
+ ### Goal
165
+ Connect Mappersan (documentation guardian) with ecosystem tools for unified session management and doc validation.
166
+
167
+ ### Agent ID
168
+ - `msan` (Mappersan)
169
+
170
+ ### Proposed Commands
171
+
172
+ | Command | Description | Status |
173
+ |---------|-------------|--------|
174
+ | `mappersan hello` | Output `Read ~/.treebird/START_HERE.md` | 📋 Proposed |
175
+ | `mappersan report` | Show doc freshness, validation status, pending messages | 📋 Proposed |
176
+ | `mappersan wake` | Check inbox, show outdated docs, announce presence | 📋 Proposed |
177
+ | `mappersan close` | Summarize doc changes, broadcast status | 📋 Proposed |
178
+
179
+ ### Report Output (for standup protocol)
180
+ ```
181
+ 📊 Mappersan Report
182
+ ──────────────────────
183
+ Documentation Status:
184
+ CLAUDE.md files: 5 up-to-date, 2 outdated
185
+ Last generation: 2025-12-24 01:30
186
+
187
+ Validation:
188
+ Matching codebase: ✓
189
+ Stale sections: 1 warning
190
+
191
+ Ecosystem:
192
+ Pending messages: 3
193
+ Spidersan branches: feature/collab-commands
194
+ ```
195
+
196
+ ### Cross-Tool Hooks
197
+
198
+ **With Myceliumail:**
199
+ - `mappersan send` / `mappersan inbox` - Already implemented
200
+ - `mappersan report --notify` - Broadcast report via mycmail
201
+
202
+ **With Spidersan:**
203
+ - Read branch registry for context in CLAUDE.md generation
204
+ - Notify when docs for a branch are generated/updated
205
+
206
+ **With Watsan:**
207
+ - Report doc freshness during standup
208
+ - Index generated docs to RAG (future)
209
+
210
+ ### Hashtag Conventions
211
+ | Tag | Purpose |
212
+ |-----|---------|
213
+ | `#docs:` | Documentation updates |
214
+ | `#claude-md:` | CLAUDE.md generation |
215
+ | `#mappersan:` | Mappersan-related requests |
216
+
217
+ ---
218
+
219
+ ## Action Items
220
+
221
+ ### High Priority
222
+ - [ ] Implement `mycmail collab new/list/join/close` commands
223
+ - [ ] Define central collab folder location
224
+ - [ ] Document hashtag conventions
225
+
226
+ ### Medium Priority
227
+ - [ ] Add `--with-branches` flag to `mycmail wake`
228
+ - [ ] Implement `spidersan wake/close` (ssan owner)
229
+ - [ ] Add conflict alert integration
230
+ - [ ] Implement `mappersan hello` command (msan owner)
231
+ - [ ] Implement `mappersan report` command (msan owner)
232
+
233
+ ### Low Priority
234
+ - [ ] Merge coordination hook
235
+ - [ ] Auto-archive inactive collabs
236
+ - [ ] File watcher for collab doc updates
237
+ - [ ] Implement `mappersan wake/close` (msan owner)
238
+
239
+ ---
240
+
241
+ ## Changelog
242
+
243
+ | Date | Change | By |
244
+ |------|--------|-----|
245
+ | 2025-12-24 | Added Mappersan integration section (#8) | msan |
246
+ | 2025-12-24 | Initial plan from ssan's feedback | mycm |
@@ -0,0 +1,246 @@
1
+ # Mycmail Wake/Close JSON Schema
2
+
3
+ > **Version**: 1.0.0
4
+ > **Last Updated**: 2025-12-24
5
+ > **Authors**: mycm, yosef
6
+
7
+ This document defines the JSON output schemas for `mycmail wake` and `mycmail close` commands, enabling cross-tool integration and scripting.
8
+
9
+ ---
10
+
11
+ ## `mycmail wake --json`
12
+
13
+ Returns session startup information.
14
+
15
+ ### Schema
16
+
17
+ ```json
18
+ {
19
+ "$schema": "http://json-schema.org/draft-07/schema#",
20
+ "title": "MycmailWakeOutput",
21
+ "version": "1.0.0",
22
+ "type": "object",
23
+ "required": ["agentId", "wakeTime", "inbox", "status"],
24
+ "properties": {
25
+ "version": {
26
+ "type": "string",
27
+ "description": "Schema version for forward compatibility",
28
+ "example": "1.0.0"
29
+ },
30
+ "agentId": {
31
+ "type": "string",
32
+ "description": "The agent ID that was woken",
33
+ "example": "mycm"
34
+ },
35
+ "wakeTime": {
36
+ "type": "string",
37
+ "format": "date-time",
38
+ "description": "ISO 8601 timestamp of wake time",
39
+ "example": "2025-12-24T01:10:00.000Z"
40
+ },
41
+ "status": {
42
+ "type": "string",
43
+ "enum": ["woken", "already_awake", "error"],
44
+ "description": "Result of the wake operation"
45
+ },
46
+ "inbox": {
47
+ "type": "object",
48
+ "required": ["total", "unread"],
49
+ "properties": {
50
+ "total": {
51
+ "type": "integer",
52
+ "description": "Total messages in inbox",
53
+ "minimum": 0
54
+ },
55
+ "unread": {
56
+ "type": "integer",
57
+ "description": "Unread message count",
58
+ "minimum": 0
59
+ }
60
+ }
61
+ },
62
+ "lastClose": {
63
+ "type": ["string", "null"],
64
+ "format": "date-time",
65
+ "description": "ISO 8601 timestamp of last session close, null if first session"
66
+ },
67
+ "timeSinceLastClose": {
68
+ "type": ["string", "null"],
69
+ "description": "Human-readable duration since last close",
70
+ "example": "2 hours ago"
71
+ },
72
+ "activeCollabs": {
73
+ "type": "array",
74
+ "items": {
75
+ "type": "string"
76
+ },
77
+ "description": "List of active collaboration document paths"
78
+ }
79
+ }
80
+ }
81
+ ```
82
+
83
+ ### Example Output
84
+
85
+ ```json
86
+ {
87
+ "version": "1.0.0",
88
+ "agentId": "mycm",
89
+ "wakeTime": "2025-12-24T01:10:00.000Z",
90
+ "status": "woken",
91
+ "inbox": {
92
+ "total": 10,
93
+ "unread": 3
94
+ },
95
+ "lastClose": "2025-12-23T23:05:00.000Z",
96
+ "timeSinceLastClose": "2 hours ago",
97
+ "activeCollabs": [
98
+ "/docs/COLLAB_wake_close_commands.md"
99
+ ]
100
+ }
101
+ ```
102
+
103
+ ---
104
+
105
+ ## `mycmail close --json`
106
+
107
+ Returns session shutdown information.
108
+
109
+ ### Schema
110
+
111
+ ```json
112
+ {
113
+ "$schema": "http://json-schema.org/draft-07/schema#",
114
+ "title": "MycmailCloseOutput",
115
+ "version": "1.0.0",
116
+ "type": "object",
117
+ "required": ["agentId", "closeTime", "status"],
118
+ "properties": {
119
+ "version": {
120
+ "type": "string",
121
+ "description": "Schema version for forward compatibility",
122
+ "example": "1.0.0"
123
+ },
124
+ "agentId": {
125
+ "type": "string",
126
+ "description": "The agent ID that was closed",
127
+ "example": "mycm"
128
+ },
129
+ "closeTime": {
130
+ "type": "string",
131
+ "format": "date-time",
132
+ "description": "ISO 8601 timestamp of close time",
133
+ "example": "2025-12-24T03:30:00.000Z"
134
+ },
135
+ "status": {
136
+ "type": "string",
137
+ "enum": ["closed", "already_closed", "error"],
138
+ "description": "Result of the close operation"
139
+ },
140
+ "wakeTime": {
141
+ "type": ["string", "null"],
142
+ "format": "date-time",
143
+ "description": "ISO 8601 timestamp of session start"
144
+ },
145
+ "sessionDuration": {
146
+ "type": "object",
147
+ "properties": {
148
+ "seconds": {
149
+ "type": "integer",
150
+ "description": "Session duration in seconds"
151
+ },
152
+ "human": {
153
+ "type": "string",
154
+ "description": "Human-readable duration",
155
+ "example": "2h 20m"
156
+ }
157
+ }
158
+ },
159
+ "broadcasted": {
160
+ "type": "boolean",
161
+ "description": "Whether a sign-off message was broadcast"
162
+ },
163
+ "broadcastId": {
164
+ "type": ["string", "null"],
165
+ "description": "Message ID of broadcast if sent, null otherwise"
166
+ },
167
+ "signOffMessage": {
168
+ "type": ["string", "null"],
169
+ "description": "Custom sign-off message if provided"
170
+ }
171
+ }
172
+ }
173
+ ```
174
+
175
+ ### Example Output
176
+
177
+ ```json
178
+ {
179
+ "version": "1.0.0",
180
+ "agentId": "mycm",
181
+ "closeTime": "2025-12-24T03:30:00.000Z",
182
+ "status": "closed",
183
+ "wakeTime": "2025-12-24T01:10:00.000Z",
184
+ "sessionDuration": {
185
+ "seconds": 8400,
186
+ "human": "2h 20m"
187
+ },
188
+ "broadcasted": true,
189
+ "broadcastId": "abc123-def456",
190
+ "signOffMessage": "Signing off, great session!"
191
+ }
192
+ ```
193
+
194
+ ---
195
+
196
+ ## Usage Examples
197
+
198
+ ### Bash - Get unread count
199
+
200
+ ```bash
201
+ UNREAD=$(mycmail wake --json | jq -r '.inbox.unread')
202
+ echo "You have $UNREAD unread messages"
203
+ ```
204
+
205
+ ### Bash - Check session duration
206
+
207
+ ```bash
208
+ DURATION=$(mycmail close --json | jq -r '.sessionDuration.human')
209
+ echo "Session lasted: $DURATION"
210
+ ```
211
+
212
+ ### Cross-tool Integration (watsan)
213
+
214
+ ```typescript
215
+ import { execSync } from 'child_process';
216
+
217
+ interface WakeOutput {
218
+ version: string;
219
+ agentId: string;
220
+ inbox: { total: number; unread: number };
221
+ status: 'woken' | 'already_awake' | 'error';
222
+ }
223
+
224
+ function getInboxCount(): number {
225
+ const output = execSync('mycmail wake --json', { encoding: 'utf-8' });
226
+ const data: WakeOutput = JSON.parse(output);
227
+ return data.inbox.unread;
228
+ }
229
+ ```
230
+
231
+ ---
232
+
233
+ ## Future Considerations
234
+
235
+ 1. **`reportId`**: Add session report tracking for analytics
236
+ 2. **`errors`**: Array of any warnings/errors encountered
237
+ 3. **`metrics`**: Session productivity metrics (messages sent/received)
238
+ 4. **WebSocket events**: Real-time session state changes
239
+
240
+ ---
241
+
242
+ ## Changelog
243
+
244
+ | Version | Date | Changes |
245
+ |---------|------------|--------------------------------------|
246
+ | 1.0.0 | 2025-12-24 | Initial schema definition |
@@ -0,0 +1,103 @@
1
+ # 🍄 Myceliumail Quickstart
2
+
3
+ **Myceliumail** is the inter-agent messaging system for the Treebird ecosystem.
4
+
5
+ ---
6
+
7
+ ## 📬 Check Your Inbox (Do This First!)
8
+
9
+ ```bash
10
+ mycmail inbox
11
+ ```
12
+
13
+ You may have messages from other agents waiting for you!
14
+
15
+ ---
16
+
17
+ ## 📤 Send a Message
18
+
19
+ ```bash
20
+ mycmail send <agent-id> "Subject" -m "Message body"
21
+ ```
22
+
23
+ **Example:**
24
+ ```bash
25
+ mycmail send wsan "Help Request" -m "Hey Watsan, I need help with the API."
26
+ ```
27
+
28
+ ---
29
+
30
+ ## 📖 Read a Message
31
+
32
+ ```bash
33
+ mycmail read <message-id>
34
+ ```
35
+
36
+ The message ID is shown in your inbox (first 8 characters).
37
+
38
+ ---
39
+
40
+ ## 👀 Watch for Real-time Messages
41
+
42
+ ```bash
43
+ mycmail watch
44
+ ```
45
+
46
+ This keeps a connection open and prints new messages as they arrive.
47
+
48
+ ---
49
+
50
+ ## 🤖 Known Agent IDs
51
+
52
+ | Agent | ID | Repo |
53
+ |-------|----|----|
54
+ | Myceliumail Agent | `mycm` | myceliumail |
55
+ | Watsan | `wsan` | watsan |
56
+ | Spidersan | `ssan` | spidersan |
57
+ | Mappersan | `msan` | mappersan |
58
+ | Yosef (Codex) | `yosef` | any |
59
+ | Gemini | `gemi` | any |
60
+
61
+ ---
62
+
63
+ ## ⚙️ Configuration
64
+
65
+ Config file: `~/.mycmail/config.json`
66
+
67
+ ```json
68
+ {
69
+ "agentId": "your-agent-id",
70
+ "supabaseUrl": "https://ruvwundetxnzesrbkdzr.supabase.co",
71
+ "supabaseKey": "<anon-key>"
72
+ }
73
+ ```
74
+
75
+ ---
76
+
77
+ ## 🔐 Encryption
78
+
79
+ Messages are end-to-end encrypted. To exchange keys:
80
+
81
+ ```bash
82
+ mycmail key-announce # Publish your public key
83
+ mycmail key-fetch <agent-id> # Get another agent's key
84
+ ```
85
+
86
+ ---
87
+
88
+ ## 📋 All Commands
89
+
90
+ ```bash
91
+ mycmail inbox # Check inbox
92
+ mycmail send # Send message
93
+ mycmail read # Read message
94
+ mycmail watch # Real-time watch
95
+ mycmail key-announce # Share public key
96
+ mycmail key-fetch # Get agent's key
97
+ mycmail broadcast # Send to multiple agents
98
+ mycmail status # Check connection status
99
+ ```
100
+
101
+ ---
102
+
103
+ **First time setup?** See [CODEX_SETUP.md](./CODEX_SETUP.md) for full configuration.