Installation#
There are two supported starting points: scaffold a project with Oracular or add Arcane Jaspr to an existing Jaspr app.
Option 1: Scaffold with Oracular#
dart pub global activate oracular
oracular create app --template arcane_jaspr_app --name my_app
oracular create app --template arcane_jaspr_docs --name my_docs
The repo-owned templates already target the Flutter-first Arcane Jaspr surface.
Option 2: Add Arcane Jaspr to an Existing Jaspr App#
Prerequisites#
- Dart SDK
>=3.10.0 - Jaspr CLI
dart pub global activate jaspr_cli
Add the Package#
dependencies:
arcane_jaspr: ^3.1.0
arcane_jaspr_neon: ^3.1.0
arcane_jaspr_neubrutalism: ^3.1.0
arcane_jaspr_shadcn: ^3.1.0
dart pub get
Use the Primary Import#
import 'package:arcane_jaspr/arcane_jaspr.dart';
import 'package:arcane_jaspr_neon/arcane_jaspr_neon.dart';
import 'package:arcane_jaspr_neubrutalism/arcane_jaspr_neubrutalism.dart';
import 'package:arcane_jaspr_shadcn/arcane_jaspr_shadcn.dart';
Only add these if you intentionally need them:
import 'package:arcane_jaspr/html.dart';
import 'package:arcane_jaspr/web.dart';
Wrap the App Root#
import 'package:arcane_jaspr/arcane_jaspr.dart';
import 'package:arcane_jaspr_neon/arcane_jaspr_neon.dart';
import 'package:arcane_jaspr_neubrutalism/arcane_jaspr_neubrutalism.dart';
import 'package:arcane_jaspr_shadcn/arcane_jaspr_shadcn.dart';
const ArcaneStylesheet shadcnStylesheet = ShadcnStylesheet(
theme: ShadcnTheme.midnight,
);
const ArcaneStylesheet neonStylesheet = NeonStylesheet(
theme: NeonTheme.green,
);
const ArcaneStylesheet neubrutalismStylesheet = NeubrutalismStylesheet(
theme: NeubrutalismTheme.yellow,
);
const ArcaneStylesheet selectedStylesheet = shadcnStylesheet;
class App extends StatelessWidget {
const App({super.key});
@override
Widget build(BuildContext context) {
return ArcaneApp(
stylesheet: selectedStylesheet,
brightness: Brightness.dark,
home: const Text('Ready'),
);
}
}
Run the App#
jaspr serve
Build Static Output#
jaspr build