feat: add git-consistent memory gateway architecture
This commit is contained in:
60
scripts/bootstrap.sh
Executable file
60
scripts/bootstrap.sh
Executable file
@@ -0,0 +1,60 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
cd "${ROOT_DIR}"
|
||||
|
||||
mkdir -p data/git-mirror data/workspaces data/qmd-cache data/qmd-config
|
||||
|
||||
REMOTE_BARE="${ROOT_DIR}/data/remote-memory.git"
|
||||
if [[ ! -d "${REMOTE_BARE}" ]]; then
|
||||
echo "[bootstrap] initializing demo remote repo at ${REMOTE_BARE}"
|
||||
git init --bare "${REMOTE_BARE}"
|
||||
|
||||
tmp_dir="$(mktemp -d)"
|
||||
trap 'rm -rf "${tmp_dir}"' EXIT
|
||||
|
||||
git clone "${REMOTE_BARE}" "${tmp_dir}/seed"
|
||||
git -C "${tmp_dir}/seed" config user.name "Memory Gateway Bot"
|
||||
git -C "${tmp_dir}/seed" config user.email "memory-gateway@example.local"
|
||||
|
||||
mkdir -p "${tmp_dir}/seed/docs"
|
||||
cat > "${tmp_dir}/seed/docs/main.md" <<'EOF'
|
||||
# Main Memory
|
||||
|
||||
router firmware build recovery strategy in main branch.
|
||||
EOF
|
||||
|
||||
git -C "${tmp_dir}/seed" add docs/main.md
|
||||
git -C "${tmp_dir}/seed" commit -m "init main memory"
|
||||
git -C "${tmp_dir}/seed" branch -M main
|
||||
git -C "${tmp_dir}/seed" push -u origin main
|
||||
|
||||
git -C "${tmp_dir}/seed" checkout -b memory/2026-03
|
||||
cat > "${tmp_dir}/seed/docs/monthly.md" <<'EOF'
|
||||
# Monthly Memory 2026-03
|
||||
|
||||
monthly branch note for March 2026.
|
||||
EOF
|
||||
git -C "${tmp_dir}/seed" add docs/monthly.md
|
||||
git -C "${tmp_dir}/seed" commit -m "add monthly memory"
|
||||
git -C "${tmp_dir}/seed" push -u origin memory/2026-03
|
||||
|
||||
git -C "${tmp_dir}/seed" checkout -b task/TASK-001 main
|
||||
cat > "${tmp_dir}/seed/docs/task-TASK-001.md" <<'EOF'
|
||||
# Task Memory TASK-001
|
||||
|
||||
task specific recovery checkpoint.
|
||||
EOF
|
||||
git -C "${tmp_dir}/seed" add docs/task-TASK-001.md
|
||||
git -C "${tmp_dir}/seed" commit -m "add task memory"
|
||||
git -C "${tmp_dir}/seed" push -u origin task/TASK-001
|
||||
fi
|
||||
|
||||
if [[ ! -f .env ]]; then
|
||||
cp .env.example .env
|
||||
sed -i "s|^GIT_REMOTE_URL=.*$|GIT_REMOTE_URL=/data/remote-memory.git|" .env
|
||||
echo "[bootstrap] generated .env with local demo remote: /data/remote-memory.git"
|
||||
fi
|
||||
|
||||
echo "[bootstrap] done"
|
||||
Reference in New Issue
Block a user