Team workflow with Git
Git carries memory between machines and gives review history. Engram is Git-native: memory is plain Markdown, so the normal Git workflow applies.
Workspace memory as a submodule
If the human wants .agents/.engram tracked as a separate repository:
engram inject --submodule
engram inject --submodule-remote <git-url>
Engram validates the URL, initializes the submodule on main, and creates the first submodule commit as Initialize engram.
Shared global Git origin
If engram entry shows no global_git_detected.remote_url, ask the human whether global memory should be shared through Git. When they provide a URL:
engram inject --global-remote <git-url>
Configure sync behavior with the global_git.* fields:
global_git.enabled— enables Git behavior for global memoryglobal_git.remote— remote name (defaultorigin)global_git.remote_url— shared global memory remote URLglobal_git.branch— target branch (defaultmain)global_git.auto_sync— auto pull/push behaviorglobal_git.auto_resolve— auto conflict handling
warning
Auto conflict handling can mask memory diffs. Review memory diffs before relying on global_git.auto_resolve.
Review workflow
- Agent proposes memory candidates.
- Human approves via the A/B/C gate (terminal) or
yes/audit/cancel(chat). - Engram writes approved Markdown and refreshes hashes, index, graph, and changelog.
- Commit and push the memory change through Git.
- Teammates pull and run
engram upgradeto reconcile.