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:- Current directory check — Looks for
.graft/config.jsonin the current working directory - GRAFT_HOME scan — Scans
$GRAFT_HOME/<project>/config.jsonfor all project directories - If exactly one project exists under GRAFT_HOME, it’s used automatically
- If multiple projects exist, an error is shown (future:
--projectflag)
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.