Fresh Start Testing
open -a "Hyprnote Staging" --args --onboarding $(date +%s)
This will:
- Remove
settings.jsonandstore.json - Reset all permissions
The timestamp is used to detect fresh launches vs relaunches (e.g., during permission setup).
If the timestamp is older than 2.5 seconds, it's treated as a restart and --onboarding will be ignored.
Data Paths
There are two base directories:
global_base- Fixed per build/environmentvault_base- Can be overridden via env or config file in global_base
global_base
| Environment | Bundle ID | Folder Name |
|---|---|---|
| dev | com.hyprnote.dev | com.hyprnote.dev |
| staging | com.hyprnote.staging | com.hyprnote.staging |
| stable | com.hyprnote.stable | hyprnote |
| nightly | com.hyprnote.nightly | hyprnote |
Stable and nightly share the same folder (hyprnote) in production builds.
vault_base
Priority**:**
VAULT_BASEenv var (highest)vault_pathinhyprnote.json(at global_base)- Fall back to
global_base
Example:
VAULT_BASE="$HOME/Library/Application Support/hyprnote" pnpm -F desktop tauri:dev
Platform Paths
| Platform | Base Path |
|---|---|
| macOS | ~/Library/Application Support/{folder}/ |
| Linux | ~/.local/share/{folder}/ |
Files by Base Path
At global_base (cannot be redirected)
| File/Dir | Description |
|---|---|
hyprnote.json | Global config (vault_path, etc.) |
store.json | Tauri plugin store |
db.sqlite | Legacy SQLite DB (release only) |
models/stt/ | STT models |
models/llm/ | LLM models |
extensions/ | User extensions |
At vault_base (can be redirected)
| File/Dir | Description |
|---|---|
settings.json | App configuration |
sessions/ | Session data |
sessions/{uuid}/_meta.json | Session metadata |
sessions/{uuid}/transcript.json | Transcript |
sessions/{uuid}/_memo.md | User notes |
sessions/{uuid}/_summary.md | AI summary |
humans/ | Human profiles (.md) |
organizations/ | Organization profiles (.md) |
events.json | Calendar events |
calendars.json | Calendar configs |
templates.json | Note templates |
chat_shortcuts.json | Chat shortcuts |
Summary
| What | Base | Env Override |
|---|---|---|
hyprnote.json | global_base | No |
store.json | global_base | No |
db.sqlite | global_base | No |
models/ | global_base | No |
extensions/ | global_base | No |
settings.json | vault_base | Yes |
sessions/ | vault_base | Yes |
humans/ | vault_base | Yes |
organizations/ | vault_base | Yes |
| JSON files (events, etc.) | vault_base | Yes |