master-zapier-plan-draft/scripts/push-module-repos.sh
George Lambert cb07f5b321
Some checks are pending
offline / test (push) Waiting to run
Restyle staff and console UIs; add UI-Docs walkthrough and review PDF.
Match CS/sales/accounting/access-staff to the portal indigo system with
dollar amounts, skip links, and empty states. Fleet replica actions move
into overflow menus, roles become chips, Docs become cards, and the
header copy reflects the 0.0.0.0 bind. Simulator uses the same shell
(orange only for faults). Portal API keys are masked; admin customers
edit in a drawer. Catalog uses system-ui. New UI-Docs repo holds
screenshots, usage notes, and UI-REVIEW.pdf.
2026-09-11 18:01:33 -04:00

100 lines
5.2 KiB
Bash
Executable file

#!/usr/bin/env bash
# Create Forgejo repos and push each module (no node_modules).
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
TOKEN_FILE="${FORGEJO_TOKEN_FILE:-/tmp/forgejo-zapier.token}"
TOKEN="$(cat "$TOKEN_FILE")"
API="https://git.georgelambert.org/api/v1"
GITSSH="ssh://git@git.georgelambert.org:2223/marchon"
export GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=accept-new -p 2223"
create() {
local name="$1" desc="$2"
curl -sS -X POST "$API/user/repos" \
-H "Authorization: token $TOKEN" \
-H "Content-Type: application/json" \
-d "{\"name\":\"$name\",\"description\":\"$desc\",\"private\":false,\"auto_init\":false}" \
>/tmp/forgejo-mod.json || true
echo "repo $name"
}
push_dir() {
local src="$1" name="$2"
local tmp
tmp="$(mktemp -d)"
rsync -a --exclude node_modules --exclude dist --exclude data --exclude '*.db' --exclude .git \
"$src/" "$tmp/"
git -C "$tmp" init -q -b main
git -C "$tmp" add -A
git -C "$tmp" -c user.email=marchon@gmail.com -c user.name="George Lambert" \
commit -q -m "Initial import of $name from zapier monorepo"
git -C "$tmp" remote add origin "$GITSSH/${name}.git"
git -C "$tmp" push -u --force origin main
git -C "$tmp" push --force origin main:master || true
rm -rf "$tmp"
echo "pushed $name"
}
create zappier-edge "Metered commercial HTTPS edge (portal, admin, Stripe)"
create verae-middleware "Zapier-facing HTTP middleware + NATS workers"
create verae-zapier-app "Zapier Platform CLI app (timestamp/verify/hooks)"
create verae-activate "Activate-now Zapier app (Add Numbers, Echo, SHA256)"
create verae-request-splitter "Split hash vs attachments for chain vs WORM"
create verae-archive-worm "Bloom-filtered WORM archive node"
create verae-archive-aggregator "Aggregate archive replies into job JSON"
create zapier-docs-master "Master summaries, NATS contracts, message flows"
create verae-tree-node "Merkle leaf proofs for hashes only sealed as a bulk summary"
create verae-zapier-simulator "Zapier interface simulator with hop-by-hop trace console"
create zapier-user-docs "User docs from signup through hash register, chain lookup, tree-node query"
create verae-fleet "Service catalog, replica floors, monitor, restart, pause"
create overview "High-level system overview, NATS cluster, uptime, docs index"
create verae-nats-process "Template JetStream worker for a new verae.* address"
create verae-ops "Install, Docker, Proxmox, VMs, dedicated hardware, service linking"
create zappier-account-balance "NATS account balance source of truth"
create zappier-customer-service "Customer-service prepaid credit adjustments"
create zappier-sales-pricing "Sales per-customer pricing"
create zappier-accounting-export "QuickBooks IIF and accounting CSV export"
create verae-access-authz "NATS authorization step for access planes"
create verae-access-web "Direct customer web access plane"
create verae-access-api "Direct customer API access plane"
create verae-access-leaf "Server-to-server NATS leaf access plane"
create verae-access-zapier "Zapier Platform access plane only"
create verae-access-staff "Staff CS/sales/accounting access plane"
create zappier-identity "Bind and lookup veraeUserId"
create verae-jobs-events "Mailbox for verae.zapier.jobs.events"
create verae-nats-accounts "NATS INTERNAL vs LEAF account policy"
create zapier-decisions "Architecture decisions and action log"
create UI-Docs "UI walkthrough, screenshots, and review PDF"
push_dir "$ROOT/packages/zappier" zappier-edge
push_dir "$ROOT/packages/verae-zapier-middleware" verae-middleware
push_dir "$ROOT/packages/verae-zapier" verae-zapier-app
push_dir "$ROOT/packages/verae-activate" verae-activate
push_dir "$ROOT/packages/verae-request-splitter" verae-request-splitter
push_dir "$ROOT/packages/verae-archive-worm" verae-archive-worm
push_dir "$ROOT/packages/verae-archive-aggregator" verae-archive-aggregator
push_dir "$ROOT/packages/docs-master" zapier-docs-master
push_dir "$ROOT/packages/verae-tree-node" verae-tree-node
push_dir "$ROOT/packages/verae-zapier-simulator" verae-zapier-simulator
push_dir "$ROOT/packages/zapier-user-docs" zapier-user-docs
push_dir "$ROOT/packages/verae-fleet" verae-fleet
push_dir "$ROOT/packages/overview" overview
push_dir "$ROOT/packages/verae-nats-process" verae-nats-process
push_dir "$ROOT/packages/verae-ops" verae-ops
push_dir "$ROOT/packages/zappier-account-balance" zappier-account-balance
push_dir "$ROOT/packages/zappier-customer-service" zappier-customer-service
push_dir "$ROOT/packages/zappier-sales-pricing" zappier-sales-pricing
push_dir "$ROOT/packages/zappier-accounting-export" zappier-accounting-export
push_dir "$ROOT/packages/verae-access-authz" verae-access-authz
push_dir "$ROOT/packages/verae-access-web" verae-access-web
push_dir "$ROOT/packages/verae-access-api" verae-access-api
push_dir "$ROOT/packages/verae-access-leaf" verae-access-leaf
push_dir "$ROOT/packages/verae-access-zapier" verae-access-zapier
push_dir "$ROOT/packages/verae-access-staff" verae-access-staff
push_dir "$ROOT/packages/zappier-identity" zappier-identity
push_dir "$ROOT/packages/verae-jobs-events" verae-jobs-events
push_dir "$ROOT/packages/verae-nats-accounts" verae-nats-accounts
push_dir "$ROOT/packages/zapier-decisions" zapier-decisions
push_dir "$ROOT/packages/ui-docs" UI-Docs
echo ALL_MODULE_REPOS_PUSHED