Przez osiem artykułów budowałeś zestaw narzędzi: tryby pracy, zarządzanie kontekstem, pięć workflow developerskich, agenci, Skills i MCP Servers. Teraz czas przestać omawiać elementy osobno i zobaczyć jak działają razem jako spójny system.
Ten artykuł to jedno wielkie demo. Weźmiemy projekt TaskList który rozwijaliśmy przez całą serię i przeprowadzimy kompletny cykl: od zgłoszenia buga przez implementację, testy, security review, aż po zamknięty PR – wszystko z terminala, bez przełączania kontekstu.
🔍 Ważna obserwacja zanim zaczniesz
Nie potrzebujesz agentów, Skills ani MCP żeby być produktywnym z Copilot CLI. Rdzeń workflow – opisz → zaplanuj → zaimplementuj → przetestuj → przejrzyj → wyślij – działa z samymi wbudowanymi featurami z artykułów 00-03. Wszystko czego nauczyłeś się później to mnożniki efektywności, nie warunki konieczne.
Wzorzec integracji – mapa mentalna
Zanim wejdziemy w demo, jeden diagram który porządkuje cały zestaw narzędzi:
Kluczowa obserwacja: kontekst zawsze pierwszy. Zanim poprosisz agenta o analizę – daj mu dane. Agent bez kontekstu daje generyczne odpowiedzi. Agent z pełnym kontekstem daje precyzyjne wskazówki.
Demo 1: od buga do commita – pełny workflow
Scenariusz: użytkownicy zgłaszają że wyszukiwanie zadań po tytule nie działa dla małych liter. Mamy otwarte issue #3.
Faza 1: Zbierz kontekst (MCP)
copilot
# GitHub MCP odczytuje issue bez żadnego copy-paste
> Pobierz szczegóły issue #3
# Filesystem MCP bada projekt
> Ile plików .cs ma projekt? Wylistuj z krótkim opisem.
# Zrozum konkretny kod
> @TaskService.cs Pokaż mi metodę Search() – szukam przyczyny
case-sensitive matchowania
Faza 2: Zaplanuj (/plan)
> /plan Napraw metodę Search() w TaskService.cs żeby działała
case-insensitively. Uwzględnij testy i walidację.
Copilot tworzy plan krok po kroku: zmiana implementacji → aktualizacja XML docs → testy → commit.
Faza 3: Zaimplementuj (agent dotnet-reviewer)
> /agent
# Wybierz "dotnet-reviewer"
> @TaskService.cs Zaimplementuj fix z planu. Pamiętaj o:
walidacji parametru, XML docs, StringComparison.OrdinalIgnoreCase
Agent generuje kod zgodny z naszymi standardami C# – XML docs, walidacja przez ArgumentException.ThrowIfNullOrWhiteSpace, poprawne porównanie:
/// <summary>Wyszukuje zadania zawierające podany fragment tytułu.</summary>
/// <param name="query">Fragment tytułu. Nie może być null ani whitespace.</param>
/// <returns>Pasujące zadania. Pusta kolekcja gdy brak wyników.</returns>
/// <exception cref="ArgumentException">Query jest null lub whitespace.</exception>
public IEnumerable<TaskItem> Search(string query)
{
ArgumentException.ThrowIfNullOrWhiteSpace(query, nameof(query));
return _tasks.Where(t =>
t.Title.Contains(query, StringComparison.OrdinalIgnoreCase));
}
Faza 4: Przetestuj (agent xunit-helper)
> /agent
# Wybierz "xunit-helper"
> @TaskService.cs Wygeneruj testy xUnit dla naprawionej metody Search().
Uwzględnij: exact match, lowercase query, uppercase query,
partial match, brak wyników, pusta kolekcja, null/whitespace query.
Uruchom testy bez wychodzenia z sesji:
> !dotnet test
# Agent Task raportuje: "Wszystkie testy przeszły" albo pełny stack trace jeśli nie
> /agent
# Wróć do domyślnego (no agent) lub użyj security-reviewer
> /review
# Skill dotnet-checklist auto-ładuje się bo widzimy "code review" w kontekście
# Wbudowany agent /review sprawdza staged/unstaged zmiany
Trzeci scenariusz pokazuje wartość MCP przy wchodzeniu na nowy projekt. Zakładamy że dostajesz dostęp do repozytorium .NET którego nie znasz.
copilot
# Faza 1: Wielkie spojrzenie – Filesystem MCP
> Opisz architekturę tego projektu .NET. Warstwy, zależności, entry points.
# Faza 2: Konkretny przepływ – składnia @
> @Program.cs @TaskService.cs Co się dzieje gdy użytkownik woła "dotnet run -- add Zakupy"?
Prześledź krok po kroku.
# Faza 3: Analiza jakości – agent dotnet-reviewer
> /agent
# Wybierz "dotnet-reviewer"
> @TaskService.cs Jakie są problemy projektowe, braki w obsłudze błędów
i możliwości usprawnień?
# Faza 4: Co robić – GitHub MCP
> Wylistuj otwarte issues posortowane według priorytetu
# Faza 5: Zacznij kontrybuować
> Pobierz szczegóły najprostszego issue i zaproponuj plan implementacji
To co normalnie zajmuje kilka dni czytania dokumentacji i kodu – Copilot CLI skraca do jednej sesji.
Automatyzacja: pre-commit hook
Opcjonalne, ale bardzo wartościowe: security review automatycznie przed każdym commitem. Hook sprawdza staged pliki .cs i blokuje commit jeśli znajdzie krytyczne problemy.
cat > .git/hooks/pre-commit << 'EOF'
#!/bin/bash
# Pre-commit hook: security review staged plików C#
STAGED=$(git diff --cached --name-only --diff-filter=ACM | grep -E '\.cs$')
if [ -n "$STAGED" ]; then
echo "Copilot security review staged plików C#..."
for file in $STAGED; do
echo " Sprawdzam: $file"
REVIEW=$(timeout 60 copilot --allow-all -p \
"Security review @$file – tylko KRYTYCZNE problemy: SQL injection,
path traversal, hardcoded secrets, brak walidacji. Odpowiedź jednym
słowem PASS lub FAIL z krótkim uzasadnieniem." 2>/dev/null)
if [ $? -eq 124 ]; then
echo " Warning: timeout dla $file (pomijam)"
continue
fi
if echo "$REVIEW" | grep -qi "FAIL"; then
echo " Krytyczny problem w $file:"
echo "$REVIEW"
exit 1
fi
done
echo "Security review: OK"
fi
EOF
chmod +x .git/hooks/pre-commit
⚠️ Uwagi praktyczne dla hooków
Wydajność: Hook wywołuje copilot -p dla każdego pliku – kilka sekund per plik. Ogranicz do krytycznych sprawdzeń (security), nie rób pełnego code review w hooku.
Windows: Bash hooks działają w Git Bash lub WSL. W PowerShell potrzeba innego podejścia lub copilot hooks API.
Alternatywa: Copilot CLI ma wbudowany system hooków (copilot hooks) – prostszy w konfiguracji, udokumentowany w oficjalnych docs.
Dobre praktyki – co wyniesiesz na co dzień
1. Kontekst zawsze pierwszy
Zanim poprosisz o analizę – zbierz kontekst. Agent bez danych daje generyczne odpowiedzi. Agent z issue, plikami i historią commitów daje precyzyjne wskazówki.
# Dobrze: kontekst → analiza
> Pobierz issue #8
> /agent → dotnet-reviewer
> @TaskService.cs Zanalizuj problem z issue #8
# Gorzej: analiza bez kontekstu
> /agent → dotnet-reviewer
> Napraw błąd w TaskService
2. Jeden temat per sesja
Używaj /rename na początku sesji i /exit na końcu. Jedna sesja = jeden feature/bug. Łatwiej wznowić, łatwiej eksportować przez /share.
Skill commit-message lub -p "..$(git diff --staged)"
Standardy które mają działać zawsze
AGENTS.md / copilot-instructions.md
4. Enkoduj workflow w repozytorium, nie w głowach
Agenci, Skills i AGENTS.md żyją w .github/ i są wersjonowane razem z kodem. Nowi członkowie teamu dostają Twoje workflow za darmo – nie muszą się uczyć od zera ani pytać kolegów "jak u was robi się code review".
To repozytorium staje się wtedy self-documenting – standardy i workflow są w nim zakodowane, nie tylko w dokumentacji, której (zwykle) nikt nie czyta.
Generator opisu PR – bonus dla codziennej pracy
Jeden z najpraktyczniejszych snippetów całej serii – PowerShell skrypt który generuje pełen opis PR z logu commitów:
# PowerShell
$branch = git branch --show-current
$commits = git log main..$branch --oneline
copilot -p "Wygeneruj opis pull requesta dla:
Branch: $branch
Commity:
$commits
Uwzględnij:
- Podsumowanie zmian (2-3 zdania)
- Co zostało zmienione i dlaczego
- Jak testować zmiany
- Czy są breaking changes? (tak/nie)
- Numer issues które zamykają te zmiany (jeśli widoczne z commitów)"
Podsumowanie całej serii
Czas zamknąć całą serię. Zaczęliśmy od pytania "czym jest Copilot CLI i czym różni się od Copilota w IDE", a kończymy z kompletnym toolsetem który zmienia sposób pracy.
📚 Co przerobiliśmy w ośmiu artykułach
#
Temat
Kluczowe pojęcie
00
Wprowadzenie do serii
Rodzina Copilot, projekt TaskList
01
Instalacja, trzy tryby pracy
Interactive / Plan / Programmatic
02
Kontekst i sesje
Składnia @, context window, --continue
03
Development workflows
Review, refactoring, debug, testy, git
04
Agenci i instrukcje
.agent.md, AGENTS.md, /agent
05
Skills
SKILL.md, auto-trigger, /skills
06
MCP Servers
GitHub MCP, Filesystem, Microsoft Learn
07
Kompletny workflow
Issue → implementacja → testy → PR
Najważniejsza rzecz do zapamiętania z całej serii: Copilot CLI nie zastępuje Cię jako developera. Zastępuje mechaniczne, powtarzalne fragmenty pracy – przepisywanie stack trace'ów, wyszukiwanie w dokumentacji, pisanie boilerplate'u, generowanie checklisty review. Ty zostajesz architektem który decyduje co zbudować i ocenić czy efekt jest dobry.
Najbardziej doświadczeni developerzy zyskują na tym nieproporcjonalnie dużo – bo wiedzą jak zadać właściwe pytanie, jak ocenić output i jak połączyć pracę AI w spójną architekturę. Copilot CLI nie podnosi poprzeczki dla juniorów. Mnoży możliwości seniorów.