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: CLAUDE.md
+46-5Lines changed: 46 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -203,11 +203,52 @@ cd native/ecto_libsql && cargo test
203
203
204
204
### Development Cycle
205
205
206
-
1. Make changes to Elixir or Rust code
207
-
2. Format: `mix format && cargo fmt`
208
-
3. Run tests: `mix test && cargo test`
209
-
4. Check formatting: `mix format --check-formatted`
210
-
5. Commit with descriptive message
206
+
#### Branch Strategy
207
+
208
+
**ALWAYS branch from `main`** for new work:
209
+
210
+
```bash
211
+
git checkout main
212
+
git pull origin main
213
+
git checkout -b feature-descriptive-name # or bugfix-descriptive-name
214
+
```
215
+
216
+
**Branch naming**:
217
+
- Features: `feature-<descriptive-name>`
218
+
- Bug fixes: `bugfix-<descriptive-name>`
219
+
220
+
**⚠️ CRITICAL: Preserving Untracked Files**
221
+
222
+
The repository often has untracked/uncommitted files (docs, notes, etc.) that must NOT be lost when switching branches. Git preserves untracked files across branch switches automatically, but:
223
+
-**NEVER run `git clean`** without explicit user approval
224
+
-**NEVER run `git checkout .`** or `git restore .` on the whole repo
225
+
-**NEVER run `git reset --hard`** without explicit user approval
226
+
- When switching branches, untracked files stay in place - this is expected
227
+
228
+
#### Development Steps
229
+
230
+
1. Create feature/bugfix branch from `main` (see above)
231
+
2. Make changes to Elixir or Rust code
232
+
3. ALWAYS format: `mix format --check-formatted && cargo fmt`
233
+
4. Run tests: `mix test && cargo test`
234
+
5. Fix any issues from formatting or tests
235
+
6.**Commit ONLY files you touched** - other untracked files stay as-is
236
+
237
+
#### PR Workflow
238
+
239
+
All changes go through PRs to `main` (for review bot checks):
240
+
241
+
```bash
242
+
git push -u origin feature-descriptive-name
243
+
gh pr create --base main --title "feat: description" --body "..."
244
+
```
245
+
246
+
After PR is merged, clean up:
247
+
```bash
248
+
git checkout main
249
+
git pull origin main
250
+
git branch -d feature-descriptive-name # Delete local branch
0 commit comments