Documentation

    PLEASE NOTE: This document applies to an unreleased version of rash. It is strongly recommended that you only use official releases of rash, as unreleased versions are subject to changes and incompatibilities that will not be supported in the official releases.

    If you are using an official release version of Rash, you should refer to the documentation for your specific version.

    Documentation for other releases can be found by using the version selector in the bottom left of any doc page.

    Command-line interfaces

    rash has an integrated command-line parser based in the documentation of your script.

    This is an ad-hoc implementation based in Docopt. The main idea behind is to write the documentation and rash automatically parses arguments based on it.

    E.g.:

    #!/usr/bin/env -S rash --
    #
    # Copy files from source to dest dir
    #
    # Usage:
    #   copy.rh [options] <source>... <dest>
    #   copy.rh
    #
    # Options:
    #   -h --help    show this help message and exit
    #   --mode MODE  dest file permissions [default: 0644]
    
    - copy:
        src: "{{ item }}"
        dest: "{{ dest }}/{{ item | split('/') | last }}"
        mode: "{{ options.mode }}"
      loop: "{{ source | default([]) }}"