Skip to content

Latest commit

 

History

History
104 lines (72 loc) · 3.05 KB

File metadata and controls

104 lines (72 loc) · 3.05 KB

Референс по стекам — для генерации conventions.md и правил

Telegram Bot (Python)

Стек по умолчанию

  • Python 3.12+, aiogram 3.x, PostgreSQL + SQLAlchemy 2.x (async), Alembic, APScheduler
  • Тесты: pytest + pytest-asyncio
  • Линтер: ruff, Форматирование: ruff format, Типы: mypy

Архитектура

handlers/ → services/ → repositories/ → models/ → llm/ (если есть AI-интеграция)

Кодстайл

snake_case (переменные, функции, файлы), PascalCase (классы), async для всех I/O

Запрещённые паттерны

  • Бизнес-логика в хендлерах
  • Синхронный I/O в async-коде
  • Голые except
  • Raw SQL с интерполяцией

Web App (Next.js / React)

Стек по умолчанию

  • TypeScript, Next.js 14+ (App Router), React 18+, Tailwind CSS
  • БД: PostgreSQL + Prisma / Drizzle
  • Тесты: vitest + React Testing Library + Playwright (e2e)
  • Линтер: eslint, Форматирование: prettier

Архитектура

Feature-sliced: features//{ui, model, api} Или: app/ (routes) + components/ + lib/ + hooks/

Кодстайл

camelCase (переменные, функции), PascalCase (компоненты, типы), kebab-case (файлы)

Запрещённые паттерны

  • any в TypeScript
  • useEffect для серверных данных (используй Server Components / React Query)
  • Inline styles (используй Tailwind)
  • Прямой DOM-доступ без ref

Web App (Django / FastAPI)

Стек по умолчанию

  • Python 3.12+, Django 5+ / FastAPI, PostgreSQL
  • Тесты: pytest-django / pytest + httpx
  • Линтер: ruff

Архитектура

Django: apps//{models, views, serializers, urls, tests} FastAPI: app/{routers, services, repositories, models, schemas}


Mobile (Flutter)

Стек по умолчанию

  • Dart 3+, Flutter 3.x, Riverpod / Bloc, Dio, Hive / Drift
  • Тесты: flutter_test, integration_test

Архитектура

Feature-first: lib/features//{presentation, domain, data}

Кодстайл

snake_case (файлы), camelCase (переменные), PascalCase (классы)


CLI Tool (Python)

Стек по умолчанию

  • Python 3.12+, Click / Typer, Rich (вывод)
  • Тесты: pytest

Архитектура

cli.py (команды) → core/ (логика) → utils/


CLI Tool (Go)

Стек по умолчанию

  • Go 1.22+, Cobra, Viper
  • Тесты: testing + testify

Архитектура

cmd/ (команды) → internal/ (логика) → pkg/ (переиспользуемое)


API Service (NestJS)

Стек по умолчанию

  • TypeScript, NestJS, PostgreSQL + TypeORM / Prisma
  • Тесты: jest + supertest

Архитектура

src/modules//{controller, service, repository, dto, entities, tests}