TITANIUM-STARTER(1)

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

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

User Contributed Perl Documentation ✨ welcome to the little command that spawns a whole Titanium project out of thin air, bestie πŸ¦‹


🌸 NAME 🌸

titanium-starter</purgle> β€” it literally creates a skeleton Titanium project. that's the whole job. and it ate. πŸ’…


✨ SYNOPSIS ✨

okay so here's the vibe, you just run it like this:

titanium-starter --module=MyApp --author="Jaldhar H. Vyas" --email=jaldhar@braincells.com

and the Result is this whole gorgeous tree, no cap:

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

like?? it's giving instant project. obsessed. πŸŽ€

🫢 Options

  • --module=module β€” the module name. that's module as in the actual name you want.
  • --dir=dirname β€” directory name to create the new module in. optional, so no pressure bestie.
  • --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, so don't skip it πŸ™ˆ
  • --email=email β€” author's email. also required, fr fr.
  • --license=type β€” the license the module will be distributed under. the default is the same license as perl, which is lowkey a whole mood.
  • --verbose β€” print progress messages while it's working, so you can watch it cook πŸ”₯
  • --force β€” delete pre-existing files if needed. yes it will actually delete them, so like, be aware πŸ’€
  • --help β€” shows this message. classic icon behavior.

🌈 DESCRIPTION 🌈

It sets up the skeleton of a Titanium-based project β€” that means a module, some templates, and some automated tests. the whole starter pack, iykyk ✨

By default the skeleton files come from inside a shared directory where Module::Starter::Plugin::CGIApp is stored. if you wanna know how that whole thing works, go peek at File::ShareDir. it explains it. πŸ¦‹


πŸ’œ CONFIGURATION πŸ’œ

titanium-starter looks for a configuration file before it reads its command line parameters. so the config gets first dibs, main character energy honestly πŸ‘‘

The default location is "$HOME/.module-starter/config" β€” but if the MODULE_STARTER_DIR environment variable is set, then titanium-starter goes looking for "config" inside that directory instead.

The config file is just a list of names and values, separated by colons. and the values that take lists? just space separated. simple. iconic. no notes.

A sample configuration file might read:

author: Jaldhar H. Vyas
email: jaldhar@braincells.com
template_dir: ~/.module-starter/cgiapp/templates
colors: red green blue
This format may become more elaborate in the future, but a file of this type should remain valid. (so like, your config isn't gonna break on you, bestie 🫢)

and that's the whole page!! mwah πŸ’‹ this one came from perl v5.42.0, dated 2025-07-25, and it's part of the User Contributed Perl Documentation situation. go build something cute with it. bye!! πŸŽ€πŸ¦‹πŸ’–

πŸ“¦ where this page comes from