#!/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"