TITANIUM-STARTER(1p)
π TITANIUM-STARTER π
okay so bestie, let me introduce you to titanium-starter β she's the girl who creates a skeleton Titanium project for you, no cap. this is a User Contributed Perl Documentation page, so yes it's giving very perl-core, but she EATS. π¦
β¨ SYNOPSIS β¨
run her like this and watch the magic happen:
titanium-starter --module=MyApp --author="Jaldhar H. Vyas" --email=jaldhar@braincells.com
and the Result? a whole entire project just... appears. like:
MyApp
MyApp/Changes
MyApp/lib
MyApp/lib/MyApp.pm
MyApp/LICENSE
MyApp/Makefile.PL
MyApp/MANIFEST.SKIP
MyApp/MANIFEST
MyApp/README
MyApp/server.pl
MyApp/share/templates
MyApp/share/templates/runmode1.html
MyApp/t
MyApp/t/00-signature.t
MyApp/t/01-load.t
MyApp/t/boilerplate.t
MyApp/t/test-app.t
MyApp/t/www
MyApp/t/www/PUT.STATIC.CONTENT.HERE
MyApp/xt
MyApp/xt/perlcriticrc
MyApp/xt/perl-critic.t
MyApp/xt/pod-coverage.t
MyApp/xt/pod.t
literally the whole glow-up, served fresh. π
πΈ Options πΈ
--module=moduleβ the module name, duh. your main character's name.--dir=dirnameβ the directory name to create the new module in. it's optional, so no pressure bestie.--builder=moduleβ build with'ExtUtils::MakeMaker'or'Module::Build'.--eummβ same as--builder=ExtUtils::MakeMaker, just shorter, we love efficiency.--mbβ same as--builder=Module::Build.--miβ same as--builder=Module::Install.--author=nameβ the author's name. this one is required, so don't ghost her. π--email=emailβ the author's email. also required. fr fr, both of them.--license=typeβ the license the module will be distributed under. the default is the same license as perl, cute and safe. π--verboseβ prints progress messages while she's working, so you can watch her do her thing.--forceβ deletes pre-existing files if needed. yes bestie, this one is destructive, it will straight up remove files, so vibe check before you commit. π--helpβ shows this message. the classic.
π«Ά DESCRIPTION π«Ά
she sets up the skeleton of a Titanium-based project β and not just the bare minimum, okay? that means a module, some templates, and some automated tests. the full package. iconic behavior. β¨
by default, the skeleton files come from within a shared directory where Module::Starter::Plugin::CGIApp is stored. if you wanna know how that whole arrangement works, go peek at File::ShareDir β she explains it. π
π CONFIGURATION π
okay so here's the tea: titanium-starter will look for a configuration file before reading her command line parameters. yes, config comes first, she's organized like that. π
the default location is "$HOME/.module-starter/config". BUT β and this is the plot twist β if the MODULE_STARTER_DIR environment variable is set, then she'll go looking for "config" inside that directory instead.
the configuration file itself is just a list of names and values, separated by colons. any values that take lists are just space separated. no fancy syntax, we keep it simple.
a sample configuration file might read:
author: Jaldhar H. Vyas
email: jaldhar@braincells.com
template_dir: ~/.module-starter/cgiapp/templates
colors: red green blue
and yeah, this format may become more elaborate in the future β she's growing, she's evolving, she's in her era β but a file of this type should remain valid. so you're safe. π
ngl, that's the whole page. no missing parts, every flag accounted for. slay.
perl v5.32.1 Β· 2022-01-30 β that's the source/version and date, bestie, so if you ever need to cite her, you know exactly when this vibe dropped. periodt. π π
π¦ where this page comes from
- debian bookworm: libmodule-starter-plugin-cgiapp-perl 0.44-1.1 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- debian trixie: libmodule-starter-plugin-cgiapp-perl 0.44-1.1 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- ubuntu jammy: libmodule-starter-plugin-cgiapp-perl 0.44-1.1 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- ubuntu noble: libmodule-starter-plugin-cgiapp-perl 0.44-1.1 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms