blob: c0c76daa5e23249afe4fbe512c51fa508842a4f2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# User Preferences & Workflow Quirks
Living record of user preferences for the Nav project.
## 1. Interaction & Workflow
- **Safety First:** Cautious and deliberate action.
- **Checkpoint Model:** Research -> Strategy -> GO.
## 3. User Context
- **Solo developer who is also the sole user.** The user is both the target audience and the developer. Optimize for their experience as a sailor, not for a hypothetical general public.
- **Reinstall resilience is non-negotiable.** All persistent data (tracks, settings) must survive app uninstall/reinstall. Never use `getExternalFilesDir()` or other app-private storage for user data.
- **Pragmatic about implementation quality.** One-off solutions and temporary hacks are acceptable — just flag them clearly and ensure they get cleaned up in a follow-up.
- **Debug logging:** The in-app debug log (`NavLogger`) is the primary debugging tool. ADB (`adb logcat`) is occasionally available but should not be assumed. Log anything useful to `NavLogger`, not just to Android's `Log`.
## 2. Repository Conventions — NON-NEGOTIABLE
- **Default branch is `main`.** Always has been, always will be.
- When the user says "main", "master", or "the default branch" they all mean `main`.
- **CI/CD (`.github/workflows/android.yml`) triggers on `main`.** Firebase App Distribution only fires on pushes to `main`. Never change the trigger branch without explicit instruction.
- Before any merge or push, verify: `git branch --show-current` is `main` and `git remote show origin | grep "HEAD branch"` shows `main`.
- Never create or develop on `master`. If `master` ever appears, rename it to `main` immediately.
|