Expand description
Canonical project identity for skill scope: Project matching.
A project == its git repo root. Harvest stamps a learned skill with the repo root it was learned in; injection computes the repo root of the current working dir; the two match iff you’re in the same repo. Using the repo root (not the cwd) means a skill learned in a subdir of repo X still applies anywhere in X.
Functions§
- active_
project_ id - The active project id for scope matching:
MUR_ACTIVE_PROJECTenv override, else the current working dir’s repo root.Nonewhen neither resolves (→ only user/enterprise skills inject). Single source used by both the CLI injection hook and the agent runtime injector so they can’t diverge. - project_
id - Canonical project id (repo-root path string) for scope matching, or
Noneif not in a repo. Canonicalized so two entry points into the same repo (subdir, symlink, relative path) produce the same id. - repo_
root_ of - Walk up from
startto the directory containing a.gitentry (the repo root).Noneifstartisn’t inside a git repo.