diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..36277a8 --- /dev/null +++ b/Makefile @@ -0,0 +1,30 @@ +.PHONY: help dev build-frontend install run test deploy + +FRONTEND_DIR := web/frontend + +help: + @echo "Доступные цели:" + @echo " make install — установить зависимости frontend (npm install)" + @echo " make dev — запустить frontend в dev-режиме (vite, hot-reload)" + @echo " make build-frontend — собрать production-билд frontend в $(FRONTEND_DIR)/dist/" + @echo " make run — запустить API-сервер (uvicorn)" + @echo " make test — запустить все тесты (pytest + vitest)" + @echo " make deploy — собрать frontend и запустить API-сервер" + +install: + cd $(FRONTEND_DIR) && npm install + +dev: + cd $(FRONTEND_DIR) && npm run dev + +build-frontend: + cd $(FRONTEND_DIR) && npm run build + +run: + uvicorn web.api:app --reload --host 0.0.0.0 --port 8000 + +test: + pytest tests/ + cd $(FRONTEND_DIR) && npm run test + +deploy: build-frontend run diff --git a/README.md b/README.md index cea64b7..dc9b901 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,54 @@ # kin -Kin project \ No newline at end of file +Мультиагентный оркестратор проектов. Виртуальная софтверная компания: Intake → PM → специалисты. + +## Быстрый старт + +### Зависимости + +```bash +# Python-зависимости +pip install -e . + +# Frontend-зависимости +make install +``` + +### Разработка + +```bash +# Запустить frontend в dev-режиме (vite, hot-reload на :5173) +make dev + +# Запустить API-сервер отдельно +make run +``` + +### Production-сборка + +Frontend собирается в `web/frontend/dist/` и раздаётся FastAPI как static files. + +```bash +# Собрать frontend +make build-frontend + +# Собрать + запустить +make deploy +``` + +> **Важно:** `web/frontend/dist/` не хранится в git. Перед запуском в production всегда выполни `make build-frontend`. + +### Тесты + +```bash +make test +``` + +## Архитектура + +Подробная спецификация: [DESIGN.md](DESIGN.md) + +## Стек + +- **Backend:** Python 3.11+, FastAPI, SQLite +- **Frontend:** Vue 3 Composition API, TypeScript, Tailwind CSS, Vite