Getting started

Set up SuperDeck in your Flutter project and create your first presentation

Getting started

Set up SuperDeck in your Flutter project and create your first presentation.

Prerequisites

  • Flutter SDK version 3.38.1 or higher
  • Dart SDK version 3.10.0 or higher
  • Flutter project (or create one with flutter create my_presentation)

Installation

Install SuperDeck CLI

dart pub global activate superdeck_cli

Set up your project

In your Flutter project directory:

cd your-flutter-project
superdeck setup

This creates:

  • Sample slides.md file
  • Asset configuration in pubspec.yaml
  • macOS entitlements for network access
  • Custom index.html for web with loading indicator

Add SuperDeck dependency

flutter pub add superdeck

Initialize SuperDeck in your app

Update your main.dart:

import 'package:flutter/widgets.dart';
import 'package:superdeck/superdeck.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await SuperDeckApp.initialize();
  runApp(
    SuperDeckApp(
      options: DeckOptions(
        debug: true, // Enable debug mode during development
      ),
    ),
  );
}

Your first presentation

Edit the generated slides.md file:

---
title: My First Presentation
---

# Welcome to SuperDeck!

This is your first slide.

---

## What is SuperDeck?

Create beautiful presentations using:

- Markdown for content
- Flutter for rendering
- Block-based layouts

---

## Two-Column Layout

@section

@column
### Left Column
- Point one
- Point two  
- Point three

@column
### Right Column
![Flutter Logo](https://storage.googleapis.com/cms-storage-bucket/4fd5520fe28ebf839174.svg)

---

Build your presentation

# Build once
superdeck build

# Watch for changes (recommended)
superdeck build --watch

Run your app

flutter run

Development workflow

Use two terminals:

Terminal 1 - Watch mode:

superdeck build --watch

Terminal 2 - Flutter app:

flutter run

Edit slides.md, and the CLI rebuilds automatically. Hot reload Flutter to see changes.

File structure

After setup, your project will have:

your-flutter-project/
├── slides.md                 # Your presentation content
├── .superdeck/
│   ├── superdeck.json        # Generated presentation data
│   ├── assets/               # Generated assets
│   └── generated_assets.json # Asset references
├── pubspec.yaml              # Updated with asset configuration
└── lib/
    └── main.dart             # Your Flutter app

Next steps

Troubleshooting

Asset errors during build

  • Verify pubspec.yaml includes .superdeck/ and .superdeck/assets/
  • Run superdeck setup to fix configuration

SuperDeckApp.initialize() fails

  • Call WidgetsFlutterBinding.ensureInitialized() first
  • Verify slides.md exists and is valid

Changes not appearing

  • Confirm CLI watch mode is running
  • Hot reload Flutter after rebuilds complete