+You can also set special flags like -Setup, -Debug and -Init.
+
+ use Maypole::Application qw(-Debug Config::YAML -Setup);
+
+The position of plugins in the chain is important, because they are
+loaded/executed in the same order they appear.
+
+=head1 FRONTEND
+
+Under mod_perl (1 or 2), selects L<Apache::MVC>.
+
+Otherwise, selects L<CGI::Maypole>.
+
+If C<MasonX> is specified, sets L<MasonX::Maypole> as the frontend. This
+currently also requires a mod_perl environment.
+
+=head1 FLAGS
+
+=over
+
+=item -Setup
+
+ use Maypole::Application qw(-Setup);
+
+is equivalent to
+
+ use Maypole::Application;
+ MyApp->setup;
+
+Note that no options are passed to C<setup()>. You must ensure that the
+required model config parameters are set in C<MyApp-E<gt>config>. See
+L<Maypole::Config> for more information.
+
+=item -Init
+
+ use Maypole::Application qw(-Setup -Init);
+
+is equivalent to
+
+ use Maypole::Application;
+ MyApp->setup;
+ MyApp->init;
+
+Note that the C<-Setup> flag is required for the C<-Init> flag to work.
+
+In persistent environments (e.g. C<mod_perl>), it is useful to call C<init>
+once in the parent server, rather than at the beginning of the first request
+to each child server, in order to share the view code loaded during C<init>.
+Note that you must supply all the config data to your app before calling
+C<setup> and C<init>, probably by using one of the C<Maypole::Plugin::Config::*>
+plugins.
+
+=item -Debug
+
+ use Maypole::Application qw(-Debug);
+
+is equivalent to
+
+ use Maypole::Application;
+ sub debug { 1 }
+
+You can specify a higher debug level by saying C<-Debug2> etc.
+
+=back
+