@@ -7,6 +7,7 @@ The Basic Memory Cloud CLI provides seamless integration between local and cloud
77The cloud CLI enables you to:
88- ** Toggle cloud mode** with ` bm cloud login ` / ` bm cloud logout `
99- ** Use regular commands in cloud mode** : ` bm project ` , ` bm sync ` , ` bm tool ` all work with cloud
10+ - ** Upload local files** directly to cloud projects via ` bm cloud upload `
1011- ** Bidirectional sync** with rclone bisync (recommended for most users)
1112- ** Direct file access** via rclone mount (alternative workflow)
1213- ** Integrity verification** with ` bm cloud check `
@@ -160,6 +161,69 @@ bm project list
160161
161162This Dropbox-like workflow means you don't need to manually coordinate projects between local and cloud.
162163
164+ ### Uploading Local Files
165+
166+ You can directly upload local files or directories to cloud projects using ` bm cloud upload ` . This is useful for:
167+ - Migrating existing local projects to the cloud
168+ - Quickly uploading specific files or directories
169+ - One-time bulk uploads without setting up sync
170+
171+ ** Basic Usage:**
172+
173+ ``` bash
174+ # Upload a directory to existing project
175+ bm cloud upload ~ /my-notes --project research
176+
177+ # Upload a single file
178+ bm cloud upload important-doc.md --project research
179+ ```
180+
181+ ** Create Project On-the-Fly:**
182+
183+ If the target project doesn't exist yet, use ` --create-project ` :
184+
185+ ``` bash
186+ # Upload and create project in one step
187+ bm cloud upload ~ /local-project --project new-research --create-project
188+ ```
189+
190+ ** Skip Automatic Sync:**
191+
192+ By default, the command syncs the project after upload to index the files. To skip this:
193+
194+ ``` bash
195+ # Upload without triggering sync
196+ bm cloud upload ~ /bulk-data --project archives --no-sync
197+ ```
198+
199+ ** File Filtering:**
200+
201+ The upload command respects ` .bmignore ` and ` .gitignore ` patterns, automatically excluding:
202+ - Hidden files (` .git ` , ` .DS_Store ` )
203+ - Build artifacts (` node_modules ` , ` __pycache__ ` )
204+ - Database files (` *.db ` , ` *.db-wal ` )
205+ - Environment files (` .env ` )
206+
207+ To customize what gets uploaded, edit ` ~/.basic-memory/.bmignore ` .
208+
209+ ** Complete Example:**
210+
211+ ``` bash
212+ # 1. Login to cloud
213+ bm cloud login
214+
215+ # 2. Upload local project (creates project if needed)
216+ bm cloud upload ~ /Documents/research-notes --project research --create-project
217+
218+ # 3. Verify upload
219+ bm project list
220+ ```
221+
222+ ** Notes:**
223+ - Files are uploaded directly via WebDAV (no sync setup required)
224+ - Uploads are immediate and don't require bisync or mount
225+ - Use this for migration or one-time uploads; use ` bm sync ` for ongoing synchronization
226+
163227## File Synchronization
164228
165229### The ` bm sync ` Command (Cloud Mode Aware)
@@ -628,6 +692,15 @@ bm cloud check # Full integrity check
628692bm cloud check --one-way # Faster one-way check
629693```
630694
695+ ### File Upload
696+
697+ ``` bash
698+ # Upload files/directories to cloud projects
699+ bm cloud upload < path> --project < name> # Upload to existing project
700+ bm cloud upload < path> -p < name> --create-project # Upload and create project
701+ bm cloud upload < path> -p < name> --no-sync # Upload without syncing
702+ ```
703+
631704### Direct File Access (Mount)
632705
633706``` bash
0 commit comments