# gntodo (gnexus-tasks)

Персональный менеджер задач: быстрый захват без метаданных, автодетализация через
локальную LLM (Ollama), дерево задач, MCP-интерфейс для ИИ-агентов.

Техническое задание: [docs/TZ.md](docs/TZ.md).

## Стек

- **Frontend**: Vue 3 SPA + [gnexus-ui-kit](https://git.gnexus.space/git/root/gnexus-ui-kit.git) (Vite, TypeScript)
- **Backend**: Python 3.12, FastAPI, SQLAlchemy/PostgreSQL
- **SSO**: auth.gnexus.space через [gnexus-gauth](https://git.gnexus.space/git/root/gnexus-auth-client-py.git)
- **AI**: Ollama (модель из конфига) — автодетализация метаданных
- **MCP**: MCP-сервер в составе backend (M5)
- **Деплой**: Docker Compose на VPS

## Структура

```
docs/          — техническое задание и прочая документация
backend/       — FastAPI API + MCP (Python, uv)
frontend/      — Vue 3 SPA (Vite, TypeScript)
```

## Разработка

Dev-БД (docker, порт 15432 — 5432/5433/5434 на машине заняты):

```bash
docker run -d --name gntodo-postgres -p 15432:5432 \
  -e POSTGRES_USER=gntodo -e POSTGRES_PASSWORD=gntodo -e POSTGRES_DB=gntodo \
  postgres:17-alpine
```

Миграции: `cd backend && uv run alembic upgrade head`.

Backend:

```bash
cd backend
uv sync                  # создаст .venv, установит зависимости
uv run uvicorn app.main:app --reload --port 8134
```

Frontend:

```bash
cd frontend
npm install
npm run dev              # http://localhost:15134, /api и /auth проксируются на :8134
```

Прод-сборка: `docker compose up -d --build` (настройки — `.env`, шаблон `.env.example`).

## Вехи

M0 — каркас (репо, скелеты, SSO, деплой) → M1 MVP задач → M2 автодетализация →
M3 структура → M4 прогнозы/бюджет/«3 варианта» → M5 MCP → M6 PWA → M7 Docker-упаковка.