| Stardoc is a documentation generator for [Bazel](https://bazel.build) build rules |
| written in [Starlark](https://bazel.build/rules/language). |
| |
| Stardoc provides a Starlark rule (`stardoc`) |
| that can be used to build Markdown documentation for Starlark rules, providers, |
| and functions. |
| Starlark generates one documentation page per `stardoc` target. |
| |
| If you are new to writing build rules for Bazel, please read the Bazel |
| documentation on [writing |
| extensions](https://bazel.build/extending/concepts) |
| |
| ## Setup |
| |
| Add a `bazel_dep` invocation for Stardoc to your `MODULE.bazel` file, as shown |
| in the `MODULE.bazel` setup section for |
| [the current Stardoc release](https://github.com/bazelbuild/stardoc/releases). |
| |
| Then add |
| |
| ```starlark |
| load("@stardoc//stardoc:stardoc.bzl", "stardoc") |
| ``` |
| |
| to your `BUILD` or .bzl file to start using the `stardoc` rule. |
| |
| ## Legacy WORKSPACE setup |
| |
| Edit your `WORKSPACE` file as shown in the `WORKSPACE` setup section for |
| [the current Stardoc release](https://github.com/bazelbuild/stardoc/releases). |
| |
| Then add |
| |
| ```starlark |
| load("@io_bazel_stardoc//stardoc:stardoc.bzl", "stardoc") |
| ``` |
| |
| to your `BUILD` or .bzl file to start using the `stardoc` rule. |
| |
| Note that if you are using `WORKSPACE` for dependency management, Stardoc's |
| repo name is `@io_bazel_stardoc`, not `@stardoc`. |
| |
| ## Next Steps |
| |
| Now you are ready to document your Starlark rules. |
| |
| * Learn about the [docstring format](writing_stardoc.md) used to document Starlark rules. |
| * Learn about how you can use Stardoc's [build rules](generating_stardoc.md) to generate your |
| documentation in Markdown format. |
| |
| |