stagehand 1.1.8

  • Installing
  • Versions
  • 6

Stagehand - A Dart project generator

Stagehand banner

pub package Build Status Coverage Status

Helps you get set up!

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.

Stagehand templates

  • console-full - A command-line application sample.
  • package-simple - A starting point for Dart libraries or applications.
  • server-shelf - A web server built using the shelf package.
  • web-angular - A web app with material design components.
  • web-simple - A web app that uses only core Dart libraries.
  • web-stagexl - A starting point for 2D animation and games.



To install:

> pub global activate stagehand

To update, run activate again:

> pub global activate stagehand


Stagehand will generate a project skeleton into the current directory. As an example, here is how you create a package with Stagehand:

> mkdir fancy_project
> cd fancy_project
> stagehand package-simple

And to list all of the project templates:

> stagehand


  • Opinionated and prescriptive; minimal to no options
  • Support for server and client apps
  • The best way to create a new Dart project
  • Used by IntelliJ, WebStorm, Atom, Sublime, and more
  • Distributed as a pub package

Issues and bugs

Please file reports on the GitHub Issue Tracker.


Contributions welcome! Please read this short guide first.

Analytics and crash reports

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


  • Deleted most license/copyright text and made READMEs more consistent.
  • Updated web-angular to angular_components 0.8.0.


  • Updated web-angular template pubspec: using angular_components 0.7.0.
  • Improved the format of Stagehand's own code by enabling several lints.


  • Added a missing copyright to a web-angular template file.
  • Removed the close_sinks lint from all analysis options files.
  • Moved to dart-lang GitHub org.
  • Updated web-angular to angular 4 and angular_components 0.6.0.


  • Updated the sdk dependency so that Stagehand can work with 2.0.0-dev.* releases.


  • Made changes related to dartdevc (which pub supports, as of SDK 1.24):
    • Updated web-angular to use lib/src for everything but the main app.
    • Added commented-out pubspec settings to the web-angular and web-simple templates, demonstrating how to make pub serve use dartdevc.
  • Added favicons to the web-angular and web-simple templates.
  • Added Enter key support to the web-angular template.
  • Improved the CSS for the web-simple template.
  • Updated analysis options for the stagehand package.
  • Changed the name of server-shelf from "Shelf Web Server" to "Web Server".


  • Removed platform_* options from web-angular.


  • Removed web-angular-simple and console-simple templates:
  • Changed web-angulartemplate:
    • The template is now a simple todo-list app.
    • Added component tests.
  • Tweaked the text of some template descriptions.


  • Added angular_test based tests to web-angular-simple.
  • Updated web-angular-* templates:
    • Renamed angular2_components to angular_components.
    • Package version updates in pubspec.yaml:
      • angular to 3.0.0
      • angular_components to 0.5.0
      • Minimal SDK to 1.23
    • Adjusted index.html <base href> initialization script.


  • Added web-stagexl template.
  • Updated analysis_options.yaml for all templates.
    • Strong mode is on by default.
    • A basic set of lint rules is now included.


  • Improve web-angular* routing regex.


  • Standardized the layout of pubspec.yaml for all templates.
    • Use ^ notation for versions.
    • Define the minimum SDK to be 1.20.1.
  • Simplified .gitginore for all templates.
    • No longer need to ignore packages directory. They are not not generated with SDK 1.20.1+.
    • No longer ignoring compiled outputs by extension. These will all be in the build directory, which is already ignored.
    • No longer ignoring JetBrains IDE files. These should be ignored in a users global .gitignore.


  • Tweaked pubspec descriptions for web-angular-* templates.
  • Updated web-angular-simple to have copyrights and various project support files such as LICENSE.
  • Updated web-angular to use global styles.css. Also tweaked hello_dialog.dart, and added project support files like LICENSE.


  • Changed the names of all .analysis_options files to analysis_options.yaml.
  • In an effort to forestall routing issues during development, added code in web-angular*/web/index.html to generate a base href.
  • Renamed web-angular-quickstart to web-angular-simple.


  • Updated web-angular to use angular2_components and to follow best practices.
  • Made generated code use the current calendar year.


  • Added web-angular-quickstart, a copy of the Angular docs' first example.
  • Removed web-polymer.
  • Updated web-angular to ^2.2.0.


  • Added platform_directives & platform_pipes back to the web-angular pubspec.


  • Updated web-angular to ^2.0.0.


  • Moved the dart_to_js_script_rewriter dependency to a dev_dependency.


  • Updated the .analysis_options files for all templates.


  • Renamed Console Application to Simple Console Application.
  • Renamed Uber Simple Web Application to Simple Web Application.
  • Removed the App Engine Application sample.


  • Updated web-angular to 2.0.0-beta.21.


  • Add commented-out .analysis_options file to all templates.
  • Add a component CSS file to web-angular.


  • Updated web-angular to 2.0.0-beta.20.


  • Updated web-angular to 2.0.0-beta.18.
  • Made stagehand strong-mode clean, and cleaned up dependencies.


  • Use git user name for author name.
  • Change shelf listener address.


  • Updated web-angular to 2.0.0-beta.17.


  • Updated web-angular to 2.0.0-beta.16.


  • Updated web-angular to 2.0.0-beta.15.


  • Updated web-angular to 2.0.0-beta.13.1.


  • Updated web-angular to 2.0.0-beta.12. Also changed imports:
    • angular2.dart -> core.dart
    • bootstrap.dart -> platform/browser.dart
  • Updated dart_to_js_script_rewriter dependencies to ^1.0.1.


  • Fixed the web-polymer template, which was broken in 1.0.2.


  • Removed library directives almost everywhere.
  • Updated LICENSE.
  • Updated web-angular to 2.0.0-beta.9.


  • Updated web-angular to 2.0.0-beta.6. Also added a description and dart_to_js_script_rewriter to the pubspec.
  • Made generator initialization code more consistent.


  • This project is stable (as of 0.2), so we're belatedly declaring it 1.0.
  • Updated web-angular to 2.0.0-beta.3.
  • Updated web-simple to use <script defer...> instead of <script async...>.


  • Updated the Polymer and Angular templates to the latest packages.


  • Added a reference to the webcomponents-lite.js in the Polymer template.


  • Updated web-angular to 2.0.0-beta.0.


  • Fixed web-polymer app bindings.


  • Fixed the generated test file for console-full.


  • Added web-angular template for an Angular2 (alpha) app.


  • Migrated server-appengine to use shelf.
  • Updated the template .gitignore files.
  • Updated reflectable entry point format for the polymer template.


  • Fixed an issue with the Polymer template.


  • Updated the Polymer sample to the latest version (1.0.0-rc.1).
  • Removed the web-full example (it had not been maintained).


  • Moved the script tags for the web templates into the head section.


  • Added a console-simple template.
  • Updated the web-simple and web-full templates.


  • All templates updated to use the latest test package.


  • Updated the template descriptions.
  • The web-full sample now reverses the text on page load.


  • All templates updated to the latest package versions!
  • Template ids have now changed to help organize them into categories. So, all the web related templates start with web-: web-simple, web-full, and web-polymer.


  • Updated the dependency on usage.


  • Updated the dependency on usage.


  • Changed to using the usage library for Google Analytics.


  • Update README to mention ubersimplewebapp.


  • Added a new ubersimplewebapp template.


  • Added a new appengineapp template (thanks @wibling!).
  • Updates to the webapp, shelfapp, and polymerapp samples.


  • Added a label attribute to the templates and to the --machine output.
  • Renamed the shelfapp template to shelfserver.
  • Added a --version command-line option.
  • Clarified and simplified some template descriptions.
  • Made useage of Sass in the webapp template optional; added instructions in the template about how to enable it.
  • Added instructions after project generation to tell the user how best to run the project.
  • Stagehand is now integrated into the Editor, the Eclipe plugins, Chrome Dev Editor, and the Sublime plugin.


  • Removed the -o option; we now generate the selected template into the current directory.
  • Added pre-generated css to the webapp template.
  • Some changes to better support stagehand being driven by existing tooling (IDEs).
  • The polymer template was renamed to polymerapp.


  • Changed to allow stagehand to generate a project into an existing directory.


  • Removed Web Starter Kit, waiting for at least WSK 0.6.0.
  • Renamed helloworld to consoleapp.
  • Added polymer template.
  • Added shelfapp template.
  • Added default BSD license to projects.
  • Analytics are opt-in. Version update ping is still automatic.



  • Fix bug in publib generator.


  • Add first version of a publib generator.

Use this package as an executable

1. Install it

You can install the package from the command line:

$ pub global activate stagehand

2. Use it

The package has the following executables:

$ stagehand

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:

  stagehand: ^1.1.8

2. Install it

You can install packages from the command line:

with pub:

$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:stagehand/stagehand.dart';
Version Uploaded Documentation Archive
3.1.4 Nov 19, 2018 Go to the documentation of stagehand 3.1.4 Download stagehand 3.1.4 archive
3.1.3 Sep 4, 2018 Go to the documentation of stagehand 3.1.3 Download stagehand 3.1.3 archive
3.1.2 Aug 7, 2018 Go to the documentation of stagehand 3.1.2 Download stagehand 3.1.2 archive
3.1.1 Jul 23, 2018 Go to the documentation of stagehand 3.1.1 Download stagehand 3.1.1 archive
3.1.0 Jul 16, 2018 Go to the documentation of stagehand 3.1.0 Download stagehand 3.1.0 archive
3.0.2 Jul 12, 2018 Go to the documentation of stagehand 3.0.2 Download stagehand 3.0.2 archive
3.0.1 Jul 3, 2018 Go to the documentation of stagehand 3.0.1 Download stagehand 3.0.1 archive
3.0.0 Jun 4, 2018 Go to the documentation of stagehand 3.0.0 Download stagehand 3.0.0 archive
2.0.2 May 19, 2018 Go to the documentation of stagehand 2.0.2 Download stagehand 2.0.2 archive
2.0.1 May 17, 2018 Go to the documentation of stagehand 2.0.1 Download stagehand 2.0.1 archive

All 80 versions...

Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
Learn more about scoring.

The package version is not analyzed, because it does not support Dart 2. Until this is resolved, the package will receive a health and maintenance score of 0.

Analysis issues and suggestions

Support Dart 2 in pubspec.yaml.

The SDK constraint in pubspec.yaml doesn't allow the Dart 2.0.0 release. For information about upgrading it to be Dart 2 compatible, please see

Maintenance issues and suggestions

Running dartdoc failed. (-10 points)

Make sure dartdoc runs without any issues.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.13.0 <2.0.0