Laravel.io
<?php

namespace Acme;

use Illuminate\Filesystem\Filesystem;
use Illuminate\Console\GeneratorCommand;
use Symfony\Component\Console\Input\InputOption;

class WidgetMakeCommand extends GeneratorCommand
{

    /**
     * WidgetMakeCommand constructor.
     *
     * @param Filesystem $filesystem
     */
    public function __construct(Filesystem $filesystem)
    {
        parent::__construct($filesystem);
    }

    /**
     * The console command name.
     *
     * @var string
     */
    protected $name = 'make:widget';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Create a new widget class';

    /**
     * Type of class being generated.
     *
     * @var string
     */
    protected $type = 'Model';

    /**
     * Execute the console command
     */
    public function fire()
    {
    }

    /**
     * Get the stub file for the generator.
     *
     * @return string
     */
    protected function getStub()
    {
        // TODO: Implement getStub() method.
    }

    /**
     * Get the console command options.
     *
     * @return array
     */
    protected function getOptions()
    {
        return [
            ['title', 't', InputOption::VALUE_REQUIRED, 'The title of the widget'],
            ['description', 'd', InputOption::VALUE_REQUIRED, 'The description of the widget']
        ];
    }
}

Please note that all pasted data is publicly available.