Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,16 @@ npm test 2>&1 | clipcase add failing-test --source "npm test" --tag failure
clipcase export failing-test --out handoff.md
```

For a reproducible local demo that creates and verifies a handoff bundle, run:
For a reproducible fixture-backed demo that builds a temporary case, searches it,
and exports a handoff, run:

```sh
bash demo/run-agent-handoff.sh
```

See [docs/tutorials/agent-handoff-casefile.md](docs/tutorials/agent-handoff-casefile.md)
for the walkthrough.

Promotion support drafts live in [docs/promo/video-brief-agent-handoff.md](docs/promo/video-brief-agent-handoff.md)
and [docs/promo/social-hooks.md](docs/promo/social-hooks.md).

Expand Down
32 changes: 17 additions & 15 deletions demo/run-agent-handoff.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,19 @@
set -euo pipefail

ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
OUT="$ROOT/.tmp/demo-agent-handoff"
TMPDIR="$(mktemp -d)"
trap 'rm -rf "$TMPDIR"' EXIT

rm -rf "$OUT"
mkdir -p "$OUT"
npm --prefix "$ROOT" run build >/dev/null

npm run build

cd "$OUT"
cd "$TMPDIR"
node "$ROOT/dist/src/cli.js" init --storage .clipcase
node "$ROOT/dist/src/cli.js" new failing-test --title "Failing test handoff"
node "$ROOT/dist/src/cli.js" new failing-login --title "Failing login handoff"

node "$ROOT/dist/src/cli.js" add failing-login \
--source terminal \
--tag repro \
--tag auth < "$ROOT/fixtures/repro.txt"

cat > repro.txt <<'EOF'
Command: npm test
Expand All @@ -25,15 +28,14 @@ Next useful check:
npm test -- login-redirect
EOF

node "$ROOT/dist/src/cli.js" add failing-test --source "npm test" --tag failure < repro.txt
node "$ROOT/dist/src/cli.js" list
node "$ROOT/dist/src/cli.js" search redirect
node "$ROOT/dist/src/cli.js" export failing-test --out handoff.md
node "$ROOT/dist/src/cli.js" add failing-login --source "npm test" --tag failure < repro.txt
node "$ROOT/dist/src/cli.js" list | grep -q 'failing-login'
node "$ROOT/dist/src/cli.js" search redirect | grep -q 'failing-login'
node "$ROOT/dist/src/cli.js" export failing-login --out handoff.md

grep -q "Failing test handoff" handoff.md
grep -q "Failing login handoff" handoff.md
grep -q "npm test" handoff.md
grep -q "next=/settings" handoff.md

echo
echo "Demo artifacts written to $OUT"
echo " $OUT/handoff.md"
echo "Demo case exported to $TMPDIR/handoff.md"
sed -n '1,40p' handoff.md
1 change: 0 additions & 1 deletion demo/run-bug-handoff.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,3 @@ fi
grep -q "Refusing to save" "$tmp/secret.err"

echo "Demo casefile: $tmp/handoff.md"

24 changes: 24 additions & 0 deletions docs/promo/agent-handoff-hooks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Agent Handoff Hooks

Grounded promotion notes for the fixture-backed ClipCase handoff demo.

## Short Posts

1. ClipCase turns pasted terminal output and repro notes into a deterministic Markdown casefile you can hand to another human or agent.
2. The demo stores `fixtures/repro.txt`, tags it as an auth repro, searches it offline, and exports a shareable `handoff.md`.
3. No sync, no account, no background watcher: `clipcase init`, `clipcase add`, `clipcase search`, and `clipcase export` are local filesystem operations.
4. Use `bash demo/run-agent-handoff.sh` to see the casefile flow without touching your real clipboard or notes.

## Video Beat

- Open `fixtures/repro.txt`.
- Run `bash demo/run-agent-handoff.sh`.
- Show the `clipcase list` and `clipcase search expired` checks from the script.
- Show the top of the exported Markdown handoff.
- Close on the local-first safety model and secret-blocking behavior in the README.

## Guardrails

- Do not claim ClipCase replaces issue trackers or incident tools.
- Do not include real secrets in demo content.
- Keep claims limited to local storage, deterministic metadata, offline search, and Markdown export.
9 changes: 7 additions & 2 deletions docs/tutorials/agent-handoff-casefile.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Agent Handoff Casefile Demo

This recipe shows how to turn a repro note and a failing command note into one Markdown handoff bundle. It uses a temporary storage directory, so the repository checkout stays clean.
This recipe shows how to turn a repro note and a failing command note into one
Markdown handoff bundle. It uses a temporary storage directory, so the
repository checkout stays clean.

## Prerequisites

Expand All @@ -12,7 +14,7 @@ npm run build
## Run the demo

```sh
bash examples/run-agent-handoff-demo.sh
bash demo/run-agent-handoff.sh
```

The script performs the full local flow:
Expand All @@ -25,6 +27,9 @@ The script performs the full local flow:
- exports `handoff.md`
- checks that the exported Markdown contains the case title and source label

An alternate example script is available at
`examples/run-agent-handoff-demo.sh`.

## Adapt it

Use the same pattern during a debugging session:
Expand Down
1 change: 0 additions & 1 deletion examples/bug-handoff/repro.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,3 @@ The redirect keeps the expired session cookie and loops back to /login.
Expected:

The redirect clears the expired cookie and lands on /dashboard.

1 change: 0 additions & 1 deletion examples/bug-handoff/terminal.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,3 @@ not ok 3 - clears expired login cookie before redirect
expected: "/dashboard"
actual: "/login"
...

Loading