Developers

Testing

Fresh Start Testing

open -a "Hyprnote Staging" --args --onboarding $(date +%s)

This will:

  • Remove settings.json and store.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:

  1. global_base - Fixed per build/environment
  2. vault_base - Can be overridden via env or config file in global_base

global_base

EnvironmentBundle IDFolder Name
devcom.hyprnote.devcom.hyprnote.dev
stagingcom.hyprnote.stagingcom.hyprnote.staging
stablecom.hyprnote.stablehyprnote
nightlycom.hyprnote.nightlyhyprnote

Stable and nightly share the same folder (hyprnote) in production builds.

vault_base

Priority**:**

  1. VAULT_BASE env var (highest)
  2. vault_path in hyprnote.json (at global_base)
  3. Fall back to global_base

Example:

VAULT_BASE="$HOME/Library/Application Support/hyprnote" pnpm -F desktop tauri:dev

Platform Paths

PlatformBase Path
macOS~/Library/Application Support/{folder}/
Linux~/.local/share/{folder}/

Files by Base Path

At global_base (cannot be redirected)

File/DirDescription
hyprnote.jsonGlobal config (vault_path, etc.)
store.jsonTauri plugin store
db.sqliteLegacy SQLite DB (release only)
models/stt/STT models
models/llm/LLM models
extensions/User extensions

At vault_base (can be redirected)

File/DirDescription
settings.jsonApp configuration
sessions/Session data
sessions/{uuid}/_meta.jsonSession metadata
sessions/{uuid}/transcript.jsonTranscript
sessions/{uuid}/_memo.mdUser notes
sessions/{uuid}/_summary.mdAI summary
humans/Human profiles (.md)
organizations/Organization profiles (.md)
events.jsonCalendar events
calendars.jsonCalendar configs
templates.jsonNote templates
chat_shortcuts.jsonChat shortcuts

Summary

WhatBaseEnv Override
hyprnote.jsonglobal_baseNo
store.jsonglobal_baseNo
db.sqliteglobal_baseNo
models/global_baseNo
extensions/global_baseNo
settings.jsonvault_baseYes
sessions/vault_baseYes
humans/vault_baseYes
organizations/vault_baseYes
JSON files (events, etc.)vault_baseYes