NAME

App::FuguWeb::CLI - subcommand dispatch for fuguweb

SYNOPSIS

use App::FuguWeb::CLI;

exit App::FuguWeb::CLI->run(@ARGV);

DESCRIPTION

Fugu::CLI parses the command line and dispatches. This class holds the command table, the global options, and one method for each command. Nothing here repeats a Getopt::Long block.

App::FuguWeb::CLI->run(@argv) returns the exit code. bin/fuguweb passes it straight to exit.

Before a command runs, the class applies the global options and loads the site description with App::FuguWeb::Config. A description that is absent or does not parse gives EXIT_CONFIG_ERROR and one message on standard error.

See fuguweb(1) for the user documentation of the subcommands.

GLOBAL OPTIONS

--project dir

The project root. Without it, the class walks up from the working directory to the first .fuguwebrc.

--quiet

Suppress informational output.

SUBCOMMANDS

build and clean take --out dir, which overrides the out_dir setting. init writes a starter description and is the one command that runs without one.

EXIT CODES

The first five come from Fugu::CLI and mean the same in every Fugu tool. The rest belong to a site build.

0   EXIT_SUCCESS
1   EXIT_ERROR
2   EXIT_INVALID_ARGS
3   EXIT_CONFIG_ERROR
4   EXIT_RENDER_FAILED
5   EXIT_CHECK_FAILED
6   EXIT_TOOL_MISSING

A caller that builds in a container can thus tell a renderer that is not installed from a page that is malformed.

SEE ALSO

fuguweb(1), App::FuguWeb, App::FuguWeb::Config, Fugu::CLI

AUTHOR

Dick Olsson <hi@senzilla.io>