CLI Reference

The Impresent CLI is a standalone binary that works with local files and cloud storage. No Node.js required.

Global Options

These options apply to all commands:

OptionDescription
--help, -hShow help for a command
--version, -vShow CLI version
--config <path>Use a custom config file
--quiet, -qSuppress non-error output
--verboseShow detailed output

Authentication Commands

impresent login

Authenticate with the Impresent server and store your API key locally.

impresent login

Opens a browser window for authentication. After successful login, your API key is stored in ~/.impresent/credentials.

Options:

OptionDescription
--server <url>Use a custom server URL
--key <api-key>Provide an API key directly (non-interactive)

impresent logout

Remove stored credentials.

impresent logout

impresent whoami

Display the currently authenticated user and server.

impresent whoami

Output:

Logged in as: user@example.com
Server: https://api.impresent.dev

Deck Commands

impresent create <name>

Create a new presentation from a template.

impresent create quarterly-review

Options:

OptionDescription
--template, -tTemplate to use (default: minimal)
--output, -oOutput directory (default: current directory)

Examples:

# Create with corporate template
impresent create sales-deck --template corporate

# Create in a specific directory
impresent create pitch --output ./presentations

impresent render <file>

Render a presentation to HTML, PDF, or PowerPoint.

impresent render presentation.md

Options:

OptionDescription
--format, -fOutput format: html, pdf, pptx (default: html)
--output, -oOutput file path
--template, -tOverride template from frontmatter
--watch, -wWatch for changes and re-render

Examples:

# Render to PDF
impresent render deck.md --format pdf

# Custom output path
impresent render deck.md --format pptx --output ./output/final.pptx

# Watch mode
impresent render deck.md --watch

impresent serve <file>

Start a local development server with hot-reload preview.

impresent serve presentation.md

Options:

OptionDescription
--port, -pServer port (default: 3000)
--hostHost to bind to (default: localhost)
--openOpen browser automatically

Examples:

# Custom port
impresent serve deck.md --port 8080

# Open browser automatically
impresent serve deck.md --open

impresent push [file]

Upload a local deck to cloud storage.

impresent push presentation.md

If no file is specified, pushes all .md files in the current directory that have Impresent frontmatter.

Options:

OptionDescription
--slugOverride the deck slug (default: filename)
--forceOverwrite existing deck without confirmation

Examples:

# Push with custom slug
impresent push deck.md --slug q3-results

# Force overwrite
impresent push deck.md --force

impresent pull <slug>

Download a cloud deck to a local file.

impresent pull quarterly-review

Options:

OptionDescription
--output, -oOutput file path (default: <slug>.md)
--forceOverwrite existing local file

Examples:

# Custom output path
impresent pull q3-results --output ./decks/q3.md

impresent list

List your cloud decks.

impresent list

Options:

OptionDescription
--jsonOutput as JSON
--limit, -nMaximum number of results

Output:

SLUG              TITLE                    UPDATED
quarterly-review  Q3 2024 Review           2 hours ago
sales-pitch       Enterprise Sales Deck    3 days ago
onboarding        New Hire Onboarding      1 week ago

Template Commands

impresent templates

List available templates.

impresent templates

Options:

OptionDescription
--jsonOutput as JSON

Output:

NAME        DESCRIPTION                              TYPE
minimal     Clean, lots of whitespace                built-in
dark        Dark background, high contrast           built-in
corporate   Professional, muted blues/grays          built-in
creative    Bold colors, modern typography           built-in
my-brand    Custom company branding                  custom

impresent templates add <path>

Upload a custom template to your account.

impresent templates add ./my-template/

The path should be a directory containing:

  • template.yaml - manifest file
  • theme.css - Marp theme CSS
  • scaffold.md - optional starter content
  • assets/ - optional directory with images

Configuration Commands

impresent config

Show current configuration.

impresent config

impresent config set <key> <value>

Set a configuration value.

impresent config set defaults.template corporate

Available settings:

KeyDescription
server.urlAPI server URL
defaults.templateDefault template for new decks
defaults.formatDefault render format

impresent config reset

Reset configuration to defaults.

impresent config reset

Configuration Files

~/.impresent/config.yaml

Global configuration:

server:
  url: https://api.impresent.dev
defaults:
  template: minimal
  format: html

~/.impresent/credentials

API key storage (do not commit to version control):

api_key: imp_a1b2c3d4e5f6...

Exit Codes

CodeDescription
0Success
1General error
2Invalid arguments
3Authentication required
4Network error
5File not found