push @{app->commands->namespaces}, 'commands';
package commands:testcmd;
use Mojo::Base 'Mojolicious::Command';
...
push @{app->commands->namespaces}, '.';
package testcmd;
use Mojo::Base 'Mojolicious::Command';
...
like "MyApp::Command::whatever". Also, modules that are lowercase is supposed to be used as pragmas: http://perldoc.perl.org/perlpragma.html