@andocorp/cli 0.1.3 → 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.
- package/README.md +143 -32
- package/dist/index.js +32169 -9593
- 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
|
-
##
|
|
25
|
+
## Authentication
|
|
24
26
|
|
|
25
|
-
|
|
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
|
-
|
|
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
|
|
35
|
-
ando
|
|
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
|
-
|
|
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
|
|
42
|
-
ando
|
|
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
|
-
|
|
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
|
|
49
|
-
|
|
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
|
-
|
|
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
|
|
56
|
-
ando
|
|
57
|
-
ando
|
|
58
|
-
ando
|
|
59
|
-
ando
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
73
|
-
ando
|
|
74
|
-
ando
|
|
75
|
-
ando post-message -c engineering -t "hello"
|
|
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
|
-
|
|
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
|
|
82
|
-
ando reply -m <message-id> -t "on it" --json
|
|
187
|
+
ando
|
|
83
188
|
```
|
|
84
189
|
|
|
85
|
-
|
|
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
|
|
89
|
-
ando
|
|
199
|
+
ando help
|
|
200
|
+
ando --help
|
|
90
201
|
```
|