Files
claude-engineering-plugin/plugins/compound-engineering/skills/proof-push/scripts/proof_push.sh
John Lamb a7b15298e0
Some checks failed
CI / pr-title (push) Has been cancelled
CI / test (push) Has been cancelled
Release PR / release-pr (push) Has been cancelled
Release PR / publish-cli (push) Has been cancelled
Merge step (b): carry in local-only files at original paths
Brings 47 local-only files from backup-local-main into the merge-upstream
branch at their pre-rename paths. Subsequent steps will rename these to
the ce-* convention and port shared-file merges.

Includes:
- Custom skills: john-voice, jira-ticket-writer, hugo-blog-publisher,
  weekly-shipped, proof-push, ship-it, story-lens, sync-confluence,
  excalidraw-png-export, python-package-writer, fastapi-style,
  upstream-merge
- Custom agents: design-conformance-reviewer, tiangolo-fastapi-reviewer,
  zip-agent-validator, python-package-readme-writer, lint
- Custom commands: essay-edit, essay-outline, pr-comments-to-todos,
  resolve_todo_parallel, workflows/{plan,review,work}
- Local mods to ce-review/SKILL.md + review-output-template.md (will be
  ported to ce-code-review in a later step)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 12:40:27 -05:00

35 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
# Push a markdown file to a running Proof server and return the document URL.
# Usage: proof_push.sh <path-to-markdown> [server-url]
set -euo pipefail
FILE="${1:?Usage: proof_push.sh <markdown-file> [server-url]}"
SERVER="${2:-http://localhost:4000}"
UI_URL="${3:-http://localhost:3000}"
if [[ ! -f "$FILE" ]]; then
echo "error: file not found: $FILE" >&2
exit 1
fi
TITLE=$(basename "$FILE" .md)
RESPONSE=$(curl -s -X POST "${SERVER}/share/markdown" \
-H "Content-Type: application/json" \
-d "$(jq -n --arg md "$(cat "$FILE")" --arg title "$TITLE" '{markdown: $md, title: $title}')")
SLUG=$(echo "$RESPONSE" | jq -r '.slug // empty')
ERROR=$(echo "$RESPONSE" | jq -r '.error // empty')
if [[ -z "$SLUG" ]]; then
echo "error: failed to create document${ERROR:+: $ERROR}" >&2
echo "$RESPONSE" >&2
exit 1
fi
TOKEN_PATH=$(echo "$RESPONSE" | jq -r '.tokenPath // empty')
echo "slug: $SLUG"
echo "url: ${UI_URL}/d/${SLUG}"
[[ -n "$TOKEN_PATH" ]] && echo "editor-url: ${UI_URL}${TOKEN_PATH}"