Runfile lets you create command line tools in a way similar to Rake, but with the full power of Docopt command line options.
You create a runfile
, and execute commands with
run command arguments -and --flags
.
Runfile is designed primarily for Ruby developers, but if you need to add a command line "toolbelt" for your projects, you can use it regardless.
$ gem install runfile --pre
$ run new # create a new runfile
$ run --help # show the usage patterns
$ vi runfile # edit the runfile
A simple runfile
looks like this. You can get this template by running
run new
(in a directory without other runfiles).
title 'Greeter'
summary 'A sample runfile'
usage 'hello [NAME --shout]'
help 'Say hello'
option '--shout, -s', 'Greet louder'
action 'hello' do |args|
name = args['NAME'] || 'You...'
message = "Hello #{name}"
message = "#{message.upcase}!" if args['--shout']
say "gu`#{message}`"
end
You can then run it by executing this command:
$ run hello Luke
Hello Luke
It will behave in the same way you expect any standard command line interface to behave,
# Show usage summary
$ run
Usage:
run hello [NAME --shout]
run (--help | -h)
# Show detailed help
$ run --help
Greeter
A sample runfile
Usage:
run hello [NAME --shout]
run (--help | -h)
Commands:
hello
Say hello
Options:
--shout, -s
Greet louder
--help, -h
Show this message
You can learn almost everything there is to know about runfile from the examples.
You can get any of these examples directly in your terminal by running:
$ run example --help
For a more formal documentation, see the User Guide.
If you experience any issue, have a question or a suggestion, or if you wish to contribute, feel free to open an issue.