feat: initial dev-configs monorepo
Shared configs for TypeScript projects: ESLint, Prettier, TypeScript, Vite, Jest, Playwright, Knip. Published as @vigdorov/* npm packages to Gitea registry. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
58
CLAUDE.md
Normal file
58
CLAUDE.md
Normal file
@ -0,0 +1,58 @@
|
||||
# dev-configs
|
||||
|
||||
Monorepo с общими конфигами для TypeScript-проектов. Публикуется как набор npm-пакетов в Gitea npm registry.
|
||||
|
||||
## Технологии
|
||||
|
||||
- **Monorepo:** npm workspaces
|
||||
- **Сборка:** TypeScript (tsc)
|
||||
- **Registry:** Gitea npm (`@vigdorov/` scope)
|
||||
- **CI:** Drone CI, тип `library`
|
||||
|
||||
## Пакеты
|
||||
|
||||
| Пакет | Тип | Описание |
|
||||
|-------|-----|----------|
|
||||
| `@vigdorov/prettier-config` | Статичный объект | Prettier конфиг |
|
||||
| `@vigdorov/eslint-config` | Функции-генераторы (base, react, node) | ESLint 9 flat config |
|
||||
| `@vigdorov/typescript-config` | JSON для extends (base.json, react.json) | TSConfig |
|
||||
| `@vigdorov/vite-config` | Функции-генераторы (spa, library) | Vite конфиг |
|
||||
| `@vigdorov/jest-config` | Функция-генератор (node/jsdom) | Jest + @swc/jest |
|
||||
| `@vigdorov/playwright-config` | Функция-генератор (CI-aware) | Playwright e2e |
|
||||
| `@vigdorov/knip-config` | Функция-генератор | Dead code detection |
|
||||
|
||||
## Структура
|
||||
|
||||
```
|
||||
packages/
|
||||
├── eslint/ → @vigdorov/eslint-config
|
||||
├── prettier/ → @vigdorov/prettier-config
|
||||
├── typescript/ → @vigdorov/typescript-config (без сборки, JSON-файлы)
|
||||
├── vite/ → @vigdorov/vite-config
|
||||
├── jest/ → @vigdorov/jest-config
|
||||
├── playwright/ → @vigdorov/playwright-config
|
||||
└── knip/ → @vigdorov/knip-config
|
||||
```
|
||||
|
||||
## Команды
|
||||
|
||||
```bash
|
||||
npm run build # Собрать все пакеты
|
||||
npm run test # Тесты всех пакетов
|
||||
npm run lint # Линтинг всех пакетов
|
||||
npm run check # Knip проверка всех пакетов
|
||||
|
||||
# Поднятие версии
|
||||
npm version patch -w packages/eslint
|
||||
npm version minor -w packages/vite
|
||||
```
|
||||
|
||||
## Версионирование
|
||||
|
||||
- Semver, независимое для каждого пакета
|
||||
- Разработка в feature-ветке → merge в main → поднять версию → push
|
||||
- CI публикует только пакеты с новой версией (сравнение с registry)
|
||||
|
||||
## Требования
|
||||
|
||||
Полные требования: [docs/requirements.md](docs/requirements.md)
|
||||
Reference in New Issue
Block a user