Any deploy pipeline~3 min
Auto-log every deploy to Eyepup
Without a changelog row, the dossier agent has no idea you shipped anything. With one, every visitor profile written after the deploy gets graded against the change — friction patterns retire when they recover, and resurface as regressions when they don't.
Step 1 — Mint a write-token
Write commands need an API token (separate from the browser-auth flow). Visit /integrations and copy your epk_live_* token, then save it locally:
$ eyepup token epk_live_xxxxxxxxxxxxxxxx
Step 2 — GitHub Actions
# .github/workflows/deploy.yml
- name: Log deploy to Eyepup
if: success()
run: |
npx -y eyepup token $EYEPUP_TOKEN
npx -y eyepup log "$COMMIT_MSG" \
--kind feature_ship \
--paths "$(git diff --name-only HEAD~1 | tr '\n' ',')"
env:
EYEPUP_TOKEN: ${{ secrets.EYEPUP_TOKEN }}
COMMIT_MSG: ${{ github.event.head_commit.message }}Step 3 — Vercel deploy hook
Vercel exposes deploy-time env vars; wrap the call in a tiny shell script and reference it from your project config:
# .vercel/build-hook.sh — runs after Vercel finishes building
#!/usr/bin/env bash
set -e
TITLE="${VERCEL_GIT_COMMIT_MESSAGE:-deploy}"
npx -y eyepup token "$EYEPUP_TOKEN"
npx -y eyepup log "$TITLE" --kind feature_shipStep 4 — Local git post-push
For solo workflows, a one-line git hook works:
# .git/hooks/post-push (chmod +x) #!/usr/bin/env bash TITLE=$(git log -1 --pretty=%s) PATHS=$(git diff --name-only HEAD~1 | tr '\n' ',' | sed 's/,$//') eyepup log "$TITLE" --kind feature_ship --paths "$PATHS" || true
Pick the right kind
The dossier agent reads kind to weigh the change. Use the most accurate one — wrong kinds poison the agent's reasoning.
content_change— copy edits, headline rewrites, FAQ additionsdesign_change— layout, component visual changes, theme tweakspricing_change— anything that touches /pricing or the actual pricesfeature_ship— net-new functionalitybug_fix— repairing broken behaviourother— fallback, used as default
Pair it with
- Claude Code pre-tool hook — surface top friction before edits
- Cursor terminal-driven auto-loop
