← Všechny články

GitHub Copilot pro začátečníky: jak mu předat znalosti o Vašem projektu

Vlastní instrukce, dovednosti, agenti a MCP servery pomáhají GitHub Copilot dodržovat pravidla projektu a používat správné nástroje. Návod ukazuje, jak tato nastavení uložit do repozitáře a propojit aplikaci Copilot například s Playwright.

Neoficiální české shrnutí a překlad článku Microsoftu. Web není oficiálním kanálem Microsoftu. Originál: GitHub Copilot app for Beginners: How to teach Copilot about your codebase (GitHub Blog).

Při práci s AI záleží na kontextu. Každý projekt má vlastní pravidla: jak jsou uspořádané komponenty, které skripty se mají spouštět a jaké konvence platí pro jednotlivé frameworky a typy souborů.

Copilot Vám může pomoci s úpravami napříč projektem, ale nejlépe funguje, když tato pravidla zná. Velkou část těchto znalostí můžete uložit přímo do repozitáře. Copilot je pak může načítat automaticky, místo abyste při každém novém úkolu znovu vysvětlovali stejné standardy, skripty a pracovní postupy.

Tento díl série GitHub Copilot app for Beginners popisuje čtyři způsoby, jak přizpůsobit práci s Copilot potřebám Vašeho projektu:

  • Vlastní instrukce určují konvence, které má Copilot dodržovat.
  • Dovednosti agentů sdružují opakovatelné postupy.
  • Vlastní agenti poskytují specializované pokyny pro rozsáhlejší úkoly.
  • Servery Model Context Protocol (MCP) propojují Copilot s externími nástroji a zdroji dat, a rozšiřují tak jeho možnosti.

Jak jednotlivé možnosti fungují a jak je můžete kombinovat?

Představte si, že požádáte Copilot o přidání vlastní velikosti stránky do aplikace. Samotná úprava je jen část práce. Nový kód by měl také odpovídat vzorům, které Váš tým už používá.

Vlastní instrukce pro repozitář poskytují službě Copilot tento základní kontext. Přidejte soubor .github/copilot-instructions.md a zapište do něj pokyny platné pro celý repozitář, například preferovanou architekturu, konvence pojmenování nebo požadavky na testování a ověřování.

Ve složce .github/instructions můžete vytvořit také soubory s instrukcemi pro konkrétní cesty. Tyto soubory pomocí pole applyTo určují, kdy má Copilot dané pokyny použít.

Při práci s odpovídajícím souborem může Copilot využít jak instrukce pro celý repozitář, tak konkrétnější pokyny. Obecná pravidla tak zůstanou na jednom místě, aniž byste museli na všechny typy souborů uplatňovat stejný postup.

Vlastní instrukce se hodí pro standardy, které mají ovlivňovat řadu různých úkolů. Některé pokyny jsou ale důležité jen při konkrétním postupu, například při kontrolách kvality, přípravě vydání nebo hledání příčiny selhání pracovního postupu.

K tomu slouží dovednosti agentů. Dovednost (skill) je složka s instrukcemi a případně také se skripty a dalšími podklady, které si Copilot může načíst, když je potřebuje. Dovednosti na úrovni projektu můžete ukládat do .github/skills, každou do samostatné podsložky.

Například složka .github/skills/quality-checks může obsahovat soubor SKILL.md, který vysvětluje:

  • Kdy má Copilot dovednost použít.
  • Které skripty spouštějí testy projektu a linting.
  • Co jednotlivé skripty kontrolují.
  • Jak řešit běžná selhání.

Popis v souboru SKILL.md pomáhá službě Copilot určit, kdy je dovednost vhodná. Po úpravě rozhraní si může Copilot načíst dovednost quality-checks a při testování a lintingu postupovat podle zavedených pravidel projektu, místo aby odhadoval, které příkazy má spustit.

Některé úkoly přesahují jeden konkrétní postup. Například kontrola přístupnosti může vyžadovat prozkoumání komponent, šablon, stylů a interakcí napříč více soubory.

Vlastní agenti Vám umožňují vytvořit pro takovou práci specializované varianty GitHub Copilot. Profil agenta na úrovni repozitáře se ukládá do .github/agents a může definovat účel agenta, instrukce, nástroje a relevantní kontext projektu.

Vlastního agenta využijte tehdy, když se pro opakující se typ práce hodí vyhrazená role nebo specifický pohled. Zvlášť užitečný je u úkolů, které zasahují do více souborů a využívají několik nástrojů nebo zdrojů kontextu.

Instrukce, dovednosti a agenti pomáhají službě Copilot porozumět tomu, jak má pracovat uvnitř Vašeho projektu. MCP servery rozšiřují jeho přístup a možnosti za hranice repozitáře.

MCP servery propojují Copilot s externími nástroji, zdroji dat a službami. Server s dokumentací mu může zpřístupnit pokyny k používanému frameworku. Server jako Playwright mu zase umožní otevřít Vaši aplikaci v prohlížeči a pracovat s ní.

Dostupné MCP servery můžete procházet v aplikaci Copilot nebo přidat vlastní. Po nakonfigurování Playwright můžete zadat tento prompt:

Použijte MCP server Playwright k ručnímu otestování funkčnosti.

Copilot pak může pomocí Playwright otevřít aplikaci v prohlížeči a ovládat ji podobně jako Vy. Může tak ověřit nejen to, že kód projde automatizovanými kontrolami, ale také zda se upravené rozhraní chová podle očekávání.

Každá z těchto možností řeší jinou potřebu. Největší užitek ale přinášejí v kombinaci:

  • Vlastní instrukce definují konvence, které má Copilot dodržovat v celém repozitáři nebo u konkrétních souborů.
  • Dovednosti agentů sdružují opakovatelné postupy, které si Copilot může podle potřeby načítat.
  • Vlastní agenti poskytují specializované znalosti a pokyny pro rozsáhlejší úkoly.
  • MCP servery propojují Copilot s externími nástroji, službami a zdroji dat, a rozšiřují tak jeho možnosti.

Pokud chcete službě Copilot poskytnout užitečný kontext projektu, začněte čtyřmi otázkami:

  • Kterou konvenci projektu musíte stále znovu vysvětlovat?
  • Který vícekrokový postup opakujete?
  • Pro který složitý úkol by se hodil vyhrazený vlastní agent?
  • Jaký externí nástroj nebo zdroj Copilot potřebuje?

Nevíte, kde začít? Komunita zpřístupnila hotové instrukce, dovednosti, agenty a další podklady v Awesome Copilot. Vyberte si něco pro pracovní postup, který už opakovaně používáte, zkontrolujte obsah a přizpůsobte jej nástrojům a standardům Vašeho repozitáře.

Začněte v malém: vyberte jednu konvenci, kterou stále vysvětlujete, přidejte ji do .github/copilot-instructions.md a při dalším úkolu ověřte, jak ji Copilot uplatňuje.