Creates the vault repo on demand, reusing the AGENTS version bumper and hook shims, then links the current project's live memory directory into its slug-keyed entry and commits. Because the live directory becomes a symlink into the vault, backup and restore are the same operation: a cloned vault relinks itself on the next run in each project, with no manifest and no batch restore step. Also fixes _agents_repo_install_tools' progress messages, which hardcoded the literal "AGENTS/.agents-tools/" even for callers writing elsewhere: they now name repo_dir's own basename, so agents-vault reports its own directory instead of a false AGENTS/ path.
33 lines
949 B
Fish
33 lines
949 B
Fish
# Copyright (C) 2026 Rootiest
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
# SYNOPSIS
|
|
# _agents_vault_dir
|
|
#
|
|
# DESCRIPTION
|
|
# Prints the agent memory vault root. Honors the universal variable
|
|
# __fish_agent_vault_dir when set, otherwise
|
|
# ${XDG_DATA_HOME:-$HOME/.local/share}/agent-vault.
|
|
#
|
|
# The vault holds agy state as well as Claude state, so it is not nested
|
|
# under either tool's directory; it is backed-up state rather than
|
|
# configuration, hence XDG_DATA_HOME rather than XDG_CONFIG_HOME.
|
|
#
|
|
# EXIT STATUS
|
|
# 0 Always
|
|
#
|
|
# RETURNS
|
|
# The vault root path, one line on stdout.
|
|
#
|
|
# EXAMPLE
|
|
# set -l vault (_agents_vault_dir)
|
|
function _agents_vault_dir
|
|
if set -q __fish_agent_vault_dir; and test -n "$__fish_agent_vault_dir"
|
|
printf '%s\n' "$__fish_agent_vault_dir"
|
|
return 0
|
|
end
|
|
set -l base $XDG_DATA_HOME
|
|
test -n "$base"; or set base "$HOME/.local/share"
|
|
printf '%s\n' "$base/agent-vault"
|
|
end
|