claude-presentation-master 1.0.1 → 2.1.0

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/bin/cli.js CHANGED
@@ -20,12 +20,14 @@ const args = process.argv.slice(2);
20
20
 
21
21
  // Help text
22
22
  const helpText = `
23
- Claude Presentation Master v1.0.0
23
+ Claude Presentation Master v2.1.0
24
24
  Generate world-class presentations using expert methodologies
25
25
 
26
+ 100% FREE • Zero API Keys • Runs Locally
27
+
26
28
  USAGE:
29
+ npx claude-presentation-master <command> [options]
27
30
  cpm <command> [options]
28
- claude-presentation-master <command> [options]
29
31
 
30
32
  COMMANDS:
31
33
  generate <input> Generate presentation from input file
@@ -36,7 +38,11 @@ OPTIONS:
36
38
  -o, --output <dir> Output directory (default: ./output)
37
39
  -m, --mode <mode> Presentation mode: keynote or business (default: keynote)
38
40
  -f, --format <fmt> Output formats: html, pptx, or both (default: html)
39
- -t, --theme <name> Theme: default, light-corporate, modern-tech, minimal, warm, creative
41
+ --type <type> Presentation type (auto-detected if omitted):
42
+ ted_keynote, sales_pitch, consulting_deck,
43
+ investment_banking, investor_pitch,
44
+ technical_presentation, all_hands
45
+ -t, --theme <name> Theme: default, consulting-classic, modern-tech, minimal
40
46
  --title <title> Presentation title (default: filename)
41
47
  --author <name> Author name
42
48
  --threshold <num> QA score threshold 0-100 (default: 95)
@@ -45,17 +51,29 @@ OPTIONS:
45
51
  -v, --version Show version number
46
52
 
47
53
  EXAMPLES:
48
- # Generate keynote presentation as HTML
49
- cpm generate presentation.md -m keynote
54
+ # Quick one-off: Generate keynote from markdown (npx - no install needed)
55
+ npx claude-presentation-master generate notes.md -m keynote -f html
56
+
57
+ # Generate consulting deck as PowerPoint
58
+ cpm generate strategy.md -m business --type consulting_deck -f pptx
50
59
 
51
- # Generate business presentation as both HTML and PPTX
52
- cpm generate deck.md -m business -f html,pptx -o ./slides
60
+ # Investment banking pitchbook
61
+ cpm generate deal-memo.md --type investment_banking -f pptx -o ./pitchbook
62
+
63
+ # Generate both formats
64
+ cpm generate quarterly-review.md -m business -f html,pptx -o ./slides
53
65
 
54
66
  # Validate an existing presentation
55
67
  cpm validate output/presentation.html -m keynote
56
68
 
57
- # Generate with custom theme
58
- cpm generate content.md --theme modern-tech --title "Product Launch"
69
+ PRESENTATION TYPES (auto-detected from content):
70
+ ted_keynote TED-style inspirational (Nancy Duarte)
71
+ sales_pitch Persuasive sales deck (Cialdini)
72
+ consulting_deck McKinsey/BCG style (Barbara Minto)
73
+ investment_banking IB pitchbook (Analyst Academy)
74
+ investor_pitch VC/fundraising (Sequoia framework)
75
+ technical_presentation Architecture/engineering (Edward Tufte)
76
+ all_hands Company updates
59
77
 
60
78
  SUPPORTED INPUT FORMATS:
61
79
  - Markdown (.md)
@@ -63,11 +81,11 @@ SUPPORTED INPUT FORMATS:
63
81
  - YAML (.yaml, .yml)
64
82
  - Plain text (.txt)
65
83
 
66
- For more information, visit: https://github.com/isovision/claude-presentation-master
84
+ For more information: https://github.com/Stuinfla/claude-presentation-master
67
85
  `;
68
86
 
69
87
  // Version
70
- const version = '1.0.0';
88
+ const version = '2.1.0';
71
89
 
72
90
  // Parse arguments
73
91
  function parseArgs(args) {
@@ -78,6 +96,7 @@ function parseArgs(args) {
78
96
  mode: 'keynote',
79
97
  format: ['html'],
80
98
  theme: 'default',
99
+ type: null, // Presentation type (auto-detected if null)
81
100
  title: null,
82
101
  author: null,
83
102
  threshold: 95,
@@ -121,6 +140,10 @@ function parseArgs(args) {
121
140
  options.theme = args[++i];
122
141
  break;
123
142
 
143
+ case '--type':
144
+ options.type = args[++i];
145
+ break;
146
+
124
147
  case '--title':
125
148
  options.title = args[++i];
126
149
  break;
@@ -196,25 +219,36 @@ Claude Presentation Master v${version}
196
219
 
197
220
  Author: Stuart Kerr <stuart@isovision.ai>
198
221
  License: MIT
222
+ Cost: 100% FREE - Zero API Keys Required
199
223
 
200
224
  Features:
201
- Expert methodologies (Duarte, Reynolds, Gallo, Anderson)
225
+ 7 Presentation Types with Expert Methodologies
202
226
  ✓ Two modes: Keynote (6-25 words) & Business (40-80 words)
203
227
  ✓ HTML (Reveal.js) + PowerPoint output
204
- Real visual QA with Playwright
205
- 95/100 minimum score enforcement
206
- No API keys required (optional enhancements available)
207
-
208
- Media Providers (all work without API keys):
209
- Images: Placeholder, Unsplash Source, Local files
210
- Charts: Chart.js (HTML), QuickChart (PPTX)
211
- Diagrams: Mermaid.js
228
+ Investment Banking Charts (Football Field, Waterfall, Comps)
229
+ Professional Typography (Google Fonts)
230
+ Hallucination Detection (zero-tolerance fact checking)
231
+ ✓ Auto-Remediation (fixes issues until 95/100 threshold met)
232
+ Real visual QA with Playwright (optional)
233
+
234
+ Presentation Types:
235
+ ted_keynote Nancy Duarte (Sparkline)
236
+ • sales_pitch Robert Cialdini (Persuasion)
237
+ • consulting_deck Barbara Minto (Pyramid Principle)
238
+ • investment_banking Analyst Academy (IB Standards)
239
+ • investor_pitch Sequoia/YC Frameworks
240
+ • technical_presentation Edward Tufte (Data-ink)
241
+ • all_hands Internal Comms Best Practices
212
242
 
213
243
  Expert Knowledge Base:
214
244
  • 6,300+ lines of expert principles
215
245
  • 40+ presentation experts
216
246
  • SCQA, Sparkline, STAR Moment frameworks
217
- • Automated framework selection
247
+ • Automated type detection and framework selection
248
+
249
+ Usage:
250
+ npx claude-presentation-master generate notes.md -m keynote
251
+ cpm generate strategy.md --type consulting_deck -f pptx
218
252
  `);
219
253
  process.exit(0);
220
254
  }
@@ -282,6 +316,7 @@ async function runGenerate(inputPath, options, generate) {
282
316
  mode: options.mode,
283
317
  format: options.format,
284
318
  theme: options.theme,
319
+ presentationType: options.type, // null = auto-detect
285
320
  title,
286
321
  author: options.author,
287
322
  qaThreshold: options.threshold,
@@ -291,6 +326,7 @@ async function runGenerate(inputPath, options, generate) {
291
326
  console.log(`
292
327
  📋 Configuration:
293
328
  Mode: ${options.mode}
329
+ Type: ${options.type || '(auto-detect)'}
294
330
  Format: ${options.format.join(', ')}
295
331
  Theme: ${options.theme}
296
332
  Title: ${title}