Skip to main content
AFull-stack terminal tools for Dart

Build for the terminal.Enjoy the process.

Artisanal gives you the pieces for a thoughtful command-line experience—from one polished prompt to a complete interactive application.

One toolkit. From friendly scripts to full-screen apps.

release.dartready
final console = Console();

await console.task(
  'Preparing release',
  run: build,
);
dart run release.dart
Preparing release1.8s
ARTISANALReady to ship.12 checks passed · 0 warnings
01 / OUTPUTSmall details make useful tools feel good.

Choose your altitude

Start where your idea starts.

You do not need a framework for every script. Pick the layer you need today; the rest is there when the project grows.

01For scripts and CLIs

Make output worth reading.

Prompts, progress, tables, errors, and status messages that feel considered—not cobbled together from escape codes.

Explore console tools
02For interactive apps

Give the terminal a heartbeat.

Build responsive interfaces with a small Model, update, and view loop that keeps state and side effects understandable.

Build your first TUI
03For richer interfaces

Compose, instead of coordinate.

Reach for screens, forms, lists, editors, and navigation from a widget system that feels familiar to Dart developers.

Browse the widgets

The deeper toolbelt

Go closer to the metal when you need to.

Not sure where to begin?

Take the ten-minute tour.

Begin with a normal Dart program. Add only what makes it clearer, friendlier, and easier to use.

Read the introduction