- Introduced coding standards for TypeScript and React in SKILL.md. - Added continuous learning skill with configuration and evaluation scripts. - Created detail layout guidelines for read-only pages. - Established form layout rules for data-entry forms. - Documented project guidelines for the frontend monorepo. - Implemented security review checklist for frontend/Electron applications. - Developed a verification loop skill for comprehensive session checks. This commit enhances the skill set available for developers, ensuring adherence to best practices and improving code quality.
47 lines
2.2 KiB
Plaintext
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 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';
|
|
```
|