Getting started

Configure a Flutter app for SuperDeck and build your first presentation

Getting started

Configure a Flutter app for SuperDeck and build your first presentation.

Prerequisites

  • Flutter SDK version 3.38.1 or higher
  • Use the Dart SDK bundled with your Flutter installation

Installation

Install SuperDeck CLI

dart pub global activate superdeck_cli

Create your project

flutter create my_presentation
cd my_presentation
superdeck setup

This configures your Flutter app with:

  • .superdeck/ asset folders and pubspec.yaml entries
  • Required macOS entitlements when the macOS platform is present

Install dependencies

flutter pub add superdeck
flutter pub add --dev superdeck_cli

SuperDeck keeps the SDK constraint emitted by your installed flutter create toolchain.

Initialize SuperDeck

Update lib/main.dart:

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

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await SuperDeckApp.initialize();

  runApp(const SuperDeckApp(options: DeckOptions()));
}

Your first presentation

Create slides.md in the project root:

---
title: My First Presentation
---

@block

# Welcome to SuperDeck!

This is your first slide.

---
---

@block

## What is SuperDeck?

Create beautiful presentations using:

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

---
---

## Two-Column Layout

@section

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

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

---

Build your presentation

# Build once
dart run superdeck_cli:main build

# Watch for changes (recommended)
dart run superdeck_cli:main build --watch

Run your app

flutter run

Development workflow

Use two terminals:

Terminal 1 - Watch mode:

dart run superdeck_cli:main build --watch

Terminal 2 - Flutter app:

flutter run

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

File structure

The CLI generates a .superdeck/ directory containing compiled presentation data and assets. See the CLI Reference for a full breakdown of the generated file structure.

Next steps

Troubleshooting

Asset errors during build

  • Verify pubspec.yaml includes .superdeck/
  • Run superdeck setup to add the required pubspec entries and macOS entitlements

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