module <%= project_class_name %>

class CLI < Command
  class_option :verbose, type: :boolean
  class_option :noop, type: :boolean

  desc "hello NAME", "Say hello to NAME."
  long_desc Help.text(:hello)
  option :from, desc: "from person"
  def hello(name="you")
    puts "from: #{options[:from]}" if options[:from]
    puts "Hello #{name}"
  end

<% if options -%>

desc "sub SUBCOMMAND", "sub subcommands"
long_desc Help.text(:sub)
subcommand "sub", Sub

<% end -%>

  desc "completion *PARAMS", "Prints words for auto-completion."
  long_desc Help.text(:completion)
  def completion(*params)
    Completer.new(CLI, *params).run
  end

  desc "completion_script", "Generates a script that can be eval to setup auto-completion."
  long_desc Help.text(:completion_script)
  def completion_script
    Completer::Script.generate
  end

  desc "version", "prints version"
  def version
    puts VERSION
  end
end

end