---
name: "titanium-starter"
section: "1p"
platform: "linux"
package: "libmodule-starter-plugin-cgiapp-perl"
version: "0.44-1.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/titanium-starter"
---

# titanium-starter(1p)

creates a skeleton Titanium project

## NAME

titanium-starter - creates a skeleton Titanium project

## SYNOPSIS

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

Result:

```
    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
```

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

Set up the skeleton of a Titanium-based project, including a module, some templates and some automated tests.

By default the skeleton files will come within a shared directory where Module::Starter::Plugin::CGIApp is stored. See File::ShareDir for more information on how this works.

## CONFIGURATION

titanium-starter will look for a configuration file before reading its command line parameters.  The default location is `"$HOME/.module-starter/config"` but if the MODULE\_STARTER\_DIR environment variable is set, titanium-starter will look for `"config"` in that directory.

The configuration file is just a list of names and values, separated by colons. Values that take lists are just space separated.  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.
