Skip to content
Snippets Groups Projects
user avatar
Devon Carew authored
59518856

Stagehand - A Dart project generator

Stagehand banner

Build Status

Helps you get setup!

Stagehand helps you get your Dart projects set up and ready for the big show. It is a Dart project scaffolding generator, inspired by tools like Web Starter Kit and Yeoman.

Things you can create with Stagehand

  • consoleapp - a minimal command-line script
  • package - a library for pub, complete with tests
  • webapp - a minimal responsive web app, with Sass, routing, and more
  • polymer - a web app with Polymer.dart and paper (material design) elements
  • More to come!

Installation

Requirements:

  • Dart SDK 1.6 or greater on your path

Install:

$> pub global activate stagehand

Usage

As an example, here is how you create a webapp with Stagehand:

With Dart 1.6:

$> cd where_you_want_to_create_the_project_directory
$> pub global run stagehand -o _directory_name_ webapp

With Dart 1.7 or greater:

$> cd where_you_want_to_create_the_project_directory
$> stagehand -o _directory_name_ webapp

Here is how you list all of the project templates:

With Dart 1.6:

$> pub global run stagehand

With Dart 1.7 or greater:

$> stagehand

or

$> stagehand --help

Goals

  • Opinionated and prescriptive; minimal to no options
  • Mobile-first
  • Support server and client apps
  • Becomes the best way to create a new Dart project
  • Used by WebStorm, CDE, Sublime, and more
  • Distributed as a pub package

Non-goals

  • Fostering an entire ecosystem of generators
    • This project is too opinionated. It’s not a framework for generators.

Requirements

  • Open source, hosted on github
  • Run the generators via pub global run
    • or, via an API exposed by the package
  • Single package
  • Generators for:
    • Dart + HTML app
      • this is the most minimal option. for the developer that doesn’t want to be confused by too much going on.
    • Dart + Polymer app
      • this is the most opinionated and complete option. for the developer that says “I just want to paint by numbers”
    • Dart + server-side
    • Dart library (suitable to publish on pub.dartlang.org)
  • Anonymous and opt-in usage analytics
  • Creates
    • the project directory itself
    • all required directories
    • pubspec.yaml file
    • .gitignore file
    • initial files like index.html

Issues and bugs

Please file on Github Issues.

Analytics and crash reports

Learn more about how Stagehand uses Google Analytics for measuring usage and error reporting, and how you can opt-out.

Disclaimer

This is not an official Google product.