Project files
Saggar keeps project-owned configuration in .saggar/ because it describes
the repository rather than one installation of the app. Commands, jobs, and
display metadata can be reviewed, cloned, and read by people or agents.
The scratchpad and machine-local state belong in .gitignore. Machine-local
state uses .local. in its filename.
User-global settings, credentials, audit records, and terminal restoration live
outside the project under ~/.saggar/ or in the login Keychain.
This boundary prevents two common failures: useful project setup disappearing on another Mac, and local state leaking into source control.
See Project storage for the path-by-path table and .gitignore and .saggar for the recommended ignore rule.