@andocorp/cli 0.1.2 → 0.2.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 +143 -32
  2. package/dist/index.js +32009 -11635
  3. package/package.json +19 -14
package/README.md CHANGED
@@ -1,7 +1,9 @@
1
- # Ando CLI
1
+ # Ando CLI (Agent-First)
2
2
 
3
3
  `ando` is a terminal client for humans and agents.
4
4
 
5
+ This README documents the agent-first command surface where commands are predictable, flag-driven, and easy for automation to script. The classic human-friendly commands and interactive TUI are still supported.
6
+
5
7
  ## Installation
6
8
 
7
9
  ### npm (Recommended)
@@ -20,71 +22,180 @@ npx @andocorp/cli
20
22
 
21
23
  Standalone binaries are available for users who prefer not to install Node.js/npm. Contact hello@ando.so for access.
22
24
 
23
- ## Commands
25
+ ## Authentication
24
26
 
25
- Open the interactive terminal UI:
27
+ Login once with email OTP:
26
28
 
27
29
  ```sh
28
- ando
30
+ ando login --email alex@ando.so
29
31
  ```
30
32
 
31
- Show help:
33
+ Optional login flags:
34
+
35
+ - `--workspace` / `-w`: pick workspace by id/slug/name
36
+ - `--convex-url`: override Convex deployment URL
37
+ - `--api-host`: override backend API host used for agent-first commands
38
+
39
+ Session config is saved at `~/.config/ando/config.json`.
40
+
41
+ ## Agent-first command model
42
+
43
+ ### 1) `messages` — fetch conversation messages
32
44
 
33
45
  ```sh
34
- ando help
35
- ando --help
46
+ ando messages --channel engineering --limit 10
47
+ ando messages -c engineering -m 10
48
+ ando messages --dm alex --before <cursor> --json
49
+ ando messages --conversation <conversation-id>
36
50
  ```
37
51
 
38
- List channels:
52
+ Flags:
53
+
54
+ - `--channel` / `-c`
55
+ - `--dm` / `-d`
56
+ - `--conversation`
57
+ - `--limit` / `-m`
58
+ - `--before`
59
+ - `--json`
60
+
61
+ ### 2) `search` — search entities
39
62
 
40
63
  ```sh
41
- ando list-channels
42
- ando list-channels --json
64
+ ando search "incident"
65
+ ando search "alice" --type members
66
+ ando search "standup" --type conversations
67
+ ando search "launch checklist" --type clipboard
68
+ ando search "migration" --type calls --after 2026-01-01T00:00:00.000Z
43
69
  ```
44
70
 
45
- List direct-message conversations:
71
+ `search` defaults to `--type messages`.
72
+
73
+ Supported types:
74
+
75
+ - `messages`
76
+ - `members`
77
+ - `conversations`
78
+ - `clipboard`
79
+ - `calls`
80
+
81
+ #### Message search filters
46
82
 
47
83
  ```sh
48
- ando list-dms
49
- ando list-dms --json
84
+ ando search "oauth" --type messages \
85
+ --author <member-id>[,<member-id>] \
86
+ --conversation <conversation-id>[,<conversation-id>] \
87
+ --thread <thread-root-message-id> \
88
+ --after 2026-01-01T00:00:00.000Z \
89
+ --before 2026-02-01T00:00:00.000Z \
90
+ --mode semantic
50
91
  ```
51
92
 
52
- List messages from a channel, DM, or conversation id:
93
+ Common flags:
94
+
95
+ - `--type` / `-t`
96
+ - `--json`
97
+
98
+ Additional filters (depending on type):
99
+
100
+ - `--author`
101
+ - `--conversation`
102
+ - `--thread`
103
+ - `--after`
104
+ - `--before`
105
+ - `--mode` (`full-text` or `semantic`, message search only)
106
+
107
+ ### 3) `get` — fetch one entity by id
53
108
 
54
109
  ```sh
55
- ando list-messages --channel engineering
56
- ando list-messages --dm alex
57
- ando list-messages --conversation <conversation-id>
58
- ando list-messages --channel engineering --limit 20
59
- ando list-messages -c engineering -n 20 --json
110
+ ando get message <message-id>
111
+ ando get member <member-id>
112
+ ando get clipboard <clipboard-id>
113
+ ando get call <call-id>
114
+ ando get transcript <call-id> --limit 100 --cursor <cursor>
60
115
  ```
61
116
 
62
- Read a thread by message id:
117
+ Entities:
118
+
119
+ - `message`
120
+ - `member`
121
+ - `clipboard`
122
+ - `call`
123
+ - `transcript`
124
+
125
+ Transcript flags:
126
+
127
+ - `--limit`
128
+ - `--cursor`
129
+
130
+ ### 4) `thread` — fetch thread replies
63
131
 
64
132
  ```sh
65
- ando thread --message-id <message-id>
133
+ ando thread <thread-root-message-id>
134
+ ando thread <thread-root-message-id> --limit 50 --after <cursor>
66
135
  ando thread -m <message-id> --json
67
136
  ```
68
137
 
69
- Post a new message to a channel, DM, or conversation id:
138
+ Flags:
139
+
140
+ - positional `<thread-root-message-id>` or `--message-id` / `-m`
141
+ - `--limit`
142
+ - `--after`
143
+ - `--json`
144
+
145
+ ## Output
146
+
147
+ Every agent-first command supports `--json` for machine-readable output. Without `--json`, commands print tab-separated rows designed for piping into `awk`, `cut`, `jq`, etc.
148
+
149
+ ## Human-friendly commands (still supported)
150
+
151
+ The following commands are still available for humans working in a terminal:
152
+
153
+ - `ando` — interactive terminal UI
154
+ - `ando list-channels [--limit|-n <n>]` — 10 most recently active channels by default
155
+ - `ando list-dms [--limit|-n <n>]` — 10 most recently active DMs by default
156
+ - `ando list-messages` — requires `--channel`, `--dm`, or `--conversation`
157
+ - `ando post-message` — requires `--channel/--dm/--conversation` and `--text`
158
+ - `ando reply` — requires `--message-id` and `--text`
159
+ - `ando react` — requires `--message-id` and `--emoji`
160
+
161
+ Examples:
70
162
 
71
163
  ```sh
72
- ando post-message --channel engineering --text "hello"
73
- ando post-message --dm alex --text "want to pair?"
74
- ando post-message --conversation <conversation-id> --text "status update"
75
- ando post-message -c engineering -t "hello" --json
164
+ ando list-channels
165
+ ando list-dms --json
166
+ ando list-messages -c engineering -n 20
167
+ ando post-message -c engineering -t "hello"
168
+ ando reply -m <message-id> -t "on it"
169
+ ando react -m <message-id> -e 👍
76
170
  ```
77
171
 
78
- Reply inside an existing thread:
172
+ ## Environment variables
173
+
174
+ - `ANDO_CONVEX_URL`: Convex deployment URL
175
+ - `ANDO_API_HOST`: backend API host for agent-first commands (default: `https://api.app.ando.so`)
176
+ - `VITE_CONVEX_URL`: fallback Convex URL
177
+ - `NEXT_PUBLIC_CONVEX_URL`: fallback Convex URL
178
+ - `ANDO_SESSION_JWT`: override saved session token for one run
179
+
180
+ Flags take precedence over environment variables, and environment variables take precedence over the saved config.
181
+
182
+ ## Interactive mode
183
+
184
+ Running plain `ando` opens a keyboard-driven terminal client.
79
185
 
80
186
  ```sh
81
- ando reply --message-id <message-id> --text "on it"
82
- ando reply -m <message-id> -t "on it" --json
187
+ ando
83
188
  ```
84
189
 
85
- Add a reaction to a message:
190
+ Keys:
191
+
192
+ - `[c]` Channels, `[d]` DMs, `[/]` Search, `[Tab]` Focus panes
193
+ - `[Enter]` Open, `[t]` Thread, `[u]` Older, `[n]` Newer
194
+ - `[p]` Post, `[r]` Reply, `[a]` React, `[b]` Back, `[q]` Quit
195
+
196
+ ## Help
86
197
 
87
198
  ```sh
88
- ando react --message-id <message-id> --emoji 👍
89
- ando react -m <message-id> -e 👍 --json
199
+ ando help
200
+ ando --help
90
201
  ```