codex/design-system-foundation #33
@ -40,3 +40,29 @@ jobs:
|
||||
|
||||
- name: Build frontend
|
||||
run: npm run build:frontend
|
||||
|
||||
- name: Setup Playwright browsers
|
||||
run: npx playwright install --with-deps chromium
|
||||
|
||||
- name: Test design system
|
||||
run: npm run test:design-system
|
||||
|
||||
- name: Build design system
|
||||
run: npm run build:design-system
|
||||
|
||||
- name: Build Storybook
|
||||
run: npm run build:storybook
|
||||
|
||||
- name: Test Storybook (browser)
|
||||
run: npm run test:storybook
|
||||
|
||||
- name: Build docs
|
||||
run: npm run build:docs
|
||||
|
||||
- name: Upload Storybook build (if failed)
|
||||
if: failure()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: storybook-static
|
||||
path: packages/design-system/storybook-static
|
||||
retention-days: 3
|
||||
|
||||
16
README.md
16
README.md
@ -24,6 +24,7 @@ npm workspaces монорепозиторий:
|
||||
| `apps/backend` | NestJS API (единственная точка доступа к MOEX ISS) |
|
||||
| `apps/frontend` | React SPA на Vite |
|
||||
| `apps/docs` | Сайт документации Docusaurus |
|
||||
| `packages/design-system` | Дизайн-система (Storybook, MUI-адаптер, UI-компоненты) |
|
||||
|
||||
---
|
||||
|
||||
@ -31,6 +32,7 @@ npm workspaces монорепозиторий:
|
||||
|
||||
- **Бэкенд:** NestJS, TypeScript, OpenAPI (Swagger)
|
||||
- **Фронтенд:** React, TypeScript, Vite, TanStack Query, lightweight-charts
|
||||
- **Дизайн-система:** MUI v7, Storybook 10, lightweight-charts
|
||||
- **Документация:** Docusaurus
|
||||
- **Инфраструктура:** Docker, docker-compose
|
||||
|
||||
@ -90,6 +92,8 @@ apps/
|
||||
backend/ — NestJS API, единая точка доступа к MOEX ISS
|
||||
frontend/ — React SPA на Vite
|
||||
docs/ — сайт документации Docusaurus
|
||||
packages/
|
||||
design-system/ — дизайн-система (MUI-адаптер, UI-компоненты, Storybook)
|
||||
docs/
|
||||
features/ — спецификации и планы реализации (SDD)
|
||||
epics/ — продуктовые эпики
|
||||
@ -105,16 +109,24 @@ docs/
|
||||
| ---------------------------------- | --------------------------------------------------------------------------- |
|
||||
| `npm run dev:backend` | Запуск NestJS в режиме watch на :3000 |
|
||||
| `npm run dev:frontend` | Vite dev-сервер на :5173, проксирует `/api` → :3000 |
|
||||
| `npm run dev:docs` | Docusaurus dev-сервер |
|
||||
| `npm run dev:docs` | Docusaurus dev-сервер (опубликованная документация) |
|
||||
| `npm run build:backend` | `nest build` |
|
||||
| `npm run build:frontend` | `tsc -b && vite build` (в две фазы) |
|
||||
| `npm run build:docs` | `docusaurus build` |
|
||||
| `npm run build:design-system` | Сборка дизайн-системы (`tsc`) |
|
||||
| `npm run build:storybook` | Статическая сборка Storybook |
|
||||
| `npm run test:backend` | `vitest run` (SWC, не ts-jest) |
|
||||
| `npm run test:frontend` | Frontend Vitest suite |
|
||||
| `npm run lint` | ESLint для backend и frontend |
|
||||
| `npm run test:design-system` | Unit-тесты дизайн-системы (Vitest) |
|
||||
| `npm run test:storybook` | Браузерные тесты Storybook (Vitest browser mode + Playwright) |
|
||||
| `npm run storybook` | Storybook dev-сервер на :6006 (инженерный workbench, не docs) |
|
||||
| `npm run lint` | ESLint для backend, frontend и design-system |
|
||||
| `npm run lint:design-system` | ESLint для дизайн-системы |
|
||||
| `npm run format` | Prettier для всех `*.{ts,tsx}` |
|
||||
| `npm run codegen -w apps/frontend` | `openapi-typescript` из запущенного локального Swagger → `src/api/types.ts` |
|
||||
|
||||
Docusaurus (`apps/docs`) — опубликованная документация для пользователей. Storybook (`packages/design-system`) — инженерный workbench для разработки компонентов.
|
||||
|
||||
Интеграционные тесты с MOEX: `npm run test:integration -w apps/backend`.
|
||||
|
||||
Один backend-тест: `npm exec -w apps/backend -- vitest run src/path/to/test.spec.ts`
|
||||
|
||||
@ -56,13 +56,13 @@
|
||||
- [ ] Подключить workspace package и Inter во frontend shell; удалить локальную MUI theme.
|
||||
- [ ] Enforce ESLint allowlist для `Box`, `Stack`, `Grid`.
|
||||
- [ ] Подтвердить, что product pages и legacy CSS не мигрированы.
|
||||
- [ ] Создать Docusaurus-раздел с foundations, catalog, rules и accessibility.
|
||||
- [ ] Создать ADR-016 и changelog `0.1.0`.
|
||||
- [ ] Обновить sidebar, styling docs и README; собрать docs.
|
||||
- [x] Создать Docusaurus-раздел с foundations, catalog, rules и accessibility.
|
||||
- [x] Создать ADR-016 и changelog `0.1.0`.
|
||||
- [x] Обновить sidebar, styling docs и README; собрать docs.
|
||||
|
||||
## 7. CI и завершение
|
||||
|
||||
- [ ] Добавить design-system, Storybook, Playwright, visual и docs gates в CI.
|
||||
- [ ] Запустить полный DoD из Task 12 `plan.md`.
|
||||
- [x] Добавить design-system, Storybook, Playwright, visual и docs gates в CI.
|
||||
- [x] Запустить полный DoD из Task 12 `plan.md`.
|
||||
- [ ] Запросить code review и устранить подтверждённые scope issues.
|
||||
- [ ] Повторить полный DoD, отметить все tasks и сделать финальный commit.
|
||||
|
||||
@ -31,6 +31,7 @@
|
||||
"apps/backend/src/**/*.ts": ["eslint --max-warnings=0"],
|
||||
"apps/backend/test/**/*.ts": ["eslint --max-warnings=0"],
|
||||
"apps/frontend/src/**/*.{ts,tsx}": ["eslint --max-warnings=0"],
|
||||
"packages/design-system/src/**/*.{ts,tsx}": ["eslint --max-warnings=0"],
|
||||
"**/*.{ts,tsx}": ["prettier --check"]
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user