    # File lib/ramaze/tool/bin.rb, line 180
            def usage # {{{
              txt = [
                "\n  Usage:",
                "ramaze <start [PIDFILE]|stop [PIDFILE]|restart [PIDFILE]|status [PIDFILE]|create PROJECT|console> [ruby/rack options]\n",
                "Commands:\n",
                "  * All commands which take an optional PIDFILE (defaults to PROJECT.pid otherwise).",
                "  * All commands which start a ramaze instance will default to webrick on port 7000",
                "    unless you supply the rack options -p/--port PORT and/or * -s/--server SERVER.\n",
                " start   - Starts an instance of this application.\n",
                " stop    - Stops a running instance of this application.\n",
                " restart - Stops running instance of this application, then starts it back up.  Pidfile",
                "           (if supplied) is used for both stop and start.\n",
                " status  - Gives status of a running ramaze instance\n",
                " create  - Creates a new prototype Ramaze application in a directory named PROJECT in",
                "           the current directory.  ramaze create foo would make ./foo containing an",
                "           application prototype. Rack options are ignored here.\n",
                " console - Starts an irb console with app.rb (and irb completion) loaded. This command",
                "           ignores rack options, ARGV is passed on to IRB.\n\n\t"
              ].join("\n\t")

              if is_windows?
                txt << %x{ruby #{rackup_path} --help}.split("\n").reject { |line| line.match(/^Usage:/) }.join("\n\t")
              else
                txt << %x{#{rackup_path} --help}.split("\n").reject { |line| line.match(/^Usage:/) }.join("\n\t")
              end

              txt.gsub(/^\t$/, '')
            end