Spaces:
Runtime error
Runtime error
| set -euo pipefail | |
| ROOT="$(cd "$(dirname "$0")/.." && pwd)" | |
| REGISTRY="$ROOT/configs/source_registry.json" | |
| OUT_JSON="$ROOT/hotgraph/source_hotgraph.json" | |
| OUT_MD="$ROOT/hotgraph/source_hotgraph.md" | |
| TMP_SUMMARY="$(mktemp)" | |
| trap 'rm -f "$TMP_SUMMARY"' EXIT | |
| mkdir -p "$(dirname "$OUT_JSON")" | |
| jq -c '.sources[]' "$REGISTRY" | while IFS= read -r source; do | |
| id="$(printf '%s' "$source" | jq -r '.id')" | |
| label="$(printf '%s' "$source" | jq -r '.label')" | |
| role="$(printf '%s' "$source" | jq -r '.role')" | |
| priority="$(printf '%s' "$source" | jq -r '.priority')" | |
| path="$(printf '%s' "$source" | jq -r '.path')" | |
| exists=false | |
| package_count=0 | |
| if [ -d "$path" ]; then | |
| exists=true | |
| package_count="$(find "$path" -name Cargo.toml -not -path '*/target/*' | wc -l | tr -d ' ')" | |
| fi | |
| jq -n \ | |
| --arg id "$id" \ | |
| --arg label "$label" \ | |
| --arg role "$role" \ | |
| --arg priority "$priority" \ | |
| --arg path "$path" \ | |
| --argjson exists "$exists" \ | |
| --argjson package_count "$package_count" \ | |
| '{id:$id,label:$label,role:$role,priority:$priority,path:$path,exists:$exists,package_count:$package_count}' \ | |
| >> "$TMP_SUMMARY" | |
| done | |
| jq -s \ | |
| --arg generated_at "$(date -u +"%Y-%m-%dT%H:%M:%SZ")" \ | |
| --arg source_registry "$REGISTRY" \ | |
| '{generated_at:$generated_at,source_registry:$source_registry,summary:.}' \ | |
| "$TMP_SUMMARY" > "$OUT_JSON" | |
| { | |
| echo "# Source Hotgraph" | |
| echo | |
| echo "Generated: \`$(jq -r '.generated_at' "$OUT_JSON")\`" | |
| echo | |
| echo "| Source | Role | Priority | Exists | Rust packages |" | |
| echo "| --- | --- | --- | --- | ---: |" | |
| jq -r '.summary[] | "| \(.label) | \(.role) | \(.priority) | \(.exists) | \(.package_count) |"' "$OUT_JSON" | |
| echo | |
| echo "## Read" | |
| echo | |
| echo "Clean product one-liner: this hotgraph is the reduced intake surface for deciding where new work should live." | |
| echo | |
| echo "Layman version: this is the index card box before the writing desk." | |
| } > "$OUT_MD" | |
| printf '%s\n' "$OUT_JSON" | |
| printf '%s\n' "$OUT_MD" | |