CLI tool for creating AI-powered presentations with Mindframes
npm install @conceptcraft/mindframesCommand-line tool for creating AI-powered presentations with Mindframes.
``bash`
npm install -g @conceptcraft/mindframes
Or use directly with npx:
`bash`
npx @conceptcraft/mindframes create "Topic" --context "your content"
Get your API key from Mindframes Settings, then configure:
`bashInteractive setup (recommended)
mindframes config init
Usage
Note: The CLI binary is branded. Replace
conceptcraft in examples with your actual command name (check npx @conceptcraft/cli --help or your install output).$3
Context is required for meaningful presentations. Provide it via one of these methods:
`bash
Direct text context
mindframes create "Q4 Report" --context "Revenue: $10M, Growth: 25%, New customers: 500"From a file (markdown, text, or JSON)
mindframes create "Research Summary" --context-file ./research.mdPipe content from another command
cat notes.md | mindframes create "Meeting Notes"Scrape content from URLs
mindframes create "Competitor Analysis" --sources https://example.com/reportCombine multiple sources
cat data.json | mindframes create "Analysis" --sources https://article.com --context "Focus on Q4"
`$3
| Option | Description | Default |
|--------|-------------|---------|
|
-n, --slides | Number of slides (1-20) | 10 |
| -m, --mode | Quality: best, balanced, fast, ultrafast, instant | balanced |
| -t, --tone | Tone: creative, professional, educational, formal, casual | professional |
| --amount | Density: minimal, concise, detailed, extensive | concise |
| --audience | Target audience description | General Audience |
| -l, --language | Output language code | en |
| -b, --brand | Branding ID or URL | - |
| -c, --context | Direct text context | - |
| --context-file | Read context from file | - |
| --sources | URLs to scrape for context | - |
| --styling | freeform, brand-only, brand-plus-style, style-only, no-styling | freeform |
| --reference-url | Style reference image URL | - |
| --thinking-depth | AI depth: quick, moderate, deep, profound | moderate |
| -o, --output | Output: human, json, quiet | human |
| --no-stream | Disable progress streaming | - |
| --debug | Enable debug logging | - |$3
`bash
High-quality investor pitch
mindframes create "Series A Pitch" -m best -t formal --slides 12 \
--audience "Venture capitalists" --context-file ./pitch-notes.mdQuick internal update
mindframes create "Weekly Update" -m instant -t casual --slides 5 \
--context "Shipped 3 features, fixed 12 bugs, 2 new hires joining Monday"Educational content with research
mindframes create "AI in Healthcare" -t educational --amount detailed \
--sources https://research-paper.pdf https://news-article.comJSON output for scripting
URL=$(mindframes create "Demo" --context "..." -o json | jq -r '.viewUrl')
`$3
`bash
mindframes list # List recent presentations
mindframes list --format table # Table format
mindframes list --format json # JSON for scripting
mindframes list --limit 50 # More results
`$3
`bash
mindframes get # Get presentation details
mindframes get --format json # JSON format
`$3
`bash
mindframes delete # Delete with confirmation
mindframes delete --force # Skip confirmation
`$3
`bash
Export to ZIP
mindframes export -o presentation.zipImport from ZIP
mindframes import presentation.zip
mindframes import presentation.zip --dry-run # Validate only
`$3
`bash
mindframes branding list # List brand profiles
mindframes branding extract # Extract branding from website
`$3
`bash
mindframes config init # Interactive setup
mindframes config show # Show current config
mindframes config set api-key KEY # Set API key
mindframes config set api-url URL # Set custom API URL
mindframes config path # Show config file path
mindframes config clear # Clear all config
`$3
`bash
mindframes whoami # Show current user and team
`$3
Install the Mindframes skill for Claude Code, Cursor, and other AI coding assistants:
`bash
mindframes skill install # Auto-detect and install to all editors
mindframes skill install --local # Install to current project only
mindframes skill show # View skill content
mindframes skill uninstall # Remove skill from editors
`Supported editors: Claude Code, Cursor, Codex, OpenCode, Windsurf, Agent
Video Generation (Remotion)
The video workflow is intentionally simple. Run commands inside the project folder so you can omit
--project.More examples: see
packages/cli/USAGE.md (video usage playbook).$3
`bash
conceptcraft video generate new my-video --type youtube
cd my-video
`$3
`bash
conceptcraft video generate assets
`$3
`bash
conceptcraft video generate plan
`$3
`bash
conceptcraft video export --out out/video.mp4 --thumb out/thumb.png
conceptcraft video export --no-embed-poster
`$3
`bash
conceptcraft video find "city timelapse" # search stock videos
`$3
`bash
conceptcraft video generate assets --project my-video
conceptcraft video generate plan --project my-video
conceptcraft video export --project my-video --out out/video.mp4 --thumb out/thumb.png
`$3
`
Brief / scenes.json
|
v
+--------------------+ writes +-----------------------------+
| video |----------------------->| public/video-manifest.json |
| generate assets | | (VO, images, videos, music) |
+--------------------+ +-----------------------------+
|
v
+--------------------+ writes +------------------------+
| video |----------------------->| public/video-plan.json |
| generate plan | | (stable render input) |
+--------------------+ +------------------------+
|
v
+--------------------+ reads +------------------------+
| video export |<-----------------------| template.manifest.json |
| (Remotion render) | | + src/ compositions |
+--------------------+ +------------------------+
|
v
+--------------------+
| out/video.mp4 |
| out/thumb.png |
| (poster embedded) |
+--------------------+Tip:
cd my-video and you can omit --project everywhere.
`$3
`mermaid
flowchart LR
A["scenes.json
(brief or user input)"] --> B[" video generate assets"]
B --> C[public/video-manifest.json]
C --> D[" video generate plan"]
D --> E[public/video-plan.json]
E --> F[" video export"]
F --> G[out/video.mp4]
F --> H[out/thumb.png] subgraph Template
T1[template.manifest.json]
T2[src/* Remotion compositions]
end
F --> T1
F --> T2
`Scripting Examples
`bash
Batch export all presentations
mindframes list --format ids | xargs -I {} mindframes export {} -o {}.zipFilter presentations by JSON
mindframes list --format json | jq '.[] | select(.slides > 10)'Generate from file and open URL
mindframes create "Report" --context-file data.md -o json | jq -r '.viewUrl' | xargs open
`Output Formats
-
human (default): Colored, formatted output for terminal
- json: Machine-readable JSON
- quiet: Minimal output, just errors
- table: Tabular format for list commandsExit Codes
| Code | Meaning |
|------|---------|
| 0 | Success |
| 1 | General error |
| 2 | Authentication error |
| 3 | Not found |
| 4 | Rate limit exceeded |
| 5 | Network error |
| 6 | Invalid input |
Environment Variables
| Variable | Description |
|----------|-------------|
|
CC_MINDFRAMES_API_KEY | API key for authentication |
| CC_SLIDES_API_URL | Custom API URL (default: https://mindframes.app) |Requirements
- Node.js 20.0.0 or higher
Development
`bash
Clone and install
cd packages/cli
pnpm installBuild
pnpm buildRun locally
./bin/cli.js --helpWatch mode
pnpm dev
`Publishing
The CLI is published to npm under the
@conceptcraft organization.npm org: @conceptcraft
$3
1. Manual release (recommended):
- Go to GitHub Actions → "Publish CLI to npm"
- Click "Run workflow"
- Enter version (e.g.,
0.2.0)
- Select dist-tag (latest, beta, or next)2. Tag-based release:
`bash
git tag cli-v0.2.0
git push origin cli-v0.2.0
`$3
-
NPM_TOKEN: npm automation token with publish access to @conceptcraft` orgMIT