local data

Storage

Squeezy keeps automatic state below one SQUEEZY_HOME, separates durable project records from rebuildable caches, and gives each checkout a stable machine-local project identity.

One home, three configuration tiers

SQUEEZY_HOME defaults to ~/.squeezy on Unix and %LOCALAPPDATA%\Squeezy on Windows. User settings live in $SQUEEZY_HOME/config/settings.toml. A portable squeezy.toml is the Project tier, and $SQUEEZY_HOME/projects/<project-id>/config/settings.toml is the machine-private Local tier.

The random 32-character project ID comes from projects/registry.toml; it is not a hash of the checkout path. Moving a checkout on the same filesystem normally preserves the identity. Use squeezy projects list, show, relink, forget, and prune to maintain aliases without deleting durable project state.

What lives in a project namespace

Each $SQUEEZY_HOME/projects/<project-id>/ namespace has config and trust inputs, durable state, rebuildable cache, process runtime, and explicit artifacts. Sessions live under state/sessions/, plans and checkpoints under state/recovery/, and default exports and reports under artifacts/.

state/state.db is precious. cache/derived.db holds rebuildable tool and session caches, while cache/ledgers.db holds independently versioned savings, shell-shaping, loop, and spend history. cache/graph/graph.db is the materialized query store; parse-cache.db is the independently versioned parse/resolver accelerator.

squeezy storage paths
squeezy projects list

Inspect and move storage

Startup resolves project identity before project stores open; derived sources are deleted and rebuilt rather than migrated. Storage and projects JSON output is stamped with schema_version 1.

A home move is explicit: squeezy storage move validates the destination and prints the stop, move, set SQUEEZY_HOME, and restart procedure.

squeezy storage paths --json
squeezy storage move --to /absolute/path

Back up durable data; clean derived data

Back up global config, user, auth, and state, projects/registry.toml, and each project's config, trust, ui, state, and artifacts trees.

squeezy storage clean is class-gated. Derived cleanup removes global cache and the current project cache by default, including ledgers.db, graph and search indexes, tool outputs, and derived backups. Add --project <project-id> to limit cleanup to one project. Precious recovery backups, exports, reports, telemetry, registry records, and crash archives are preserved.

squeezy storage clean --class derived --dry-run
squeezy storage clean --class derived --project <project-id> --yes
squeezy storage clean --class runtime --dry-run

Portable and explicit external paths

Repository .squeezy/skills, .squeezy/prompts, .squeezy/agents, and .squeezy/shapers remain portable inputs, not automatic state destinations. Managed Git worktrees live at <main-checkout>/.worktrees/<slug>.

An explicit session, browser, editor, export, report, install, or generated-output path remains externally owned. Named browser profiles live under $SQUEEZY_HOME/state/browser/profiles/, while project browser runtime lives under projects/<project-id>/runtime/browser/.

GitHub

Repository access is under construction.

Squeezy's repository is not public yet. The product site and documentation are available here in the meantime.