CAS-STARTER(1)

πŸ“¦ version 0.015, in fedora 43, fedora 44

πŸ’– CAS-STARTER(1) πŸ’–

okay bestie, so this is the manual page for cas-starter.pl, hanging out in the User Contributed Perl Documentation corner of the man pages. buckle up, it's giving scaffolding, it's giving CPAN, it's giving we're about to make you a whole app. πŸ¦‹


✨ NAME ✨

cas-starter.pl β€” creates a skeleton CGI::Application::Structured project. literally its whole job. slay.


🌸 ABSTRACT 🌸

Creates CGI::Application::Structured based applications. that's it, that's the abstract, she's concise πŸ’…


πŸŽ€ VERSION πŸŽ€

Version 0.003. yes, small number, big energy. πŸ‘‘


🌈 SYNOPSIS 🌈

run it like this, bestie:

~/tmp$ cas-starter.pl --module=MyApp1 \
                                            --author=gordon \
                                            --email="vanamburg@cpan.org" \
                                            --verbose
Created MyApp1
Created MyApp1/lib
Created MyApp1/lib/MyApp1.pm                      # YOUR *CONTROLLER BASE CLASS* !
Created MyApp1/t
Created MyApp1/t/pod-coverage.t
Created MyApp1/t/pod.t
Created MyApp1/t/01-load.t
Created MyApp1/t/test-app.t
Created MyApp1/t/perl-critic.t
Created MyApp1/t/boilerplate.t
Created MyApp1/t/00-signature.t
Created MyApp1/t/www
Created MyApp1/t/www/PUT.STATIC.CONTENT.HERE
Created MyApp1/templates/MyApp1/C/Home
Created MyApp1/templates/MyApp1/C/Home/index.tmpl # DEFAULT HOME PAGE TEMPLATE
Created MyApp1/Makefile.PL
Created MyApp1/Changes
Created MyApp1/README
Created MyApp1/MANIFEST.SKIP
Created MyApp1/t/perlcriticrc
Created MyApp1/lib/MyApp1/C                       # YOUR CONTROLLERS GO HERE
Created MyApp1/lib/MyApp1/C/Home.pm               # YOUR *DEFAULT CONTROLLER SUBCLASS*
Created MyApp1/lib/MyApp1/Dispatch.pm             # YOUR CUSTOM DISPATCHER
Created MyApp1/config
Created MyApp1/config/config-dev.pl               # YOU CONFIG -- MUST BE EDITED BY YOU!
Created MyApp1/script
Created MyApp1/script/create_dbic_schema.pl       # IMPORTANT HELPER SCRIPT
Created MyApp1/script/create_controller.pl        # ANOTHER IMPORTANT HELPER SCRIPT.
Created MyApp1/server.pl                          # SERVER USES YOUR CUSTOM DISPATCH.PM
Created MyApp1/MANIFEST
Created starter directories and files

look at all those files. iconic. the comments in there are the original's own little notes and they are so real β€” especially the config one. yes, you have to edit it. it literally says MUST BE EDITED BY YOU! 😭

Options:

--module=module  Module name
--dir=dirname    Directory name to create new module in (optional)

--builder=module Build with 'ExtUtils::MakeMaker' or 'Module::Build'
--eumm           Same as --builder=ExtUtils::MakeMaker
--mb             Same as --builder=Module::Build
--mi             Same as --builder=Module::Install

--author=name    Author's name (required)
--email=email    Author's email (required)
--license=type   License under which the module will be distributed
                 (default is the same license as perl)

--verbose        Print progress messages while working
--force          Delete pre-existing files if needed

--help           Show this message

🫢 DESCRIPTION 🫢

okay so what this does: it sets up a working skeleton for a CGI::Application::Structured-based project, all packaged up as a CPAN module. it's like ikea but for perl apps and nothing hurts your hands. 🧚

The script also generates:

  • a base controller class
  • an organized directory structure to contain your modules
  • a default Home module (subclass of base controller)
  • a default runmode for Home ('index') with a corresponding template
  • a default configuration for Template Toolkit
  • basic automated tests
  • a helper script to generate controller subclasses and TT templates
  • a helper script to generate DBIx::Class schema and resultset classes for your database.

ngl that's a lot of free stuff. ate. πŸ”₯

By default the skeleton files can be found in the "templates" directory where CGI::Application::Structured::Tools::Starter is stored. iykyk, that's where the magic lives ✨

Multiple --builder options may be supplied to produce the files for multiple builders. stack 'em, bestie, no cap.

See CGI::Application::Structured for a brief tutorial on using the helper scripts. go read it, it's the lore. πŸ“–


πŸ’€ POD ERRORS πŸ’€

Hey! The above document had some coding errors, which are explained below:

Around line 131:

Unknown directive: =head

not the =head directive caught in 4k 😭 the docs are a little messy, we still love her though πŸ’œ


heads up: this page is from perl v5.42.0, dated 2025-07-25, and it's the CAS-STARTER(1) manual page. that's the whole vibe check, bye bestie, go scaffold something cute πŸŽ€πŸ’–
πŸ“¦ where this page comes from