## What is this?

This is a companion repo to the main Flutter repo. It contains the source code
for a suite of performance tools for Dart and Flutter. All of the core logic for
the devtools app is in package:devtools_app.

## Getting started

For documentation on installing and trying out DevTools, please
visit the [DevTools docs](https://docs.flutter.dev/tools/devtools/).

## Feedback

Feedback and issues are best reported at
https://github.com/flutter/devtools/issues. Thanks for trying out DevTools!

## Terms and Privacy

By using Dart DevTools, you agree to the
[Google Terms of Service](https://policies.google.com/terms).
