This directory contains the documentation generator for
<https://docs.flutter.io/>. Those docs are updated only for the beta
branch, see <../bots/docs.sh>. You can find docs for the master branch
staged at <https://master-docs-flutter-io.firebaseapp.com/>.
