Workspace Layout

Rinne keeps workspace history under .rinne/. This page shows the paths that exist in v0.9.2 and what each one is for.

Important

You may edit rinneignore.json and snapshots/<space>/<id>/note.md.
Everything else under .rinne/ should be managed through rinne commands or the GUI.
Avoid manual edits to internal files such as manifest.db, filemeta.db, current, or the CAS and tree stores.

Key paths

Ignore rules
workspace/rinneignore.json

Rules that tell Rinne which paths to ignore during save, diff, validate, and related operations.

Workspace config
workspace/.rinne/config.json

Workspace-level defaults such as parallelism and compression level.

Snapshot history
workspace/.rinne/snapshots/

Snapshot directories grouped by space, plus the current space pointer.

Internal storage
workspace/.rinne/store/

ManifestDB, file metadata cache, CAS chunks, and tree objects used internally by Rinne.

Directory tree

Directories end with /. Files do not.

workspace/
|-- .rinne/
|   |-- .lock
|   |-- config.json
|   |-- snapshots/
|   |   |-- current
|   |   `-- <space>/
|   |       `-- <id>/
|   |           |-- note.md
|   |           `-- snapshot/
|   |-- store/
|   |   |-- cas/
|   |   |-- filemeta.db
|   |   |-- manifests/
|   |   |   `-- manifest.db
|   |   `-- trees/
|   `-- tmp/
`-- rinneignore.json

Note: paths under .rinne/ are internal implementation details and may change across versions. Use the CLI or GUI instead of manual edits.

What each part is for

rinneignore.json

Ignore rules for the workspace. Keep this file under version control if you want the same exclusion behavior across machines.

.rinne/config.json

Workspace-level defaults used by commands such as save, extract, restore, verify, and validate.

.rinne/snapshots/current

Pointer to the current space. Commands resolve the active space from this file unless a CLI override is supplied.

.rinne/snapshots/<space>/<id>/

Snapshot record for one snapshot in one space. Each snapshot directory contains the user note and a snapshot/ folder reserved for snapshot-level data.

  • note.md - Optional user note for that snapshot.
  • snapshot/ - Snapshot-specific data reserved for Rinne internals.
.rinne/store/manifests/manifest.db

ManifestDB. This is the main snapshot metadata database used by save, diff, restore, history, verify, and related commands.

.rinne/store/filemeta.db

File metadata cache used to speed up incremental save decisions. This is cache data, not the source of truth for snapshots.

.rinne/store/cas/

Content-addressed chunk storage. Reused chunks are shared across snapshots instead of being copied for each snapshot.

.rinne/store/trees/

Tree objects used for snapshot directory structure storage and merge operations such as fuse.

.rinne/tmp/

Temporary files used internally during operations, recovery, and staging.

.rinne/.lock

Lock file used to prevent concurrent write-style operations against the same workspace.

Ops tips

  • If you copy or move a workspace, include .rinne/ together with your files to keep snapshot history.
  • Prefer CLI or GUI operations for integrity and cleanup instead of manual edits.
  • Treat files under .rinne/store/ as internal implementation details even when their names are visible here.