Jasność przed kodem
Pisanie wymagań zmusza do przemyślenia przypadków brzegowych przed implementacją
Przepływ pracy PRD → Plan → Todo to przełomowa metodologia która transformuje sposób podejścia do rozwoju funkcji. Ten 15-minutowy przewodnik nauczy cię rozbijać złożone wymagania na zarządzalne, wspomagane przez AI kroki implementacji.
Jasność przed kodem
Pisanie wymagań zmusza do przemyślenia przypadków brzegowych przed implementacją
Zrozumienie AI
Jasne PRD pomagają AI generować lepszy kod dostarczając kompletny kontekst
Równoległa praca
Członkowie zespołu mogą rozpocząć różne części jednocześnie z jasnymi specyfikacjami
Mierzalny postęp
Listy todo dostarczają konkretne śledzenie postępu i zapobiegają rozszerzaniu zakresu
Zacznij od historii użytkownika
# System uwierzytelniania użytkownika
## Historia użytkownikaJako użytkownik chcę bezpiecznie zalogować się do aplikacjiżeby mieć dostęp do mojej personalizowanej treści i funkcji.
Zdefiniuj kryteria sukcesu
## Kryteria sukcesu- Użytkownicy mogą się rejestrować z email/hasłem- Wymagana weryfikacja email- Login trwa przez 30 dni- Resetowanie hasła przez email- Integracja OAuth (Google, GitHub)- Zarządzanie sesją na różnych urządzeniach
Określ wymagania techniczne
## Wymagania techniczne- Uwierzytelnianie oparte na JWT- Hashowanie haseł Bcrypt (12 rund)- Ograniczenia częstości na endpointach auth- Ochrona CSRF- Bezpieczna obsługa cookies- Logowanie audytu dla zdarzeń auth
Udokumentuj przypadki brzegowe
## Przypadki brzegowe- Jednoczesne próby logowania- Email już zarejestrowany- Obsługa błędnych tokenów- Blokada konta po nieudanych próbach- Awaria serwisu email- Uwierzytelnianie cross-origin
# Funkcja: [Nazwa]
## PrzeglądKrótki opis tego co budujemy i dlaczego.
## Historie użytkownika- Jako [rola], chcę [funkcję] żeby [korzyść]- Dodatkowe historie...
## Wymagania funkcjonalne1. Podstawowa funkcjonalność2. Interakcje użytkownika3. Reguły biznesowe
## Wymagania niefunkcjonalne- Wydajność: czas odpowiedzi < 200ms- Bezpieczeństwo: zgodność OWASP- Skalowalność: wsparcie 10k jednoczesnych użytkowników- Dostępność: WCAG 2.1 AA
## Metryki sukcesu- Wskaźnik adopcji użytkowników- Benchmarki wydajności- Wskaźniki błędów
## Poza zakresem- Czego NIE budujemy- Rozważania przyszłe
## Zależności- Serwisy zewnętrzne- Systemy wewnętrzne- Biblioteki zewnętrzne
# API: [Nazwa endpointu]
## Projekt endpointuPOST /api/v1/users/registerContent-Type: application/json
Żądanie:{ "email": "user@example.com", "password": "SecurePass123!", "name": "Jan Kowalski"}
Odpowiedź (201):{ "id": "usr_123", "email": "user@example.com", "name": "Jan Kowalski", "emailVerified": false, "createdAt": "2024-01-01T00:00:00Z"}
## Odpowiedzi błędów- 400: Błędny input- 409: Email już istnieje- 429: Przekroczono limit częstości- 500: Błąd serwera
## Zasady walidacji- Email: ważny format, unikalny- Hasło: 8+ znaków, zasady złożoności- Nazwa: 2-50 znaków
## Ograniczenia częstości- 5 żądań na minutę na IP- 20 żądań na godzinę na email
# Integracja: [Nazwa serwisu]
## Przegląd integracjiŁączenie naszego systemu z [Serwis] w celu [cel].
## Uwierzytelnianie- Metoda: OAuth 2.0- Zakresy: read:user, write:data- Strategia odświeżania tokenów
## Przepływ danych1. Użytkownik inicjuje akcję2. System żąda tokenu3. Wywołaj zewnętrzne API4. Przetworz odpowiedź5. Zaktualizuj stan lokalny
## Obsługa błędów- Logika retry (3 próby)- Zachowanie fallback- Raportowanie błędów
## Mapowanie danych| Ich pole | Nasze pole | Transformacja ||----------|-----------|---------------|| user_id | userId | Bezpośrednie || created_date | createdAt | ISO 8601 |
## Strategia testowania- Mockowane odpowiedzi- Testy integracyjne- Testy obciążeniowe
Dostarczaj kontekst:
"Pomóż mi stworzyć PRD dla systemu powiadomień użytkownika.Potrzebujemy powiadomień email, SMS i push z preferencjami użytkownikai śledzeniem dostawy."
Używaj @Docs do badań:
@docs "Przejrzyj dokumentację naszego istniejącego systemu wiadomościi stwórz PRD które go rozszerza o preferencje powiadomień"
Iteruj z AI:
"Dodaj wymagania ograniczeń częstości i webhooks zwrotnedla statusu dostawy do PRD"
Przełącz na tryb Ask
Używaj trybu Ask do planowania - nie wprowadzi zmian, tylko pomoże ci przemyśleć implementację.
Analizuj wymagania:
"Przejrzyj ten PRD i zidentyfikuj główne komponenty technicznektóre musimy zbudować @notification-prd.md"
Projektowanie architektury:
"Zaproponuj architekturę dla tego systemu powiadomień.Rozważ skalowalność, niezawodność i łatwość utrzymania."
Rozbij komponenty:
"Rozbij to na konkretne serwisy/moduły:- Jaki schemat bazy danych potrzebujemy?- Jakie endpointy API?- Jakie zadania w tle?- Jakie komponenty frontend?"
Zidentyfikuj zależności:
"Jakie są zależności i punkty integracji?Co powinniśmy zbudować jako pierwsze?"
# System powiadomień - plan techniczny
## Przegląd architektury- API Gateway → Serwis powiadomień- Kolejka wiadomości (Redis/RabbitMQ)- Procesy Worker do dostawy- Webhooks statusu dostawy
## Komponenty
### 1. Schemat bazy danych- tabela users_preferences- tabela notifications- tabela delivery_status- tabela notification_templates
### 2. Endpointy API- POST /api/notifications/send- GET/PUT /api/users/{id}/preferences- GET /api/notifications/{id}/status- POST /api/webhooks/delivery
### 3. Serwisy w tle- EmailWorker- SMSWorker- PushWorker- StatusUpdateWorker
### 4. Komponenty frontend- NotificationPreferences- NotificationHistory- NotificationComposer
## Kolejność implementacji1. Schemat bazy danych2. API zarządzania preferencjami3. Podstawowe wysyłanie email4. Dodaj SMS i push5. Śledzenie statusu6. Komponenty frontend
Myśl warstwami
Planuj od warstwy danych w górę: Baza danych → API → Logika biznesowa → UI
Rozważ skalę
Projektuj na 10x obecne obciążenie - łatwiej zaplanować skalę niż dopasować później
Planuj na awarie
Dołącz obsługę błędów, retry i fallbacks do swojego planu
Bezpieczeństwo najpierw
Planuj uwierzytelnianie, autoryzację i ochronę danych od początku
Generuj początkową listę todo:
"Na podstawie naszego planu systemu powiadomień, stwórz szczegółowąlistę todo z konkretnymi zadaniami implementacji. Grupuj wedługkomponentów i dołącz szacunki."
Dopracuj szczegóły:
"Dodaj kryteria akceptacji do każdego elementu todo. Dołączwymagania testowe i zadania dokumentacji."
Priorytetyzuj zadania:
"Uporządkuj te todo według zależności i priorytetu.Jaka jest ścieżka krytyczna?"
# System powiadomień - Todo implementacji
## Faza 1: Fundament (Dzień 1-2)- [ ] Utwórz migrację bazy danych dla tabel powiadomień - [ ] tabela users_preferences z flagami email/sms/push - [ ] tabela notifications ze śledzeniem statusu - [ ] notification_templates ze wsparciem zmiennych - [ ] Dodaj indeksy dla wydajności zapytań
- [ ] Skonfiguruj infrastrukturę kolejki wiadomości - [ ] Zainstaluj Redis/RabbitMQ - [ ] Utwórz konfigurację kolejki - [ ] Skonfiguruj kolejki dead letter - [ ] Implementuj pooling połączeń
## Faza 2: Podstawowe API (Dzień 3-4)- [ ] Implementuj zarządzanie preferencjami - [ ] endpoint GET /api/users/{id}/preferences - [ ] endpoint PUT /api/users/{id}/preferences - [ ] Walidacja input z Zod - [ ] Testy jednostkowe z 90%+ pokryciem
- [ ] Utwórz API wysyłania powiadomień - [ ] endpoint POST /api/notifications/send - [ ] Substytucja zmiennych szablonu - [ ] Kolejka wiadomości do dostawy - [ ] Zwróć ID śledzenia
## Faza 3: Workery dostawy (Dzień 5-6)- [ ] Implementuj EmailWorker - [ ] Integracja SendGrid/AWS SES - [ ] Renderowanie szablonów - [ ] Logika retry (3 próby) - [ ] Obsługa błędów i logowanie
- [ ] Implementuj SMSWorker - [ ] Integracja Twilio - [ ] Walidacja numerów telefonu - [ ] Śledzenie kosztów - [ ] Potwierdzenie dostawy
## Faza 4: Śledzenie statusu (Dzień 7)- [ ] Webhooks statusu dostawy - [ ] endpoint POST /api/webhooks/delivery - [ ] Weryfikacja podpisu - [ ] Przetwarzanie aktualizacji statusu - [ ] Emisja zdarzeń dla aktualizacji real-time
Przełącz na tryb Agent
Teraz gdy masz jasny plan i todo, przełącz na tryb Agent do implementacji.
Zacznij od pierwszego Todo:
"Zaimplementujmy pierwsze todo: Utwórz migrację bazy danychdla tabel powiadomień. Użyj naszego standardowego wzorca migracji."
Zweryfikuj ukończenie:
"Uruchom migrację i pokaż mi wynikowy schemat"
Przejdź do następnego Todo:
"Świetnie! Teraz zaimplementujmy endpointy API preferencji.Zacznij od GET /api/users/{id}/preferences"
Testuj w trakcie:
"Napisz kompleksowe testy dla endpointów preferencjiwłączając przypadki brzegowe"
Pracuj przez todo sekwencyjnie:
Najlepsze dla: jasnych zależności, projektów nauki
Wielu deweloperów/instancji AI:
Najlepsze dla: napięte terminy, doświadczonych zespołów
Buduj warstwami:
Najlepsze dla: niepewnych wymagań, MVP
# Dashboard postępu
## Ogólnie: 45% ukończone ████████░░░░░░░░
### Faza 1: Fundament ✅ 100%- [x] Migracje bazy danych- [x] Konfiguracja kolejki wiadomości
### Faza 2: Podstawowe API 🏗️ 60%- [x] Zarządzanie preferencjami- [ ] API wysyłania powiadomień- [ ] System szablonów
### Faza 3: Workery ⏳ 0%- [ ] EmailWorker- [ ] SMSWorker- [ ] PushWorker
### Faza 4: Śledzenie 📋 0%- [ ] Webhooks statusu- [ ] Aktualizacje real-time
Utwórz checkpoint:
"Utwórz checkpoint: Faza 1 Fundament ukończona"
Kontynuuj rozwój: Pracuj nad następną fazą
Rollback jeśli potrzeba:
"Rollback do checkpoint: Faza 1 Fundament ukończona"
Jasny zakres
Każde todo powinno być ukończalne w 1-4 godziny
Testowalne wyniki
Każde todo ma jasne kryteria akceptacji
Świadomość zależności
Uporządkuj todo według zależności, nie preferencji
Regularna integracja
Integruj pracę często aby uniknąć konfliktów
Niejasne Todo
“Implementuj uwierzytelnianie” - za szerokie!
Pomiń planowanie
Skok do todo bez PRD/Planu
Ignoruj zależności
Rozpoczynanie UI przed gotowością API
Brak śledzenia postępu
Tracenie informacji co jest ukończone
Projekt: System koszyka e-commerceCzas: 3 dniZespół: 1 deweloper + Cursor AI
Dzień 1:- Rano: Napisz PRD (2 godziny)- Popołudnie: Planowanie z AI (1 godzina)- Popołudnie: Generuj todo (30 min)- Wieczór: Implementuj schemat bazy danych
Dzień 2:- Rano: Endpointy API koszyka- Popołudnie: Logika dodawania do koszyka- Wieczór: Pakiet testów
Dzień 3:- Rano: Komponenty frontend- Popołudnie: Testy integracyjne- Wieczór: Dokumentacja i wdrożenie
Wynik: Funkcja ukończona z 95% pokryciem testami
Twórz szablony PRD do ponownego użycia:
.cursor/templates/├── feature-prd.md├── api-prd.md├── integration-prd.md└── bugfix-prd.md
"Przejrzyj ten PRD i zidentyfikuj wszelkie brakujące wymagania,przypadki brzegowe lub potencjalne problemy bezpieczeństwa"
"Na podstawie naszej dyskusji w @past-chat, stwórzkompleksowy PRD włączający cały feedback"
Kontynuuj do konfiguracji MCP
Teraz skonfigurujmy serwery MCP aby zwiększyć moc twojego przepływu pracy rozwoju zewnętrznymi integracjami.
Czas: 10 minut