Files
Vault Sovereign 1583890199 Initial commit - combined iTerm2 scripts
Contains:
- 1m-brag
- tem
- VaultMesh_Catalog_v1
- VAULTMESH-ETERNAL-PATTERN

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 03:58:39 +00:00

148 lines
4.4 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
set -euo pipefail
usage() {
cat <<EOF
Package VaultMesh funding-roadmap deliverables for Horizon submission.
Usage:
bash scripts/package_horizon.sh [--dest DIR] [--render] [--tar|--zip]
Options:
--dest DIR Destination base directory (default: \"$HOME/downloads/horizon-submission\")
--render If mermaid-cli (mmdc) is available, render PNG/SVG for diagrams
--tar Also create a .tar.gz archive alongside the folder (default)
--zip Create a .zip archive if \"zip\" is available
-h, --help Show this help
Creates structure:
horizon-submission-YYYYMMDD/
common/ (roadmap + deliverables summary)
templates/
consortium/ (tracker + generated consortium-summary.md)
diagrams/ (.mmd + optional rendered PNG/SVG)
MANIFEST.sha256 (if sha256sum is available)
README.txt
EOF
}
DEST_DEFAULT="${HOME}/downloads/horizon-submission"
ARCHIVE_FMT="tar"
RENDER="0"
DEST="$DEST_DEFAULT"
while [[ $# -gt 0 ]]; do
case "$1" in
--dest)
DEST="$2"; shift 2 ;;
--render)
RENDER="1"; shift ;;
--zip)
ARCHIVE_FMT="zip"; shift ;;
--tar)
ARCHIVE_FMT="tar"; shift ;;
-h|--help)
usage; exit 0 ;;
*)
echo "Unknown option: $1" >&2; usage; exit 1 ;;
esac
done
# Resolve repository root (this script is under funding-roadmap/scripts)
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)"
DATE="$(date +%Y%m%d)"
PKG_DIR="${DEST}/horizon-submission-${DATE}"
echo "Packaging to: ${PKG_DIR}"
mkdir -p "${PKG_DIR}/"{common,templates,consortium,diagrams}
# Copy core docs
for f in "${ROOT_DIR}/VaultMesh_Funding_Roadmap_2025-2027.md" \
"${ROOT_DIR}/DELIVERABLES_COMPLETE.md"; do
if [[ -f "$f" ]]; then
cp "$f" "${PKG_DIR}/common/"
fi
done
# Templates
cp "${ROOT_DIR}/templates/"*.md "${PKG_DIR}/templates/" 2>/dev/null || true
# Consortium tracker + README + generated summary
cp "${ROOT_DIR}/consortium/consortium-tracker.csv" "${PKG_DIR}/consortium/"
cp "${ROOT_DIR}/consortium/README.md" "${PKG_DIR}/consortium/"
if command -v python3 >/dev/null 2>&1; then
python3 "${ROOT_DIR}/scripts/generate_summary.py" \
--csv "${ROOT_DIR}/consortium/consortium-tracker.csv" \
> "${PKG_DIR}/consortium/consortium-summary.md"
else
printf "python3 not found; skipping consortium-summary.md\n" >&2
fi
# Diagrams (.mmd + README)
cp "${ROOT_DIR}/diagrams/"*.mmd "${PKG_DIR}/diagrams/"
cp "${ROOT_DIR}/diagrams/README.md" "${PKG_DIR}/diagrams/"
# Optional rendering to PNG/SVG if mermaid-cli is present and --render given
if [[ "$RENDER" = "1" ]] && command -v mmdc >/dev/null 2>&1; then
echo "Rendering diagrams to PNG/SVG via mermaid-cli..."
pushd "${PKG_DIR}/diagrams" >/dev/null
for file in *.mmd; do
base="${file%.mmd}"
mmdc -i "$file" -o "${base}.png" -w 3000 -b transparent || true
mmdc -i "$file" -o "${base}.svg" || true
done
popd >/dev/null
else
if [[ "$RENDER" = "1" ]]; then
echo "Note: --render requested but mermaid-cli (mmdc) not found; skipping render." >&2
fi
fi
# Manifest of file hashes if available
if command -v sha256sum >/dev/null 2>&1; then
(cd "${PKG_DIR}" && find . -type f -print0 | sort -z | xargs -0 sha256sum) \
> "${PKG_DIR}/MANIFEST.sha256"
fi
# README for the package
cat > "${PKG_DIR}/README.txt" <<'TXT'
Horizon Submission Package
--------------------------
Contents:
- common/ Funding roadmap and deliverables summary
- templates/ Letter of Intent + Partner Onboarding 1pager
- consortium/ Tracker CSV + README + generated consortium-summary.md
- diagrams/ Mermaid (.mmd) + README (+ PNG/SVG if rendered)
Notes:
- Review consortium-summary.md before external sharing (contains contacts/emails).
- Render diagrams if needed: install mermaid-cli (mmdc) and re-run with --render.
- Archive integrity: see MANIFEST.sha256 (if generated).
Coordinator contact: guardian@vaultmesh.org
TXT
# Optional archive alongside folder
case "$ARCHIVE_FMT" in
tar)
ARCHIVE_PATH="${PKG_DIR}.tar.gz"
(cd "${DEST}" && tar czf "$(basename "${ARCHIVE_PATH}")" "$(basename "${PKG_DIR}")")
echo "Created archive: ${ARCHIVE_PATH}"
;;
zip)
if command -v zip >/dev/null 2>&1; then
(cd "${DEST}" && zip -qr "$(basename "${PKG_DIR}").zip" "$(basename "${PKG_DIR}")")
echo "Created archive: ${PKG_DIR}.zip"
else
echo "zip not found; skipping .zip archive" >&2
fi
;;
esac
echo "Package ready: ${PKG_DIR}"