# Scrum — Zarządzanie projektami

> Backlog, tablica Kanban i sprinty w jednym miejscu

Pełny zestaw narzędzi Scrum: backlog z zaawansowanym filtrowaniem, tablica Kanban z aktualizacją statusu przez HTMX, sprinty z velocity tracking, komentarze w Markdown i logowanie czasu pracy.

## Funkcje

- **Tablica Kanban**: Cztery kolumny statusu: todo → in_progress → in_review → done. Aktualizacja statusu przez HTMX — bez przeładowania strony.
- **Backlog z filtrowaniem**: Filtruj po statusie, priorytecie, przypisanej osobie, sprincie i wyszukuj po tytule. Paginacja po 20 ticketów.
- **Sprinty**: Tworzenie, startowanie i zamykanie sprintów. Przy zamknięciu niezakończone tickety wracają do backlogu. Tylko jeden aktywny sprint naraz.
- **Story points i velocity**: Przypisuj punkty do ticketów. System agreguje je per sprint, żebyś mógł śledzić velocity zespołu.
- **Komentarze Markdown**: Dyskusje pod ticketami z pełnym wsparciem Markdown. Renderowane z Tailwind prose dla czytelnego formatowania.
- **Logowanie czasu**: Dodawaj wpisy czasu pracy z opisem. Workflow statusów: draft → submitted → approved/rejected.
- **Automatyczna numeracja**: Każdy ticket dostaje unikalny numer w projekcie (np. PIM-1, PIM-2). Auto-inkrementacja per projekt.
- **Tworzenie z błędów 500ki**: Utwórz ticket bezpośrednio z błędu — opis wypełnia się automatycznie ze stacktrace i kontekstem requestu.

## Jak to działa

1. **Utwórz sprint**: Nadaj nazwę, cel, daty rozpoczęcia i zakończenia.
2. **Dodaj tickety do backlogu**: Twórz tickety z tytułem, opisem Markdown, priorytetem i story points.
3. **Wystartuj sprint**: Przypisz tickety do sprintu i wystartuj go. Tablica Kanban staje się aktywna.
4. **Pracuj i przesuwaj karty**: Zmieniaj statusy na tablicy Kanban. Dodawaj komentarze i loguj czas.
5. **Zakończ sprint**: Niedokończone tickety automatycznie wracają do backlogu. Sprawdź velocity w raportach.

## AI i MCP

Agent AI może zarządzać całym cyklem Scrum: tworzyć tickety, przenosić między sprintami, dodawać komentarze, etykiety, załączniki i logować czas — 17 narzędzi MCP.

- `list_tickets`: Filtrowanie po statusie, priorytecie, sprincie, wyszukiwanie
- `search_tickets`: Zaawansowane wyszukiwanie ticketów z pełnotekstowym filtrowaniem
- `create_ticket`: Tworzenie z auto-numeracją, opcjonalnym sprintem i przypisaniem
- `update_ticket`: Zmiana tytułu, opisu, statusu, priorytetu, story points
- `get_board`: Aktualny stan tablicy Kanban ze wszystkimi kolumnami
- `create_sprint`: Nowy sprint z nazwą, celem i datami
- `update_sprint`: Edytuj nazwę, cel lub daty sprintu
- `start_sprint / complete_sprint`: Zarządzanie cyklem życia sprintu
- `bulk_update_tickets`: Masowa zmiana statusu, priorytetu lub sprintu wielu ticketów
- `add_comment`: Dodaj komentarz Markdown do ticketu
- `add_attachment`: Dodaj załącznik do ticketu (base64, max 200MB)
- `get_attachment`: Pobierz zawartość załącznika (base64, obrazki jako data URI)
- `log_time`: Zaloguj godziny pracy z opisem
- `list_labels`: Lista etykiet projektu z liczbą przypisanych ticketów
- `create_label`: Utwórz nową etykietę z nazwą i kolorem
- `get_burndown`: Dane burndown chart — ideal/actual line, velocity, prognoza
- `get_activity_log`: Dziennik aktywności projektu

## Szczegóły techniczne

- **Paginacja**: 20 ticketów na stronę. Filtry aplikowane przed paginacją, sumy story points obliczane po filtrach.
- **HTMX**: Aktualizacja statusu ticketu przez PATCH bez przeładowania strony. Kanban board aktualizuje się w miejscu.
- **Numeracja**: Auto-inkrementacja per projekt. Bezpieczna przy równoległych requestach (SELECT MAX + 1 z row-level lock).
- **Markdown**: render_markdown_html() z Tailwind prose prose-invert. Używane w opisach ticketów, komentarzach i wiki.
