Files
soneta-erp-skills/soneta-addon-planning/SKILL.md
T

14 KiB
Raw Blame History

name, description
name description
soneta-addon-planning Planowanie projektów dodatków dla platformy enova365/Soneta Enterprise. Tworzy kompletną dokumentację projektową obejmującą: strukturę danych (tabele, relacje), elementy konfigurowalne, definicje list i menu, formularze, workery i raporty. Używaj gdy użytkownik prosi o zaplanowanie nowego modułu/dodatku enova365, przygotowanie założeń projektu, stworzenie specyfikacji funkcjonalnej dodatku, lub zdefiniowanie struktury danych i interfejsu użytkownika dla nowego modułu.

Planowanie projektu modułu/dodatku Soneta

Skill prowadzi interaktywny proces planowania nowego modułu dla platformy Soneta (programy enova365 i Triva). Proces przebiega etapowo — każdy etap wymaga zatwierdzenia przez użytkownika przed przejściem do kolejnego.

Przebieg procesu

Proces planowania składa się z trzech etapów o rosnącym poziomie szczegółowości:

  1. ETAP 1 — Wizja i kontekst biznesowy (dla decydentów, marketingu, sprzedaży)
  2. ETAP 2 — Architektura modułu (dla zespołu projektowego)
  3. ETAP 3 — Specyfikacja szczegółowa (dla zespołu implementacyjnego i AI)

Na końcu generowany jest dokument TODO z kolejnymi krokami implementacji.

Jak prowadzić rozmowę

Proces jest interaktywny. Nie generuj całego dokumentu naraz — pracuj etap po etapie:

  1. Zbierz informacje — Na początku zapytaj użytkownika o ogólną ideę modułu. Co chce osiągnąć? Dla kogo jest ten moduł? Jaki problem rozwiązuje?
  2. Opracuj etap — Na podstawie zebranych informacji wygeneruj dokument danego etapu. Jeśli brakuje Ci informacji, zadaj konkretne pytania zamiast zgadywać.
  3. Poczekaj na zatwierdzenie — Przedstaw dokument etapu użytkownikowi i poczekaj na jego akceptację, uwagi lub poprawki. Nie przechodź do kolejnego etapu bez wyraźnej zgody.
  4. Iteruj — Jeśli użytkownik ma uwagi, popraw dokument i ponownie przedstaw do zatwierdzenia.
  5. Przejdź dalej — Po zatwierdzeniu przejdź do kolejnego etapu, zadając dodatkowe pytania potrzebne do jego opracowania.

Prowadź rozmowę w języku polskim. Zadawaj pytania jedno po drugim — nie zasypuj użytkownika listą 15 pytań naraz. Grupuj pytania tematycznie (24 pytania na raz) i dostosowuj kolejne pytania do udzielonych odpowiedzi.

Dane referencyjne — tabele programu Soneta

Plik tables.md zawiera kompletny opis aktualnych modułów i tabel programu Soneta. Jest duży, więc czytaj go selektywnie — tylko moduły istotne dla projektowanego dodatku.

Struktura pliku: nagłówki # Moduł: NazwaModułu z opisem, a pod nimi tabele w formacie:

| Tabela | Obiekt | Tytuł tabeli | Nadrzędny | Konfiguracyjna | Opis |

Kolumny:

  • Tabela — nazwa tabeli w bazie danych
  • Obiekt — nazwa klasy C# (obiekt biznesowy)
  • Nadrzędny — tabela nadrzędna (root = tabela główna, inna nazwa = tabela szczegółów w relacji inner)
  • KonfiguracyjnaX = tabela konfiguracyjna (definicje, słowniki, ustawienia), pusta = tabela operacyjna
  • Opis — opis przeznaczenia tabeli

Korzystaj z tego pliku aby:

  • sprawdzić, czy potrzebne struktury danych już istnieją (unikanie duplikacji),
  • wskazać konkretne tabele, do których nowy moduł będzie się odwoływać,
  • rozpoznać wzorce projektowe (podział na tabele konfiguracyjne/operacyjne, hierarchia nadrzędny-szczegółowy, stosowanie definicji dokumentów),
  • zidentyfikować moduły, z którymi projektowany moduł będzie współpracować.

Gdy użytkownik wspomina o integracji z istniejącymi danymi (np. pracownicy, kontrahenci, towary), przeczytaj odpowiedni moduł z tables.md i wskaż konkretne tabele i obiekty.


ETAP 1: Wizja i kontekst biznesowy

Cel: ustalić co budujemy, dla kogo i dlaczego. Dokument tego etapu jest przeznaczony dla decydentów, marketingu i sprzedaży.

Pytania do zadania użytkownikowi

Zacznij od ogólnej idei, potem doprecyzowuj. Nie zadawaj wszystkich pytań naraz.

Pierwsza tura — zrozumienie idei:

  • Co jest głównym celem modułu? Jaki problem rozwiązuje?
  • Kto jest docelowym użytkownikiem? (mała/średnia/duża firma, branża)

Druga tura — funkcjonalności i korzyści:

  • Jakie są najważniejsze funkcjonalności? (kluczowe vs opcjonalne)
  • Jakie korzyści uzyska klient?

Trzecia tura — kontekst i ograniczenia:

  • Jakie procesy biznesowe realizuje moduł?
  • Czy są ograniczenia techniczne, prawne, licencyjne?
  • Jakie moduły programu Soneta będą wykorzystywane?

Sekcje dokumentu Etapu 1

Wygeneruj dokument Markdown zawierający te sekcje:

1.1. Cel biznesowy projektu

45 zdań o celu projektu, kluczowym elemencie, najważniejszej rzeczy do osiągnięcia. Zacznij od podstawowej idei modułu.

1.2. Profil klienta docelowego

Typ firmy (mała/średnia/duża), branża, działalność.

1.3. Korzyści dla klienta

Najważniejsze korzyści, problemy rozwiązywane przez moduł. Informacja dla marketingu i sprzedaży.

1.4. Najważniejsze funkcjonalności (priorytetyzacja)

Podział na:

  • Krytyczne (must-have) — bez nich moduł nie ma sensu
  • Ważne (should-have) — istotne, ale moduł może działać bez nich w v1
  • Opcjonalne (nice-to-have) — kolejne wersje

1.5. Scenariusze użytkownika

Kilka kluczowych scenariuszy krok po kroku — jakie działania, jakie dane, jakie wyniki. Tylko najważniejsze dane, bez szczegółów.

1.6. Procesy biznesowe

Procesy realizowane w całości przez moduł oraz procesy, w których moduł uczestniczy częściowo (z innymi elementami programu).

1.7. Ograniczenia modułu i wymagania licencyjne

Ograniczenia funkcjonalne, techniczne, integracyjne, prawne. Wymagane licencje programu Soneta i ewentualne licencje zewnętrzne.

1.8. Założenia i zależności

  • Założenia — co zakładamy jako pewne (np. dostępność modułów, wersja platformy)
  • Zależności — od czego projekt zależy (inne projekty, dane od klienta, zespół)

1.9. Ryzyka projektu

Ryzyka techniczne, biznesowe, integracyjne — z prawdopodobieństwem, wpływem i planem mitygacji.

1.10. Kryteria akceptacji

Mierzalne kryteria gotowości: funkcjonalne (scenariusze), wydajnościowe (wolumeny, czasy), jakościowe (testy, błędy).

1.11. Harmonogram i kamienie milowe

Ramowy harmonogram: fazy projektu, kamienie milowe (zatwierdzenie specyfikacji, MVP, testy, pilotaż, produkcja), zależności czasowe. Charakter orientacyjny.


ETAP 2: Architektura modułu

Cel: określić jak moduł będzie zbudowany — role, dane, interfejs, integracje. Dokument dla zespołu projektowego.

Pytania do zadania użytkownikowi

Pierwsza tura — role i konfiguracja:

  • Jakie role użytkowników będą korzystać z modułu? Jakie zadania realizują?
  • Jakie elementy powinny być konfigurowalne przez klienta?

Druga tura — dane i interfejs:

  • Jakie są główne obiekty danych? (dokumenty, kartoteki, słowniki)
  • Jak powinna wyglądać struktura menu?

Trzecia tura — integracje i przyszłość:

  • Jakie dane z istniejących modułów Soneta będą wykorzystywane? (w tym momencie przeczytaj odpowiednie moduły z tables.md)
  • Czy moduł integruje się z systemami zewnętrznymi?
  • Czy klient ma dane do migracji?

Sekcje dokumentu Etapu 2

2.1. Role użytkowników

Lista operatorów, ich zadania, procesy w których uczestniczą.

2.2. Zakres konfiguracji modułu

Elementy konfigurowalne: definicje dokumentów, słowniki, ustawienia. Zarówno konfiguracja wstępna jak i definicje używane przy przetwarzaniu danych operacyjnych.

2.3. Kluczowe struktury danych

Najważniejsze struktury danych — dokumenty, kartoteki. Bez szczegółowej zawartości (to Etap 3). Ogólny diagram relacji między głównymi obiektami.

Na podstawie tables.md sprawdź:

  • czy potrzebne struktury już istnieją w programie,
  • jakie tabele nadrzędne mogą być wykorzystane,
  • jakie wzorce projektowe stosują istniejące moduły (podział konfiguracyjne/operacyjne, definicje dokumentów, obiekty Guided i szczegółowe, datapacki).

2.4. Struktura menu i elementy interfejsu

Foldery, hierarchia list w menu głównym, grupowanie funkcjonalne. Wyróżnienie elementów kluczowych dla sukcesu produktu.

2.5. Relacje z modułami programu Soneta

Na podstawie tables.md:

  • wskaż konkretne moduły, z którymi nowy moduł współpracuje,
  • wymień tabele i obiekty, do których się odwołuje (relacje lookup/inner),
  • określ, czy wymagane są rozszerzenia istniejących tabel.

2.6. Relacje z innymi systemami

Integracje z systemami zewnętrznymi, wymiana danych, procesy integracyjne. Zasilanie systemu BI.

2.7. Migracja danych

Dane do importu, źródła (inne ERP, Excel, bazy), zachowanie historii.

2.8. Wydajność i skalowalność

  • Wolumeny danych — przewidywana liczba rekordów, częstotliwość operacji
  • Optymalizacja — indeksy, widoki, cache
  • Przetwarzanie wsadowe vs online — co w czasie rzeczywistym, co w tle
  • Skalowalność — wzrost użytkowników i danych, wąskie gardła

2.9. Kierunki rozwoju

Przyszłe funkcjonalności, które nie wchodzą w zakres bieżącej wersji.


ETAP 3: Specyfikacja szczegółowa

Cel: dostarczyć szczegółowy opis każdego elementu modułu na poziomie implementacyjnym. Dokument dla zespołu implementacyjnego i AI.

Pytania do zadania użytkownikowi

Na tym etapie pytania dotyczą szczegółów poszczególnych obiektów. Pracuj obiekt po obiekcie:

  • Jakie pola powinien mieć ten dokument/kartoteka?
  • Jakie stany przechodzi? (bufor, zatwierdzony, anulowany...)
  • Jakie czynności są dostępne? (zatwierdzanie, kopiowanie, generowanie...)
  • Jakie wydruki i raporty?
  • Kto ma dostęp do czego?

Sekcje dokumentu Etapu 3

3.1. Dane operacyjne

Dla każdego obiektu danych:

  • pola danych z typami,
  • cechy szczególne (historyczność, numeracja dokumentów, stany),
  • listy szczegółowe (relacje inner),
  • relacje do innych danych modułu i do danych spoza modułu,
  • część konfiguracyjna (typy, definicje, słowniki).

Na podstawie tables.md:

  • odwołuj się do istniejących tabel po nazwach (kolumna „Tabela") i obiektach (kolumna „Obiekt"),
  • wykorzystuj hierarchię nadrzędności jako wzorzec relacji inner,
  • rozróżniaj tabele konfiguracyjne i operacyjne — ten sam podział stosuj w nowym module,
  • identyfikuj istniejące słowniki i kartoteki zamiast tworzyć duplikaty.

3.2. Diagram relacji

Graficzne przedstawienie relacji (w formie tekstowej Mermaid lub tabeli):

  • Relacje 1:N (inner) — tabele szczegółów
  • Relacje N:1 (lookup) — odwołania do słowników i kartotek
  • Relacje do tabel spoza modułu (z nazwą modułu źródłowego)

3.3. Relacje do danych programu

Dla każdej relacji do danych spoza modułu wskaż na podstawie tables.md:

  • nazwę modułu programu Soneta,
  • konkretną tabelę i obiekt biznesowy,
  • typ relacji (lookup, inner, powiązanie logiczne),
  • cel użycia danych w kontekście projektowanego modułu.

3.4. Podstawowe listy modułu

Dla każdej listy:

  • kolumny podstawowe i opcjonalne,
  • pola filtrujące (podstawowe i dodatkowe po rozwinięciu),
  • filtry predefiniowane.

3.5. Formularze

Dla każdego formularza:

  • zakładki i grupy na zakładkach,
  • pola w każdej grupie,
  • listy szczegółów (sublists).

3.6. Workery i czynności

  • Czynności na formularzach — warunki dostępności, efekt, wymagane uprawnienia
  • Czynności na listach — operacje grupowe
  • Workery — procesy w tle, wyzwalacze (ręczne/harmonogramowe/zdarzeniowe)

3.7. Raporty i wydruki

  • Wydruki dokumentów — format, szablon, dane
  • Raporty zbiorcze — parametry, układ, grupowania
  • Eksport danych — formaty (Excel, CSV)

3.8. Procesy Workflow

  • Stany obiektów — lista stanów i przejść
  • Przejścia — warunki, reguły, odwracalność
  • Automatyzacje — akcje przy zmianie stanu
  • Ścieżki akceptacji — reguły eskalacji

3.9. Uprawnienia i role

  • Matryca uprawnień — tabela ról vs funkcjonalności
  • Uprawnienia do danych — ograniczenia widoczności
  • Uprawnienia konfiguracyjne — kto modyfikuje ustawienia

3.10. Integracje szczegółowe

  • API i protokoły (REST, SOAP, CSV/XML)
  • Formaty danych i mapowanie pól
  • Częstotliwość synchronizacji
  • Obsługa błędów

3.11. Scenariusze testowe

  • Testy funkcjonalne (kroki, dane, oczekiwany rezultat)
  • Testy integracyjne
  • Testy wydajnościowe
  • Przypadki brzegowe

3.12. Dane demonstracyjne

  • Dane do bazy Demo
  • Dane do testów

3.13. Słownik terminów

Definicje kluczowych terminów biznesowych i technicznych, szczególnie przy modułach domenowych.


Otwarte kwestie

Na każdym etapie mogą pojawić się nierozstrzygnięte pytania. Prowadź tabelę otwartych kwestii:

Nr Etap Kwestia Status Decyzja
1 [Opis problemu] Otwarta/Zamknięta [Decyzja]

Prezentuj ją użytkownikowi na końcu każdego etapu i przed przejściem do kolejnego.


Dokument TODO

Po zakończeniu wszystkich etapów wygeneruj dokument TODO z kolejnymi krokami:

Uzupełnienie planu

  • Weryfikacja i zatwierdzenie Etapu 1 przez interesariuszy
  • Weryfikacja i zatwierdzenie Etapu 2 przez zespół projektowy
  • Uzupełnienie specyfikacji szczegółowej (Etap 3) dla wszystkich obiektów
  • Zamknięcie otwartych kwestii

Implementacja

  • Model danych — tabele, pola, relacje
  • Plik business.xml (→ skill soneta-business-xml)
  • Struktura menu, listy, widoki
  • Formularze i zakładki (→ skill soneta-form-xml)
  • Konfiguracja — słowniki, definicje, ustawienia
  • Workery i czynności
  • Raporty i wydruki
  • Procesy Workflow
  • Wskaźniki i wykresy BI
  • Uprawnienia i role
  • Integracje z innymi systemami
  • Baza Demo i dane demonstracyjne
  • Testy integracyjne i interfejsowe
  • Dokumentacja użytkownika i techniczna

Powiązanie z innymi skillami

Po zatwierdzeniu planu projektu:

  1. soneta-business-xml — generowanie pliku business.xml na podstawie modelu danych z Etapu 3
  2. soneta-form-xml — generowanie formularzy i widoków UI na podstawie sekcji 3.4 i 3.5
  3. soneta-programming — implementacja logiki biznesowej, workerów