Repository navigation
Expand file tree
/
Copy pathcli-spec.json
More file actions
299 lines (299 loc) · 11 KB
/
Copy pathcli-spec.json
File metadata and controls
299 lines (299 loc) · 11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
{
"spec_version": "5.0.0",
"package_name": "@atomicmemory/cli",
"package_version": "0.1.2",
"global_options": [
{
"name": "--json",
"description": "Emit raw structured JSON output."
},
{
"name": "--agent",
"description": "Emit the stable agent envelope JSON output."
},
{
"name": "--output <mode>",
"description": "Select output mode: text, table, json, quiet, or agent."
},
{
"name": "--profile <name>",
"description": "Use a named CLI profile."
},
{
"name": "--api-url <url>",
"description": "Provider base URL."
},
{
"name": "--provider <name>",
"description": "Provider name: atomicmemory or mem0."
},
{
"name": "--user <id>",
"description": "Scope user."
},
{
"name": "--agent-id <id>",
"description": "Scope agent."
},
{
"name": "--namespace <name>",
"description": "Scope namespace."
},
{
"name": "--thread <id>",
"description": "Scope thread."
},
{
"name": "--interactive",
"description": "Hint to launch the Ink human renderer (only valid in text mode on a TTY)."
},
{
"name": "--no-interactive",
"description": "Force the plain text renderer; suppress Ink even when stdin/stdout is a TTY."
},
{
"name": "--experimental",
"description": "Permit invocation of hidden experimental commands."
}
],
"commands": [
{
"name": "init",
"usage": "atomicmemory init [--profile NAME] [--api-url URL] [--provider atomicmemory|mem0] [--user USER]",
"summary": "Write or update local CLI config.",
"category": "setup",
"allowed_outputs": ["text", "json", "agent"],
"flags": [
"--api-key-stdin",
"--save-api-key",
"--config PATH",
"--force",
"--trust-surface local|self-hosted|authenticated-wrapper"
],
"examples": [
"atomicmemory init --profile local --api-url http://127.0.0.1:17350 --user $USER",
"echo \"$ATOMICMEMORY_API_KEY\" | atomicmemory init --api-key-stdin --save-api-key --profile cloud"
]
},
{
"name": "doctor",
"usage": "atomicmemory doctor [--quick] [--offline] [--fix]",
"summary": "Validate config, profile, provider connectivity, package health, and integration readiness.",
"category": "diagnostics",
"allowed_outputs": ["text", "json", "agent"],
"flags": ["--api-key-stdin", "--quick", "--offline", "--fix"],
"examples": ["atomicmemory doctor", "atomicmemory doctor --json --quick --offline"]
},
{
"name": "status",
"usage": "atomicmemory status",
"summary": "Report active provider, profile, scope, and capabilities.",
"category": "diagnostics",
"allowed_outputs": ["text", "json", "agent"],
"flags": ["--api-key-stdin"]
},
{
"name": "config",
"usage": "atomicmemory config <show|get|set|unset|profile>",
"summary": "Manage local CLI config and named profiles.",
"category": "setup",
"allowed_outputs": ["text", "json", "agent"],
"children": [
{ "name": "show", "usage": "atomicmemory config show", "summary": "Show merged config with secrets redacted." },
{ "name": "get", "usage": "atomicmemory config get <key>", "summary": "Read one config value.", "args": ["<key>"] },
{ "name": "set", "usage": "atomicmemory config set <key> <value>", "summary": "Set one non-secret config value.", "args": ["<key>", "<value>"] },
{ "name": "unset", "usage": "atomicmemory config unset <key>", "summary": "Remove one config value.", "args": ["<key>"] },
{ "name": "profile list", "usage": "atomicmemory config profile list", "summary": "List configured profiles." },
{ "name": "profile use", "usage": "atomicmemory config profile use <name>", "summary": "Set the active profile.", "args": ["<name>"] },
{ "name": "profile show", "usage": "atomicmemory config profile show [name]", "summary": "Show one profile with secrets redacted; defaults to the active profile.", "args": ["[name]"] }
]
},
{
"name": "skill",
"usage": "atomicmemory skill <list|get|path> [name]",
"summary": "Expose bundled, version-matched agent instructions for this CLI.",
"category": "agent",
"allowed_outputs": ["text", "json", "agent"],
"children": [
{ "name": "list", "usage": "atomicmemory skill list", "summary": "List bundled CLI skills." },
{ "name": "get", "usage": "atomicmemory skill get <name>", "summary": "Print bundled agent instructions.", "args": ["<name>"] },
{ "name": "path", "usage": "atomicmemory skill path <name>", "summary": "Print the installed skill file path.", "args": ["<name>"] }
]
},
{
"name": "hooks",
"usage": "atomicmemory hooks <install|run> [event] [--host codex|claude-code] [--runtime node|python]",
"summary": "Generate coding-agent hook config and run the bundled Node hook runtime.",
"category": "setup",
"allowed_outputs": ["text", "json", "agent"],
"args": ["<action>", "[event]"],
"flags": [
"--host codex|claude-code",
"--runtime node|python",
"--limit N"
],
"examples": [
"atomicmemory hooks install --host codex",
"atomicmemory hooks install --host codex --runtime python",
"atomicmemory hooks run user-prompt-submit --host codex"
]
},
{
"name": "validate",
"usage": "atomicmemory validate [--online] [--json]",
"summary": "Validate installed CLI package metadata, command spec, schema, and bundled skill. Offline by default; --online additionally checks provider connectivity/auth.",
"category": "diagnostics",
"allowed_outputs": ["text", "json", "agent"],
"flags": ["--online", "--api-key-stdin"]
},
{
"name": "add",
"usage": "atomicmemory add <text>",
"summary": "Ingest text into memory.",
"category": "memory",
"allowed_outputs": ["text", "json", "quiet", "agent"],
"args": ["[text...]"],
"flags": [
"--file PATH|-",
"--metadata JSON",
"--source VALUE",
"--source-url URL",
"--stdin",
"--api-key-stdin"
]
},
{
"name": "ingest",
"usage": "atomicmemory ingest --mode text|messages|verbatim [content]",
"summary": "Explicit ingest command for text, messages, or verbatim storage.",
"category": "memory",
"allowed_outputs": ["text", "json", "quiet", "agent"],
"args": ["[content...]"],
"flags": [
"--mode text|messages|verbatim",
"--file PATH|-",
"--kind fact|episode|summary|procedure|document",
"--stdin",
"--api-key-stdin"
]
},
{
"name": "search",
"usage": "atomicmemory search <query>",
"summary": "Search scoped memories. --threshold is intentionally omitted in v5 because raw similarity scores are not comparable across providers.",
"category": "memory",
"allowed_outputs": ["text", "table", "json", "agent"],
"args": ["<query...>"],
"flags": ["--limit N", "--filter-json JSON", "--reranker NAME", "--api-key-stdin"]
},
{
"name": "package",
"usage": "atomicmemory package <query>",
"summary": "Build prompt-ready context from scoped memories.",
"category": "memory",
"allowed_outputs": ["text", "table", "json", "agent"],
"args": ["<query...>"],
"flags": [
"--token-budget N",
"--format flat|tiered|structured",
"--section header|inline|footer",
"--api-key-stdin"
]
},
{
"name": "list",
"usage": "atomicmemory list [--limit N] [--cursor VALUE]",
"summary": "List scoped memories.",
"category": "memory",
"allowed_outputs": ["text", "table", "json", "agent"],
"default_output": "table",
"flags": ["--limit N", "--cursor VALUE", "--api-key-stdin"]
},
{
"name": "get",
"usage": "atomicmemory get <id>",
"summary": "Fetch one memory by id.",
"category": "memory",
"allowed_outputs": ["text", "json", "agent"],
"args": ["<id>"],
"flags": ["--api-key-stdin"]
},
{
"name": "delete",
"usage": "atomicmemory delete <id>",
"summary": "Delete one memory by id.",
"category": "memory",
"allowed_outputs": ["text", "json", "quiet", "agent"],
"args": ["<id>"],
"flags": ["--api-key-stdin"]
},
{
"name": "import",
"usage": "atomicmemory import <file|->",
"summary": "Bulk import JSON memory records.",
"category": "memory",
"allowed_outputs": ["text", "json", "quiet", "agent"],
"args": ["<file>"],
"flags": ["--stdin", "--api-key-stdin"]
},
{
"name": "completion",
"usage": "atomicmemory completion bash|zsh",
"summary": "Generate shell completion scripts. Fish and PowerShell completions are V1.1.",
"category": "setup",
"allowed_outputs": ["text"],
"args": ["<shell>"]
},
{
"name": "version",
"usage": "atomicmemory version",
"summary": "Print CLI version.",
"category": "diagnostics",
"allowed_outputs": ["text", "json", "agent"]
},
{
"name": "help",
"usage": "atomicmemory help [command] [--json]",
"summary": "Show human or machine-readable help.",
"category": "diagnostics",
"allowed_outputs": ["text", "json", "agent"],
"args": ["[command...]"]
},
{
"name": "lifecycle",
"usage": "atomicmemory --experimental lifecycle <stats|cap>",
"summary": "[experimental] AtomicMemory memory lifecycle operations. Requires --experimental and the atomicmemory.lifecycle SDK extension.",
"category": "experimental",
"allowed_outputs": ["text", "json", "agent"],
"flags": ["--api-key-stdin"],
"hidden": true
},
{
"name": "audit",
"usage": "atomicmemory --experimental audit <summary|recent|trail>",
"summary": "[experimental] Inspect AtomicMemory audit trail. Requires --experimental and the atomicmemory.audit SDK extension.",
"category": "experimental",
"allowed_outputs": ["text", "json", "agent"],
"flags": ["--api-key-stdin"],
"hidden": true
},
{
"name": "lessons",
"usage": "atomicmemory --experimental lessons <list|stats|report>",
"summary": "[experimental] Inspect durable lessons. Requires --experimental and the atomicmemory.lessons SDK extension.",
"category": "experimental",
"allowed_outputs": ["text", "json", "agent"],
"flags": ["--api-key-stdin"],
"hidden": true
},
{
"name": "agents",
"usage": "atomicmemory --experimental agents <trust|conflicts>",
"summary": "[experimental] Inspect agent trust and conflicts. Requires --experimental and the atomicmemory.agents SDK extension.",
"category": "experimental",
"allowed_outputs": ["text", "json", "agent"],
"flags": ["--api-key-stdin"],
"hidden": true
}
]
}