You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+23-16Lines changed: 23 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -344,22 +344,20 @@ basic-memory sync --watch
344
344
3. Cloud features (optional, requires subscription):
345
345
346
346
```bash
347
-
# Authenticate with cloud (global cloud mode via OAuth)
347
+
# Authenticate with cloud (stores OAuth token locally)
348
348
basic-memory cloud login
349
349
350
-
#Bidirectional sync with cloud
351
-
basic-memory cloud sync
350
+
#(Optional) install/configure rclone for file sync commands
351
+
basic-memory cloud setup
352
352
353
-
# Verify cloud integrity
354
-
basic-memory cloud check
355
-
356
-
# Mount cloud storage
357
-
basic-memory cloud mount
353
+
# Check cloud auth + health
354
+
basic-memory cloud status
358
355
```
359
356
360
357
**Per-Project Cloud Routing** (API key based):
361
358
362
-
Individual projects can be routed through the cloud while others stay local. This uses an API key instead of OAuth:
359
+
Individual projects can be routed through the cloud while others stay local. This uses an API key for routed
360
+
project calls:
363
361
364
362
```bash
365
363
# Save an API key (create one in the web app or via CLI)
@@ -373,25 +371,32 @@ basic-memory project set-cloud research
373
371
# Revert a project to local mode
374
372
basic-memory project set-local research
375
373
376
-
# List projects with mode column (local/cloud)
374
+
# List projects and route metadata
377
375
basic-memory project list
378
376
```
379
377
380
-
**Routing Flags** (for users with global cloud mode):
378
+
`basic-memory cloud login` / `basic-memory cloud logout` are authentication commands. They do not change default CLI
379
+
routing behavior.
380
+
381
+
**Routing Flags**:
381
382
382
-
When global cloud mode is enabled, CLI commands communicate with the cloud API by default. Use routing flags to override this:
383
+
Use routing flags to disambiguate command targets:
383
384
384
385
```bash
385
-
# Force local routing (useful for local MCP server while cloud mode is enabled)
386
+
# Force local routing for this command
386
387
basic-memory status --local
387
388
basic-memory project list --local
389
+
basic-memory project ls --name main --local
388
390
389
-
# Force cloud routing (when cloud mode is disabled but you want cloud access)
391
+
# Force cloud routing for this command
390
392
basic-memory status --cloud
391
393
basic-memory project info my-project --cloud
394
+
basic-memory project ls --name main --cloud
392
395
```
393
396
394
-
The local MCP server (`basic-memory mcp`) automatically uses local routing, so you can use both local Claude Desktop and cloud-based clients simultaneously.
397
+
No-flag behavior defaults to local when no project context is present.
398
+
399
+
The local MCP server (`basic-memory mcp`) always uses local routing (including `--transport stdio`).
395
400
396
401
**CLI Note Editing (`tool edit-note`):**
397
402
@@ -493,7 +498,9 @@ Basic Memory uses [Loguru](https://github.com/Delgan/loguru) for logging. The lo
Copy file name to clipboardExpand all lines: docs/ARCHITECTURE.md
+8-10Lines changed: 8 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ Each entrypoint uses a **composition root** pattern to manage configuration and
18
18
A composition root is the single place in an application where dependencies are wired together. In Basic Memory, each entrypoint has its own composition root that:
19
19
20
20
1. Reads configuration from `ConfigManager`
21
-
2. Resolves runtime mode (cloud/local/test)
21
+
2. Resolves runtime mode (local/test)
22
22
3. Creates and provides dependencies to downstream code
23
23
24
24
**Key principle**: Only composition roots read global configuration. All other modules receive configuration explicitly.
**Note**: `RuntimeMode` determines global behavior (e.g., whether to start file sync). Per-project routing is orthogonal — individual projects can be set to `cloud` mode via `ProjectMode` in config, which affects client routing in `get_client(project_name=...)` without changing the global runtime mode.
108
+
**Note**: `RuntimeMode` determines global behavior (e.g., whether to start file sync).
109
+
Per-project routing is orthogonal: individual projects can be set to `cloud` mode via `ProjectMode`,
110
+
which affects client routing in `get_client(project_name=...)` without changing global runtime mode.
111
+
`RuntimeMode.CLOUD` may remain for compatibility, but standard local runtime resolution does not select it.
0 commit comments