<!-- Generated with Stardoc: http://skydoc.bazel.build -->

<a name="#my_rule"></a>

## my_rule

<pre>
my_rule(<a href="#my_rule-name">name</a>, <a href="#my_rule-first">first</a>, <a href="#my_rule-second">second</a>)
</pre>

This is my rule. It does stuff.

### Attributes

<table class="params-table">
  <colgroup>
    <col class="col-param" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr id="my_rule-name">
      <td><code>name</code></td>
      <td>
        <a href="https://bazel.build/concepts/labels#target-names">Name</a>; required
        <p>
          A unique name for this target.
        </p>
      </td>
    </tr>
    <tr id="my_rule-first">
      <td><code>first</code></td>
      <td>
        <a href="https://bazel.build/concepts/labels">Label</a>; required
        <p>
          first my_rule doc string
        </p>
      </td>
    </tr>
    <tr id="my_rule-second">
      <td><code>second</code></td>
      <td>
        <a href="https://bazel.build/rules/lib/dict">Dictionary: String -> String</a>; required
      </td>
    </tr>
  </tbody>
</table>


<a name="#other_rule"></a>

## other_rule

<pre>
other_rule(<a href="#other_rule-name">name</a>, <a href="#other_rule-fourth">fourth</a>, <a href="#other_rule-third">third</a>)
</pre>

This is another rule.

### Attributes

<table class="params-table">
  <colgroup>
    <col class="col-param" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr id="other_rule-name">
      <td><code>name</code></td>
      <td>
        <a href="https://bazel.build/concepts/labels#target-names">Name</a>; required
        <p>
          A unique name for this target.
        </p>
      </td>
    </tr>
    <tr id="other_rule-fourth">
      <td><code>fourth</code></td>
      <td>
        <a href="https://bazel.build/rules/lib/dict">Dictionary: String -> String</a>; required
      </td>
    </tr>
    <tr id="other_rule-third">
      <td><code>third</code></td>
      <td>
        <a href="https://bazel.build/concepts/labels">Label</a>; required
        <p>
          third other_rule doc string
        </p>
      </td>
    </tr>
  </tbody>
</table>


<a name="#yet_another_rule"></a>

## yet_another_rule

<pre>
yet_another_rule(<a href="#yet_another_rule-name">name</a>, <a href="#yet_another_rule-fifth">fifth</a>)
</pre>

This is yet another rule

### Attributes

<table class="params-table">
  <colgroup>
    <col class="col-param" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr id="yet_another_rule-name">
      <td><code>name</code></td>
      <td>
        <a href="https://bazel.build/concepts/labels#target-names">Name</a>; required
        <p>
          A unique name for this target.
        </p>
      </td>
    </tr>
    <tr id="yet_another_rule-fifth">
      <td><code>fifth</code></td>
      <td>
        <a href="https://bazel.build/concepts/labels">Label</a>; required
      </td>
    </tr>
  </tbody>
</table>


<a name="#top_fun"></a>

## top_fun

<pre>
top_fun(<a href="#top_fun-a">a</a>, <a href="#top_fun-b">b</a>, <a href="#top_fun-c">c</a>)
</pre>



### Parameters

<table class="params-table">
  <colgroup>
    <col class="col-param" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr id="top_fun-a">
      <td><code>a</code></td>
      <td>
        required.
      </td>
    </tr>
    <tr id="top_fun-b">
      <td><code>b</code></td>
      <td>
        required.
      </td>
    </tr>
    <tr id="top_fun-c">
      <td><code>c</code></td>
      <td>
        required.
      </td>
    </tr>
  </tbody>
</table>


