Monorepos & multi-repo folders
Graft handles two shapes without any config:
- A monorepo with one
.git(apnpm-workspace.yaml/package.jsonworkspaces, or per-packagego.mod/pyproject.toml/Cargo.toml) —graft builddiscovers each sub-project as a ranking scope.ask/maprank every scope on its own terms and fuse the results, so the biggest sub-project can’t drown a small one; hits carry[scope/]labels, andgraft mapgroups its directory clusters by scope first. - A folder of separate git repos (no
.gitat the top) —graft buildauto-splits: each child gets its own (git-ignored)graft/, and the parent gets agraft/workspace.jsonindex. Queries from the parent federate across every child, always labeled<child>/. Rungraft buildinside a child to work on just that repo.
Either way, narrow to one sub-project with graft ask "<task>" --in <scope>/
once you know where you’re working.