Skip to main content

Configuration

Graft’s configuration is minimal. The entire project state lives in a single JSON file.

State File

Location: ~/.graft/<project>/config.json

Environment Variables

Project Discovery

Graft resolves which project to use through a discovery mechanism:
  1. Current directory check — Looks for .graft/config.json in the current working directory
  2. GRAFT_HOME scan — Scans $GRAFT_HOME/<project>/config.json for all project directories
  3. If exactly one project exists under GRAFT_HOME, it’s used automatically
  4. If multiple projects exist, an error is shown (future: --project flag)

Schema Versioning

Both the state file and the SQLite DAG carry schema versions: Version mismatches are always a breaking change. The project data must be re-initialized because the storage layout or semantics have changed incompatibly.