demobite 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -4
- package/launcher/index.mjs +4 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -11,7 +11,8 @@ npx demobite
|
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
That one command checks your setup, installs the recorder skill for
|
|
14
|
-
[Claude Code](https://claude.com/claude-code),
|
|
14
|
+
your coding agent — [Claude Code](https://claude.com/claude-code), Cursor,
|
|
15
|
+
or Codex — and wires the DemoBites
|
|
15
16
|
management MCP so your agent can also run your Update Center and Demo Center.
|
|
16
17
|
Sign-in happens through your own browser — no passwords in the terminal, ever.
|
|
17
18
|
Then you just ask your agent:
|
|
@@ -30,12 +31,59 @@ The agent storyboards the flow, films it in a real Chrome, and stages the take
|
|
|
30
31
|
for your approval inside DemoBites. You approve in the product; the platform
|
|
31
32
|
does the rest.
|
|
32
33
|
|
|
34
|
+
## Manage DemoBites from your agent (MCP)
|
|
35
|
+
|
|
36
|
+
Recording is half the story. The same package wires the **DemoBites management
|
|
37
|
+
MCP** — a control plane your agent uses to run your Update Center and Demo
|
|
38
|
+
Center. Your customers' agents read your centers; your agent runs them.
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npx demobite mcp
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Claude Code is registered automatically. Any other MCP client works over
|
|
45
|
+
Streamable HTTP: point it at `https://app.demobites.com/api/mcp` with the
|
|
46
|
+
`Authorization: Bearer <key>` header the command prints (in Cursor, add both
|
|
47
|
+
under Settings → MCP). Then talk to your agent like a teammate:
|
|
48
|
+
|
|
49
|
+
> "Create a release with my latest bites, add Spanish, and publish it."
|
|
50
|
+
|
|
51
|
+
> "What's on our Demo Center? Swap the checkout bite for the onboarding one."
|
|
52
|
+
|
|
53
|
+
### What it can do — 19 tools
|
|
54
|
+
|
|
55
|
+
| Group | Tools |
|
|
56
|
+
|---|---|
|
|
57
|
+
| Connect | `get_started` · `connect_demobites` · `check_connection` · `get_recording_options` |
|
|
58
|
+
| Read | `get_status` · `list_bites` · `list_releases` · `get_release` · `list_languages` |
|
|
59
|
+
| Draft & edit | `create_release` · `update_release` · `assign_bites_to_release` · `update_center_settings` · `add_language` · `update_demo_center` |
|
|
60
|
+
| Publish — with your approval | `publish_release` · `unpublish_release` · `remove_language` · `publish_demo_center` |
|
|
61
|
+
|
|
62
|
+
The server describes itself: any client's `tools/list` returns every tool with
|
|
63
|
+
its full input schema, straight from the running code.
|
|
64
|
+
|
|
65
|
+
### You stay in charge
|
|
66
|
+
|
|
67
|
+
Draft work executes directly, exactly like clicking around the product. But
|
|
68
|
+
anything that touches a **public** page is two-phase: the tool returns a
|
|
69
|
+
human-readable preview plus a single-use confirmation token, your agent shows
|
|
70
|
+
you the preview, and only your go-ahead executes it. Tokens expire in ten
|
|
71
|
+
minutes, are bound to the exact action and arguments, and every management
|
|
72
|
+
call lands in an audit log.
|
|
73
|
+
|
|
74
|
+
### Plans
|
|
75
|
+
|
|
76
|
+
Connecting and reading are open. Managing requires the **Grow** plan.
|
|
77
|
+
Recording works on every plan.
|
|
78
|
+
|
|
79
|
+
Full guide: [Manage from your agent](https://www.demobites.com/docs/bites/manage-from-your-agent)
|
|
80
|
+
|
|
33
81
|
## What's in this repository
|
|
34
82
|
|
|
35
83
|
| Directory | What it is |
|
|
36
84
|
|---|---|
|
|
37
85
|
| `launcher/` | The `npx demobite` entry — environment checks, skill install, login |
|
|
38
|
-
| `skill/` | The DemoBites recorder skill for
|
|
86
|
+
| `skill/` | The DemoBites recorder skill for coding agents (staging, preview, approval flow) |
|
|
39
87
|
| `recorder/` | The open recorder — same filming engine, no account, ends at a polished `demo.mp4` |
|
|
40
88
|
| `scripts/` | The shared engine: filming, clock calibration, cutting |
|
|
41
89
|
|
|
@@ -43,7 +91,7 @@ does the rest.
|
|
|
43
91
|
|
|
44
92
|
The `recorder/` directory is a standalone skill: the same real-browser filming,
|
|
45
93
|
hover-anchor clock calibration and camera work, delivering a finished, styled
|
|
46
|
-
`demo.mp4` on your disk — no account, no upload. Point
|
|
94
|
+
`demo.mp4` on your disk — no account, no upload. Point your coding agent at it and
|
|
47
95
|
film. When you want narration, zooms, an editable timeline and hosting, the
|
|
48
96
|
sibling skill in `skill/` is one login away.
|
|
49
97
|
|
|
@@ -57,7 +105,7 @@ is cryptographically tied to a public commit in this repository.
|
|
|
57
105
|
## Requirements
|
|
58
106
|
|
|
59
107
|
- Node 18+
|
|
60
|
-
- [Claude Code](https://claude.com/claude-code)
|
|
108
|
+
- A coding agent — [Claude Code](https://claude.com/claude-code), Cursor, or Codex; the recorder is agent-driven
|
|
61
109
|
- Google Chrome (recommended; films with the real browser) — otherwise
|
|
62
110
|
Chromium is downloaded on first take
|
|
63
111
|
- ffmpeg (`brew install ffmpeg` on macOS)
|
package/launcher/index.mjs
CHANGED
|
@@ -49,8 +49,8 @@ if (chromePaths.some((p) => fs.existsSync(p)) || hasBin("google-chrome")) ok("Go
|
|
|
49
49
|
else warn("Google Chrome not found — the recorder will download Chromium on first take");
|
|
50
50
|
if (hasBin("ffmpeg")) ok("ffmpeg");
|
|
51
51
|
else warn("ffmpeg not found — install it (macOS: brew install ffmpeg) before recording");
|
|
52
|
-
if (hasBin("claude")) ok("Claude Code (the
|
|
53
|
-
else warn("Claude Code not found —
|
|
52
|
+
if (hasBin("claude")) ok("Claude Code (drives the recorder; MCP registers automatically)");
|
|
53
|
+
else warn("Claude Code not found — using Cursor or Codex? They drive the recorder too; MCP setup prints below");
|
|
54
54
|
|
|
55
55
|
// ── 2. Install / update the skill ──────────────────────────────────────────
|
|
56
56
|
const skillsDir = path.join(os.homedir(), ".claude", "skills");
|
|
@@ -139,7 +139,8 @@ Publishing always shows you a preview to approve first.
|
|
|
139
139
|
const cfg = readCfg();
|
|
140
140
|
if (cfg?.api_key) registerMcp(cfg, { quiet: true });
|
|
141
141
|
console.log(`
|
|
142
|
-
Ready. Everything is agent-driven — open
|
|
142
|
+
Ready. Everything is agent-driven — open your coding agent (Claude Code,
|
|
143
|
+
Cursor, Codex) in your project and ask:
|
|
143
144
|
|
|
144
145
|
"Record a demo of <your flow> and upload it to DemoBites"
|
|
145
146
|
"Create a release with my latest bites and add Spanish"
|
package/package.json
CHANGED