Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions AI_RULES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# DevTools Repo Guidelines for AI Assistants

Follow these rules when working in this repository.

## Repository Rules

### Dependencies
- **`packages/devtools_shared`**: Never introduce a Flutter dependency or a dependency on web-only Dart libraries.
- **Imports**: Never import `packages/devtools_app/lib/devtools_app.dart` in code under `packages/devtools_app/lib/src/`. It is acceptable in test code.

### Code Style
- **Style Guide**: Follow the DevTools style guide in [STYLE.md](STYLE.md).
- **Formatting & Analysis**: Always ensure code is formatted properly and has no analysis errors or warnings before completing a task.

## Running Tests
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about integration tests? Those require a different command, right?


- **Standard Packages**: Run tests with `flutter test`.
- **`packages/devtools_shared`**: Run tests with `dart test`.

## Tooling Best Practices

- **MCP Tools**: Prefer using MCP server tools over shell commands whenever possible.

## UI Development Guidelines

### Constants and Magic Values
- **Avoid Raw Values**: Avoid using raw strings or numbers in UI code. Use named constants instead.

### Themes and Styles
- **Use Existing Themes**: Use existing theme values and text styles from `packages/devtools_app_shared/lib/src/ui/theme/theme.dart` (e.g., `Theme.of(context).regularTextStyle`).
- **Reuse Patterns**: Reuse common patterns and styles used in other UI code in the repository.

### Code Reuse
- **Use Shared Components & Utils**: Prefer using reusable components from `shared/ui/` (such as `packages/devtools_app/lib/src/shared/ui/common_widgets.dart`), primitives from `shared/primitives/`, and utilities from `shared/utils/` rather than creating things from scratch.

23 changes: 1 addition & 22 deletions GEMINI.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,3 @@
# Repository rules

When making changes to this code base, follow these rules, which are listed
in no particular order:
- `packages/devtools_shared` should never introduce a Flutter dependency or a
dependency on web-only Dart libraries.
- never import the `packages/devtools_app/lib/devtools_app.dart` file in code
that lives under `packages/devtools_app/lib/src/`. This file is okay to import
in code that lives under `packages/devtools_app/test/`.

# Running tests

Unit test and widget tests are all contained under a package's `test/`
directory. These tests should be run with `flutter test` in all packages except
for `packages/devtools_shared`, whose tests should be run with `dart test`.

# Gemini Guidelines

- Prefer to use MCP server tools over shell commands whenever possible.
- When you are done making code changes, ensure the code does not have analysis
errors or warnings. Also ensure it is formatted properly. You should have MCP
server tools available to you to perform these tasks. If not, you can get
analysis errors and warnings by running the `dart analyze` shell command, and
you can perform Dart formatting with the `dart format` shell command.
Refer to the shared [AI Rules](AI_RULES.md) for guidelines when working in this repository.
Loading