TITANIUM-STARTER(1p)

πŸ“¦
version 0.44 Β· 2 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble

πŸ’– 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