Przejrzyj swoją gałąź
Co zmieniłem w module auth na tej gałęzi? Pogrupuj zmiany według intencji.Jest 17:00 w piątek. Rebasujesz swoją gałąź funkcjonalną na main przed wdrożeniem i trafiasz na trójstronny konflikt w pliku, który dwie inne osoby ruszały w tym tygodniu. Wiadomości commitów po obu stronach mówią “wip” i “fixes”, więc nie masz pojęcia, jaką intencję niosła każda zmiana. Dwadzieścia minut później czytasz git blame linia po linii, okno wdrożeniowe się zamyka, a PR kolegi z zespołu leży nieprzejrzany od dwóch dni, bo nikt nie miał czasu przeczytać 600 linii diffa.
To tutaj kontrola wersji wspomagana przez AI zarabia na swoje utrzymanie. Cursor czyta diffy, gałęzie i historię PR tak samo, jak czyta kod, więc potrafi naszkicować wiadomość commita, przeanalizować obie strony konfliktu i zrecenzować PR, zanim człowiek go w ogóle otworzy. Ten przewodnik omawia przepływy pracy specyficzne dla Cursora dotyczące commitów, konfliktów, przeglądów i wspólnego kontekstu zespołu — oraz dokładne prompty, które czynią je niezawodnymi.
.cursor/BUGBOT.md, dzięki której automatyczny przegląd PR wyłapuje konkretne błędy twojego zespołu.cursor/rules/, które utrzymują spójność wyników AI u wszystkichNigdy więcej nie pisz ogólnikowej wiadomości commita. Cursor analizuje twoje zmiany w staging i generuje kontekstowe, znaczące wiadomości:
Dla szybszych commitów przypisz generowanie wiadomości do skrótu:
// W Skrótach klawiszowych (Cmd/Ctrl+R, następnie Cmd/Ctrl+S){ "key": "cmd+m", "command": "cursor.generateGitCommitMessage"}Cursor 2.0 usunął wzmianki @Git, @Branch i @Recent Changes. Agent teraz sam czyta stan git, gdy zapytasz zwykłym językiem — uruchamia git log, git diff i git blame jako narzędzia. Pomiń składnię @ i pytaj bezpośrednio:
Przejrzyj swoją gałąź
Co zmieniłem w module auth na tej gałęzi? Pogrupuj zmiany według intencji.Porównaj z main
Porównaj tę gałąź z main i podsumuj różnice w zachowaniu,nie tylko diff na poziomie linii.Sprawdź ostatnie commity
Pokaż, co zmieniło się w moich ostatnich trzech commitach, i oznacz wszystko,co wygląda na niezamierzone lub niezwiązane z funkcją.Pobierz PR
Pobierz PR #123 z tego repo i wyjaśnij, co zmienia i dlaczego.Checkpointy to automatyczne migawki tworzone, gdy Agent wprowadza zmiany do kodu. To twój natychmiastowy przycisk cofnij dla modyfikacji AI.
Dwa sposoby przywracania:
Kliknij Restore Checkpoint przy dowolnym poprzednim żądaniu Agenta
Najedź na dowolną wiadomość Agenta i kliknij przycisk +
Gdy pojawią się konflikty, pozwól AI pomóc w ich inteligentnym rozwiązaniu:
Domyślny prompt “Resolve in Chat” jest w porządku dla trywialnych konfliktów, ale w każdym przypadku, gdzie obie strony zmieniły zachowanie, daj agentowi wyraźne instrukcje, co zachować. Ogólnikowe prompty typu “scal to” mają tendencję do wybierania jednej strony i po cichu porzucania drugiej:
Instrukcja “stop and ask” ma znaczenie: to różnica między scaleniem, któremu możesz zaufać, a takim, w którym agent po cichu odrzucił zmianę kolegi z zespołu, aby znaczniki konfliktu zniknęły.
Z podłączonym serwerem GitHub MCP agent może otworzyć PR za ciebie, zamiast tego, żebyś przełączał się do przeglądarki. Jakość opisu zależy całkowicie od tego, jak konkretny jest twój prompt — “zrób PR” produkuje przerobiony diff; poniższy prompt produkuje coś, czego recenzent może faktycznie użyć:
Cursor indeksuje pull requesty twojego repozytorium, więc agent może wydobywać historyczne decyzje, zamiast tego, żebyś ręcznie grepował zamknięte PR-y. Pytaj zwykłym językiem i odwołuj się do tego, czego szukasz:
How have we implemented authentication in past PRs? List the relevant PR numbersand summarize the approach each one took, then tell me which pattern is current.Agent wydobywa pasujące PR-y i może pobrać pełny diff dowolnego, który wskażesz, jako kolejny krok.
BugBot automatycznie recenzuje PR-y pod kątem potencjalnych problemów:
Wykrywanie błędów
Wykrywa sprawdzanie null, obsługę błędów, problemy bezpieczeństwa
Standardy kodu
Egzekwuje konwencje zespołu i najlepsze praktyki
Wydajność
Oznacza potencjalne problemy wydajnościowe
Bezpieczeństwo
Identyfikuje luki w zabezpieczeniach
Utwórz .cursor/BUGBOT.md z zasadami specyficznymi dla zespołu:
# BugBot Configuration
## Critical Rules- All API endpoints must have authentication- No console.log statements in production code- SQL queries must use parameterized statements
## Code Style- Use async/await instead of promises- Prefer const over let- Destructure objects when possible
## Performance- Warn about N+1 query patterns- Flag synchronous file operations- Check for missing database indexesZespoły mogą dzielić się pracą nad indeksowaniem dla szybszego wdrażania:
Modele nie zachowują pamięci między uzupełnieniami, więc trwałe decyzje architektoniczne należą do pliku objętego kontrolą wersji, który dzieli cały zespół — a nie do czatu, o którym agent zapomina. Cursor czyta zarówno pliki .cursor/rules/, jak i AGENTS.md w katalogu głównym projektu na początku kontekstu modelu. Jako szybkie, czytelne miejsce na “fakty, które każdy powinien znać”, AGENTS.md jest opcją o najmniejszym tarciu:
# Project Instructions
## Money handling- All monetary values are stored as integer cents, never floats.- Any code that touches prices, totals, or currency must use the Money helper in src/lib/money.ts and never do raw floating-point math.
## Conventions- Authentication uses JWT with a 15-minute access-token expiry.- Pagination is cursor-based, not offset/limit.Zapisuj decyzje, które są trwałe; pomijaj jednorazowe fakty, aby plik się nie zdezaktualizował. Gdy decyzja się zmienia, edytuj plik i commituj go, aby agent każdego kolegi z zespołu wychwycił tę zmianę.
Spójność na poziomie zespołu poprzez .cursor/rules/:
---alwaysApply: true---
- Use TypeScript for all new files- Follow ESLint configuration- Write tests for all new features- Use semantic commit messages- All endpoints return consistent error format- Use middleware for authentication- Validate input with Joi schemas- Return 201 for successful creation- Unit test coverage minimum 80%- Integration tests for all API endpoints- E2E tests for critical user flows- Mock external services in testsGdy dwie niepowiązane funkcje muszą obie trafić do wdrożenia, nie musisz ich szeregować. Cloud Agents Cursora działają na izolowanych gałęziach w tle, więc możesz wysłać jednego i dalej pracować lokalnie nad drugim. Uruchom je z paska bocznego agenta (lub ze Slacka — patrz niżej), a każdy otworzy własny PR po zakończeniu. Trzymaj zadania naprawdę niezależne; dwóch agentów edytujących ten sam moduł po prostu wręczy ci później konflikt merge.
Realistyczna pętla przeglądu z Cursorem w grze wygląda tak:
Walk me through the authentication flow in this PR and flag any place a token could leak into logs.Address every BugBot comment on this PR. For each one, make the fix and reply with a one-line note on what you changed.To część, którą większość ludzi robi źle. Aplikacja Cursor dla Slacka nie jest konwersacyjnym botem, który podsumowuje PR-y lub odpowiada na pytania na kanale. Wzmianka @Cursor tworzy Cloud Agenta, który pracuje nad zadaniem kodowania w repozytorium i otwiera PR — wybiera repo i model na podstawie twojej wiadomości i ostatniej aktywności. Użyj tego do rozpoczęcia pracy bez opuszczania Slacka:
@Cursor in backend-api, fix the login bug where expired sessions return 200@Cursor with opus, refactor the auth module to use the new token helper@Cursor branch=develop autopr=false add rate limiting to the password reset endpoint@Cursor list my agentsUżyj branch=, aby ustawić gałąź bazową, oraz autopr=false, jeśli nie chcesz, aby automatycznie otwierał PR. Uruchom @Cursor settings, aby ustawić domyślne repozytorium kanału, oraz @Cursor help, aby zobaczyć bieżącą listę komend. Nie ma komendy “podsumuj ten PR dla QA” — po to zapytaj agenta wewnątrz IDE, używając wcześniejszego promptu do pobierania PR.
Gdy kolega z zespołu potrzebuje dokumentacji, skieruj agenta na kod, zamiast opisywać, czego chcesz:
Agent może sterować gitem bezpośrednio przez swoje narzędzie terminala, więc to są prompty do wklejenia, a nie skryptowany output:
Create a feature branch off main called fix/cart-totals, cherry-pick commits5abc123 and 7def456, then push it to origin and show me the resulting log.Rebase this feature branch onto main. If you hit a conflict, keep my feature'sbehavior, explain each resolution, and stop to ask if a resolution is ambiguous.Dla powtarzalnych sprawdzeń zakoduj je w git hooku, zamiast ponawiać prompt za każdym razem. Hook pre-commit uruchamiający lint i sprawdzanie typów przed każdym commitem:
#!/bin/bashnpm run lintnpm run type-checkSpójne standardy
Używaj wspólnych reguł i konfiguracji BugBot
Przechwytywanie wiedzy
Zapisuj trwałe decyzje we wspólnych regułach i AGENTS.md
Regularne synchronizacje
Dziel się naukami AI na spotkaniach zespołu
Stopniowe wdrażanie
Zacznij od ochotników, rozszerzaj stopniowo
Śledź te metryki, aby zmierzyć poprawę:
Wpisałeś @Git lub @Recent Changes z przyzwyczajenia, a agent to zignorował. Te wzmianki zostały usunięte w Cursor 2.0. Pomiń @ i pytaj zwykłym językiem (“porównaj tę gałąź z main”) — agent uruchamia git sam.
Agent “rozwiązał” konflikt, po cichu wybierając jedną stronę. Ponów prompt z wyraźną instrukcją “keep both intents, stop and ask if incompatible, show me a diff before applying” z powyższego promptu konfliktu merge i przejrzyj diff, zanim zaakceptujesz.
BugBot wie tylko to, co mu powiesz. Otwórz .cursor/BUGBOT.md, dodaj konkretną zasadę dla wzorca, który pominął (np. “flag any SQL built with string concatenation”), i potwierdź, że BugBot jest włączony dla repo w twoim dashboardzie Cursor.
Pamiętaj, że @Cursor uruchamia agenta kodującego, a nie chatbota. Jeśli wybrał złe repo, nazwij je wyraźnie (@Cursor in backend-api, ...) lub ustaw domyślne dla kanału przez @Cursor settings. Używaj autopr=false, dopóki wciąż kalibrujesz prompty.
Cursor kolegi z zespołu reindeksuje od zera. Sprawdź, czy wspólny indeks bazy kodu jest włączony w ustawieniach zespołu i czy ma on dostęp do tego samego workspace i repozytorium.