16 pod2usage(1) if ( $help || !$ARGV[0] );
18 my $helper = Catalyst::Helper->new( { '.newfiles' => !$nonew } );
19 pod2usage(1) unless $helper->mk_app( $ARGV[0] );
26 catalyst - Bootstrap a Catalyst application
30 catalyst.pl [options] application-name
33 -help display this help and exits
34 -nonew don't create a .new file where a file to be created exists
36 application-name must be a valid Perl module name and can include "::"
45 The C<catalyst.pl> script bootstraps a Catalyst application, creating a
46 directory structure populated with skeleton files.
48 The application name must be a valid Perl module name. The name of the
49 directory created is formed from the application name supplied, with double
50 colons replaced with hyphens (so, for example, the directory for C<My::App> is
53 Using the example application name C<My::App>, the application directory will
54 contain the following items:
60 a skeleton README file, which you are encouraged to expand on
64 a C<Module::Build> build script
68 a changes file with an initial entry for the creation of the application
72 an old-style MakeMaker script. Catalyst uses the C<Module::Build> system so
73 this script actually generates a Makeifle that invokes the Build script.
77 contains the application module (C<My/App.pm>) and
78 subdirectories for model, view, and controller components (C<My/App/M>,
79 C<My/App/V>, and C<My/App/C>).
83 root directory for your web document content. This is left empty.
87 a directory containing helper scripts:
91 =item C<my_app_create.pl>
93 helper script to generate new component modules
95 =item C<my_app_server.pl>
97 runs the generated application within a Catalyst test server, which can be
98 used for testing without resorting to a full-blown web server configuration.
100 =item C<my_app_cgi.pl>
102 runs the generated application as a CGI script
104 =item C<my_app_fastcgi.pl>
106 runs the generated application as a FastCGI script
109 =item C<my_app_test.pl>
111 runs an action of the generated application from the comand line.
122 The application module generated by the C<catalyst.pl> script is functional,
123 although it reacts to all requests by outputting a friendly welcome screen.
128 Neither C<catalyst.pl> nor the generated helper script will overwrite existing
129 files. In fact the scripts will generate new versions of any existing files,
130 adding the extension C<.new> to the filename. The C<.new> file is not created
131 if would be identical to the existing file.
133 This means you can re-run the scripts for example to see if newer versions of
134 Catalyst or its plugins generate different code, or to see how you may have
135 changed the generated code (although you do of course have all your code in a
136 version control system anyway, don't you ...).
142 L<Catalyst::Manual>, L<Catalyst::Manual::Intro>
146 Sebastian Riedel, C<sri@oook.de>,
147 Andrew Ford, C<A.Ford@ford-mason.co.uk>
152 Copyright 2004-2005 Sebastian Riedel. All rights reserved.
154 This library is free software, you can redistribute it and/or modify it under
155 the same terms as Perl itself.