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
Create your project
flutter create my_presentation
cd my_presentation
superdeck setup
This configures your Flutter app with:
.superdeck/asset folders andpubspec.yamlentries- 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

---
Build your presentation
# Build once
dart run superdeck_cli:main build
# Watch for changes (recommended)
dart run superdeck_cli:main build --watch
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
- Block Layouts Tutorial - Learn SuperDeck's layout system
- First Presentation Tutorial - Create a complete presentation
- CLI Reference - All CLI commands and options
Troubleshooting
Asset errors during build
- Verify
pubspec.yamlincludes.superdeck/ - Run
superdeck setupto add the required pubspec entries and macOS entitlements
SuperDeckApp.initialize() fails
- Call
WidgetsFlutterBinding.ensureInitialized()first - Verify
slides.mdexists and is valid
Changes not appearing
- Confirm CLI watch mode is running
- Hot reload Flutter after rebuilds complete