instadeck 0.0.0-stage → 0.1.1

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Jakub Schinko
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,128 @@
1
- # Temporary Holding Version
1
+ # InstaDeck
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Branded, animated pitch decks from your own Claude.
4
+
5
+ You describe your company and topic and add your logo. Claude writes the story, the content and the design. InstaDeck turns it into a presentation that plays with slide transitions, click by click reveals, counting numbers and growing charts, in a motion language Claude designs for your audience, and prints to PDF.
6
+
7
+ InstaDeck is an [MCP](https://modelcontextprotocol.io) server. It has no app of its own and no model of its own: the model is the Claude you already use, InstaDeck gives it the knowledge, the tools and the checks to make a deck that looks designed.
8
+
9
+ ## Add it to Claude
10
+
11
+ **claude.ai and Claude Desktop** (every plan, nothing to install): Settings, Connectors, Add custom connector, paste
12
+
13
+ ```
14
+ https://instadeck.app/mcp
15
+ ```
16
+
17
+ The deck plays right in the chat. Every deck also gets a link to present full screen, share, or print to PDF.
18
+
19
+ **Claude Code**
20
+
21
+ ```bash
22
+ claude mcp add --transport http instadeck https://instadeck.app/mcp
23
+ ```
24
+
25
+ **On your computer** (decks stay in folders you own, slide previews for Claude, PDF export). Needs Node 20 or newer and Google Chrome, Microsoft Edge or Chromium.
26
+
27
+ ```bash
28
+ claude mcp add instadeck -- npx -y instadeck
29
+ ```
30
+
31
+ For Claude Desktop, download `instadeck.mcpb` from the [latest release](https://github.com/schinkodev/instadeck/releases/latest) and open it. Optional for Claude Code: copy [`skills/instadeck`](skills/instadeck) into `~/.claude/skills/`.
32
+
33
+ ## Where your data lives
34
+
35
+ | | Hosted connector | On your computer |
36
+ |---|---|---|
37
+ | Decks and assets | Stored by InstaDeck on AWS (S3, eu-central-1) | Folders in `~/InstaDeck` |
38
+ | Access | Anyone with the deck link. No accounts, the link is an unguessable id | Only you |
39
+ | Kept for | Decks 30 days after the last change, logos and brand kits 365 days | Until you delete them |
40
+ | Checks | Text fit and motion are measured in your browser | Measured and previewed in a local Chromium |
41
+ | In the chat | The deck plays in claude.ai and Claude Desktop, pick a slide and say what to change | The same in Claude Desktop |
42
+ | Downloads | PDF, PowerPoint and HTML from the deck link | `export_deck`: PDF, PowerPoint, HTML |
43
+
44
+ Use the local server for anything confidential.
45
+
46
+ ## What Claude gets
47
+
48
+ | Tool | What it does |
49
+ |---|---|
50
+ | `get_design_guide` | Layouts, blocks, the motion language, pitch beats and the design, storytelling and motion principles |
51
+ | `get_example` | Proven example decks (seed pitch, enterprise sales deck, product launch, board update, consumer launch), from still to kinetic, and why they work |
52
+ | `add_asset`, `extract_brand_colors` | Logo and brand files, colors read from the logo |
53
+ | `suggest_brand_system` | A coherent, readable palette, font pair and type scale from a primary color and a mood |
54
+ | `create_brand_kit`, `get_brand_kit` | Saves the brand and checks it for contrast and fonts |
55
+ | `create_deck`, `get_deck`, `apply_ops` | Builds and edits the deck. Every change is validated and versioned |
56
+ | `validate_deck` | Text that does not fit, low contrast, overlong text, motion that does not fit its intensity, repetitive layouts |
57
+ | `get_history`, `revert_deck`, `delete_deck` | Revisions |
58
+ | `render_preview`, `export_deck`, `list_*` | Local server only: PNG previews, PDF, PowerPoint, listings |
59
+
60
+ Claude never writes HTML. It composes slides from layouts and blocks and designs the motion as data: how much the deck moves, its own entrances and transitions as keyframes, elements that glide between slides. InstaDeck guarantees the brand and the typography and measures every motion against principles of perception. Resources under `instadeck://` carry the same knowledge for clients that read them.
61
+
62
+ ## Use
63
+
64
+ Ask Claude for a deck, for example:
65
+
66
+ > Make a seed pitch deck for Northwind Grid, a startup that predicts power grid congestion. Use the logo from northwind.energy.
67
+
68
+ On your computer, decks are folders:
69
+
70
+ ```
71
+ ~/InstaDeck/
72
+ northwind-seed-pitch/
73
+ deck.html open in a browser to present
74
+ deck.pdf after "export it as PDF"
75
+ deck.json the deck itself, with its history in .revisions/
76
+ ```
77
+
78
+ Present: arrow keys, space or click to advance, G for all slides, P for the presenter view, F for fullscreen, N for speaker notes. The download menu on a shared link saves the deck as PDF, PowerPoint or HTML.
79
+
80
+ PowerPoint export keeps text editable and charts and tables native. The layout comes from the browser that rendered the deck (Chromium on your computer, or the viewer's browser on a shared link), so the server never runs a browser. Fonts are referenced by name: install the deck's Google Fonts for the exact look.
81
+
82
+ ## Configure (local server)
83
+
84
+ | Variable | Default | Meaning |
85
+ |---|---|---|
86
+ | `INSTADECK_HOME` | `~/InstaDeck` | Where decks, brand kits and assets live |
87
+ | `INSTADECK_CHROME` | found automatically | Path to the browser executable |
88
+
89
+ ## How it works
90
+
91
+ ```
92
+ lib/domain layouts, blocks, design tokens, brand kit, motion language, examples, design, storytelling and motion principles
93
+ lib/engine renders the presentation, validates, suggests brand systems, measures overflow and motion, exports PDF and PNG
94
+ lib/state decks with revisions, one write path (folder on disk or S3)
95
+ lib/tools MCP tools
96
+ server/ MCP server: stdio (local), HTTP and MCP App (hosted connector)
97
+ ```
98
+
99
+ The hosted connector is a small stateless service over object storage. There is no database and no browser on the server.
100
+
101
+ ## Add an example deck
102
+
103
+ Examples live in [`lib/domain/examples.json`](lib/domain/examples.json) and every one must build without findings (a test checks it). When a deck turns out well, promote it:
104
+
105
+ ```bash
106
+ npm run example -- <deck.json or https://instadeck.app/d/ID> my-example \
107
+ --title "Series A pitch" --purpose "..." --audience "..." --why "reason one|reason two" --content-is-public
108
+ ```
109
+
110
+ Examples are shown to every user, so replace real names and numbers first. Decks with logos or images are refused, examples carry no assets.
111
+
112
+ ## Develop
113
+
114
+ ```bash
115
+ npm install
116
+ npm test # domain, engine, state, tools, MCP contract
117
+ npm run typecheck
118
+ npm run lint
119
+ npm run mcp # local server from source (stdio)
120
+ npm run serve # hosted connector locally (STATE_BACKEND=local INSTADECK_HOSTED_DIR=... INSTADECK_PUBLIC_URL=http://localhost:3535)
121
+ npm run gen # regenerate the skill, the MCP App and browser script modules
122
+ npm run bundle # build the Claude Desktop extension
123
+ npm run build:lambda # build the hosted connector for AWS Lambda
124
+ ```
125
+
126
+ ## License
127
+
128
+ MIT