<!--
Copyright 2025 The Flutter Authors
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.
-->
## 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).
