Files
trackgo-fe/.cursor/rules/frontend-overview.mdc
T
shancheas 67e1e0a74f feat: integrate Playwright for E2E testing and enhance testing framework
- Added Playwright for end-to-end testing in the `apps/web` module, including a new `login.spec.ts` for testing login functionality.
- Updated package.json to include Playwright dependencies and new test commands for E2E testing.
- Enhanced .gitignore to exclude Playwright test results and reports.
- Modified existing documentation to reflect the integration of Playwright and updated testing guidelines.
- Refactored test commands to streamline the testing process, including a dedicated command for E2E tests.

These changes improve the testing framework by providing robust E2E testing capabilities, enhancing the reliability and quality of the application.
2026-08-31 11:52:27 +07:00

47 lines
2.2 KiB
Plaintext

---
description: trackgo-fe monorepo map — apps, packages, where to develop
alwaysApply: true
---
# trackgo-fe Overview
pnpm + Turborepo monorepo. Work from the repository root. Package manager: `pnpm@8.15.6`.
## Where to work
| Role | Path | Notes |
|---|---|---|
| **Product development** | `apps/web/` | Primary app — features, auth, modules |
| **Component / API reference** | `apps/showcase/` | Living demos of `@repo/*` usage — copy patterns, do not ship product here |
| Deep docs | `apps/docs-dev/` | VitePress (`pnpm dev:docs-dev`) |
| Shared UI / forms / foundations | `packages/ui` → `@repo/ui/*` | |
| HTTP, data services, telemetry | `packages/core-api` → `@repo/core-api/*` | |
| Storage | `packages/core-storage` → `@repo/core-storage` | |
| i18n | `packages/core-i18n` → `@repo/core-i18n` | |
| Events | `packages/core-events` → `@repo/core-events` | |
| Shared utilities | `packages/utils` → `@repo/utils` | |
| Brand assets | `packages/brand` → `@repo/brand` | |
| Tooling configs | `packages/configs` | ESLint + TypeScript bases |
| Desktop wrapper | `apps/desktop/` | Embeds `apps/web` via Electron |
| Landing | `apps/landing/` | Marketing SPA only |
## Hard rules
- Implement product features in `apps/web`, not in `showcase` or `docs-dev`.
- Before inventing UI or package usage, match `apps/showcase` demos and `apps/docs-dev` docs.
- Prefer `@repo/ui`, `@repo/core-*`, `@repo/utils` over app-local duplicates or raw Mantine/axios.
- Env files live **inside the app** (`apps/web/.env*`), never at monorepo root. Read env via `src/core/environment` (`ENV`), not `import.meta.env` in components.
- Run scripts from root: `pnpm dev:web`, `pnpm dev:showcase`, `pnpm lint`, `pnpm typecheck:web`, `pnpm test`, `pnpm test:e2e:web`, `pnpm check:all`.
## Import map (preferred)
```ts
import { Button, Text } from '@repo/ui/components';
import { FieldTextInput } from '@repo/ui/form'; // or @repo/ui/components
import { EnterpriseModuleProvider } from '@repo/ui/foundations';
import { compose, required } from '@repo/ui/validators';
import { createHttpClient } from '@repo/core-api/http-client';
import { CommonRemoteDataServices } from '@repo/core-api/data-services';
import { useTranslation, Trans } from '@repo/core-i18n';
```