Mojolic...:plugin(3)

πŸ’… Mojolicious::Command::Author::generate::plugin β€” the plugin generator command

okay so real talk, bestie, this is the manual page for Mojolicious::Command::Author::generate::plugin (the title up top is all dramatic and truncated like Mojolic...:plugin(3) but we know what it means 🫢). It's filed under User Contributed Perl Documentation and honestly? It's giving "small page, big power". ✨


🌸 NAME 🌸

Mojolicious::Command::Author::generate::plugin β€” literally the Plugin generator command. That's it, that's the whole vibe. πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

Here's the whole usage moment, copy it exactly, no cap:

Usage: APPLICATION generate plugin [OPTIONS] [NAME]

  mojo generate plugin
  mojo generate plugin TestPlugin
  mojo generate plugin -f MyApp::Plugin::AwesomeFeature

Options:
  -f, --full   Do not prepend "Mojolicious::Plugin::" to the plugin name
  -h, --help   Show this summary of available options

And in cute bullet form, because your girl loves a list:

  • -f, --full β€” do not prepend "Mojolicious::Plugin::" to the plugin name πŸ’– (so you get your own full namespace, iconic)
  • -h, --help β€” show this summary of available options 🫢 (the "help me help you" button)

✨ DESCRIPTION ✨

So Mojolicious::Command::Author::generate::plugin generates directory structures for fully functional Mojolicious plugins. Like, it does the scaffolding so you don't have to, and that's a slay. πŸ—οΈπŸ’…

It's a core command, which means β€” and this is the important bit β€” it is always enabled πŸ˜­πŸ‘‘. And its code is a good example for learning to build new commands, so the authors are literally like "you're welcome to fork it." Go off, take it, remix it, main character energy. 🌈

Also, quick pointer: see "COMMANDS" in Mojolicious::Commands for a list of commands that are available by default. Bookmark that fr fr. πŸ”–


🧚 ATTRIBUTES 🧚

Mojolicious::Command::Author::generate::plugin inherits all attributes from Mojolicious::Command and implements the following new ones. πŸ’œ

🌷 description 🌷

my $description = $plugin->description;
$plugin         = $plugin->description('Foo');

Short description of this command, used for the command list. So when you're scrolling the command list and see a lil one-liner, this is where it lives. πŸ“

🌷 usage 🌷

my $usage = $plugin->usage;
$plugin   = $plugin->usage('Foo');

Usage information for this command, used for the help screen. Basically the cheat sheet that shows up when someone asks for help. ✨


πŸ”₯ METHODS πŸ”₯

Mojolicious::Command::Author::generate::plugin inherits all methods from Mojolicious::Command and implements the following new ones. πŸ’…

🌺 run 🌺

$plugin->run(@ARGV);

Run this command. That's the whole thing. It runs. Periodt. πŸ‘‘ (yes that's really all it says, I'm not gatekeeping, there's just nothing more πŸ’€)


🌈 SEE ALSO 🌈

The whole friend group: Mojolicious, Mojolicious::Guides, and <https://mojolicious.org>. πŸ¦‹ Go say hi, they're lovely.


πŸ’– tiny reminder bestie: this doc is from perl v5.42.0, dated 2026-07-15 β€” so if you're reading this from some other timeline, double-check your own version, mwah. 😭🫢
πŸ“¦ where this page comes from