From 22c2150e86229c0b60a85fc5cce7b2e9b4bde365 Mon Sep 17 00:00:00 2001 From: Eric Rodriguez Date: Tue, 16 Jun 2026 12:07:45 +0200 Subject: [PATCH 1/7] docs(demo): restore the curated SVG demo, widened for crisper capture MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Brings back the deterministic SMIL-SVG generator (vector, tiny, no network) with the curated forged scenes — both valid pdcli commands (pipeline health; deal update --status won). Polish vs the old one: WIDTH 720→880, font 14→15px, LINE_H 22→26, scaled padding/caret, so nothing crowds the edge. README points back at docs/demo.svg; docs:demo runs the generator again. The VHS path (demo.tape + seed-demo.sh + demo.webp) stays in the tree as the live-recording alternative — this branch is for side-by-side comparison. --- CONTRIBUTING.md | 13 ++-- README.md | 2 +- docs/demo.svg | 19 +++++ package.json | 2 +- scripts/gen-demo.mjs | 163 ++++++++++++++++++++++++++++++++++++++++++ test/gen-demo.test.js | 123 +++++++++++++++++++++++++++++++ 6 files changed, 312 insertions(+), 10 deletions(-) create mode 100644 docs/demo.svg create mode 100644 scripts/gen-demo.mjs create mode 100644 test/gen-demo.test.js diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b86b0af..f3c02fe 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -89,14 +89,11 @@ Some files are produced by scripts; edit the generator, not the output: - `docs/commands.md` and the website command reference — `npm run docs:commands` (run after `npm run build`, which writes the oclif manifest). -- `docs/demo.webp` (the animated README terminal) — `npm run docs:demo`, which - runs [VHS](https://github.com/charmbracelet/vhs) on `docs/demo.tape`. Requires - `vhs` and an ffmpeg built with **libwebp** (Homebrew's core ffmpeg lacks it): - `brew tap homebrew-ffmpeg/ffmpeg && brew install homebrew-ffmpeg/ffmpeg/ffmpeg --with-webp`. - Also needs an authenticated pdcli profile (use a sandbox). For a polished, - reproducible recording, first run `./scripts/seed-demo.sh` — it builds a clean - "pdcli demo" pipeline (sane deal values, a duplicate person, a stale deal so - `audit` has findings) and points the tape at it. +- `docs/demo.svg` (the animated README terminal) — `npm run docs:demo`. It's a + self-contained, deterministic SMIL SVG (no fonts/scripts/network) drawn from + the curated `SCRIPT` scenes in `scripts/gen-demo.mjs`; edit the generator, not + the SVG. (A VHS-based real-recording path also exists — `docs/demo.tape` + + `scripts/seed-demo.sh` — if you'd rather record live pdcli output.) `oclif.manifest.json` is generated and git-ignored; never commit it. diff --git a/README.md b/README.md index 63718b0..54bffb1 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ [![Docs](https://img.shields.io/badge/docs-wavyx.github.io%2Fpdcli-1292EE)](https://wavyx.github.io/pdcli/)

- pdcli demo — pipeline health, deal summary, and pipeline coverage + pdcli demo — pipeline health and a winning deal update

Command-line interface for [Pipedrive](https://www.pipedrive.com/) — fast, scriptable, built for terminals, CI pipelines, and AI agents. diff --git a/docs/demo.svg b/docs/demo.svg new file mode 100644 index 0000000..91892f8 --- /dev/null +++ b/docs/demo.svg @@ -0,0 +1,19 @@ + + + + + + +zsh · ~/acme +pdcli pipeline health┌ SALES PIPELINE ───────────────── Q2 ┐Qualified 18 deals €142,000Contact 11 deals € 98,500Proposal 7 deals € 76,200Negotiation 4 deals € 51,000─────────────────────────────────────weighted forecast €221,480win rate 32% · avg cycle 24dpdcli deal update 4821 --status won✓ Acme renewal → Won · activity logged + + diff --git a/package.json b/package.json index 5590e08..db2bc5e 100644 --- a/package.json +++ b/package.json @@ -197,7 +197,7 @@ "scripts": { "build": "oclif manifest", "docs:commands": "npm run build && node scripts/gen-commands.mjs", - "docs:demo": "vhs docs/demo.tape", + "docs:demo": "node scripts/gen-demo.mjs", "lint": "eslint . && prettier --check .", "lint:fix": "eslint --fix . && prettier --write .", "test": "vitest run", diff --git a/scripts/gen-demo.mjs b/scripts/gen-demo.mjs new file mode 100644 index 0000000..7ea1cbd --- /dev/null +++ b/scripts/gen-demo.mjs @@ -0,0 +1,163 @@ +// Generates docs/demo.svg — a self-contained, animated SVG terminal that types +// two real pdcli commands and reveals their output, on a ~12s loop. +// +// Constraints (so it renders inside a GitHub README ): +// - SMIL only — no