---
description: "Project context for TestApp — always applied"
alwaysApply: true
---

# Project Context — TestApp

## Project identity
- **Name:** TestApp
- **Package:** com.test.testapp
- **Description:** Test app for golden tests
- **Scale:** medium

## Technology stack
- **State management:** BLoC / Cubit
- **Architecture:** Clean Architecture
- **Routing:** GoRouter
- **Backend:** Firebase
- **Auth:** Firebase Auth
- **Platforms:** ios, android
- **Code generation:** freezed

## Feature modules
auth, home, products

## Special capabilities


## Environments / flavors
- Flavors: dev, prod
- CI/CD: GitHub Actions

## Design & API references
- Design source: none
- API docs: none at ``

## Code references
### Git repositories
_No Git repository URLs listed._ Add entries under `references.repos` in project-brief.yaml when other repos are part of the product context.

### Local paths
_No local paths listed._ Add monorepo packages or sibling folders under `references.local_paths` in project-brief.yaml when relevant.

## Product UX / themes & roles
- **Theme variants:** light, dark
- **Roles:** Not enabled (`app_context.roles_enabled: false`).


## Reviews — which rule owns what
- **Theme, colors, typography, spacing/radius tokens** → `ui-ux-standards.mdc` (widgets read `Theme.of(context)` only)
- **User-visible copy & locales** → `localization.mdc` (ARB / `AppLocalizations`; no UI string literals)
- **Imports, structure, naming** → `flutter-core.mdc` + architecture rule

## Architecture boundaries
- presentation/ MUST NOT import from data/
- domain/ MUST NOT import from data/ or presentation/
- data/ CAN import from domain/ (implements interfaces)
- Use dependency injection to invert data → domain dependency

## When generating code for this project
1. Always use BLoC / Cubit patterns — never suggest alternatives
2. Always follow Clean Architecture folder structure
3. Always use GoRouter for navigation — never `Navigator.push` directly
4. Always target platforms: ios, android
5. If code generation tools are used (freezed), follow their conventions
6. Apply visuals only through theme (`ColorScheme`, `TextTheme`, `ThemeExtension`) — never ad-hoc colors/fonts in feature widgets
7. No user-facing string literals in widgets — l10n or shared constants per localization rule
