Documentation Index
Fetch the complete documentation index at: https://mintlify.com/basicmachines-co/basic-memory/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Basic Memory supports multiple projects with flexible routing between local and cloud modes. Each project can be independently configured to:- Run entirely local (no cloud dependency)
- Route CLI commands through the cloud API
- Sync files bidirectionally with cloud storage
- Use different cloud workspaces
MCP tools (via stdio transport) always use local routing, allowing simultaneous use of local Claude Desktop and cloud-based clients.
Project Concepts
Project Modes
Each project has a routing mode that determines which API it uses:| Mode | CLI Routing | MCP (stdio) | File Storage | Requires Cloud |
|---|---|---|---|---|
LOCAL | Local API | Local API | Local only | No |
CLOUD | Cloud API | Local API | Local + Cloud (synced) | Yes |
Project Paths
- Local path: Where files are stored on your filesystem (
~/basic-memory/research) - Cloud path: The project’s path in cloud storage (
/research) - Sync path: Local directory for bidirectional sync (can differ from local path)
Workspaces
Cloud workspaces organize projects by tenant:- Personal workspace: Your individual account workspace
- Organization workspace: Shared workspace for team collaboration
Listing Projects
View all local and cloud projects:Filtering Output
Creating Projects
Local Project
Create a project that runs entirely local:Cloud Project with Sync
Create a project with cloud routing and sync:- Creates the project in the cloud
- Creates the project in local database
- Configures sync path
- Sets routing mode to cloud
Project Routing
Set Cloud Mode
Route a project’s CLI commands through the cloud API:- CLI commands for this project use cloud API
- Requires API key or OAuth authentication
- Enables cloud features (search, stats, etc.)
- MCP tools (via stdio transport)
- File storage (unless sync is configured)
- Database (unless explicitly using cloud)
Set Local Mode
Revert a project to local-only routing:- CLI commands use local API
- No cloud authentication required
- Limited to local features
Routing Flags
Override routing for a single command:Routing flags are useful for testing or when you want to query both local and cloud states.
Project Information
Get detailed information about a project:Routing Status
Check which API a project uses:local- Using local APIcloud- Using cloud APIlocal (flag)- Forced local via--localflagcloud (flag)- Forced cloud via--cloudflag
Sync Configuration
Configure Sync for Existing Project
Set up bidirectional sync for a project:- Verifies the project exists in the cloud
- Creates the local directory
- Updates project config with sync path
- Prepares for first bisync
View Sync Status
- Bisync Initialized: Whether baseline sync has been established
- Last Sync: Timestamp of last successful sync
- Local Path: Where files are stored locally
Remove Sync Configuration
To stop syncing a project (keeps cloud and local data):Default Project
Set a project as the default for MCP operations:View Default Project
bm project list output.
Workspace Management
Workspaces are only relevant for cloud projects. Local projects don’t use workspaces.
List Workspaces
View available cloud workspaces:Set Default Workspace
--workspace.
Per-Command Workspace
Query a specific workspace:Multi-Device Workflows
Scenario: Desktop and Laptop
On Desktop:Scenario: Mixed Local and Cloud Projects
Advanced Configuration
Manual Config Editing
Project configuration lives in~/.basic-memory/config.yaml:
path: Local filesystem pathlocal_sync_path: Sync directory (can differ from path)mode: Routing mode (localorcloud)bisync_initialized: Whether baseline sync existslast_sync: Timestamp of last successful sync
Environment Variables
Control routing behavior:| Variable | Effect |
|---|---|
BASIC_MEMORY_FORCE_LOCAL=true | Force local routing for all commands |
BASIC_MEMORY_FORCE_CLOUD=true | Force cloud routing for all commands |
BASIC_MEMORY_EXPLICIT_ROUTING=true | Mark routing as explicit |
Snapshot Integration
Cloud projects support snapshots for backup and rollback.Create Snapshot
Snapshot your project’s cloud state:List Snapshots
Restore from Snapshot
Restore specific files or entire project:Snapshot Best Practices
- Before major changes: Create snapshot before refactoring or bulk edits
- Daily snapshots: Automate daily snapshots via cron or scheduled task
- Pre-sync snapshots: Snapshot before risky sync operations
- Descriptive names: Use clear descriptions for easy identification
Troubleshooting
Project Not Found
Cloud Routing Fails
Sync Path Mismatch
Bisync State Issues
Wrong Workspace
Next Steps
Bidirectional Sync
Learn about syncing files between local and cloud
Authentication
Set up cloud credentials and API keys
CLI Reference
Complete CLI command reference