Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.mesa.dev/llms.txt

Use this file to discover all available pages before exploring further.

Mesa uses a .mesaignore file to decide which files stay in local ephemeral storage and which are uploaded to your repository. Files matching .mesaignore patterns are never uploaded — no blob upload, no tree mutation, no ref update. They behave like normal files while the daemon is running but disappear on restart. This is useful for editor scratch files (swap files, lock files), OS metadata (.DS_Store), and other files that should never be committed.

How it works

When the mesa daemon starts, it reads a single .mesaignore file and compiles the patterns into a matcher. Every file write is checked against these patterns:
  • Match → file is routed to ephemeral storage (local only, lost on restart)
  • No match → file is uploaded to VCS (persisted in the repository)
The .mesaignore file uses gitignore syntax — the same pattern format you already know from .gitignore.

File location

The .mesaignore file lives alongside your config.toml:
~/.config/mesa/.mesaignore
On first run, mesa mount writes a default .mesaignore with patterns for common editors and OS metadata.

Customizing

Edit the file directly:
$EDITOR ~/.config/mesa/.mesaignore
Changes take effect on the next daemon restart (mesa mount). The file is the sole source of ignore rules — there are no hidden defaults layered underneath. If you remove a pattern, that file type will be uploaded to VCS.
The .mesaignore applies globally to all repositories mounted through mesa. For per-repo ignore rules, use the standard .gitignore inside each repository.

Resetting to defaults

To restore the default patterns:
mesa dump-default-mesaignore > ~/.config/mesa/.mesaignore

Viewing current rules

To see what patterns are active:
cat ~/.config/mesa/.mesaignore
To see the built-in defaults (useful for diffing against your customizations):
mesa dump-default-mesaignore

Safety guard

The pattern !.mesaignore is always enforced by the daemon, even if you remove it from your file. This prevents you from accidentally ignoring your own configuration file.

Fallback behavior

If no .mesaignore file exists on disk, the daemon falls back to compiled-in defaults (the same patterns written on first run). To operate with no ignore rules, create an empty .mesaignore file.