diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 1040daf4..2977b568 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -10,7 +10,7 @@ This repo hosts the **workshop content** for **Copilot Workshops**, published as - `README.md` — Workshop landing page (also the site home via `slug: index` frontmatter). - `first-steps/` — Guided introductory workshops (`copilot-app/`, `copilot-cli/`, and `vscode/`). Each workshop has its own folder and `README.md` landing page. - `real-world-development/` — Scenario-based workshops organized by environment (`cli/`, `vscode/`, `cloud/`, and `app/`). Each environment's landing page is a `README.md` routed via a slug matching the full category path. Each workshop opens with its own `0-prerequisites.md` setup lesson. - - `es-es/`, `ja-jp/`, `ko-kr/`, `pt-br/`, `zh-cn/` — Localized content at the locale-root paths required by Starlight. Translated pages mirror the English path beneath each locale directory; untranslated pages use Starlight's English fallback. + - `es-es/`, `ja-jp/`, `ko-kr/`, `pl-pl/`, `pt-br/`, `zh-cn/` — Localized content at the locale-root paths required by Starlight. Translated pages mirror the English path beneath each locale directory; untranslated pages use Starlight's English fallback. - `_images/` — Screenshots and diagrams (shared across all locales). - `website/` — Optional Astro + Starlight site that publishes `docs/` to GitHub Pages (loader `base: '../docs'`). Only needed to self-host or preview the rendered site. - `astro.config.mjs` — Site config including the manually maintained sidebar and the `locales` block. The legacy `/shared/0-prereqs/` → home (`/`) redirect is a full-HTML redirect page at `src/pages/shared/0-prereqs.astro` (not an `astro.config.mjs` `redirects` entry, which would emit a stub with no `` element that Pagefind can't index). Prerequisites are now per workshop (`///0-prerequisites/`), so the old shared-prereqs URL forwards to the home page. diff --git a/.github/skills/localizations/rules/pl-pl.md b/.github/skills/localizations/rules/pl-pl.md new file mode 100644 index 00000000..46e91a42 --- /dev/null +++ b/.github/skills/localizations/rules/pl-pl.md @@ -0,0 +1,194 @@ +# pl-pl + +These rules apply to **both roles**: the `translator` agent uses them as generation directives (how to write the Polish text), and the `evaluator` agent uses them as review criteria (what to check and flag). Wherever a rule says "flag" or "look for", the translator should read it as "produce text that satisfies this". + +In general, producing and evaluating translation quality requires both accuracy of meaning and natural flow. Verify that the text passes core tests for accuracy, fluency, consistency, and cultural appropriateness. + +The four core pillars are: + +- **Accuracy:** Preserve the source meaning exactly, without additions, distortions, or omissions. +- **Fluency:** Follow Polish grammar, spelling, punctuation, and idiom so the text reads as native Polish. +- **Terminology & Consistency:** Use specialized terms, names, and recurring phrases uniformly. +- **Cultural Appropriateness:** Adapt idioms, examples, register, and vocabulary for Polish-speaking developers. + +## English to Polish Localization Scenario + +English-to-Polish translation quality is best evaluated by checking case inflection, grammatical agreement, idiomatic sentence structure, consistent treatment of the reader, and established developer terminology. Avoid English calques and overly literal word-for-word renderings. + +### Key Evaluation Pillars for Polish + +- **Regional Standard:** Use standard Polish (`pl-PL`) as used in technical documentation in Poland. Prefer natural forms such as **plik**, **repozytorium**, **kliknij**, **zaloguj się**, and **poczta e-mail** / **e-mail**, according to context. +- **Reader Address and Register:** For technical documentation, use a professional, direct style with consistent second-person singular (**ty** / imperative forms such as **Uruchom**, **Otwórz**, **Wybierz**). Do not alternate between formal **Pan/Pani** and informal **ty** within a document. Past-tense and adjectival forms addressing the learner use the conventional masculine singular of Polish technical docs (**zainstalowałeś**, **użyłeś**, **Powinieneś**). Do not switch to plural-*państwo* / *oni* forms or doubled feminine/masculine pairs unless the English source explicitly requires inclusive double forms. +- **Grammatical Agreement:** Verify case, gender, number, and adjective agreement, especially around untranslated product names and code terms. Inflect surrounding Polish words correctly even when the product name stays in English. +- **Natural Syntax:** Restructure dense English noun stacks. Polish often needs prepositions, genitive constructions, or subordinate clauses rather than long sequences of nominal modifiers. +- **Punctuation:** Follow Polish punctuation rules. Prefer Polish quotation marks („ ”) in running prose when natural; do not invent capitalization after a colon unless the following text independently requires it. + +### Common Translation Mistakes to Flag + +- **English Calques:** Flag literal renderings such as *uruchomić aplikację* used where **uruchom** / **wykonaj** is clearer, or *kliknąć na* when **kliknij** is enough. Prefer natural Polish verbs for UI and terminal actions. +- **False Friends:** Check terms such as *aktualnie*, *ewentualnie*, *kontrolować*, and *aplikacja*. Depending on context, use **obecnie**, **ewentualnie/w razie potrzeby**, **sprawdzać/sterować**, and **aplikacja/program** carefully. +- **Case Errors:** English has no case system; Polish does. Flag wrong genitive/accusative/locative around nouns modified by untranslated English product names. +- **Possessive Overuse:** English repeats "your" and "its" more often than Polish. Omit possessives when the referent is clear, but preserve ownership where it affects meaning. +- **Inconsistent Imperatives:** Flag mixing **zrób** / **proszę zrobić** / **należy zrobić** without a clear pattern. Prefer direct imperatives for step-by-step instructions. + +### Practical Evaluation Framework + +| Evaluation Metric | What to Look For (English to Polish Context) | +| :--- | :--- | +| **Accuracy (dokładność)** | Are every fact, condition, number, name, and logical relationship preserved? | +| **Fluency (płynność)** | Would a Polish reader understand each sentence immediately without detecting English syntax? | +| **Style Guide (styl)** | Are case, agreement, punctuation, capitalization, and register correct? | + +## Markdown Syntaxes + +Keep Markdown delimiters attached to the text they format, while placing Polish punctuation outside or inside the formatted span according to what is semantically emphasized. Do not allow translated punctuation or articles to enter URLs, code spans, or link targets. + +- Correct: `Zapoznaj się z [**dokumentacją Node.js**](https://nodejs.org/).` +- Incorrect: `Zapoznaj się z **[dokumentacją Node.js](https://nodejs.org/).**` when the final period is not part of the link text. + +When a translated heading changes its generated slug, update every same-document link to the localized anchor. Preserve external URLs exactly. + +## Localization for Technical Documents for Developers + +Polish developer documentation should be precise and concise. Translate established concepts when the Polish term is conventional, but retain product names, API names, identifiers, commands, and widely recognized technology terms when translating them would reduce clarity. + +### Workshop Structure Conventions + +Mirror the English harness structure, but keep these Polish naming patterns established in `docs/pl-pl/`: + +- **Harness product names** + - GitHub Copilot app → **Aplikacja GitHub Copilot** (short forms: **aplikacja Copilot**, **aplikacja** when unambiguous) + - GitHub Copilot CLI → keep **GitHub Copilot CLI** / **Copilot CLI** + - Copilot Cloud Agent → **Agent chmurowy Copilot** on the locale landing; in lesson/exercise prose prefer **agent w chmurze** / **agent Copilot w chmurze** / **agenci w chmurze** (English *cloud agent* is acceptable in mixed product lists such as “Copilot Chat, Copilot CLI i Copilot cloud agent”) + - VS Code harness remains **VS Code** / **Visual Studio Code** and **GitHub Codespaces** + - **Agent Merge** stays English; agree Polish pronouns/adjectives as masculine (**który**, **go**, **sam**, **on**) +- **Lesson vs exercise labels** (do not mix within a harness) + - `docs/pl-pl/app/**` → **Lekcja** / **Lekcje**; titles like `Lekcja N - …` (ASCII hyphen) + - `docs/pl-pl/cli/**` → **Ćwiczenie** / **Ćwiczenia**; titles like `Ćwiczenie N - …` (ASCII hyphen) or `Ćwiczenie 0: …` when the English source uses a colon + - Locale landing (`docs/pl-pl/README.md`) may say **ćwiczenia** generically when referring to all harnesses together; keep **Lekcja** / **Ćwiczenie** inside each harness +- **Landing slugs:** `docs/pl-pl/README.md` → `slug: pl-pl`; harness landings → `slug: pl-pl/app`, `slug: pl-pl/cli`, etc. +- Common section titles to reuse: **Scenariusz**, **Wymagania wstępne**, **Rozpocznij**, **Podsumowanie i kolejne kroki**, **Zasoby**, **Dobre praktyki**. + +### Developer-Specific Evaluation Rules + +#### Terminology and English Terms + +- Use established equivalents such as **łańcuch** / **string** (when discussing the data type conceptually, prefer the form common in Polish developer docs), **tablica**, **zależność**, **wątek**, **instancja**, and **repozytorium**. Do not vary synonyms casually within one file. +- Keep recognized forms such as **API**, **SDK**, **framework**, **runtime**, product names, and protocol names when that is the normal developer usage. +- Preferred recurring workshop terms (follow the forms already used in `docs/pl-pl/`): + + | English | Polish workshop form | Notes | + | :--- | :--- | :--- | + | harness | **środowisko** | Workshop sense: VS Code / CLI / App / Cloud. Never leave **harness** in learner-facing prose. | + | infrastructure (scaffolding around the tool) | **infrastruktura** | Review/best-practices sense: instructions, skills, agents that shape output quality. Do **not** use **środowisko** here — that word is reserved for harness. | + | pull request | **pull request** / **PR** | Keep English; avoid **żądanie ściągnięcia**. Inflect surrounding Polish (*pull requesta*, *pull requestami*). | + | issue | **zgłoszenie** | Optional `(issues)` on first mention when clarifying GitHub Issues; keep UI labels like **When an issue is created** in English. | + | branch | **gałąź** / **gałęzie** | Prefer over English *branch* / *branchami* in prose. | + | commit | **commit** | Prefer **commit** for Git objects; Polish verb forms as needed (*commitować* only if natural). | + | merge (verb/noun) | **scal** / **scalanie** | Keep product name **Agent Merge** unchanged; masculine agreement in Polish. | + | helper (code unit) | **helper** | Keep English when naming a helper module/function (*fundament helpera*, *publishers helper*). Optional paraphrase **funkcja wspomagająca** only when not naming a specific helper. | + | custom instructions | **instrukcje niestandardowe** | Instruction files → **pliki instrukcji**; headings like **Pliki instrukcji**. | + | custom agent | **agent niestandardowy** / **agenci niestandardowi** | Agree number/gender with surrounding Polish. | + | agent skill(s) | **skill** / **skille** / **skilli** / **skillu** | Keep English root; apply Polish inflection. Prefer **skille agenta**; first mention may use **Skille agenta (agent skills)**. Titles: **Korzystanie ze skilli agenta**. Do not use **umiejętność** for the product feature. | + | slash command(s) | **polecenie slash** / **polecenia slash** | Keep **slash**; do not invent **polecenia ukośnikowe**. Prefer **polecenie** over **komenda** in prose. | + | MCP server | **serwer MCP** | Keep **MCP** and product server names (**Playwright MCP**, **GitHub MCP Server**). | + | canvas / canvases | **kanwa** / **kanwy** | | + | session | **sesja** / **sesja agenta** | | + | session mode | **tryb sesji** | Mode names **Plan**, **Interactive**, **Autopilot** stay English (UI). | + | plan mode | **tryb planowania** | | + | workspace | **obszar roboczy** | Prefer over English *workspace* in prose. | + | quick chat(s) | **szybki czat** / **szybkie czaty** | Sidebar/UI label **Quick chats** may stay English when mirroring the product surface. | + | codespace | **codespace** | Keep English lowercase in prose (*w codespace*); UI chrome **Codespaces** stays as in the product. | + | worktree | **worktree** / **git worktree** | Keep English. | + | diff | **diff** | Keep English in UI/review contexts (*widok diff*, *Przejrzyj diff*). | + | prompt | **prompt** | Keep English for the Copilot input; instructional prose around it is Polish. | + | automation(s) | **automatyzacja** / **automatyzacje** | UI labels like **Automations**, **New automation** stay English. | + | code review | **przegląd kodu** / **przegląd** | Prefer over **przeglądanie kodu**. | + +- For critical or unfamiliar jargon, the first occurrence in a file may include the English source term in parentheses when it improves lookup, for example, **Skille agenta (agent skills)** or **środowisko uruchomieniowe (runtime)**. Apply this selectively. +- Keep variables, function names, APIs, CLI commands (`npm install`), file names, and code exactly as in the source. Translate only human-language comments and explanatory prose inside code blocks. +- **Learner prompts in fenced blocks** that the user is instructed to paste into Copilot must stay in **English** so the agent receives the intended prompt. Translate surrounding instructional prose only. +- **UI chrome strings** that must match the product UI may stay in English when they mirror the English product surface. Examples from the workshop: `Use this template`, `Create a new repository`, `Home screen`, `Sessions`, `My work`, `New session`, `Toggle review panel`, `Create PR`, `Ready to merge`, `Merge pull request`, `Sign in with your browser`, `MCP servers`, `Add server`, `Popular MCP servers`, `Automations`, `Plan`, `Interactive`, `Autopilot`, `Yes, proceed`, `Quick chats`. + +#### Tone and Instructions + +- Use concise professional prose. Prefer direct instructions such as **Uruchom poniższe polecenie**. +- Address the learner with consistent second-person singular (**ty**) and masculine past-tense / modal forms common in Polish technical docs (**zainstalowałeś**, **użyłeś**, **przejrzałeś**, **Powinieneś**). Plural-*oni* / *państwo* address and feminine/masculine doublets are out of scope for this workshop unless the English source explicitly requires them. +- Prefer **polecenie** (or **zapytanie** when asking for an example/output) over **monit** for what the learner sends to Copilot (`Użyj poniższego polecenia`, `Wyślij poniższe polecenie`). English *prompt* may remain in UI sense as **pole monitu** / **interfejs** when naming the input box; do not force **monit** for instructional steps. +- Keyboard: **Wciśnij** for single keys (`Enter`); **Użyj kombinacji** for chords (`Ctrl`+`C`). +- Browser auth flows: **postępuj zgodnie z instrukcjami** (not *monitami*). +- Prefer future tense when narrating what Copilot will do next (**zabierze się za**, **zbada**, **stworzy**). +- Prefer **na podstawie zgłoszenia** when starting a session from an issue. +- Prefer instructional **Zwróć uwagę** / **Przejrzyj** / **Upewnij się** over bare **Zauważ** / **Potwierdź** where the learner must verify something. +- Avoid unnecessary courtesy formulas and repeated reader pronouns. Do not pad instructions with **proszę**. +- Preserve distinctions among requirements (**musi** / **wymagane**), recommendations (**zalecane** / **powinien**), and possibilities (**może**). Never weaken or strengthen normative language. + +#### Syntactic Readability for Code Logic + +- Put prerequisites and conditions before outcomes when that improves comprehension: **Jeśli brakuje klucza, wystąpi błąd.** +- Treat variables as grammatical units without changing them: **Tutaj `userId` identyfikuje użytkownika.** +- Avoid ambiguous pronouns after sentences containing several possible antecedents; repeat the precise noun where needed. +- Inflect Polish around untranslated English nouns correctly (*pull requesta*, *serwera MCP*, *skillu*, *sesji agenta*). + +### Quick Quality Checklist for Developer Docs + +| What to Flag (Bad) | What to Approve (Good) | Why it Matters | +| :--- | :--- | :--- | +| **"odpal `npm install`"** | **"uruchom `npm install`"** | Keeps a professional register while preserving the command. | +| **"biblioteka ładuje swoje zależności"** when ownership is unclear | **"biblioteka ładuje zależności"** | Avoids an ambiguous possessive. | +| Switching between **ty** and **Pan/Pani** | One consistent treatment | Keeps the documentation voice stable. | +| Translating `StringBuilder` | Keeping `StringBuilder` unchanged | Preserves the identifier exactly. | +| Translating a learner prompt the user must paste | Leaving the fenced prompt in English | Ensures Copilot receives the intended English prompt. | +| **"harness"** / **"żądanie ściągnięcia"** / **"umiejętność"** for agent skills | **"środowisko"** / **"pull request"** / **"skill"/"skille agenta"** | Matches workshop glossary and product language. | +| Mixing **Lekcja** and **Ćwiczenie** in one harness | **Lekcja** in app, **Ćwiczenie** in CLI | Preserves the established per-harness naming. | +| **"GitHub Copilot app"** left untranslated in prose | **"Aplikacja GitHub Copilot"** | Matches the localized product name used on landings and lessons. | +| Leaving UI labels like **Ready to merge** translated | Keeping product UI chrome in English | Learner can match on-screen controls. | +| **"Agent Merge, które/ono"** | **"Agent Merge, który/on"** | Product name takes masculine agreement in Polish. | +| **"środowisko"** for instructions/skills scaffolding | **"infrastruktura"** | Keeps **środowisko** = harness only. | +| Title **"… umiejętności agenta"** for agent skills | **"… skilli agenta"** | Product feature stays **skill**, not **umiejętność**. | + +## Evaluator Scoring Rubric + +This is the **definitive pass/fail gate** for the `evaluator` role. Criteria are split into two tiers: + +- **Tier A — Hard-fail criteria:** any material defect makes the document unusable, so these **must score 5 to pass**. +- **Tier B — Graded criteria:** scored on the 1–5 scale below; these **pass at 4 or 5**. + +A document **PASSES only when every applicable Tier A criterion scores 5 and every applicable Tier B criterion scores 4 or 5.** Otherwise it FAILS and is returned to the translator with specific notes that cite the offending source/target snippets and criterion. If the same subjective criterion still fails after **3 iterations**, escalate to a human. + +Tier B scale: + +- **5 — Excellent:** Fully meets the criterion; no issues. +- **4 — Good (pass):** At most 1–2 trivial, non-blocking nits per ~1,000 words. +- **3 — Borderline (fail):** Several noticeable issues, or any issue that changes how a sentence reads. +- **2 — Poor (fail):** Frequent or significant violations. +- **1 — Unacceptable (fail):** The criterion is largely unmet. + +### Determining Content Type + +- **Technical documentation** is content for developers/operators or any document containing code, commands, or API identifiers. Criteria 7–8 apply. +- **Non-technical content** is UI, marketing, narrative, or conversational copy without code. Criteria 7–8 do not apply, and Criterion 4 uses the audience-appropriate register. + +If otherwise non-technical content contains occasional code or links, Criterion 2 and Criterion 7 still apply to those spans. + +### Tier A — Hard-Fail Criteria (Must Score 5) + +| # | Criterion | Passes (5) when… | Fails (<5) when… | +| :-- | :--- | :--- | :--- | +| 1 | **Accuracy (dokładność)** | Meaning matches the source exactly; all facts, numbers, names, conditions, and modality are preserved. | Any mistranslation, negation flip, fabricated/dropped fact, altered number/name, or changed requirement level occurs. | +| 2 | **Markdown & Structural Integrity** | Frontmatter keys, Markdown, tables, external URLs, and heading order are preserved; localized anchors resolve; image paths point to real assets. | Any link or asset path is broken, a frontmatter key is translated, an English anchor remains after its heading changes, or Markdown/table structure is corrupted. | + +### Tier B — Graded Criteria (Must Score at Least 4) + +| # | Criterion | Scores 5 when… | Pass floor — Score 4 | Fail ceiling — Score 3 | Scores 1 when… | +| :-- | :--- | :--- | :--- | :--- | :--- | +| 3 | **Fluency (płynność)** | Reads as native `pl-PL`; grammar, case, agreement, syntax, and punctuation are correct; no calques. | At most 2 minor slips that do not impede reading. | Any awkward calque requiring rereading, or 3+ language errors. | English-shaped or ungrammatical prose is pervasive. | +| 4 | **Register & Reader Address** | Professional register and **ty**/imperative treatment fit the audience and remain uniform. | One isolated treatment slip that does not shift the perceived voice. | Two or more treatment shifts, or an audience-inappropriate tone. | Register and reader address are inconsistent throughout. | +| 5 | **Terminology & Consistency** | Terms follow `pl-PL` conventions and the workshop glossary above (including harness names and Lekcja/Ćwiczenie); each concept is rendered consistently. | One minor inconsistency remains understandable. | Two or more inconsistent renderings, a false friend, or one misleading term. | Terminology is unreliable throughout. | +| 6 | **Regional & Linguistic Naturalness** | Idioms, possessives, and vocabulary are natural for Polish without unnecessary source-language interference. | One or two harmless stylistic nits. | Several calques, ambiguous possessives, or unnatural phrasing. | The text consistently sounds translated. | +| 7 | **Code & Command Integrity** *(technical only — Tier A severity: any violation caps this at ≤2)* | Variables, identifiers, APIs, file names, and commands are unchanged; learner prompts stay English; only human-language comments are translated. | — (no trivial tolerance) | A single identifier, file name, command, or learner prompt is altered. | Code and commands are repeatedly translated or corrupted. | +| 8 | **Developer Terminology Convention** *(technical only)* | Established Polish and retained English terms match actual developer usage; over-translation is avoided. | One borderline but recognizable choice. | A forced translation or nonstandard term would confuse a developer. | Technical concepts are consistently rendered unnaturally. | + +> Criterion 7 has Tier A severity in practice: any altered command, identifier, or learner prompt fails the document. + +**Overall result:** PASS only if Criteria 1–2 equal 5 and every applicable Criterion 3–8 is at least 4, with no Criterion 7 violation. Otherwise FAIL and iterate, up to the 3-iteration escalation cap. Score each defect under the most specific criterion and do not double-penalize it. diff --git a/AUTHORING.md b/AUTHORING.md index d2f7019b..af9669e2 100644 --- a/AUTHORING.md +++ b/AUTHORING.md @@ -21,7 +21,7 @@ copilot-workshops/ │ │ ├── vscode/ ← VS Code lessons, including the optional 7-foundry-toolkit/ series │ │ ├── cloud/ ← Cloud agent lessons │ │ └── app/ ← GitHub Copilot app lessons -│ ├── es-es/ ja-jp/ ... ← Translated locale trees mirroring source paths +│ ├── es-es/ ja-jp/ ko-kr/ pl-pl/ pt-br/ zh-cn/ ← Translated locale trees mirroring source paths │ └── _images/ ← Screenshots and diagrams (shared across locales) ├── website/ ← Optional Astro + Starlight publisher │ ├── astro.config.mjs ← Site URL, base path, locales, sidebar diff --git a/README.md b/README.md index 29022d5a..e75ce100 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ For PR/CI rules, see **[CONTRIBUTING.md](./CONTRIBUTING.md)**. - `README.md` — Workshop landing page (also the published site's home via `slug: index`). - `first-steps/` — Guided introductory workshops for the GitHub Copilot app, GitHub Copilot CLI, and VS Code, adapted from James Montemagno's [First Steps with GitHub Copilot](https://github.com/jamesmontemagno/first-steps-with-github-copilot) (MIT). - `real-world-development/` — Scenario-based workshops organized by environment: `cli/`, `vscode/`, `cloud/`, and `app/`. - - `es-es/`, `ja-jp/`, `ko-kr/`, `pt-br/`, `zh-cn/` — Translated locale trees that mirror available English category and workshop paths. + - `es-es/`, `ja-jp/`, `ko-kr/`, `pl-pl/`, `pt-br/`, `zh-cn/` — Translated locale trees that mirror available English category and workshop paths. - `_images/` — Screenshots and diagrams (shared across all locales). - **`website/`** — Optional Astro + Starlight site that publishes `docs/` to GitHub Pages. Only needed to self-host or preview the rendered site. - `astro.config.mjs` — Site URL, base path, `locales` block, sidebar. diff --git a/docs/pl-pl/README.md b/docs/pl-pl/README.md new file mode 100644 index 00000000..8d27efb8 --- /dev/null +++ b/docs/pl-pl/README.md @@ -0,0 +1,44 @@ +--- +slug: pl-pl +title: "Warsztaty GitHub Copilot" +authors: + - geektrainer + - azkel +lastUpdated: 2026-10-04 +--- + +Wybierz warsztat w zależności od tego, czego chcesz się nauczyć i jak głęboko chcesz to poznać. **Pierwsze kroki** to prowadzone wprowadzenie do GitHub Copilot, a **Rozwój w realnych scenariuszach** korzysta z pełnej aplikacji i backlogu zespołu, aby ćwiczyć przepływy pracy zbliżone do produkcyjnych. + +## Pierwsze kroki + +Zacznij od skoncentrowanego, prowadzonego doświadczenia, które przedstawia kluczowe możliwości produktu GitHub Copilot bez wymagania istniejącej bazy kodu. + +### [Przewodnik po aplikacji GitHub Copilot][first-steps-app] + +Zbuduj Space Quiz z pustego folderu, opublikuj go na GitHubie, zaimplementuj zgłoszenie, ukończ przegląd Copilota, zaplanuj automatyzację i poznaj przepływ pracy z kanwą (Canvas). + +### [Pierwsze kroki z GitHub Copilot CLI][first-steps-cli] + +Zbuduj ten sam Space Quiz w terminalu, przeglądaj diffy, uruchamiaj równoległe sesje w worktree, planuj przed edycją oraz twórz, scalaj i deleguj pull requesty bez opuszczania powłoki. + +### [Pierwsze kroki z Visual Studio Code][first-steps-vscode] + +Zbuduj Space Quiz w VS Code, przetestuj go w zintegrowanej przeglądarce, opublikuj przez Source Control, pracuj ze zgłoszeniami i pull requestami przez narzędzia GitHub oraz przekaż pracę do sesji w chmurze. + +## Rozwój w realnych scenariuszach + +Ćwicz GitHub Copilot w realistycznym cyklu życia oprogramowania, korzystając z aplikacji Tailspin Toys i jej backlogu. Wybierz środowisko, w którym chcesz pracować, a następnie planuj, buduj, testuj, przeglądaj i dostarczaj istotne zmiany. + +### [Przeglądaj warsztaty rozwoju w realnych scenariuszach][real-world-development] + +Wybierz spośród GitHub Copilot CLI, aplikacji GitHub Copilot, agenta chmurowego GitHub Copilot lub Visual Studio Code. + +> [!CAUTION] +> GitHub Copilot jest probabilistyczny, a nie deterministyczny, więc dokładny kod i zmienione pliki mogą się różnić od przykładów. Drobne różnice są oczekiwane. +> +> Jeśli coś wygląda na uszkodzone lub nie działa poprawnie podczas warsztatów prowadzonych przez instruktora, poproś mentora o pomoc. + +[first-steps-app]: first-steps/copilot-app/ +[first-steps-cli]: first-steps/copilot-cli/ +[first-steps-vscode]: first-steps/vscode/ +[real-world-development]: real-world-development/ diff --git a/docs/pl-pl/first-steps/README.md b/docs/pl-pl/first-steps/README.md new file mode 100644 index 00000000..b760ca80 --- /dev/null +++ b/docs/pl-pl/first-steps/README.md @@ -0,0 +1,36 @@ +--- +title: "Pierwsze kroki" +slug: pl-pl/first-steps +authors: + - geektrainer + - azkel +lastUpdated: 2026-10-04 +--- + +Warsztaty Pierwsze kroki to prowadzone wprowadzenia, które pomagają poznać GitHub Copilot bez wymagania istniejącej aplikacji ani szczegółowego scenariusza rozwojowego. Każdy warsztat zaczyna się od małych kroków, przedstawia produkt w trakcie używania i przeprowadza Cię przez kompletny przepływ pracy. + +Każdy warsztat buduje ten sam Space Quiz z pustego folderu, więc możesz wybrać narzędzie, którego chcesz się nauczyć, albo ukończyć więcej niż jedno, aby porównać, jak każde z nich działa. + +> [!NOTE] +> Te warsztaty stworzył [James Montemagno][james], a zostały zaadaptowane z [First Steps with GitHub Copilot][source-lab], dostępnego na licencji [MIT][source-license]. + +## Warsztaty + +### [Przewodnik po aplikacji GitHub Copilot][copilot-app] + +Zbuduj kolorowy Space Quiz z pustego folderu i przejdź przez pętlę rozwoju: utwórz, dopracuj, przetestuj, zapisz instrukcje projektu, opublikuj, zaplanuj pracę, zaimplementuj zgłoszenia, przejrzyj i scal pull request, zautomatyzuj powtarzalną pracę oraz poznaj rozszerzenie Canvas. + +### [Pierwsze kroki z GitHub Copilot CLI][copilot-cli] + +Poznaj pętlę terminalową: buduj i przeglądaj diffy zanim Git cokolwiek zapisze, uruchamiaj sesje równolegle w worktree, planuj przed edycją, zarządzaj kontekstem, a następnie twórz, scalaj i deleguj pracę bez opuszczania powłoki. + +### [Pierwsze kroki z Visual Studio Code][vscode] + +Użyj pętli edytora: buduj w obszarze roboczym, dopracowuj elementy z zintegrowanej przeglądarki, sprawdzaj kontekst, testuj zanim Git cokolwiek zapisze, planuj przed edycją i pozwól narzędziom GitHub obsłużyć zgłoszenia, pull requesty oraz sesje w chmurze bez opuszczania VS Code. + +[james]: https://github.com/jamesmontemagno +[source-lab]: https://github.com/jamesmontemagno/first-steps-with-github-copilot +[source-license]: https://github.com/jamesmontemagno/first-steps-with-github-copilot/blob/main/LICENSE +[copilot-app]: copilot-app/ +[copilot-cli]: copilot-cli/ +[vscode]: vscode/ diff --git a/docs/pl-pl/first-steps/copilot-app/0-prerequisites.md b/docs/pl-pl/first-steps/copilot-app/0-prerequisites.md new file mode 100644 index 00000000..f7600a09 --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-app/0-prerequisites.md @@ -0,0 +1,75 @@ +--- +title: "Lekcja 0 - Wymagania wstępne i konfiguracja" +description: "Sprawdź wymagania wstępne warsztatu, zainstaluj aplikację GitHub Copilot i poznaj jej obszar roboczy." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Zanim zbudujesz Space Quiz, upewnij się, że masz wszystko, czego potrzebujesz, zainstaluj aplikację GitHub Copilot i poznaj jej obszar roboczy. + +W tej lekcji: + +- sprawdzisz wymagania wstępne warsztatu. +- zainstalujesz aplikację GitHub Copilot i zalogujesz się. +- wybierzesz model do sesji. +- poznasz główne obszary pracy aplikacji. +- wypróbujesz szybki czat. + +## Wymagania wstępne + +Potrzebujesz: + +- konta GitHub z [planem Copilot][copilot-plans]. +- komputera z systemem macOS, Windows lub Linux. + +Aplikacja zawiera Git, więc nie musisz instalować nic więcej. + +> [!NOTE] +> Jeśli korzystasz z Copilot Business lub Copilot Enterprise, administrator musi włączyć zasadę **Copilot CLI**, zanim sesje agenta zaczną działać. + +## Zainstaluj i skonfiguruj aplikację + +1. Pobierz i zainstaluj [aplikację GitHub Copilot][download-app] dla swojego systemu operacyjnego. +2. Otwórz aplikację. +3. Wybierz **Sign in to GitHub** i uwierzytelnij się. +4. Wybierz motyw, a następnie **Finish**. + +## Wybierz model + +Przy wyborze modelu stosuj poniższą kolejność preferencji i wybierz pierwszą dostępną opcję: + +1. **GPT-6-Luna** (zalecany). +2. **Auto**, jako zrównoważona opcja zapasowa. +3. Dowolny model z [listy aktywnych modeli][active-models]. + +Dostępność modeli zależy od planu, zasad organizacji i wersji produktu. + +## Poznaj obszar roboczy + +Aplikacja łączy przepływ pracy rozwojowej w jednym miejscu: + +- **New**: Uruchom sesję w projekcie albo wybierz **Chat**, aby zadać szybkie pytanie. +- **My work**: Przeglądaj zgłoszenia i pull requesty na GitHubie. +- **Automations**: Planuj powtarzalną pracę agenta w repozytorium. +- **Customize**: Zmieniaj motywy i modele oraz zarządzaj rozszerzeniami kanw. + +## Wypróbuj szybki czat + +Nie każde pytanie wymaga obszaru roboczego. W **New** wybierz **Chat** zamiast projektu. Czat nie ma podłączonego repozytorium i nie może edytować plików, więc to najszybszy sposób, by zadać pytanie, uzyskać wyjaśnienie albo przemyśleć podejście przed prawdziwą sesją. + +Wyślij poniższe polecenie w czacie: + +```plaintext +How does the GitHub Copilot app use worktrees? +``` + +## Podsumowanie i kolejne kroki + +Sprawdziłeś wymagania wstępne, zainstalowałeś aplikację, wybrałeś model i poznałeś jej główne obszary pracy. Przejdź do [Lekcji 1: Utwórz obszar roboczy Space Quiz][next-lesson]. + +[copilot-plans]: https://github.com/features/copilot/plans +[download-app]: https://gh.io/app +[active-models]: https://docs.github.com/copilot/reference/copilot-billing/models-and-pricing +[next-lesson]: ../1-create-workspace/ diff --git a/docs/pl-pl/first-steps/copilot-app/1-create-workspace.md b/docs/pl-pl/first-steps/copilot-app/1-create-workspace.md new file mode 100644 index 00000000..20256045 --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-app/1-create-workspace.md @@ -0,0 +1,35 @@ +--- +title: "Lekcja 1 - Utwórz obszar roboczy Space Quiz" +description: "Uruchom lokalną sesję Interactive dla Space Quiz w pustym folderze." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Utwórz lokalny obszar roboczy dla Space Quiz i skonfiguruj sesję, w której zachowasz kontrolę, gdy agent zacznie pracę. + +W tej lekcji: + +- otworzysz pusty folder lokalny. +- uruchomisz sesję agenta w trybie Interactive. +- potwierdzisz folder, tryb i model przed pierwszym promptem. + +## Utwórz obszar roboczy + +1. Otwórz aplikację GitHub Copilot i upewnij się, że jesteś zalogowany. +2. Wybierz **New**, potem **Open folder**, i wskaż pusty folder o nazwie `space-quiz`. Najpierw utwórz folder, jeśli jeszcze nie istnieje. +3. Ustaw tryb sesji na **Interactive**. +4. Wybierz preferowany model według [kolejności preferencji z Lekcji 0][model-order]. +5. Wybierz **Create**. Sesja otworzy się pusta i będzie czekać na pierwsze polecenie. + +![Ilustracja ekranu New w aplikacji Copilot z polem promptu, trybem Interactive, modelem Auto i wyborem agenta Default oraz folderem space-quiz na lokalnej gałęzi main.](../../../_images/first-steps-app-new-session.svg) + +Ekran **New** to miejsce, w którym ustawiasz folder, tryb i agenta, zanim wpiszesz pierwsze polecenie. Sesja Interactive pozwala kierować pracą i przeglądać każdy etap, podczas gdy agent buduje projekt. + +## Podsumowanie i kolejne kroki + +Pusty obszar roboczy Space Quiz jest gotowy. Przejdź do [Lekcji 2: Zbuduj i dopracuj quiz][next-lesson]. + +[model-order]: ../0-prerequisites/#wybierz-model +[next-lesson]: ../2-build-and-polish/ diff --git a/docs/pl-pl/first-steps/copilot-app/10-remote.md b/docs/pl-pl/first-steps/copilot-app/10-remote.md new file mode 100644 index 00000000..258483f9 --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-app/10-remote.md @@ -0,0 +1,34 @@ +--- +title: "Lekcja 10 - Kontynuuj sesję zdalnie (opcjonalnie)" +description: "Użyj /remote, aby kontynuować trwającą sesję aplikacji na GitHubie i śledzić ją z dowolnego urządzenia." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Ta lekcja jest opcjonalna — warto zostawić ją na moment, gdy lokalna pętla będzie już naturalna. Polecenie `/remote` kontynuuje sesję, w której już jesteś, na GitHubie, dzięki czemu możesz odejść od komputera i nadal ją śledzić. + +W tej lekcji: + +- kontynuujesz trwającą sesję zdalnie. +- śledzisz zdalną sesję z przeglądarki. +- przejrzysz wynikające zmiany tak samo jak każdy inny pull request. + +## Kontynuuj sesję zdalnie + +1. Otwórz sesję, w której trwa praca. +2. Uruchom `/remote`, aby kontynuować tę sesję zdalnie. +3. Wybierz zwrócony link, aby otworzyć zdalną sesję w przeglądarce. +4. Śledź postęp stamtąd, a następnie przejrzyj zmiany dokładnie tak, jak przy każdym innym pull requeście. + +> [!NOTE] +> **To nie jest delegacja** +> +> Nie przekazujesz zadania innemu agentowi. To ta sama sesja, kontynuowana w miejscu, do którego dotrzesz z dowolnego urządzenia. + +## Podsumowanie i kolejne kroki + +Kontynuowałeś sesję poza lokalną maszyną. Przejdź do [Lekcji 11: Poznaj kanwę][next-lesson]. + +[next-lesson]: ../11-canvas/ diff --git a/docs/pl-pl/first-steps/copilot-app/11-canvas.md b/docs/pl-pl/first-steps/copilot-app/11-canvas.md new file mode 100644 index 00000000..5624baba --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-app/11-canvas.md @@ -0,0 +1,51 @@ +--- +title: "Lekcja 11 - Poznaj kanwę" +description: "Zainstaluj kanwę Repository Issues Kanban i uruchom sesję z karty zgłoszenia." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +**Kanwa (Canvas)** to współdzielona, dwukierunkowa powierzchnia, na której Ty i agent możecie aktualizować ten sam plan, tablicę, listę kontrolną albo pulpit. Poznaj kanwę Kanban, która zamienia zgłoszenia repozytorium w wizualny przepływ pracy. + +W tej lekcji: + +- zainstalujesz rozszerzenie kanwy. +- połączysz kanwę z repozytorium Space Quiz. +- przeniesiesz zgłoszenie do aktywnej pracy. +- przejrzysz sesję utworzoną na podstawie zgłoszenia. + +## Zainstaluj kanwę Repository Issues Kanban + +1. Przejrzyj [galerię rozszerzeń Canvas][canvas-gallery]. +2. Otwórz [rozszerzenie Repository Issues Kanban][kanban-extension]. +3. Wybierz **Install in GitHub Copilot app** i zatwierdź instalację. +4. W aplikacji otwórz **Customize**, a następnie **Canvas**. +5. Upewnij się, że rozszerzenie jest zainstalowane. + +## Zacznij pracę z kanwy + +1. Wybierz **New session** dla kanwy. +2. Wybierz projekt `space-quiz`. +3. Poznaj tablicę zgłoszeń. +4. Przenieś kartę zgłoszenia do kolumny aktywnej pracy. +5. Otwórz automatycznie wygenerowaną sesję. +6. Upewnij się, że wybrane zgłoszenie jest dostępne jako kontekst sesji. + +![Ilustracja kanwy Repository Issues Kanban z pasami Backlog, Plan, Ready i Implement. Zgłoszenie 13, Review screen, jest przeciągane z Backlog do pasa Plan, a zgłoszenie 12, Per-question timer, pozostaje w Backlog.](../../../_images/first-steps-app-canvas-kanban.svg) + +Gdy upuścisz kartę na pas, kanwa przekazuje to zgłoszenie do nowej sesji z już załadowanym zgłoszeniem. + +> [!NOTE] +> Bieżące rozszerzenie Repository Issues Kanban przenosi karty przez przeciąganie i upuszczanie wskaźnikiem. Jeśli nie możesz użyć tej interakcji, zanotuj numer zgłoszenia na tablicy, otwórz zgłoszenie w **My work**, a następnie wybierz **New session**. To tworzy tę samą sesję opartą na zgłoszeniu bez przenoszenia karty. + +Kanwa daje wizualny sposób wyboru i rozpoczęcia pracy, jednocześnie utrzymując agenta w kontekście zgłoszenia. + +## Podsumowanie i kolejne kroki + +Użyłeś współdzielonej powierzchni wizualnej, aby uruchomić sesję agenta. Przejdź do [Lekcji 12: Podsumowanie i kolejne kroki][next-lesson]. + +[canvas-gallery]: https://awesome-copilot.github.com/extensions/ +[kanban-extension]: https://awesome-copilot.github.com/extension/accessibility-kanban/ +[next-lesson]: ../12-review/ diff --git a/docs/pl-pl/first-steps/copilot-app/12-review.md b/docs/pl-pl/first-steps/copilot-app/12-review.md new file mode 100644 index 00000000..9a49a31a --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-app/12-review.md @@ -0,0 +1,52 @@ +--- +title: "Lekcja 12 - Podsumowanie i kolejne kroki" +description: "Podsumuj przepływ pracy w aplikacji GitHub Copilot i znajdź zasoby do dalszej nauki." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Kierowałeś agentem przez kompletny przepływ pracy rozwojowej: od pustego folderu przez zaplanowaną pracę, izolowaną implementację, przegląd kodu, automatyzację, sesję zdalną aż po wizualną kanwę. + +## Co ukończyłeś + +Ukończyłeś: + +- utworzenie lokalnego projektu w trybie Interactive. +- zbudowanie i dopracowanie quizu z żywą informacją zwrotną z przeglądarki. +- przejrzenie szczegółów sesji i uruchomienie smoke testu na poziomie przeglądarki. +- zapisanie reguł projektu za pomocą `/init`. +- opublikowanie projektu jako repozytorium GitHub. +- utworzenie skupionego backlogu. +- zaimplementowanie zgłoszenia w izolowanym worktree i przejrzenie diffu. +- zaplanowanie drugiego zgłoszenia przed jakąkolwiek zmianą w kodzie. +- przeprowadzenie zgłoszenia przez przegląd pull requesta i Agent Merge. +- zautomatyzowanie cotygodniowego triage zgłoszeń. +- kontynuowanie sesji zdalnie. +- poznanie współdzielonej kanwy Kanban. + +## Kontynuuj eksplorację + +- [Dowiedz się więcej o aplikacji GitHub Copilot][about-app]. +- [Przejrzyj oficjalny przewodnik rozpoczęcia pracy][getting-started]. +- [Naucz się pracy z sesjami agenta][agent-sessions]. +- [Zarządzaj zgłoszeniami i pull requestami w aplikacji][issues-and-prs]. +- [Dowiedz się więcej o przeglądzie kodu Copilot][code-review]. +- [Buduj i używaj rozszerzeń Canvas][canvas-extensions]. +- [Stosuj dobre praktyki pisania promptów, które sprawdzają się na realnym kodzie][best-practices]. +- [Porównaj plany Copilot][copilot-plans]. + +Przeprowadź ten sam Space Quiz w innym sposobie pracy w [warsztacie Pierwsze kroki z Copilot CLI][first-steps-cli] albo w [warsztacie Pierwsze kroki z Visual Studio Code][first-steps-vscode]. Jeśli jesteś gotowy na głębszy scenariusz z kompletną aplikacją i backlogiem zespołu, kontynuuj z [warsztatem aplikacji GitHub Copilot w realnym świecie][real-world-app]. + +[about-app]: https://docs.github.com/copilot/concepts/agents/github-copilot-app +[getting-started]: https://docs.github.com/copilot/how-tos/github-copilot-app/getting-started +[agent-sessions]: https://docs.github.com/copilot/how-tos/github-copilot-app/agent-sessions +[issues-and-prs]: https://docs.github.com/copilot/how-tos/github-copilot-app/managing-issues-and-pull-requests +[code-review]: https://docs.github.com/copilot/concepts/code-review/code-review +[canvas-extensions]: https://docs.github.com/copilot/how-tos/github-copilot-app/working-with-canvas-extensions +[best-practices]: https://docs.github.com/copilot/get-started/best-practices +[copilot-plans]: https://github.com/features/copilot/plans +[first-steps-cli]: ../copilot-cli/ +[first-steps-vscode]: ../vscode/ +[real-world-app]: ../../real-world-development/app/ diff --git a/docs/pl-pl/first-steps/copilot-app/2-build-and-polish.md b/docs/pl-pl/first-steps/copilot-app/2-build-and-polish.md new file mode 100644 index 00000000..9602e347 --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-app/2-build-and-polish.md @@ -0,0 +1,63 @@ +--- +title: "Lekcja 2 - Zbuduj i dopracuj quiz" +description: "Zbuduj jednoplikowy Space Quiz i dopracuj go w zintegrowanej przeglądarce oraz za pomocą element pickera." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Użyj jednego szczegółowego polecenia, aby zbudować Space Quiz, sprawdzić jego działanie w zintegrowanej przeglądarce i wprowadzić poprawkę wizualną za pomocą element pickera. + +W tej lekcji: + +- utworzysz quiz bez zależności w pliku `index.html`. +- przetestujesz quiz w zintegrowanej przeglądarce. +- przejrzysz wygenerowany kod. +- dopracujesz wybrany element, zachowując dostępność. + +## Zbuduj quiz + +Wyślij poniższe polecenie w sesji `space-quiz`: + +```plaintext +Create a space exploration quiz with 10 questions, a progress bar, score counter, and colorful animated feedback (green for correct, red shake for wrong). Show a results screen with emoji reaction at the end. Center in a narrow column. Single index.html, no server/dependencies. Polished, sans-serif, 14–16px body, prefers-color-scheme. Open in the integrated browser. +``` + +Gdy agent skończy, zagraj kilka pytań i upewnij się, że: + +- pasek postępu się przesuwa. +- wynik się aktualizuje. +- poprawne odpowiedzi pokazują stan zielony. +- błędne odpowiedzi używają czerwonej animacji wstrząsu. +- ekran wyników pojawia się po ostatnim pytaniu. + +## Przejrzyj wygenerowany kod + +Zwiń lewy pasek boczny i prawy panel przeglądarki, a następnie przejrzyj `index.html` w rozszerzonym obszarze kodu. Zwróć uwagę, jak HTML, CSS i JavaScript współdziałają w jednym pliku. Przywróć oba panele, gdy skończysz. + +## Dopracuj z element pickerem + +1. Wybierz element picker na pasku narzędzi przeglądarki. +2. Wybierz nagłówek quizu lub obszar odpowiedzi. +3. Wyślij poniższe polecenie: + + ```plaintext + Make the selected element feel more like a mission-control display. Keep it accessible and preserve the existing light and dark themes. + ``` + +4. Obserwuj odświeżenie zintegrowanej przeglądarki i sprawdź zmianę. + +## Opcjonalne dopracowania + +Jeśli chcesz dalej eksperymentować, poproś agenta, aby: + +- dodał subtelne tło z polem gwiazd, które respektuje `prefers-reduced-motion`. +- uczynił ekran wyników bardziej celebracyjnym przy wyniku 8 lub wyższym. +- poprawił stany fokusu klawiatury, a następnie zweryfikował quiz bez myszy. + +## Podsumowanie i kolejne kroki + +Zbudowałeś, przejrzałeś i dopracowałeś Space Quiz. Przejdź do [Lekcji 3: Przejrzyj sesję i przetestuj quiz][next-lesson]. + +[next-lesson]: ../3-inspect-and-test/ diff --git a/docs/pl-pl/first-steps/copilot-app/3-inspect-and-test.md b/docs/pl-pl/first-steps/copilot-app/3-inspect-and-test.md new file mode 100644 index 00000000..340e711d --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-app/3-inspect-and-test.md @@ -0,0 +1,53 @@ +--- +title: "Lekcja 3 - Przejrzyj sesję i przetestuj quiz" +description: "Przeczytaj szczegóły sesji, aby potwierdzić, nad czym pracuje agent, a następnie uruchom smoke test na poziomie przeglądarki, zanim Git cokolwiek zapisze." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Teraz, gdy sesja wykonała realną pracę, jest co sprawdzić. Potwierdź, na co skierowany jest agent, a potem pozwól mu przejść quiz w zintegrowanej przeglądarce i raportować to, co faktycznie się wydarzyło — a nie to, co zamierzał. + +W tej lekcji: + +- przeczytasz panel szczegółów sesji. +- sprawdzisz projekt, ścieżkę, gałąź, zmiany i zużycie kontekstu sesji. +- uruchomisz smoke test na poziomie przeglądarki i naprawisz ewentualne błędy. + +## Przeczytaj szczegóły sesji + +Szczegóły sesji mówią dokładnie, nad czym pracuje agent. Nie musisz stale patrzeć na ten panel, ale wszystko w nim ma znaczenie, gdy wynik Cię zaskoczy. + +![Ilustracja panelu szczegółów sesji w aplikacji Copilot dla sesji budowania Space Quiz. Pokazuje gałąź main z origin/main, ścieżkę, projekt, nazwę sesji, identyfikator sesji i agenta, jeden zmieniony plik, liczby tokenów, zużycie kontekstu na poziomie 27 procent, wydatki sesji oraz opcje włączenia zdalnego sterowania, zmiany nazwy, podglądu insights, udostępnienia jako tajnego gista lub archiwizacji sesji.](../../../_images/first-steps-app-session-details.svg) + +Panel pokazuje, gdzie odbywa się praca, co się zmieniło i jak pełne jest okno kontekstu. Nie ma wiersza modelu, bo model wybierasz przy każdym żądaniu w composerze. + +1. Upewnij się, że **project**, **path** i **branch** to te, które zamierzasz edytować. +2. Przeczytaj **Changes**, aby sprawdzić, czy ta sesja już czegoś dotknęła. +3. Sprawdź **context usage**. Gdy rośnie, agent ma mniej miejsca na właściwe zadanie — to sygnał, by zacząć świeżą sesję. + +> [!TIP] +> **Większość złych wyników to problemy z kontekstem** +> +> Zła gałąź, zły folder albo niemal pełne okno kontekstu tłumaczy znacznie więcej niespodzianek niż zły prompt. + +## Testuj, zanim Git cokolwiek zapisze + +Zintegrowana przeglądarka to prawdziwa przeglądarka, więc agent może sterować quizem i weryfikować jego zachowanie. Wyślij poniższe polecenie: + +```plaintext +Run a browser-level smoke test for the quiz in the integrated browser. Check keyboard navigation, score updates, correct and incorrect feedback, and the results screen. Fix any failures, then report what passed. +``` + +1. Obserwuj zintegrowaną przeglądarkę, gdy agent przechodzi przez pytania. +2. Jeśli coś zawiedzie, pozwól agentowi to naprawić i ponownie uruchomić test, aż wszystko przejdzie. +3. Idź dalej dopiero wtedy, gdy budowa i test są zielone. + +Do Gita jeszcze nic nie zapisano. Następny krok to `/init`, które czyta projekt w bieżącym stanie — warto najpierw upewnić się, że projekt działa. + +## Podsumowanie i kolejne kroki + +Potwierdziłeś, nad czym pracuje sesja, i zweryfikowałeś quiz smoke testem na poziomie przeglądarki. Przejdź do [Lekcji 4: Zapisz instrukcje projektu][next-lesson]. + +[next-lesson]: ../4-project-instructions/ diff --git a/docs/pl-pl/first-steps/copilot-app/4-project-instructions.md b/docs/pl-pl/first-steps/copilot-app/4-project-instructions.md new file mode 100644 index 00000000..75910eba --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-app/4-project-instructions.md @@ -0,0 +1,37 @@ +--- +title: "Lekcja 4 - Zapisz instrukcje projektu" +description: "Uruchom /init, aby wygenerować instrukcje agenta opisujące gotowy Space Quiz, a następnie dostosuj je do swojego sposobu pracy." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Skoro quiz jest zbudowany, dopracowany i przetestowany, zapisz, jak przyszłe sesje powinny traktować ten projekt. Instrukcje agenta czyta każda sesja przed rozpoczęciem pracy, więc nie musisz powtarzać tych samych wskazówek w każdym promptcie. + +W tej lekcji: + +- wygenerujesz instrukcje agenta za pomocą `/init`. +- przejrzysz wygenerowany plik przed zaakceptowaniem. +- skrócisz i spersonalizujesz instrukcje. + +## Zapisz reguły za pomocą `/init` + +1. Uruchom `/init` w sesji aplikacji. +2. Przejrzyj wygenerowany plik instrukcji agenta przed zaakceptowaniem. +3. Skróć go do wskazówek, które oddają ten projekt: jeden plik, bez zależności, dostępny i przetestowany w przeglądarce. + +> [!IMPORTANT] +> **Dlaczego po dopracowaniu?** +> +> `/init` czyta projekt w stanie, w jakim jest teraz. Uruchomienie go po zbudowaniu i przetestowaniu quizu daje instrukcje opisujące realny kod, a nie pusty folder. + +## Uczyń je swoimi + +Plik instrukcji nie służy tylko do faktów o projekcie. Dodaj szczegóły, które inaczej powtarzałbyś w każdym promptcie: jak lubisz pisać kod, konwencje nazewnictwa, jakich bibliotek unikać i ile komentarzy chcesz. Każda przyszła sesja czyta ten plik, zanim przeczyta Twoje polecenie. + +## Podsumowanie i kolejne kroki + +Projekt ma teraz instrukcje agenta oparte na realnym kodzie. Przejdź do [Lekcji 5: Opublikuj projekt][next-lesson]. + +[next-lesson]: ../5-publish/ diff --git a/docs/pl-pl/first-steps/copilot-app/5-publish.md b/docs/pl-pl/first-steps/copilot-app/5-publish.md new file mode 100644 index 00000000..8d508006 --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-app/5-publish.md @@ -0,0 +1,39 @@ +--- +title: "Lekcja 5 - Opublikuj projekt" +description: "Zamień lokalny eksperyment Space Quiz w publiczne repozytorium GitHub." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Opublikuj Space Quiz, aby zarządzać zgłoszeniami, korzystać z izolowanych worktree i przejść przez przepływ pracy z pull requestem. + +W tej lekcji: + +- zainicjalizujesz folder jako repozytorium Git. +- utworzysz i wypchniesz publiczne repozytorium GitHub. +- powiążesz projekt z GitHubem w aplikacji Copilot. + +## Opublikuj repozytorium + +Wyślij poniższe polecenie: + +```plaintext +Initialize this folder as a Git repository, create an initial commit, and create a new public GitHub repository named space-quiz in my account. Push the current branch and set it as the default branch. Refresh the project within this app so the GitHub project is linked. +``` + +> [!WARNING] +> Agent poprosi o potwierdzenie, zanim utworzy repozytorium lub wypchnie kod. Przed zatwierdzeniem przejrzyj proponowaną akcję i miejsce docelowe. + +Po zakończeniu pracy agenta: + +1. Otwórz nowe repozytorium na GitHubie. +2. Upewnij się, że obecny jest plik `index.html`. +3. Wróć do aplikacji Copilot i potwierdź, że projekt jest powiązany z repozytorium. + +## Podsumowanie i kolejne kroki + +Projekt jest teraz repozytorium GitHub. Przejdź do [Lekcji 6: Praca ze zgłoszeniami i sesjami][next-lesson]. + +[next-lesson]: ../6-issues-and-sessions/ diff --git a/docs/pl-pl/first-steps/copilot-app/6-issues-and-sessions.md b/docs/pl-pl/first-steps/copilot-app/6-issues-and-sessions.md new file mode 100644 index 00000000..f90a0495 --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-app/6-issues-and-sessions.md @@ -0,0 +1,63 @@ +--- +title: "Lekcja 6 - Praca ze zgłoszeniami i sesjami" +description: "Utwórz skupiony backlog, wybierz zgłoszenie, zaimplementuj je w izolowanym worktree i samodzielnie przejrzyj diff." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Poproś agenta o propozycje skupionych ulepszeń produktu, zamień te pomysły w zgłoszenia GitHub i zaimplementuj jedno zgłoszenie w izolowanej sesji. + +W tej lekcji: + +- utworzysz trzy skupione zgłoszenia dla Space Quiz. +- przejrzysz zgłoszenia w **My work**. +- uruchomisz sesję na podstawie zgłoszenia w nowym worktree. +- przejrzysz diff w zakładce **Changes** i zweryfikujesz funkcję. + +## Zbuduj backlog w My work + +Wyślij poniższe polecenie: + +```plaintext +Review the space quiz and suggest three focused feature ideas that could each be completed in a short session. Create a separate GitHub issue for each idea with a clear title, user-focused description, and acceptance criteria. Do not implement them yet. +``` + +Otwórz **My work**, przejrzyj trzy zgłoszenia i wybierz jedno, które ma jasną wartość i zarządzalny zakres. + +![Ilustracja widoku My work w aplikacji Copilot. Pasek boczny zawiera New, My work, Automations, Customize oraz projekt space-quiz. Główny obszar ma filtry All, Active, Review requests i Done nad listą pull requestów.](../../../_images/first-steps-app-my-work.svg) + +**My work** wciąga do aplikacji Twoje zgłoszenia i pull requesty z GitHuba, z filtrami **All**, **Active**, **Review requests** i **Done**. + +## Zaimplementuj zgłoszenie + +1. Otwórz wybrane zgłoszenie w **My work**. +2. Wybierz **New session**. +3. Gdy zostaniesz o to poproszony, wybierz **new worktree**. +4. Użyj trybu **Interactive** i preferowanego modelu. +5. Wyślij poniższe polecenie: + + ```plaintext + Implement this issue completely. Keep the single-file, dependency-free design, test the behavior in the integrated browser, and summarize the changes when finished. + ``` + +Nowy worktree utrzymuje tę funkcję w izolacji od domyślnej gałęzi, dopóki nie będziesz gotowy do przeglądu i scalenia. + +## Samodzielnie przejrzyj diff + +Gdy agent się zgłosi, nie bierz jego słów za pewnik. + +1. Otwórz wysuwany panel po prawej i wybierz zakładkę **Changes**. +2. Przeczytaj diff każdego pliku, którego sesja dotknęła. +3. Przetestuj funkcję w zintegrowanej przeglądarce i upewnij się, że spełnia kryteria akceptacji zgłoszenia. + +![Ilustracja sesji w aplikacji Copilot z otwartą zakładką Changes w prawym wysuwanym panelu. Pokazuje jeden zmieniony plik, index.html, z 142 dodanymi i 8 usuniętymi wierszami oraz wbudowane linie diff obok rozmowy w sesji.](../../../_images/first-steps-app-changes-tab.svg) + +Zakładka **Changes** wymienia każdy plik, którego sesja dotknęła, z diffem wbudowanym w widok. + +## Podsumowanie i kolejne kroki + +Utworzyłeś backlog, zaimplementowałeś jedno zgłoszenie w izolowanej sesji i przejrzałeś diff. Przejdź do [Lekcji 7: Zaplanuj przed edycją][next-lesson]. + +[next-lesson]: ../7-plan-mode/ diff --git a/docs/pl-pl/first-steps/copilot-app/7-plan-mode.md b/docs/pl-pl/first-steps/copilot-app/7-plan-mode.md new file mode 100644 index 00000000..e12d0291 --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-app/7-plan-mode.md @@ -0,0 +1,41 @@ +--- +title: "Lekcja 7 - Zaplanuj przed edycją" +description: "Użyj trybu Plan przy drugim zgłoszeniu, aby agent zbadał projekt i zaproponował podejście, zanim zmieni jakiekolwiek pliki." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Nie każde zgłoszenie powinno zaczynać się od edycji. Tryb Plan bada projekt, proponuje podejście i czeka na Twoją zgodę, zanim pojawią się jakiekolwiek zmiany w kodzie. + +W tej lekcji: + +- uruchomisz sesję dla drugiego zgłoszenia w trybie Plan. +- przejrzysz i dopracujesz plan zaproponowany przez agenta. +- zatwierdzisz plan i wybierzesz, jak sesja ma dalej działać. + +## Uzgodnij podejście przed zmianami w kodzie + +1. Otwórz **drugie zgłoszenie** z **My work** i wybierz **New session**. +2. W konfiguracji sesji wybierz **Plan** zamiast **Interactive** lub **Autopilot**. +3. Wyślij poniższe polecenie i pozwól agentowi zbadać projekt bez zmiany plików: + + ```plaintext + Plan how to implement this issue. Investigate the existing quiz, list the files you would change, call out risks to accessibility and the single-file constraint, and stop before making any edits. + ``` + +4. Przeczytaj zaproponowany plan i poproś o zmiany, jeśli czegoś brakuje. +5. Zatwierdź plan. +6. Gdy zostaniesz o to poproszony, wybierz, czy sesja ma kontynuować w trybie **Interactive**, czy **Autopilot**. + +> [!TIP] +> **Kiedy tryb Plan się opłaca** +> +> Używaj trybu Plan przy wszystkim, co jest niejednoznaczne, przecina wiele obszarów albo jest kosztowne do cofnięcia. Najtańsze miejsce na poprawienie złego podejścia to moment przed pierwszą edycją. + +## Podsumowanie i kolejne kroki + +Uzgodniłeś podejście z agentem, zanim ten napisał jakikolwiek kod. Przejdź do [Lekcji 8: Dokończ pętlę przeglądu Copilot][next-lesson]. + +[next-lesson]: ../8-review-loop/ diff --git a/docs/pl-pl/first-steps/copilot-app/8-review-loop.md b/docs/pl-pl/first-steps/copilot-app/8-review-loop.md new file mode 100644 index 00000000..51746a9b --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-app/8-review-loop.md @@ -0,0 +1,45 @@ +--- +title: "Lekcja 8 - Dokończ pętlę przeglądu Copilot" +description: "Utwórz pull request, poproś o przegląd Copilot, zajmij się wykonalnymi uwagami i pozwól Agent Merge utrzymać pull request w dobrej kondycji." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Zamień zaimplementowane zgłoszenie w pull request, poproś Copilota o przegląd i zajmij się uwagami przed scaleniem. + +W tej lekcji: + +- jeszcze raz przejrzysz zmiany z sesji. +- utworzysz pull request z sesji agenta. +- poprosisz o przegląd kodu przez Copilot. +- przejrzysz i zastosujesz wykonalne uwagi. +- włączysz Agent Merge, aby utrzymywał pull request w dobrej kondycji aż do scalenia. + +## Utwórz i przejrzyj pull request + +1. Otwórz wysuwany panel po prawej i wybierz zakładkę **Changes**, aby przejrzeć pliki zmienione w sesji. +2. Wybierz **Create PR** na pasku narzędzi sesji. +3. Przejrzyj wygenerowany tytuł i opis, a następnie utwórz pull request. +4. Otwórz pull request na GitHubie. +5. Z menu **Reviewers** poproś o przegląd od **Copilot**. +6. Otwórz zakładkę **Files changed** i przeczytaj każdy komentarz z przeglądu. +7. Przy każdym wykonalnym komentarzu użyj akcji Copilot **Fix** w aplikacji albo wprowadź zmianę samodzielnie. +8. Przejrzyj każdą zmianę i ponownie przetestuj funkcję. +9. Odpowiedz zwięzłym opisem tego, co się zmieniło, a następnie rozwiąż rozmowę. + +> [!NOTE] +> Jeśli sugestia nie ma zastosowania albo wykracza poza zakres pull requesta, odpowiedz z uzasadnieniem zamiast wprowadzać niepotrzebną zmianę. Rozwiąż każdą rozmowę z przeglądu przed scaleniem. + +## Scal z Agent Merge + +Włącz **Agent Merge** dla pull requesta, aby agent utrzymywał go w dobrej kondycji. Agent zajmuje się komentarzami z przeglądu, poprawia nieudane sprawdzenia i rozwiązuje konflikty, gdy się pojawią, a następnie scala, gdy wszystko jest zielone. + +Jeśli wolisz scalić samodzielnie, przejrzyj końcowy diff, zweryfikuj funkcję i scal pull request po przejściu wszystkich sprawdzeń. + +## Podsumowanie i kolejne kroki + +Ukończyłeś pętlę rozwoju od zgłoszenia do przejrzanego i scalonego pull requesta. Przejdź do [Lekcji 9: Zautomatyzuj triage zgłoszeń][next-lesson]. + +[next-lesson]: ../9-automations/ diff --git a/docs/pl-pl/first-steps/copilot-app/9-automations.md b/docs/pl-pl/first-steps/copilot-app/9-automations.md new file mode 100644 index 00000000..915d08f6 --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-app/9-automations.md @@ -0,0 +1,43 @@ +--- +title: "Lekcja 9 - Zautomatyzuj triage zgłoszeń" +description: "Utwórz i uruchom cotygodniową automatyzację, która podsumowuje niedawne otwarte zgłoszenia." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Użyj automatyzacji, aby zamienić powtarzalne zadanie triage zgłoszeń w zaplanowany przepływ pracy agenta. + +W tej lekcji: + +- utworzysz cotygodniową automatyzację. +- połączysz automatyzację z projektem Space Quiz. +- uruchomisz automatyzację od razu i przejrzysz jej wynik. + +## Utwórz automatyzację + +![Ilustracja widoku Automations w aplikacji Copilot z filtrami All, Local i Cloud, polem wyszukiwania, przyciskami Templates i New automation oraz dwiema kartami cotygodniowych automatyzacji dla projektu space-quiz: Issue triage i Accessibility audit.](../../../_images/first-steps-app-automations.svg) + +Automatyzacje uruchamiają to samo polecenie według harmonogramu, każda we własnej sesji, więc automatyzacja nigdy nie zakłóca Twojej pracy. Możesz filtrować według **All**, **Local** lub **Cloud** i uruchamiać dowolną automatyzację na żądanie. + +1. Otwórz **Automations**. +2. Wybierz szablon nowej cotygodniowej automatyzacji. +3. Wpisz poniższe polecenie: + + ```plaintext + Review the latest GitHub issues created and still open in the last week, and provide a summary table ranked by severity and priority. + ``` + +4. Ustaw tryb sesji na **Autopilot**. +5. Ustaw model na **Auto**. +6. Wybierz projekt `space-quiz`. +7. Otwórz listę rozwijaną **Create**, a następnie wybierz **Create and run**. + +Przejrzyj wygenerowane podsumowanie i upewnij się, że odwołuje się do niedawnych otwartych zgłoszeń w Twoim repozytorium. + +## Podsumowanie i kolejne kroki + +Utworzyłeś wielokrotnego użytku przepływ pracy agenta, który działa według harmonogramu. Przejdź do [Lekcji 10: Kontynuuj sesję zdalnie][next-lesson]. + +[next-lesson]: ../10-remote/ diff --git a/docs/pl-pl/first-steps/copilot-app/README.md b/docs/pl-pl/first-steps/copilot-app/README.md new file mode 100644 index 00000000..f04faff8 --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-app/README.md @@ -0,0 +1,55 @@ +--- +title: "Przewodnik po aplikacji GitHub Copilot" +description: "Poznaj aplikację GitHub Copilot w praktyce, budując i wdrażając Space Quiz." +slug: pl-pl/first-steps/copilot-app +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Poznaj aplikację GitHub Copilot w praktycznym, przyjaznym dla początkujących przewodniku. Zbudujesz kolorowy Space Quiz z pustego folderu i przejdziesz przez pełną pętlę rozwoju — od pierwszego promptu do przejrzanego pull requesta. + +Warsztat zajmuje około 60–90 minut. Projekt to pojedynczy plik HTML bez zależności runtime, dzięki czemu możesz skupić się na aplikacji i jej przepływach pracy z agentami. + +> [!NOTE] +> Ten warsztat stworzył [James Montemagno][james], a został zaadaptowany z [First Steps with GitHub Copilot][source-lab]. Oryginalna treść jest dostępna na licencji [MIT][source-license]. + +## Lekcje + +| Lekcja | Temat | Co zrobisz | +| ------ | ----- | ---------- | +| [0. Wymagania wstępne i konfiguracja][lesson-0] | Konfiguracja | Sprawdzisz wymagania wstępne, zainstalujesz aplikację, wybierzesz model i poznasz obszar roboczy | +| [1. Utwórz obszar roboczy][lesson-1] | Tworzenie | Uruchomisz sesję Interactive w pustym folderze lokalnym | +| [2. Zbuduj i dopracuj][lesson-2] | Budowanie | Utworzysz quiz i dopracujesz go w zintegrowanej przeglądarce | +| [3. Przejrzyj i przetestuj][lesson-3] | Kontekst i test | Przeczytasz szczegóły sesji i uruchomisz smoke test na poziomie przeglądarki | +| [4. Zapisz instrukcje projektu][lesson-4] | Instrukcje | Wygenerujesz i dostosujesz instrukcje agenta za pomocą `/init` | +| [5. Opublikuj projekt][lesson-5] | Publikacja | Utworzysz publiczne repozytorium GitHub z lokalnego projektu | +| [6. Praca ze zgłoszeniami i sesjami][lesson-6] | Implementacja | Utworzysz backlog, zaimplementujesz jedno zgłoszenie w izolowanym worktree i przejrzysz diff | +| [7. Zaplanuj przed edycją][lesson-7] | Planowanie | Użyjesz trybu Plan, aby uzgodnić podejście do drugiego zgłoszenia | +| [8. Dokończ pętlę przeglądu][lesson-8] | Przegląd | Otworzysz pull request, odpowiesz na uwagi z przeglądu Copilot i użyjesz Agent Merge | +| [9. Zautomatyzuj triage zgłoszeń][lesson-9] | Automatyzacja | Zaplanujesz i uruchomisz cotygodniową automatyzację triage zgłoszeń | +| [10. Kontynuuj sesję zdalnie][lesson-10] | Zdalnie (opcjonalnie) | Kontynuujesz trwającą sesję na GitHubie za pomocą `/remote` | +| [11. Poznaj kanwę][lesson-11] | Kanwa | Zaczniesz pracę z kanwy Repository Issues Kanban | +| [12. Podsumowanie i kolejne kroki][lesson-12] | Podsumowanie | Podsumujesz przepływ pracy i przejdziesz do dalszej nauki | + +## Rozpocznij + +[Zacznij od Lekcji 0: Wymagania wstępne i konfiguracja][lesson-0]. + +[james]: https://github.com/jamesmontemagno +[source-lab]: https://github.com/jamesmontemagno/first-steps-with-github-copilot +[source-license]: https://github.com/jamesmontemagno/first-steps-with-github-copilot/blob/main/LICENSE +[lesson-0]: 0-prerequisites/ +[lesson-1]: 1-create-workspace/ +[lesson-2]: 2-build-and-polish/ +[lesson-3]: 3-inspect-and-test/ +[lesson-4]: 4-project-instructions/ +[lesson-5]: 5-publish/ +[lesson-6]: 6-issues-and-sessions/ +[lesson-7]: 7-plan-mode/ +[lesson-8]: 8-review-loop/ +[lesson-9]: 9-automations/ +[lesson-10]: 10-remote/ +[lesson-11]: 11-canvas/ +[lesson-12]: 12-review/ diff --git a/docs/pl-pl/first-steps/copilot-cli/0-prerequisites.md b/docs/pl-pl/first-steps/copilot-cli/0-prerequisites.md new file mode 100644 index 00000000..3887c60f --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-cli/0-prerequisites.md @@ -0,0 +1,71 @@ +--- +title: "Ćwiczenie 0 - Wymagania wstępne i konfiguracja" +description: "Sprawdź wymagania wstępne warsztatu, zainstaluj GitHub Copilot CLI, zaloguj się i wybierz model z pustego folderu projektu." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-10-04 +--- + +Umieść agenta w terminalu. Potwierdź, że masz to, czego potrzebujesz, zainstaluj GitHub Copilot CLI, zaloguj się i przygotuj się do pierwszej prośby z pustego folderu. + +W tym ćwiczeniu: + +- sprawdzisz wymagania wstępne warsztatu. +- zainstalujesz GitHub Copilot CLI i zalogujesz się. +- utworzysz folder projektu i zaufasz mu. +- wybierzesz model dla sesji. + +## Wymagania wstępne + +Potrzebujesz: + +- konta GitHub z [planem Copilot][copilot-plans]. +- zainstalowanego [Gita][git]. Uruchom `git --version`, aby to zweryfikować. +- komputera z macOS, Windows lub Linux. + +[GitHub CLI][gh-cli] (`gh`) jest opcjonalne, ale zalecane, bo pozwala agentowi tworzyć za Ciebie repozytoria i pull requesty. + +> [!NOTE] +> Jeśli korzystasz z Copilot Business lub Copilot Enterprise, administrator musi włączyć zasadę **Copilot CLI**, zanim sesje agenta zaczną działać. + +## Skonfiguruj CLI + +1. Zainstaluj [GitHub Copilot CLI][install-cli] dla swojej platformy. +2. Utwórz i wejdź do folderu projektu: + + ```bash + mkdir space-quiz && cd space-quiz + ``` + +3. Uruchom `copilot`, zaloguj się i zaufaj folderowi, gdy zostaniesz o to poproszony. +4. Uruchom `/model` i wybierz model według kolejności preferencji z następnej sekcji. +5. Opcjonalnie zainstaluj [GitHub CLI][gh-cli], jeśli jeszcze go nie masz. + +![Ilustracja Copilot CLI w oknie terminala zatytułowanym space-quiz. Pyta, czy zaufać plikom w tym folderze, z wybraną opcją Yes, proceed, i sugeruje polecenie /model do wyboru modelu na tę sesję oraz /help, aby wyświetlić wszystkie polecenia slash. Linia promptu brzmi Create a space exploration quiz.](../../../_images/first-steps-cli-welcome.svg) + +CLI otwiera się z prośbą o zaufanie i kilkoma poleceniami startowymi, w tym `/model`. + +> [!TIP] +> W dowolnym momencie wpisz `/`, aby przeglądać dostępne polecenia, albo uruchom `/help`, aby zobaczyć pełną referencję. + +## Wybierz model + +Użyj poniższej kolejności preferencji przy uruchamianiu `/model` i wybierz pierwszą dostępną opcję: + +1. **GPT-6-Luna** (zalecany). +2. **Auto**, jako zrównoważona rezerwa. +3. Dowolny model z [listy aktywnych modeli][active-models]. + +Dostępność modeli zależy od planu, zasad organizacji i wersji produktu. + +## Podsumowanie i kolejne kroki + +Copilot CLI jest zainstalowany, zalogowany i działa w pustym folderze `space-quiz`. Przejdź do [ćwiczenia 1: Budowa quizu z terminala][next-lesson]. + +[copilot-plans]: https://github.com/features/copilot/plans +[git]: https://git-scm.com/downloads +[gh-cli]: https://cli.github.com/ +[install-cli]: https://docs.github.com/copilot/how-tos/set-up/install-copilot-cli +[active-models]: https://docs.github.com/copilot/reference/copilot-billing/models-and-pricing +[next-lesson]: ../1-build/ diff --git a/docs/pl-pl/first-steps/copilot-cli/1-build.md b/docs/pl-pl/first-steps/copilot-cli/1-build.md new file mode 100644 index 00000000..104710ef --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-cli/1-build.md @@ -0,0 +1,44 @@ +--- +title: "Ćwiczenie 1 - Budowa quizu z terminala" +description: "Poproś Copilot CLI o cały Space Quiz w jednym szczegółowym poleceniu, a następnie wprowadź jedno skupione dopracowanie." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-10-04 +--- + +Poproś o cały projekt w jednym szczegółowym poleceniu, przejrzyj propozycję agenta zanim ją zatwierdzisz, a następnie wprowadź jedną małą, ograniczoną zmianę. + +W tym ćwiczeniu: + +- zbudujesz quiz bez zależności w `index.html`. +- otworzysz quiz w przeglądarce z sesji. +- wprowadzisz jedną skupioną zmianę i zweryfikujesz ją. + +## Zbuduj quiz + +Wyślij poniższe polecenie w sesji Copilot CLI: + +```plaintext +Create a space exploration quiz with 10 questions, a progress bar, score counter, and colorful animated feedback (green for correct, red shake for wrong). Show a results screen with an emoji reaction at the end. Single index.html, no server or dependencies. Accessible, keyboard-navigable, and respects prefers-color-scheme. +``` + +1. Przeczytaj zaproponowany plan i zatwierdź zmiany w plikach. +2. Otwórz `index.html` w przeglądarce i rozwiąż kilka pytań. Aby uruchomić go z sesji, użyj `!open index.html` na macOS, `!start index.html` na Windows albo `!xdg-open index.html` na Linux. + +## Wprowadź małą zmianę, potem ją sprawdź + +Poproś o jedno skupione dopracowanie, żeby zobaczyć, jak zachowuje się ograniczone polecenie: + +```plaintext +The results screen feels flat. Give it a stronger sense of arrival: animate the score counting up and make the emoji reaction larger. Change nothing else. +``` + +1. Odśwież stronę w przeglądarce i przejdź quiz do końca. +2. Zwróć uwagę, że nic nie jest jeszcze w Gicie, więc nie ma względem czego zrobić diff. To się zmieni po opublikowaniu projektu. + +## Podsumowanie i kolejne kroki + +Zbudowałeś quiz i dopracowałeś go ograniczonym poleceniem. Przejdź do [ćwiczenia 2: Zapisanie instrukcji projektu][next-lesson]. + +[next-lesson]: ../2-project-instructions/ diff --git a/docs/pl-pl/first-steps/copilot-cli/10-review.md b/docs/pl-pl/first-steps/copilot-cli/10-review.md new file mode 100644 index 00000000..ec6f81b1 --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-cli/10-review.md @@ -0,0 +1,47 @@ +--- +title: "Ćwiczenie 10 - Podsumowanie i kolejne kroki" +description: "Podsumuj przepływ pracy Copilot CLI i znajdź zasoby do dalszej nauki." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-10-04 +--- + +Ukończyłeś pętlę terminalową: zbudowałeś quiz, przejrzałeś diffy, opublikowałeś projekt, uruchomiłeś sesje równolegle, zaplanowałeś przed edycją, wznowiłeś sesje, scaliłeś pull request i zdelegowałeś nową pracę bez opuszczania terminala. + +## Co ukończyłeś + +Ukończyłeś: + +- instalację Copilot CLI i wybór modelu poleceniem `/model`. +- budowę i dopracowanie quizu z jednego promptu. +- zapisanie reguł projektu poleceniem `/init`. +- publikację projektu przez prompt albo ręcznie. +- dodanie zgłoszenia do czatu z panelu bocznego i przegląd zmiany z `/diff`. +- uruchomienie drugiej sesji we własnym worktree z `/worktree`. +- zaplanowanie drugiego zgłoszenia z `/plan` przed jakąkolwiek zmianą kodu. +- sprawdzenie i zarządzanie kontekstem z `/context` i `/clear`. +- wznawianie sesji z `copilot --resume` i `/resume`. +- utworzenie i scalenie pull requesta z `/pr create` i `/pr agentmerge`. +- zdelegowanie nowej funkcji z `/delegate`. + +## Kontynuuj eksplorację + +- [Zainstaluj Copilot CLI na macOS, Windows i Linux][install-cli]. +- [Poznaj Copilot CLI oraz jego polecenia slash i flagi][about-cli]. +- [Użyj GitHub CLI do repozytoriów i pull requestów][gh-cli]. +- [Zainstaluj Git][git]. +- [Stosuj dobre praktyki pisania promptów, które sprawdzają się na prawdziwym kodzie][best-practices]. +- [Porównaj plany Copilot][copilot-plans]. + +Przeprowadź ten sam Space Quiz inną metodą pracy w [warsztacie pierwszych kroków z aplikacją GitHub Copilot][first-steps-app] albo w [warsztacie pierwszych kroków z Visual Studio Code][first-steps-vscode]. Jeśli jesteś gotowy na głębszy scenariusz z kompletną aplikacją i backlogiem zespołu, kontynuuj [warsztatem Copilot CLI w rozwoju w realnych scenariuszach][real-world-cli]. + +[install-cli]: https://docs.github.com/copilot/how-tos/set-up/install-copilot-cli +[about-cli]: https://docs.github.com/copilot/concepts/agents/about-copilot-cli +[gh-cli]: https://cli.github.com/ +[git]: https://git-scm.com/downloads +[best-practices]: https://docs.github.com/copilot/get-started/best-practices +[copilot-plans]: https://github.com/features/copilot/plans +[first-steps-app]: ../copilot-app/ +[first-steps-vscode]: ../vscode/ +[real-world-cli]: ../../real-world-development/cli/ diff --git a/docs/pl-pl/first-steps/copilot-cli/2-project-instructions.md b/docs/pl-pl/first-steps/copilot-cli/2-project-instructions.md new file mode 100644 index 00000000..7ebd3a2c --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-cli/2-project-instructions.md @@ -0,0 +1,37 @@ +--- +title: "Ćwiczenie 2 - Zapisanie instrukcji projektu" +description: "Uruchom /init, aby wygenerować instrukcje agenta opisujące gotowy Space Quiz, a następnie dostosuj je do swojego sposobu pracy." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-10-04 +--- + +Mając działający quiz na dysku, wygeneruj instrukcje agenta, które opisują rzeczywisty projekt. Każda przyszła sesja czyta te instrukcje przed rozpoczęciem pracy, więc nie musisz powtarzać tych samych wskazówek w każdym prompcie. + +W tym ćwiczeniu: + +- wygenerujesz instrukcje agenta poleceniem `/init`. +- przejrzysz wygenerowany plik przed akceptacją. +- skrócisz i spersonalizujesz instrukcje. + +## Zapisz reguły poleceniem `/init` + +1. Uruchom `/init` w sesji. +2. Przejrzyj wygenerowany plik instrukcji przed akceptacją. +3. Zostaw tylko wskazówki pasujące do tego projektu: jeden plik, bez zależności, dostępny i przetestowany w przeglądarce. + +> [!IMPORTANT] +> **Kolejność ma znaczenie** +> +> `/init` czyta projekt w jego obecnym stanie. Uruchomienie po zbudowaniu i dopracowaniu quizu daje instrukcje oparte na rzeczywistym kodzie. + +## Dostosuj je do siebie + +Plik instrukcji nie służy wyłącznie do faktów o projekcie. Dodaj szczegóły, które inaczej powtarzałbyś w każdym prompcie: jak lubisz pisać kod, konwencje nazewnictwa, jakich bibliotek unikać i ile komentarzy chcesz. Każda przyszła sesja czyta ten plik przed Twoim promptem. + +## Podsumowanie i kolejne kroki + +Projekt ma teraz instrukcje agenta oparte na rzeczywistym kodzie. Przejdź do [ćwiczenia 3: Publikacja projektu][next-lesson]. + +[next-lesson]: ../3-publish/ diff --git a/docs/pl-pl/first-steps/copilot-cli/3-publish.md b/docs/pl-pl/first-steps/copilot-cli/3-publish.md new file mode 100644 index 00000000..7a3830ad --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-cli/3-publish.md @@ -0,0 +1,51 @@ +--- +title: "Ćwiczenie 3 - Publikacja projektu" +description: "Zainicjalizuj, utwórz commit i opublikuj Space Quiz na GitHubie — przez prompt albo uruchamiając polecenia samodzielnie." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-10-04 +--- + +Zamień eksperyment w publiczne repozytorium GitHub. Możesz o to poprosić jednym promptem albo uruchomić polecenia samodzielnie. Wypróbuj obie metody raz, a dokładnie poznasz, co agent robi w Twoim imieniu. + +W tym ćwiczeniu: + +- zainicjalizujesz repozytorium Git i utworzysz pierwszy commit. +- utworzysz i wypchniesz publiczne repozytorium GitHub. +- potwierdzisz, że commit i plik trafiły na miejsce. + +## Opcja A: Poproś o to + +Wyślij poniższe polecenie: + +```plaintext +Initialize this folder as a Git repository, create an initial commit, and create a new public GitHub repository named space-quiz in my account. Push the current branch and set it as the default branch. +``` + +Zatwierdzaj każdą akcję Gita i GitHuba, gdy agent o to poprosi. + +## Opcja B: Uruchom samodzielnie + +Dodaj prefiks `!` przed każdym poleceniem, aby uruchomić je z sesji, albo uruchom polecenia bez prefiksu we własnym terminalu: + +```plaintext +!git init -b main +!git add . +!git commit -m "Add space quiz" +!gh repo create space-quiz --public --source=. --push +``` + +Ostatnie polecenie używa [GitHub CLI][gh-cli]. Jeśli go nie masz, utwórz repozytorium na GitHubie, a następnie uruchom `!git remote add origin ` i `!git push -u origin main`. + +## Potwierdź wynik + +1. Uruchom `!git log --oneline`, aby potwierdzić, że commit trafił na miejsce. +2. Otwórz repozytorium na GitHubie i upewnij się, że `index.html` jest obecny. + +## Podsumowanie i kolejne kroki + +Projekt jest teraz repozytorium GitHub ze znaną dobrą wersją do porównań. Przejdź do [ćwiczenia 4: Praca nad zgłoszeniami równolegle][next-lesson]. + +[gh-cli]: https://cli.github.com/ +[next-lesson]: ../4-issues-and-sessions/ diff --git a/docs/pl-pl/first-steps/copilot-cli/4-issues-and-sessions.md b/docs/pl-pl/first-steps/copilot-cli/4-issues-and-sessions.md new file mode 100644 index 00000000..71a36993 --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-cli/4-issues-and-sessions.md @@ -0,0 +1,61 @@ +--- +title: "Ćwiczenie 4 - Praca nad zgłoszeniami równolegle" +description: "Utwórz backlog, dodaj zgłoszenie do czatu z panelu bocznego, przejrzyj zmiany z /diff i uruchom drugą sesję w osobnym worktree." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-10-04 +--- + +Trzymaj backlog i pętlę implementacji w terminalu oraz otwieraj osobne sesje dla niezależnej pracy. + +W tym ćwiczeniu: + +- utworzysz trzy skupione zgłoszenia GitHub. +- dodasz zgłoszenie do czatu z panelu bocznego i zaimplementujesz je. +- przejrzysz zmianę poleceniem `/diff`. +- uruchomisz drugą sesję w izolowanym worktree. + +## Utwórz backlog + +Wyślij poniższe polecenie: + +```plaintext +Review the space quiz and create three focused GitHub issues with clear titles, user-focused descriptions, and acceptance criteria. Do not implement them yet. +``` + +## Zrealizuj pierwsze zgłoszenie w tej sesji + +1. Wciśnij klawisz Left arrow, aby otworzyć panel boczny, a następnie Tab, aby przejść na kartę **Issues**. +2. Podświetl pierwsze zgłoszenie i wciśnij c, aby dodać je do czatu jako kontekst. Aby najpierw przeczytać pełne zgłoszenie, wciśnij zamiast tego Enter. +3. Poproś agenta o zaimplementowanie zgłoszenia. + +![Ilustracja panelu bocznego Copilot CLI w terminalu. Karta Issues jest wybrana spośród kart Current, Sessions, Issues, Pull requests i Gists. Filtr wyszukiwania otwartych zgłoszeń w repozytorium space-quiz pokazuje jedno zgłoszenie: Add a score screen at the end of the quiz. Podpowiedzi wyjaśniają, że Left arrow otwiera panel, a Tab przełącza karty, a dolny wiersz wymienia klawisze: slash do wyszukiwania, Enter po szczegóły, o do otwarcia, w dla worktree, c do czatu i a dla wszystkich.](../../../_images/first-steps-cli-side-panel.svg) + +Panel boczny wymienia karty u góry, a podpowiedzi na dole to klawisze działające na aktualnie podświetlony element. + +## Przejrzyj zmianę poleceniem `/diff` + +Projekt jest opublikowany, więc masz znaną dobrą wersję do porównania. `/diff` pokazuje dokładnie, co to zgłoszenie zmieniło względem niej — właśnie to, o czym zaraz poprosisz kogoś o przegląd. + +1. Uruchom `/diff` i przeczytaj każdy zmieniony plik. +2. Poproś o poprawkę wszystkiego, co wygląda źle, a następnie uruchom `/diff` ponownie. +3. Uruchom `!git status` lub `!git diff`, kiedy chcesz sprawdzić Gita bezpośrednio. + +## Zrealizuj drugie zgłoszenie równolegle + +1. Otwórz ponownie panel boczny i przełącz się na kartę **Sessions**. +2. Uruchom kolejną sesję dla drugiego zgłoszenia bez utraty pierwszej. +3. W nowej sesji uruchom `/worktree`, żeby dostała izolowany worktree zamiast gałęzi w miejscu. Obie sesje mogą teraz działać jednocześnie bez wzajemnych zakłóceń. +4. Dodaj drugie zgłoszenie do tej sesji klawiszem c. +5. Na razie zostaw tę sesję. Następne ćwiczenie zaplanuje to zgłoszenie, zanim zostanie napisany jakikolwiek kod. + +![Ilustracja wyjścia Copilot CLI po uruchomieniu /worktree. Raportuje utworzenie worktree ../space-quiz-13 na gałęzi issue-13-review-screen oraz to, że ta sesja pracuje teraz tam, podczas gdy main pozostaje nietknięty.](../../../_images/first-steps-cli-worktree.svg) + +`/worktree` przenosi sesję do własnego checkoutu na własnej gałęzi, więc pierwsza sesja pracuje dalej bez zakłóceń. + +## Podsumowanie i kolejne kroki + +Zaimplementowałeś pierwsze zgłoszenie, przejrzałeś je z `/diff` i uruchomiłeś drugą sesję we własnym worktree. Przejdź do [ćwiczenia 5: Planowanie przed edycją][next-lesson]. + +[next-lesson]: ../5-plan-mode/ diff --git a/docs/pl-pl/first-steps/copilot-cli/5-plan-mode.md b/docs/pl-pl/first-steps/copilot-cli/5-plan-mode.md new file mode 100644 index 00000000..015c3c60 --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-cli/5-plan-mode.md @@ -0,0 +1,40 @@ +--- +title: "Ćwiczenie 5 - Planowanie przed edycją" +description: "Przełącz drugą sesję w tryb planowania poleceniem /plan, żeby agent zaproponował podejście, zanim edytuje jakiekolwiek pliki." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-10-04 +--- + +Masz już drugą sesję działającą we własnym worktree. Nie zaczynaj tam od kodu. Tryb planowania bada projekt i proponuje podejście, pozostawiając pliki nietknięte. + +W tym ćwiczeniu: + +- przełączysz drugą sesję w tryb planowania. +- przejrzysz i dopracujesz zaproponowany plan agenta. +- zatwierdzisz plan i pozwolisz sesji go zaimplementować. + +## Uzgodnij podejście przed jakąkolwiek edycją + +1. Przełącz się na **drugą sesję**, którą otworzyłeś w poprzednim ćwiczeniu. +2. Uruchom `/plan`, aby przełączyć tę sesję w tryb planowania. +3. Wyślij poniższe polecenie i pozwól agentowi zbadać projekt bez edycji czegokolwiek: + + ```plaintext + Plan how to implement this issue. Investigate the existing quiz, list the files you would change, call out risks to accessibility and the single-file constraint, and stop before making any edits. + ``` + +4. Przeczytaj plan, dopytaj o brakujące elementy, a następnie zatwierdź go. +5. Sesja przechodzi do implementacji z zatwierdzonym planem jako wytycznymi. + +> [!TIP] +> **Kiedy tryb planowania się opłaca** +> +> Używaj trybu planowania przy wszystkim, co jest niejednoznaczne, przekrojowe lub kosztowne do cofnięcia. Najtańsze miejsce na poprawę złego podejścia jest przed pierwszą edycją. + +## Podsumowanie i kolejne kroki + +Uzgodniłeś podejście z agentem, zanim napisał jakikolwiek kod. Przejdź do [ćwiczenia 6: Co agent widzi][next-lesson]. + +[next-lesson]: ../6-context/ diff --git a/docs/pl-pl/first-steps/copilot-cli/6-context.md b/docs/pl-pl/first-steps/copilot-cli/6-context.md new file mode 100644 index 00000000..ddf322fc --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-cli/6-context.md @@ -0,0 +1,33 @@ +--- +title: "Ćwiczenie 6 - Co agent widzi" +description: "Użyj /context, aby sprawdzić, co wypełnia okno kontekstu, oraz /clear, aby zacząć od nowa, gdy rozmowa dryfuje." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-10-04 +--- + +Polecenia terminalowe czynią kontekst widocznym i świadomym. Wiedza o tym, co agent widzi, pomaga zrozumieć jego wyniki i zdecydować, kiedy zacząć od nowa. + +W tym ćwiczeniu: + +- sprawdzisz okno kontekstu poleceniem `/context`. +- zobaczysz, ile okna zużywa każda część. +- zresetujesz dryfującą rozmowę poleceniem `/clear`. + +## Sprawdź kontekst + +1. Uruchom `/context`, aby sprawdzić pliki, instrukcje i historię rozmowy. +2. Sprawdź, ile okna zużywa każda część. +3. Uruchom `/clear`, aby zacząć od nowa, gdy rozmowa zaczęła dryfować. +4. Dodaj z powrotem właściwy plik, zanim poprosisz o kolejną zmianę. + +![Ilustracja wyjścia Copilot CLI po uruchomieniu /context. Miernik okna kontekstu pokazuje 61 procent użycia, podzielone między rozmowę, przeczytane pliki i instrukcje. Notatka sugeruje użycie /compact do podsumowania albo rozpoczęcie świeżej sesji, gdy kończy się miejsce.](../../../_images/first-steps-cli-context.svg) + +`/context` pokazuje dokładnie, co wypełnia okno kontekstu i ile miejsca zostało. Gdy kończy się miejsce, użyj `/compact`, aby podsumować rozmowę, albo rozpocznij świeżą sesję. + +## Podsumowanie i kolejne kroki + +Potrafisz już zobaczyć i zarządzać tym, co agent wie. Przejdź do [ćwiczenia 7: Wznawianie i praca zdalna][next-lesson]. + +[next-lesson]: ../7-resume-and-remote/ diff --git a/docs/pl-pl/first-steps/copilot-cli/7-resume-and-remote.md b/docs/pl-pl/first-steps/copilot-cli/7-resume-and-remote.md new file mode 100644 index 00000000..1fe2a931 --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-cli/7-resume-and-remote.md @@ -0,0 +1,36 @@ +--- +title: "Ćwiczenie 7 - Wznawianie i praca zdalna" +description: "Opuść sesję Copilot CLI i wróć do niej później poleceniem copilot --resume lub /resume, a opcjonalnie kontynuuj ją na GitHubie z /remote." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-10-04 +--- + +Sesje można wstrzymać bez utraty rozmowy ani kontekstu obszaru roboczego. Opuść sesję, wróć do niej później i opcjonalnie kontynuuj ją w miejscu, do którego dotrzesz z dowolnego urządzenia. + +W tym ćwiczeniu: + +- wyjdziesz z sesji i wznowisz ją z terminala. +- przełączysz się między sesjami bez opuszczania CLI. +- opcjonalnie kontynuujesz sesję zdalnie. + +## Opuść sesję i wróć później + +1. Wyjdź z bieżącej sesji Copilot CLI, gdy będziesz gotowy przełączyć się na inne zadanie. +2. Z terminala uruchom `copilot --resume`, aby wybrać poprzednią sesję. +3. Wewnątrz Copilot CLI użyj `/resume`, aby przełączać się między sesjami bez opuszczania CLI. +4. Upewnij się, że przywrócona sesja nadal ma oczekiwane pliki, kontekst zgłoszenia i model. + +## Opcjonalnie: Kontynuuj sesję zdalnie + +Załóżmy, że jesteś głęboko w jednej z tych sesji i chcesz kontynuować po zamknięciu laptopa. Uruchom `/remote`, aby kontynuować *tę samą sesję* na GitHubie, a następnie wybierz zwrócony link, aby otworzyć i przeglądać sesję w przeglądarce. + +> [!NOTE] +> `/remote` to nie delegowanie i nie jest wymagane w tym warsztacie. Wypróbuj je, gdy lokalna pętla stanie się naturalna. + +## Podsumowanie i kolejne kroki + +Potrafisz wstrzymywać, wznawiać i kontynuować sesje tam, gdzie pracujesz. Przejdź do [ćwiczenia 8: Tworzenie, przegląd i scalanie z CLI][next-lesson]. + +[next-lesson]: ../8-pull-request/ diff --git a/docs/pl-pl/first-steps/copilot-cli/8-pull-request.md b/docs/pl-pl/first-steps/copilot-cli/8-pull-request.md new file mode 100644 index 00000000..f230c562 --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-cli/8-pull-request.md @@ -0,0 +1,31 @@ +--- +title: "Ćwiczenie 8 - Tworzenie, przegląd i scalanie z CLI" +description: "Sprawdź końcowy diff, utwórz pull request poleceniem /pr create, uwzględnij uwagi z przeglądu i scal z /pr agentmerge." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-10-04 +--- + +Dokończ pętlę rozwoju bez przełączania się na desktopowy interfejs. + +W tym ćwiczeniu: + +- sprawdzisz zmienione pliki po raz ostatni. +- utworzysz pull request z bieżącej gałęzi. +- przejrzysz pull request i uwzględnisz uwagi z przeglądu. +- zweryfikujesz i scalisz pull request poleceniem `/pr agentmerge`. + +## Utwórz, przejrzyj i scal + +1. Uruchom `/diff`, aby sprawdzić zmienione pliki po raz ostatni. +2. Poproś Copilota o utworzenie pull requesta z bieżącej gałęzi albo uruchom `/pr create`. +3. Otwórz kartę **Pull requests** w panelu bocznym, aby sprawdzić tytuł, opis, pliki i sprawdzenia statusu. +4. Popraw uwagi możliwe do wdrożenia, sprawdź wynik w przeglądarce i odpowiedz, co się zmieniło. +5. Gdy pull request będzie gotowy, uruchom `/pr agentmerge`, aby go zweryfikować i scalić po wymaganych potwierdzeniach i przejściu sprawdzeń. + +## Podsumowanie i kolejne kroki + +Utworzyłeś, przejrzałeś i scaliłeś pull request bez opuszczania terminala. Przejdź do [ćwiczenia 9: Delegowanie pracy, gdy ufasz pętli][next-lesson]. + +[next-lesson]: ../9-delegate/ diff --git a/docs/pl-pl/first-steps/copilot-cli/9-delegate.md b/docs/pl-pl/first-steps/copilot-cli/9-delegate.md new file mode 100644 index 00000000..916d35bf --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-cli/9-delegate.md @@ -0,0 +1,34 @@ +--- +title: "Ćwiczenie 9 - Delegowanie pracy, gdy ufasz pętli" +description: "Przekaż nową funkcję Space Quiz do /delegate, pracuj dalej podczas jej działania i śledź sesję w chmurze z CLI." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-10-04 +--- + +Dostarczyłeś funkcję. Skoro wiesz już, jak wygląda dobry wynik, cały nowy pomysł warto uruchomić obok Ciebie, a nie przed Tobą. W tym ćwiczeniu delegujesz **udostępniany raport misji**, który zamienia ukończony przebieg w kartę, którą gracz może opublikować. + +W tym ćwiczeniu: + +- zdelegujesz nową funkcję poleceniem `/delegate`. +- będziesz pracować dalej w głównej sesji, podczas gdy zlecona praca się wykonuje. +- porównasz wynik delegowania przed akceptacją. + +## Zdeleguj nową funkcję + +Uruchom `/delegate` i przekaż następujące zadanie: + +```plaintext +Delegate this: add a shareable mission report to the space quiz. At the end of a run, generate a compact summary card with the score, a rank title based on the percentage, and the slowest question. Add a Copy result button that puts a short plain-text version on the clipboard. Keep it in the single index.html with no dependencies, keep it keyboard accessible, and report back with what changed. +``` + +1. Pracuj dalej w głównej sesji, podczas gdy zlecone zadanie się wykonuje. +2. Porównaj wynik delegowania z Twoją sesją, zanim go zaakceptujesz. +3. Przy większym, dobrze określonym zgłoszeniu uruchom **sesję w chmurze** i śledź jej postęp z CLI. + +## Podsumowanie i kolejne kroki + +Zdelegowałeś kompletną funkcję i przejrzałeś wynik. Przejdź do [ćwiczenia 10: Podsumowanie i kolejne kroki][next-lesson]. + +[next-lesson]: ../10-review/ diff --git a/docs/pl-pl/first-steps/copilot-cli/README.md b/docs/pl-pl/first-steps/copilot-cli/README.md new file mode 100644 index 00000000..e79a02be --- /dev/null +++ b/docs/pl-pl/first-steps/copilot-cli/README.md @@ -0,0 +1,51 @@ +--- +title: "Pierwsze kroki z GitHub Copilot CLI" +description: "Przejdź prowadzone, terminalowe wprowadzenie do GitHub Copilot CLI, budując i dostarczając Space Quiz." +slug: pl-pl/first-steps/copilot-cli +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-10-04 +--- + +Przejdź przyjazne dla początkujących, praktyczne wprowadzenie do GitHub Copilot CLI. Zbudujesz kolorowy Space Quiz z pustego folderu i poznasz pętlę terminalową: buduj i przeglądaj diffy, zanim Git cokolwiek zapisze, uruchamiaj sesje równolegle, planuj przed edycją, a następnie twórz i scalaj pull request bez opuszczania powłoki. + +Warsztat zajmuje około 60–90 minut. Projekt używa jednego pliku HTML bez zależności runtime, więc możesz skupić się na nauce CLI i jego agentycznych przepływów pracy. + +> [!NOTE] +> Ten warsztat stworzył [James Montemagno][james], a został zaadaptowany z [First Steps with GitHub Copilot][source-lab]. Oryginalna treść jest dostępna na licencji [MIT][source-license]. + +## Ćwiczenia + +| Ćwiczenie | Temat | Co zrobisz | +| ------ | ----- | ---------------- | +| [0. Wymagania wstępne i konfiguracja][lesson-0] | Konfiguracja | Sprawdź wymagania wstępne, zainstaluj Copilot CLI, zaloguj się i wybierz model | +| [1. Budowa quizu][lesson-1] | Budowa | Zbuduj quiz z terminala i wprowadź jedną skupioną zmianę | +| [2. Zapisanie instrukcji projektu][lesson-2] | Instrukcje | Wygeneruj i dostosuj instrukcje agenta poleceniem `/init` | +| [3. Publikacja projektu][lesson-3] | Publikacja | Zainicjalizuj, utwórz commit i opublikuj przez prompt albo ręcznie | +| [4. Praca nad zgłoszeniami równolegle][lesson-4] | Implementacja | Utwórz backlog, dodaj zgłoszenie do czatu, przejrzyj z `/diff` i uruchom drugą sesję w worktree | +| [5. Planowanie przed edycją][lesson-5] | Plan | Użyj `/plan`, aby uzgodnić podejście do drugiego zgłoszenia | +| [6. Co agent widzi][lesson-6] | Kontekst | Sprawdź i zresetuj kontekst poleceniami `/context` i `/clear` | +| [7. Wznawianie i praca zdalna][lesson-7] | Wznawianie | Opuszczaj i wracaj do sesji z `/resume`, a opcjonalnie kontynuuj z `/remote` | +| [8. Tworzenie, przegląd i scalanie][lesson-8] | Przegląd | Utwórz i scal pull request poleceniami `/pr create` i `/pr agentmerge` | +| [9. Delegowanie pracy][lesson-9] | Delegowanie | Przekaż nową funkcję do `/delegate` i śledź sesję w chmurze | +| [10. Podsumowanie i kolejne kroki][lesson-10] | Podsumowanie | Podsumuj przepływ pracy i kontynuuj naukę | + +## Rozpocznij + +[Zacznij od ćwiczenia 0: Wymagania wstępne i konfiguracja][lesson-0]. + +[james]: https://github.com/jamesmontemagno +[source-lab]: https://github.com/jamesmontemagno/first-steps-with-github-copilot +[source-license]: https://github.com/jamesmontemagno/first-steps-with-github-copilot/blob/main/LICENSE +[lesson-0]: 0-prerequisites/ +[lesson-1]: 1-build/ +[lesson-2]: 2-project-instructions/ +[lesson-3]: 3-publish/ +[lesson-4]: 4-issues-and-sessions/ +[lesson-5]: 5-plan-mode/ +[lesson-6]: 6-context/ +[lesson-7]: 7-resume-and-remote/ +[lesson-8]: 8-pull-request/ +[lesson-9]: 9-delegate/ +[lesson-10]: 10-review/ diff --git a/docs/pl-pl/first-steps/vscode/0-prerequisites.md b/docs/pl-pl/first-steps/vscode/0-prerequisites.md new file mode 100644 index 00000000..31764b61 --- /dev/null +++ b/docs/pl-pl/first-steps/vscode/0-prerequisites.md @@ -0,0 +1,53 @@ +--- +title: "Lekcja 0 - Wymagania wstępne i konfiguracja" +description: "Sprawdź wymagania wstępne warsztatu, potwierdź Copilot Chat w VS Code, dodaj rozszerzenie GitHub Pull Requests and Issues i wybierz model." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Wprowadź Copilota do edytora. Copilot jest wbudowany w VS Code, więc nie musisz nic instalować na potrzeby czatu. Dodaj rozszerzenie GitHub, a następnie otwórz pusty folder. + +W tej lekcji: + +- sprawdzisz wymagania wstępne warsztatu. +- potwierdzisz, że Copilot Chat odpowiada w VS Code. +- zainstalujesz rozszerzenie GitHub Pull Requests and Issues. +- otworzysz pusty folder projektu i wybierzesz model. + +## Wymagania wstępne + +Potrzebujesz: + +- konta GitHub z [planem Copilot][copilot-plans]. +- [Visual Studio Code][vscode]. +- zainstalowanego [Git][git]. Uruchom `git --version` w terminalu, aby to sprawdzić. + +## Skonfiguruj VS Code + +1. Zainstaluj [VS Code][vscode] i zaloguj się do GitHub. Copilot i Copilot Chat są wbudowane, więc otwórz widok **Chat** z paska tytułu i upewnij się, że odpowiada. +2. Otwórz widok **Extensions** i zainstaluj oficjalne rozszerzenie [GitHub Pull Requests and Issues][pr-extension], aby zgłoszenia i pull requesty pojawiły się na pasku bocznym. +3. Utwórz pusty folder o nazwie `space-quiz`, a następnie wybierz **File** > **Open Folder** i otwórz go. +4. Wybierz model za pomocą selektora modeli w widoku **Chat**, według kolejności preferencji z następnej sekcji. + +## Wybierz model + +Wybierz pierwszą dostępną opcję: + +1. **GPT-6-Luna** (zalecane). +2. **Auto**, jako zrównoważoną opcję zapasową. +3. Dowolny model z [listy aktywnych modeli][active-models]. + +Dostępność modeli zależy od planu, zasad organizacji i wersji produktu. + +## Podsumowanie i kolejne kroki + +VS Code jest gotowy: masz Copilot Chat, rozszerzenie GitHub i pusty folder `space-quiz`. Przejdź do [Lekcji 1: Buduj w obszarze roboczym][next-lesson]. + +[copilot-plans]: https://github.com/features/copilot/plans +[vscode]: https://code.visualstudio.com/ +[git]: https://git-scm.com/downloads +[pr-extension]: https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github +[active-models]: https://docs.github.com/copilot/reference/copilot-billing/models-and-pricing +[next-lesson]: ../1-build-and-polish/ diff --git a/docs/pl-pl/first-steps/vscode/1-build-and-polish.md b/docs/pl-pl/first-steps/vscode/1-build-and-polish.md new file mode 100644 index 00000000..af111f50 --- /dev/null +++ b/docs/pl-pl/first-steps/vscode/1-build-and-polish.md @@ -0,0 +1,49 @@ +--- +title: "Lekcja 1 - Buduj w obszarze roboczym" +description: "Zbuduj Space Quiz w VS Code, podglądaj go w zintegrowanej przeglądarce i dopracuj wybrany element." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Trzymaj edytor, czat, pliki i podgląd razem. Zbudujesz quiz, przejdziesz go w zintegrowanej przeglądarce, a następnie przekażesz konkretny element prosto do czatu, aby wprowadzić precyzyjną zmianę. + +W tej lekcji: + +- zbudujesz quiz w pojedynczym pliku `index.html`. +- otworzysz podgląd quizu w zintegrowanej przeglądarce. +- wybierzesz element w przeglądarce i go dopracujesz. + +## Zbuduj quiz + +Wyślij poniższe polecenie w Copilot Chat: + +```plaintext +Create a colorful, accessible space exploration quiz with 10 questions in a single index.html. Add a progress bar, score counter, animated correct and incorrect feedback, and a results screen. Use no server or dependencies. Open it in the VS Code integrated browser. +``` + +1. Przejrzyj wygenerowany plik w edytorze. +2. Otwórz zintegrowaną przeglądarkę i przejdź kilka pytań. +3. W dowolnym momencie otwórz **Source Control**, aby zobaczyć zmienione pliki i diff. + +## Wybierz element i dopracuj go + +Zintegrowana przeglądarka może przekazać konkretny element prosto do czatu, więc nie musisz opisywać, o który przycisk Ci chodzi. + +1. Przy otwartym quizie w zintegrowanej przeglądarce rozpocznij wybór elementu z paska narzędzi przeglądarki. +2. Wybierz przyciski odpowiedzi, aby dołączyć ten element do kolejnej wiadomości w czacie. +3. Wyślij poniższe polecenie i obserwuj przeładowanie podglądu: + + ```plaintext + Using the selected element, make the answer buttons feel more tactile: add a subtle press state, a clearer focus ring for keyboard users, and a smoother transition into the correct and incorrect colors. Change nothing else. + ``` + +4. Przeczytaj diff w **Source Control**, zanim go zachowasz. +5. Wciśnij Tab, aby przejść między odpowiedziami, i upewnij się, że pierścień fokusu jest widoczny. + +## Podsumowanie i kolejne kroki + +Zbudowałeś, sprawdziłeś w podglądzie i dopracowałeś quiz bez opuszczania edytora. Przejdź do [Lekcji 2: Zapisz instrukcje projektu][next-lesson]. + +[next-lesson]: ../2-project-instructions/ diff --git a/docs/pl-pl/first-steps/vscode/10-review.md b/docs/pl-pl/first-steps/vscode/10-review.md new file mode 100644 index 00000000..19490aaf --- /dev/null +++ b/docs/pl-pl/first-steps/vscode/10-review.md @@ -0,0 +1,45 @@ +--- +title: "Lekcja 10 - Podsumowanie i kolejne kroki" +description: "Podsumuj przepływ pracy w VS Code i znajdź zasoby do dalszej nauki." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Ukończyłeś pętlę edytora: budowałeś w edytorze, zapisałeś instrukcje, testowałeś w zintegrowanej przeglądarce, planowałeś przed edycją, scalałeś z narzędziami GitHub i delegowałeś kolejny pomysł do sesji w chmurze. + +## Co ukończyłeś + +Ukończyłeś następujące kroki: + +- potwierdziłeś Copilot Chat i dodałeś rozszerzenie GitHub Pull Requests and Issues. +- zbudowałeś quiz i dopracowałeś wybrany element w zintegrowanej przeglądarce. +- wygenerowałeś `.github/copilot-instructions.md` za pomocą `/init`. +- sprawdziłeś kontekst czatu i przeprowadziłeś smoke test, zanim Git cokolwiek zapisał. +- opublikowałeś przez **Source Control** z treścią commita przygotowaną przez Copilota. +- zaplanowałeś funkcję w Plan mode przed jakimikolwiek zmianami. +- włączyłeś GitHub MCP i utworzyłeś zgłoszenia z czatu. +- utworzyłeś, przejrzałeś i scaliłeś pull request z VS Code. +- delegowałeś funkcję do sesji w chmurze. + +## Kontynuuj eksplorację + +- [Poznaj Copilota w VS Code, w tym czat, tryb agenta i funkcje edytora][copilot-vscode]. +- [Zarządzaj zgłoszeniami i pull requestami na pasku bocznym dzięki rozszerzeniu GitHub Pull Requests][pr-extension]. +- [Dodaj narzędzia, które agent może wywoływać, za pomocą serwerów MCP w VS Code][mcp-servers]. +- [Naucz Copilota reguł projektu dzięki instrukcjom niestandardowym][custom-instructions]. +- [Zainstaluj Git][git]. +- [Porównaj plany Copilot][copilot-plans]. + +Przeprowadź ten sam Space Quiz innym sposobem pracy w [warsztacie Pierwsze kroki z aplikacją GitHub Copilot][first-steps-app] albo [warsztacie Pierwsze kroki z GitHub Copilot CLI][first-steps-cli]. Jeśli jesteś gotowy na głębszy scenariusz z kompletną aplikacją i backlogiem zespołu, kontynuuj z [warsztatem VS Code w rzeczywistym rozwoju][real-world-vscode]. + +[copilot-vscode]: https://code.visualstudio.com/docs/copilot/overview +[pr-extension]: https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github +[mcp-servers]: https://code.visualstudio.com/docs/copilot/chat/mcp-servers +[custom-instructions]: https://docs.github.com/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot +[git]: https://git-scm.com/downloads +[copilot-plans]: https://github.com/features/copilot/plans +[first-steps-app]: ../copilot-app/ +[first-steps-cli]: ../copilot-cli/ +[real-world-vscode]: ../../real-world-development/vscode/ diff --git a/docs/pl-pl/first-steps/vscode/2-project-instructions.md b/docs/pl-pl/first-steps/vscode/2-project-instructions.md new file mode 100644 index 00000000..b1a4ffc3 --- /dev/null +++ b/docs/pl-pl/first-steps/vscode/2-project-instructions.md @@ -0,0 +1,41 @@ +--- +title: "Lekcja 2 - Zapisz instrukcje projektu" +description: "Uruchom /init w Copilot Chat, aby wygenerować .github/copilot-instructions.md dla Space Quiz, a następnie dostosuj plik." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Mając działający quiz w obszarze roboczym, wygeneruj instrukcje niestandardowe repozytorium, które opisują rzeczywisty projekt. Copilot czyta te instrukcje przy każdym żądaniu w czacie. + +W tej lekcji: + +- wygenerujesz instrukcje niestandardowe repozytorium za pomocą `/init`. +- przejrzysz `.github/copilot-instructions.md` przed zapisaniem. +- skrócisz i spersonalizujesz instrukcje. + +## Zapisz reguły za pomocą `/init` + +1. Uruchom `/init` w Copilot Chat. +2. Przejrzyj wygenerowany plik `.github/copilot-instructions.md` przed zapisaniem. +3. Zostaw tylko wskazówki pasujące do tego projektu: jeden plik, brak zależności, dostępność i testowanie w przeglądarce. + +![Ilustracja VS Code z otwartym plikiem .github/copilot-instructions.md w edytorze i zaznaczonym w Explorerze, obok index.html. Plik ma tytuł Space Quiz i wymienia reguły: pojedynczy index.html bez zależności i bez kroku budowania, każda odpowiedź osiągalna z klawiatury oraz respektowanie prefers-color-scheme w obu motywach. Sekcja How I like code written prosi o małe funkcje, wczesne returny, brak sprytnych one-linerów i komentarze tylko przy tym, co naprawdę zaskakuje.](../../../_images/first-steps-vscode-instructions.svg) + +Instrukcje niestandardowe repozytorium znajdują się w `.github/copilot-instructions.md` i obowiązują przy każdym żądaniu w czacie. + +> [!IMPORTANT] +> **Kolejność ma znaczenie** +> +> `/init` czyta obszar roboczy w jego obecnym stanie. Uruchomienie go po zbudowaniu quizu daje instrukcje oparte na rzeczywistym kodzie. + +## Dostosuj je do siebie + +Plik instrukcji nie służy wyłącznie do faktów o projekcie. Dodaj szczegóły, które inaczej powtarzałbyś w każdym promptcie: jak lubisz pisać kod, konwencje nazewnictwa, jakich bibliotek unikać i ile komentarzy chcesz. Każda przyszła sesja czyta ten plik zanim przeczyta Twój prompt. + +## Podsumowanie i kolejne kroki + +Obszar roboczy ma teraz instrukcje niestandardowe oparte na rzeczywistym kodzie. Przejdź do [Lekcji 3: Sprawdź kontekst i przetestuj][next-lesson]. + +[next-lesson]: ../3-inspect-and-test/ diff --git a/docs/pl-pl/first-steps/vscode/3-inspect-and-test.md b/docs/pl-pl/first-steps/vscode/3-inspect-and-test.md new file mode 100644 index 00000000..2b1bb7fa --- /dev/null +++ b/docs/pl-pl/first-steps/vscode/3-inspect-and-test.md @@ -0,0 +1,42 @@ +--- +title: "Lekcja 3 - Sprawdź kontekst i przetestuj" +description: "Sprawdź kontekst dołączony do żądania Copilot Chat, a następnie uruchom smoke test na poziomie przeglądarki, zanim Git cokolwiek zapisze." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Zanim cokolwiek opublikujesz, sprawdź, co Copilot widzi, i upewnij się, że quiz działa. + +W tej lekcji: + +- przejrzysz kontekst dołączony do żądania w czacie. +- uruchomisz smoke test na poziomie przeglądarki. +- naprawisz błędy, zanim przejdziesz do Gita. + +## Sprawdź kontekst w prawym dolnym rogu + +VS Code pokazuje aktywny kontekst w prawym dolnym rogu pola wprowadzania Copilot Chat. + +1. Otwórz wskaźnik kontekstu w **prawym dolnym rogu** pola czatu. +2. Przejrzyj pliki, instrukcje niestandardowe i symbole dołączone do żądania. +3. Usuń nieistotny kontekst albo dołącz plik quizu, zanim przejdziesz dalej. + +## Zbuduj i przetestuj, zanim Git coś zapisze + +Użyj zintegrowanej przeglądarki i polecenia smoke testu, zanim zainicjalizujesz repozytorium lub cokolwiek scommitujesz: + +```plaintext +Run a browser-level smoke test for the quiz. Check keyboard navigation, score updates, correct and incorrect feedback, and the results screen. Fix any failures, then report what passed. +``` + +1. Uruchom smoke test i sprawdź zintegrowaną przeglądarkę. +2. Napraw błędy i powtarzaj test, aż wszystko przejdzie. +3. Dopiero gdy budowa i test przejdą, przejdź do Gita. + +## Podsumowanie i kolejne kroki + +Potwierdziłeś, co Copilot widzi, i przetestowałeś quiz przed publikacją. Przejdź do [Lekcji 4: Opublikuj projekt][next-lesson]. + +[next-lesson]: ../4-publish/ diff --git a/docs/pl-pl/first-steps/vscode/4-publish.md b/docs/pl-pl/first-steps/vscode/4-publish.md new file mode 100644 index 00000000..38fd2bf8 --- /dev/null +++ b/docs/pl-pl/first-steps/vscode/4-publish.md @@ -0,0 +1,34 @@ +--- +title: "Lekcja 4 - Opublikuj projekt" +description: "Zainicjalizuj, scommituj i opublikuj Space Quiz wyłącznie przez wbudowaną integrację Source Control w VS Code." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Opublikuj przetestowany quiz na GitHub wyłącznie przez wbudowaną integrację Gita i pozwól Copilotowi przygotować treść commita na podstawie tego, co faktycznie się zmieniło. + +W tej lekcji: + +- zainicjalizujesz repozytorium z **Source Control**. +- wygenerujesz treść commita ze staged diffa. +- opublikujesz gałąź w nowym publicznym repozytorium GitHub. + +## Zainicjalizuj, scommituj i opublikuj + +1. Otwórz **Source Control** i wybierz **Initialize Repository**. +2. Dodaj pliki do stage. +3. Wybierz ikonę **sparkle pencil** w polu treści commita, aby Copilot napisał wiadomość na podstawie staged diffa. Przeczytaj wiadomość, popraw błędy, a następnie scommituj. +4. Wybierz **Publish Branch** i utwórz publiczne repozytorium `space-quiz` na GitHub. +5. Upewnij się, że przetestowany plik jest widoczny na GitHub. + +![Ilustracja widoku Source Control w VS Code. Lista Changes pokazuje index.html oraz .github/copilot-instructions.md. Adnotacja przy przycisku sparkle w polu treści commita mówi Copilot wrote your message, a wiadomość brzmi Add per-question timer to the quiz. Pod przyciskiem Commit wyróżniony jest Create Pull Request z notatką Commit first, then this button appears right inside Source Control.](../../../_images/first-steps-vscode-commit.svg) + +Przycisk sparkle przygotowuje treść commita na podstawie staged diffa. Po commitcie **Source Control** proponuje też utworzenie pull requesta. + +## Podsumowanie i kolejne kroki + +Twój przetestowany quiz jest teraz opublikowany na GitHub. Przejdź do [Lekcji 5: Zaplanuj przed edycją][next-lesson]. + +[next-lesson]: ../5-plan-mode/ diff --git a/docs/pl-pl/first-steps/vscode/5-plan-mode.md b/docs/pl-pl/first-steps/vscode/5-plan-mode.md new file mode 100644 index 00000000..c65976ce --- /dev/null +++ b/docs/pl-pl/first-steps/vscode/5-plan-mode.md @@ -0,0 +1,39 @@ +--- +title: "Lekcja 5 - Zaplanuj przed edycją" +description: "Przełącz Copilot Chat na Plan mode, aby zbadał obszar roboczy i zaproponował podejście, zanim zmieni jakiekolwiek pliki." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Tryb planowania bada obszar roboczy i przygotowuje plan implementacji, nie ruszając Twoich plików. + +W tej lekcji: + +- przełączysz Copilot Chat z Agent na Plan. +- przejrzysz i dopracujesz zaproponowany plan. +- wrócisz do Agent, aby wdrożyć plan. + +## Uzgodnij podejście przed jakimikolwiek zmianami + +1. Otwórz Copilot Chat i użyj **mode dropdown** nad polem wprowadzania. +2. Przełącz z **Agent** na **Plan**. +3. Opisz kolejną funkcję poniższym poleceniem i pozwól Copilotowi zbadać obszar roboczy: + + ```plaintext + Plan how to add a review screen that shows every question with the answer I chose. Investigate the existing quiz, list the changes you would make, call out accessibility and single-file risks, and stop before editing. + ``` + +4. Przeczytaj plan i poproś o zmiany, a następnie wróć do **Agent**, aby go wdrożyć. + +> [!TIP] +> **Kiedy tryb planowania się opłaca** +> +> Używaj Plan mode przy wszystkim, co jest niejednoznaczne, przecina wiele części projektu albo jest kosztowne do cofnięcia. Najtaniej poprawisz złe podejście przed pierwszą edycją. + +## Podsumowanie i kolejne kroki + +Uzgodniłeś podejście z Copilotem, zanim napisał jakikolwiek kod. Przejdź do [Lekcji 6: Wyposaż Copilota w narzędzia GitHub][next-lesson]. + +[next-lesson]: ../6-github-mcp/ diff --git a/docs/pl-pl/first-steps/vscode/6-github-mcp.md b/docs/pl-pl/first-steps/vscode/6-github-mcp.md new file mode 100644 index 00000000..aea85331 --- /dev/null +++ b/docs/pl-pl/first-steps/vscode/6-github-mcp.md @@ -0,0 +1,30 @@ +--- +title: "Lekcja 6 - Wyposaż Copilota w narzędzia GitHub" +description: "Włącz i przejrzyj serwer MCP GitHub w VS Code, zanim poprosisz Copilota o pracę ze zgłoszeniami i pull requestami." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Włącz serwer MCP GitHub *zanim* poprosisz Copilota o tworzenie zgłoszeń lub pracę z pull requestami. Dzięki tym narzędziom Copilot może czytać i zapisywać dane GitHub bezpośrednio z czatu. + +W tej lekcji: + +- włączysz serwer MCP GitHub. +- przejrzysz narzędzia i uprawnienia, o które prosi serwer. +- potwierdzisz, że narzędzia GitHub są dostępne w czacie. + +## Włącz GitHub MCP + +1. Otwórz **Settings** w VS Code i włącz wbudowany serwer **GitHub MCP**, jeśli Twoja wersja go zawiera. +2. W przeciwnym razie zainstaluj zaufany serwer MCP GitHub przez [przepływ konfiguracji serwerów MCP][mcp-servers]. +3. Przejrzyj narzędzia i uprawnienia, o które prosi serwer, zanim je zatwierdzisz. +4. Upewnij się, że narzędzia GitHub pojawiają się w selektorze narzędzi Copilot Chat. + +## Podsumowanie i kolejne kroki + +Copilot ma teraz narzędzia z dostępem do GitHub. Przejdź do [Lekcji 7: Zaplanuj i zaimplementuj zgłoszenia][next-lesson]. + +[mcp-servers]: https://code.visualstudio.com/docs/copilot/chat/mcp-servers +[next-lesson]: ../7-issues-and-sessions/ diff --git a/docs/pl-pl/first-steps/vscode/7-issues-and-sessions.md b/docs/pl-pl/first-steps/vscode/7-issues-and-sessions.md new file mode 100644 index 00000000..e7c620e9 --- /dev/null +++ b/docs/pl-pl/first-steps/vscode/7-issues-and-sessions.md @@ -0,0 +1,38 @@ +--- +title: "Lekcja 7 - Zaplanuj i zaimplementuj zgłoszenia" +description: "Użyj narzędzi GitHub, aby utworzyć zgłoszenia z Copilot Chat, a następnie zaimplementuj jedno w nowej sesji czatu." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Po włączeniu GitHub MCP Copilot może tworzyć i czytać zgłoszenia bezpośrednio z czatu. + +W tej lekcji: + +- utworzysz trzy konkretne zgłoszenia GitHub z Copilot Chat. +- rozpoczniesz nową sesję czatu dla jednego zgłoszenia. +- zaimplementujesz i zweryfikujesz zgłoszenie. + +## Utwórz zgłoszenia + +Wyślij poniższe polecenie: + +```plaintext +Review the space quiz and suggest three focused feature ideas. Use the GitHub tools to create a separate issue for each with a clear title, user-focused description, and acceptance criteria. Do not implement them yet. +``` + +## Zaimplementuj jedno zgłoszenie + +1. Otwórz widok **GitHub** na Activity Bar i przejrzyj nowe zgłoszenia. +2. Wybierz jedno zgłoszenie, a następnie kliknij przycisk **+** w Copilot Chat, aby rozpocząć nową sesję dla niego. +3. Użyj trybu Agent, aby zaimplementować zgłoszenie, podczas gdy pierwotna sesja pozostaje dostępna do porównania. +4. Uruchom smoke test w zintegrowanej przeglądarce z [Lekcji 3][lesson-3], zanim utworzysz pull request. + +## Podsumowanie i kolejne kroki + +Utworzyłeś zgłoszenia i zaimplementowałeś jedno we własnej sesji. Przejdź do [Lekcji 8: Przejrzyj i scal][next-lesson]. + +[lesson-3]: ../3-inspect-and-test/ +[next-lesson]: ../8-review-and-merge/ diff --git a/docs/pl-pl/first-steps/vscode/8-review-and-merge.md b/docs/pl-pl/first-steps/vscode/8-review-and-merge.md new file mode 100644 index 00000000..2e4a6e25 --- /dev/null +++ b/docs/pl-pl/first-steps/vscode/8-review-and-merge.md @@ -0,0 +1,36 @@ +--- +title: "Lekcja 8 - Przejrzyj i scal" +description: "Utwórz pull request z Source Control, poproś o przegląd kodu Copilota, uwzględnij uwagi za pomocą narzędzi GitHub i scal zmiany." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Przejrzyj, zweryfikuj i scal nową pracę za pomocą narzędzi GitHub w VS Code. + +W tej lekcji: + +- scommitujesz nową pracę i utworzysz pull request z **Source Control**. +- poprosisz o przegląd kodu Copilota. +- uwzględnisz uwagi z przeglądu i nieprzechodzące sprawdzenia za pomocą GitHub MCP. +- scalysz pull request. + +## Przejrzyj, zweryfikuj i scal + +1. Otwórz **Source Control**, aby przejrzeć zmienione pliki i diff, zanim cokolwiek utworzysz. +2. Scommituj nową pracę, ponownie używając przycisku **sparkle** do napisania wiadomości. +3. Wybierz przycisk **Create Pull Request**, który pojawia się w **Source Control**. Copilot przygotowuje tytuł i opis na podstawie Twoich commitów, więc dostajesz lepszy pull request niż przy prośbie od zera. +4. Poproś o **Copilot code review** podczas tworzenia pull requesta, z widoku **GitHub** w VS Code albo na GitHub. +5. Poproś Copilota, z użyciem GitHub MCP, o przejrzenie pull requesta, rozwiązanie konfliktów scalania, uwzględnienie komentarzy z przeglądu i zbadanie nieprzechodzących sprawdzeń CI. +6. Przetestuj ponownie w zintegrowanej przeglądarce, przejrzyj każdą proponowaną zmianę i zaktualizuj gałąź. +7. Gdy sprawdzenia i przegląd są gotowe, poproś agenta o scalenie albo scal z integracji GitHub. + +> [!NOTE] +> Zawsze możesz zamiast tego poprosić Copilota o to w czacie. Warto najpierw poznać ścieżkę przez **Source Control**, bo przygotowuje treść commita i pull requesta na podstawie tego, co faktycznie się zmieniło. + +## Podsumowanie i kolejne kroki + +Przejrzałeś i scaliłeś pull request bez opuszczania VS Code. Przejdź do [Lekcji 9: Przekaż kolejny pomysł do sesji w chmurze][next-lesson]. + +[next-lesson]: ../9-cloud-session/ diff --git a/docs/pl-pl/first-steps/vscode/9-cloud-session.md b/docs/pl-pl/first-steps/vscode/9-cloud-session.md new file mode 100644 index 00000000..e9657011 --- /dev/null +++ b/docs/pl-pl/first-steps/vscode/9-cloud-session.md @@ -0,0 +1,43 @@ +--- +title: "Lekcja 9 - Przekaż kolejny pomysł do sesji w chmurze" +description: "Przełącz środowisko Copilot Chat z Local na Cloud i deleguj samodzielną funkcję, która wróci jako pull request." +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Przeszedłeś całą pętlę lokalnie, więc wiesz już, jak wygląda dobry wynik. To właściwy moment, by coś mogło działać bez Ciebie. Copilot Chat może przełączyć środowisko, na którym działa, z Twojej maszyny na GitHub. + +W tej lekcji: + +- przełączysz środowisko Copilot Chat z **Local** na **Cloud**. +- delegujesz samodzielną funkcję z jasnymi kryteriami akceptacji. +- przejrzysz powstały pull request. + +## Deleguj do chmury + +![Ilustracja Copilot Chat w VS Code z otwartym selektorem Harness. Pod Copilot wybrane jest Cloud zamiast Local, a na liście są też inne środowiska, takie jak Claude i Codex. Powyżej widać żądanie dodania trzech nowych motywów kolorystycznych z komunikatem Working in the cloud oraz linkiem do śledzenia sesji na GitHub.](../../../_images/first-steps-vscode-cloud-harness.svg) + +Selektor **Harness** wymienia Copilota działającego w trybie **Local** lub **Cloud**, obok innych środowisk. Przełącz na **Cloud**, a kolejne żądanie uruchomi się na GitHub zamiast na Twojej maszynie. + +1. W Copilot Chat otwórz selektor **Harness** i przełącz Copilota z **Local** na **Cloud**. +2. Rozpocznij nową sesję i zleć samodzielną funkcję z jasnymi kryteriami akceptacji: + + ```plaintext + Add a theme picker to the space quiz with three named themes: Deep Space, Launch Pad, and Lunar. Persist the choice in localStorage, keep everything in the single index.html with no dependencies, keep contrast accessible in every theme, and open a pull request when the tests pass. + ``` + +3. Zamknij laptopa. Praca trwa na GitHub i wraca jako pull request. +4. Przejrzyj ten pull request równie dokładnie jak ten, który napisałeś sam. + +> [!TIP] +> **Deleguj to, co potrafisz opisać** +> +> Sesje w chmurze nagradzają precyzyjny brief. Jeśli nie potrafisz napisać kryteriów akceptacji, zadanie nie jest jeszcze gotowe do opuszczenia Twojej maszyny. + +## Podsumowanie i kolejne kroki + +Delegowałeś funkcję do sesji w chmurze i przejrzałeś wynik. Przejdź do [Lekcji 10: Podsumowanie i kolejne kroki][next-lesson]. + +[next-lesson]: ../10-review/ diff --git a/docs/pl-pl/first-steps/vscode/README.md b/docs/pl-pl/first-steps/vscode/README.md new file mode 100644 index 00000000..e288832f --- /dev/null +++ b/docs/pl-pl/first-steps/vscode/README.md @@ -0,0 +1,51 @@ +--- +title: "Pierwsze kroki z Visual Studio Code" +description: "Przejdź prowadzony przewodnik po GitHub Copilot w Visual Studio Code: zbuduj, przetestuj i opublikuj Space Quiz." +slug: pl-pl/first-steps/vscode +authors: + - jamesmontemagno + - azkel +lastUpdated: 2026-09-28 +--- + +Przejdź przyjazny dla początkujących, praktyczny przewodnik po GitHub Copilot w Visual Studio Code. Zbudujesz kolorowy Space Quiz z pustego folderu i poznasz pętlę edytora: buduj w obszarze roboczym, sprawdzaj kontekst, testuj zanim Git cokolwiek zapisze, planuj przed edycją i pozwól narzędziom GitHub obsłużyć zgłoszenia oraz pull requesty bez opuszczania VS Code. + +Warsztat zajmuje około 60–90 minut. Projekt używa pojedynczego pliku HTML bez zależności runtime, dzięki czemu możesz skupić się na nauce Copilota w edytorze. + +> [!NOTE] +> Ten warsztat stworzył [James Montemagno][james], a został zaadaptowany z [First Steps with GitHub Copilot][source-lab]. Oryginalna treść jest dostępna na licencji [MIT][source-license]. + +## Lekcje + +| Lekcja | Temat | Co zrobisz | +| ------ | ----- | ---------- | +| [0. Wymagania wstępne i konfiguracja][lesson-0] | Konfiguracja | Sprawdź wymagania wstępne, dodaj rozszerzenie GitHub, otwórz folder i wybierz model | +| [1. Buduj w obszarze roboczym][lesson-1] | Budowa | Zbuduj quiz, podglądaj go w zintegrowanej przeglądarce i dopracuj wybrany element | +| [2. Zapisz instrukcje projektu][lesson-2] | Instrukcje | Wygeneruj i dostosuj `.github/copilot-instructions.md` za pomocą `/init` | +| [3. Sprawdź kontekst i przetestuj][lesson-3] | Test | Sprawdź kontekst czatu i uruchom smoke test zanim Git cokolwiek zapisze | +| [4. Opublikuj projekt][lesson-4] | Publikacja | Zainicjalizuj, scommituj i opublikuj przez Source Control | +| [5. Zaplanuj przed edycją][lesson-5] | Plan | Użyj Plan mode, aby uzgodnić podejście do kolejnej funkcji | +| [6. Wyposaż Copilota w narzędzia GitHub][lesson-6] | Narzędzia | Włącz i przejrzyj serwer MCP GitHub | +| [7. Zaplanuj i zaimplementuj zgłoszenia][lesson-7] | Implementacja | Utwórz zgłoszenia narzędziami GitHub i zaimplementuj jedno w nowej sesji | +| [8. Przejrzyj i scal][lesson-8] | Przegląd | Utwórz pull request z Source Control, poproś o przegląd i scal | +| [9. Przekaż kolejny pomysł do sesji w chmurze][lesson-9] | Delegowanie | Przełącz środowisko na Cloud i deleguj nową funkcję | +| [10. Podsumowanie i kolejne kroki][lesson-10] | Podsumowanie | Podsumuj przepływ pracy i kontynuuj naukę | + +## Rozpocznij + +[Zacznij od Lekcji 0: Wymagania wstępne i konfiguracja][lesson-0]. + +[james]: https://github.com/jamesmontemagno +[source-lab]: https://github.com/jamesmontemagno/first-steps-with-github-copilot +[source-license]: https://github.com/jamesmontemagno/first-steps-with-github-copilot/blob/main/LICENSE +[lesson-0]: 0-prerequisites/ +[lesson-1]: 1-build-and-polish/ +[lesson-2]: 2-project-instructions/ +[lesson-3]: 3-inspect-and-test/ +[lesson-4]: 4-publish/ +[lesson-5]: 5-plan-mode/ +[lesson-6]: 6-github-mcp/ +[lesson-7]: 7-issues-and-sessions/ +[lesson-8]: 8-review-and-merge/ +[lesson-9]: 9-cloud-session/ +[lesson-10]: 10-review/ diff --git a/docs/pl-pl/real-world-development/README.md b/docs/pl-pl/real-world-development/README.md new file mode 100644 index 00000000..7e144c92 --- /dev/null +++ b/docs/pl-pl/real-world-development/README.md @@ -0,0 +1,39 @@ +--- +title: "Rozwój w realnych scenariuszach" +slug: pl-pl/real-world-development +authors: + - geektrainer + - azkel +lastUpdated: 2026-10-04 +--- + +Poznaj GitHub Copilot w całym cyklu życia oprogramowania, korzystając z realistycznych scenariuszy, pełnej aplikacji i wspólnego backlogu. Będziesz iteracyjnie planować zmiany, tworzyć kod, testować zachowanie, przeglądać pull requesty i zarządzać pracą za pomocą agentów. + +## Scenariusz + +Jesteś nowym programistą w Tailspin Toys, fikcyjnej firmie oferującej crowdfunding gier planszowych o tematyce deweloperskiej. Backlog zespołu jest już zapisany jako zgłoszenia w GitHubie, gotowe do podjęcia. Obejmuje prace funkcjonalne, takie jak filtrowanie i paginacja, oraz poprawę jakości, na przykład dostępność i standardy kodowania. + +## Wybierz środowisko + +GitHub Copilot czeka na Ciebie tam, gdzie pracujesz. Wybierz środowisko dopasowane do sposobu, w jaki chcesz budować. Każdy warsztat zaczyna się od własnej konfiguracji i korzysta ze wspólnego scenariusza Tailspin Toys. + +### [GitHub Copilot CLI][cli] + +Użyj asystenta opartego na agentach w terminalu. Pracuj z trybami Plan i Autopilot, instrukcjami, skillami, agentami niestandardowymi, Playwright MCP, Agent Merge oraz praktycznymi poleceniami slash. + +### [Aplikacja GitHub Copilot][app] + +Uruchamiaj równoległe sesje agentów, przełączaj tryby sesji, współpracuj na kanwach i zarządzaj zgłoszeniami oraz pull requestami GitHub w aplikacji desktopowej. + +### [Agent chmurowy GitHub Copilot][cloud] + +Przypisuj zgłoszenia GitHub asynchronicznemu agentowi, prowadź jego pracę, monitoruj postęp i przeglądaj otwierane przez niego pull requesty. + +### [Visual Studio Code][vscode] + +Używaj GitHub Copilot w Visual Studio Code i GitHub Codespaces. Pracuj w trybie agenta Copilot Chat, z serwerami MCP i agentami niestandardowymi bez opuszczania edytora. + +[cli]: cli/ +[app]: app/ +[cloud]: cloud/ +[vscode]: vscode/ diff --git a/docs/pl-pl/real-world-development/app/0-prerequisites.md b/docs/pl-pl/real-world-development/app/0-prerequisites.md new file mode 100644 index 00000000..a72b1217 --- /dev/null +++ b/docs/pl-pl/real-world-development/app/0-prerequisites.md @@ -0,0 +1,89 @@ +--- +title: "Lekcja 0 - Wymagania wstępne" +description: "Przygotuj się do lekcji z aplikacją GitHub Copilot: zainstaluj Node.js dla projektu Tailspin Toys i utwórz własną kopię repozytorium na podstawie szablonu." +authors: + - geektrainer + - azkel +lastUpdated: 2026-06-30 +--- + +Aplikacja GitHub Copilot to aplikacja desktopowa — centralny hub zarówno dla Copilota, jak i GitHuba. Zapewnia szybki dostęp do zgłoszeń i pull requestów oraz pozwala budować z użyciem GitHub Copilot. Podczas tego warsztatu będziesz pracować lokalnie, aktualizując aplikację Tailspin Toys opartą na Astro za pomocą aplikacji GitHub Copilot. Zanim zaczniesz, upewnijmy się, że Node.js jest zainstalowany lokalnie, a potem zainstalujemy aplikację Copilot. + +Podczas tej lekcji: + +- zainstalujesz Node.js, aby testy projektu mogły działać na Twoim komputerze. +- utworzysz własną kopię projektu Tailspin Toys na podstawie szablonu. + +## Zainstaluj Node.js + +W kilku lekcjach agent buduje funkcje i uruchamia lokalnie zestaw testów Tailspin Toys, co wymaga **[Node.js][nodejs]** — jedynego środowiska uruchomieniowego (runtime), którego projekt potrzebuje. Zainstaluj bieżące wydanie **LTS**. + +Najprostsza opcja na każdej platformie to oficjalny instalator: + +1. W systemie operacyjnym otwórz okno terminala: Windows Terminal, terminal macOS lub to, czego zwykle używasz. +2. Uruchom poniższe polecenie, aby sprawdzić zainstalowaną wersję Node.js: + + ```shell + node --version + ``` + +3. Jeśli spełnia wymagania z pliku README projektu i `package.json`, możesz przejść do następnej sekcji. + +> [!TIP] +> Te kroki wykonaj tylko wtedy, gdy nie masz zainstalowanego Node albo potrzebujesz aktualizacji. + +4. Otwórz [stronę pobierania Node.js][node-download]. +5. Pobierz wersję **LTS** dla swojego systemu operacyjnego. +6. Uruchom instalator i zaakceptuj domyślne ustawienia. W Windows pozostaw zaznaczoną opcję **Add to PATH**. +7. Po instalacji otwórz nowe okno terminala. +8. Potwierdź instalację w nowym oknie terminala, uruchamiając: + + ```bash + node --version + ``` + +9. Powinieneś zobaczyć zainstalowaną wersję. + +> [!IMPORTANT] +> Każdy worktree potrzebuje też zależności projektu oraz Chromium Playwright do sprawdzeń E2E. Przygotowując worktree, postępuj zgodnie z README repozytorium Tailspin Toys i przed zatwierdzeniem przejrzyj każdą prośbę o instalację. + +## Skonfiguruj repozytorium warsztatowe + +Będziesz pracować na własnej kopii projektu Tailspin Toys. Utwórz ją teraz z [repozytorium szablonu][template-repository]. Nowe repozytorium zawiera wszystkie pliki potrzebne w warsztacie — podłączysz je przy instalacji aplikacji. + +1. W nowym oknie przeglądarki przejdź do repozytorium GitHub tego warsztatu: `https://github.com/github-samples/tailspin-toys`. +2. Utwórz własną kopię repozytorium, wybierając przycisk **Use this template** na stronie repozytorium. Następnie wybierz **Create a new repository**. + + ![Przycisk Use this template z wybraną z listy rozwijanej opcją Create a new repository](../../../_images/app-0-use-template.png) + +3. Jeśli uczestniczysz w warsztacie w ramach wydarzenia prowadzonego przez GitHuba lub Microsoft, postępuj zgodnie z instrukcjami mentorów. W przeciwnym razie możesz utworzyć nowe repozytorium w organizacji, w której masz dostęp do GitHub Copilot. + + ![Formularz Create a new repository z github-samples/tailspin-toys ustawionym jako szablon i wypełnioną nazwą repozytorium](../../../_images/app-0-create-repository.png) + +4. Zanotuj ścieżkę utworzonego repozytorium (**organization-or-user-name/repository-name**) — będziesz się do niej odwoływać później w trakcie warsztatu. + +> [!NOTE] +> Gdy tworzysz repozytorium z szablonu, backlog zgłoszeń (issues) GitHub jest tworzony automatycznie. Będziesz pracować na tych zgłoszeniach przez cały warsztat — nie musisz nic zgłaszać samodzielnie. + +Użyj świeżej kopii szablonu warsztatu. Zawiera instrukcje repozytorium, kod aplikacji, testy, skill quality-checks oraz istniejące rozszerzenie kanwy. Podczas warsztatu dostosujesz skill i utworzysz agenta QA. Jeśli używasz starszej kopii, sprawdź u prowadzącego, czy ma pliki, których będziesz potrzebować. + +## Podsumowanie i kolejne kroki + +Jesteś gotowy! Podczas tej lekcji: + +- zainstalowałeś Node.js, aby projekt mógł się budować i być testowany na Twoim komputerze. +- utworzyłeś własną kopię repozytorium Tailspin Toys na podstawie szablonu. + +Następnie [zainstalujesz aplikację GitHub Copilot][next-lesson], podłączysz właśnie utworzone repozytorium i zapoznasz się z obszarem roboczym. + +## Zasoby + +- [Pobierz Node.js][node-download] +- [Tworzenie repozytorium z szablonu][template-repository] +- [O aplikacji GitHub Copilot][about-copilot-app] + +[next-lesson]: ../1-install-copilot-app/ +[nodejs]: https://nodejs.org/ +[node-download]: https://nodejs.org/en/download +[template-repository]: https://docs.github.com/repositories/creating-and-managing-repositories/creating-a-template-repository +[about-copilot-app]: https://docs.github.com/copilot/concepts/agents/github-copilot-app diff --git a/docs/pl-pl/real-world-development/app/1-install-copilot-app.md b/docs/pl-pl/real-world-development/app/1-install-copilot-app.md new file mode 100644 index 00000000..0be09d03 --- /dev/null +++ b/docs/pl-pl/real-world-development/app/1-install-copilot-app.md @@ -0,0 +1,106 @@ +--- +title: "Lekcja 1 - Instalacja aplikacji GitHub Copilot" +description: "Zainstaluj aplikację GitHub Copilot, podłącz właśnie utworzone repozytorium, zapoznaj się z obszarem roboczym i wypróbuj szybki czat." +authors: + - geektrainer + - azkel +lastUpdated: 2026-07-09 +--- + +**[Aplikacja GitHub Copilot][about-copilot-app]** to aplikacja desktopowa do rozwoju sterowanego agentami. Jest zbudowana na bazie GitHub Copilot CLI i integruje się natywnie z GitHubem, więc repozytoria, gałęzie i potoki CI działają od razu. Jest zaprojektowana pod przepływy, w których kierujesz kilkoma agentami równolegle — każdy we własnym izolowanym obszarze roboczym — zamiast robić całą pracę samodzielnie, oraz pod automatyzację powtarzalnych zadań. Gdy Node.js jest już zainstalowany, a kopia projektu gotowa, kolejnym krokiem jest instalacja aplikacji i podłączenie tego repozytorium. + +Podczas tej lekcji: + +- zainstalujesz aplikację GitHub Copilot i zalogujesz się. +- dodasz projekt do aplikacji z jego repozytorium na GitHubie. +- zapoznasz się z obszarem roboczym, w tym z backlogiem, który szablon dla Ciebie przygotował. +- wypróbujesz szybki czat, aby dowiedzieć się więcej o samej aplikacji. + +## Scenariusz + +Twój zespół wdraża agentów AI, aby przerabiać rosnący backlog. Aplikacja Copilot daje jedno miejsce do kierowania tą pracą — podejmowanie zgłoszeń, uruchamianie agentów, przeglądanie zmian i scalanie pull requestów. Ta lekcja przeprowadzi Cię przez instalację, podłączenie i swobodne rozpoczęcie rozmowy o projekcie. + +> [!NOTE] +> Wymagany jest odpowiedni plan Copilot — Copilot Student lub dowolny płatny plan (Pro, Pro+, Business lub Enterprise). Jeśli korzystasz z Copilot Business lub Copilot Enterprise, administrator musi włączyć zasadę **Copilot CLI**, zanim aplikacja będzie działać. + +## Zainstaluj i skonfiguruj aplikację GitHub Copilot + +Aby korzystać z aplikacji GitHub Copilot, pierwszym krokiem — jak można się spodziewać — jest jej instalacja. Dostępne są wersje dla Windows, macOS i Linux. Zainstalujmy aplikację, uwierzytelnijmy się i dodajmy nasze repozytorium Tailspin Toys. + +1. W przeglądarce otwórz [stronę startową aplikacji GitHub Copilot][download-app]. +2. Pobierz aplikację dla swojej platformy i zainstaluj ją zgodnie z instrukcjami na stronie startowej. +3. Otwórz aplikację po instalacji. +4. Wybierz **Sign in to GitHub** i postępuj zgodnie z instrukcjami, aby się uwierzytelnić. Jeśli używasz GitHub Enterprise Server, wybierz **Use GitHub Enterprise** i wprowadź adres serwera, gdy zostaniesz o to poproszony. +5. Po uwierzytelnieniu zostaniesz zapytany o podłączenie repozytoriów. Wybierz właśnie utworzone repozytorium Tailspin Toys, które powinno mieć nazwę `/tailspin-toys`. +6. Wybierz **Continue**, aby kontynuować wprowadzenie. +7. Gdy zostaniesz poproszony o motyw, wybierz ten, który najbardziej Ci odpowiada, a następnie wybierz **Finish**. + +> [!NOTE] +> Jeśli Twoja kopia Tailspin Toys nie pojawiła się na liście automatycznie, możesz dodać ją po zakończeniu procesu wprowadzenia w aplikacji. Po zakończeniu aplikacja Copilot przeniesie Cię na ekran główny. Stamtąd możesz wybrać **Choose from GitHub**, wyszukać repozytorium po nazwie (\/tailspin-toys), a następnie je wybrać. Repozytorium zostanie dodane do aplikacji Copilot! + +## Zapoznaj się z obszarem roboczym + +Gdy projekt jest już podłączony, poświęć chwilę na rozpoznanie interfejsu. Aplikacja organizuje wszystko w kilku obszarach na pasku bocznym: + +- **New** — jak można się spodziewać, stąd możesz rozpocząć nową sesję czatu z Copilotem! +- **My work** — Twoje zgłoszenia i pull requesty, udostępnione dzięki natywnej integracji aplikacji z GitHubem. Stąd możesz przeglądać i filtrować zgłoszenia oraz pull requesty, sprawdzać status CI, uruchamiać sesję na podstawie zgłoszenia i przeglądać pull requesty — bez opuszczania aplikacji. +- **Automations** — zapisane zadania agenta uruchamiane według harmonogramu lub na żądanie. Świetnie nadają się do list zadań, regularnej konserwacji projektu lub innych nużących obowiązków, które chcesz odciążyć. Podsumowanie warsztatu wskazuje je jako kolejny krok, a nie kolejne ćwiczenie warsztatowe. +- **Customize** — dodawaj funkcje i możliwości do aplikacji Copilot w postaci serwerów MCP, wtyczek, skilli i innych komponentów. Użyjesz tego do skonfigurowania Playwright MCP. +- **Chats** — lekkie rozmowy do pytań i burzy mózgów, które nie potrzebują własnej gałęzi ani obszaru roboczego. Wypróbujesz jedną na końcu tej lekcji. +- **Sessions** — miejsce, w którym agenci wykonują pracę. Każda sesja działa we własnym izolowanym obszarze roboczym, więc możesz uruchomić kilka naraz bez kolizji zmian. Pierwszą sesję rozpoczniesz przy dodawaniu ocen w gwiazdkach. + +W trakcie warsztatu będziesz poznawać obszar roboczy! + +> [!TIP] +> Gdy masz wątpliwości, zapytaj Copilota! Jeśli nie wiesz, jak coś zrobić albo czy coś jest możliwe, możesz zapytać Copilota. Pomoże Ci się zorientować. + +### Znajdź przygotowany backlog + +Prawie żaden projekt nie istnieje bez backlogu — Tailspin Toys też nie jest wyjątkiem. Zbadajmy backlog, który powstał przy tworzeniu szablonu. + +1. Wybierz **My work** na pasku bocznym. +2. Znajdź te zgłoszenia po tytule, zamiast zakładać konkretne numery: + + - Allow users to filter games by category and publisher + - Update our repository coding standards + +3. Wybierz zgłoszenie, aby przeczytać szczegóły. Każde zgłoszenie jest też punktem startowym sesji agenta. Po pierwszej szybkiej zmianie zaczniesz od zgłoszenia o filtrowaniu. + +> [!NOTE] +> Lista elementów w My work jest automatycznie filtrowana, aby pokazywać tylko elementy z repozytoriów dodanych do aplikacji Copilot. Chcesz zobaczyć elementy pracy z innych repozytoriów? Dodaj je do aplikacji! + +## Wypróbuj szybki czat + +Dobry sposób, by oswoić się z aplikacją, to użyć jej do nauki o *samej aplikacji* — a **szybki czat** jest do tego idealnym narzędziem. Szybkie czaty pozwalają zadać pytanie lub zrobić burzę mózgów bez tworzenia gałęzi ani worktree, więc są doskonałe do szybkiego, jednorazowego pytania — bez sesji. + +1. Na pasku bocznym wybierz **+** obok **Chats**, aby otworzyć nowy czat. +2. Zapytaj aplikację, jak działają jej własne sesje: + + ```plaintext + How does the GitHub Copilot app use worktrees? + ``` + +3. Przeczytaj odpowiedź w widoku rozmowy. Zobaczysz, że każda sesja działa we własnym izolowanym git worktree — to właśnie pozwala uruchamiać kilku agentów równolegle bez kolizji zmian. Możesz kontynuować rozmowę lub w dowolnym momencie rozpocząć nowy czat. + +## Podsumowanie i kolejne kroki + +Gratulacje! Zainstalowałeś aplikację GitHub Copilot, podłączyłeś projekt i zbadałeś obszar roboczy. Nauczyłeś się: + +- instalować aplikację i logować się do GitHuba. +- dodawać projekt z jego repozytorium na GitHubie. +- zapoznawać się z obszarem roboczym i znajdować przygotowany backlog w **My work**. +- używać szybkiego czatu do szybkiego, jednorazowego pytania. + +Następnie [rozpoczniesz pierwszą sesję agenta][next-lesson] i użyjesz jej, aby wyświetlić ocenę w gwiazdkach na kartach gier. + +## Zasoby + +- [O aplikacji GitHub Copilot][about-copilot-app] +- [Pierwsze kroki z aplikacją GitHub Copilot][getting-started] +- [Praca z sesjami agenta w aplikacji GitHub Copilot][agent-sessions] + +[next-lesson]: ../2-add-star-rating/ +[about-copilot-app]: https://docs.github.com/copilot/concepts/agents/github-copilot-app +[getting-started]: https://docs.github.com/copilot/how-tos/github-copilot-app/getting-started +[agent-sessions]: https://docs.github.com/copilot/how-tos/github-copilot-app/agent-sessions +[download-app]: https://gh.io/app diff --git a/docs/pl-pl/real-world-development/app/10-review.md b/docs/pl-pl/real-world-development/app/10-review.md new file mode 100644 index 00000000..c4b9fbba --- /dev/null +++ b/docs/pl-pl/real-world-development/app/10-review.md @@ -0,0 +1,78 @@ +--- +title: "Lekcja 10 - Podsumowanie i kolejne kroki" +description: "Podsumuj przepływ pracy aplikacji, dwa kamienie milowe PR, ćwiczenia z kanwami i powtarzalne praktyki jakości, potem poznaj dalsze zasoby." +authors: + - geektrainer + - azkel +lastUpdated: 2026-09-29 +--- + +Używałeś aplikacji GitHub Copilot w ciągłym przepływie pracy Tailspin Toys. W tym warsztacie: + +- podłączyłeś repozytorium, poznałeś obszar roboczy aplikacji i przygotowany backlog oraz spróbowałeś szybkiego czatu. +- rozpocząłeś skupioną sesję ocen w gwiazdkach, przejrzałeś wynik w kanwie przeglądarki i ręcznie scaliłeś pierwszy pull request (PR). +- zacząłeś od zgłoszenia o filtrowaniu, zdefiniowałeś podejście w trybie **Plan**, zbudowałeś je w trybie **Autopilot** i przejrzałeś w trybie **Interactive**. +- prowadziłeś agenta instrukcjami niestandardowymi, potem dostosowałeś istniejący skill `quality-checks` i użyłeś go do uruchomienia testów jednostkowych, lintu i sprawdzeń typów. +- dodałeś serwer Model Context Protocol (MCP) Playwright i użyłeś go do zbadania filtrowania w prawdziwej przeglądarce. +- utworzyłeś i wybrałeś niestandardowego agenta zapewnienia jakości (QA), by ocenić wymagania, pokrycie, wyniki skillu i dowody z przeglądarki. +- przejrzałeś kompletną zmianę filtrowania i autoryzowałeś **Agent Merge** dla drugiego PR. +- użyłeś istniejącej kanwy Database Explorer, a następnie utworzyłeś i przetestowałeś kanwę triage opartą o repozytorium. + +## Co dostarczyłeś + +Warsztat ma dwa kamienie milowe PR, każdy na własnej gałęzi od zaktualizowanego `main`: + +1. **Oceny w gwiazdkach:** wyświetlenie istniejącego `starRating` oraz jawnego stanu bez oceny na kartach gier. +2. **Filtrowanie i przepływ jakości:** implementacja filtrowania, aktualizacja instrukcji i zastosowanie ich do funkcji, dostosowanie raportu `quality-checks`, utworzenie profilu QA oraz dołączenie powiązanych testów. + +Od planowania filtrowania po otwarcie jego PR używałeś tej samej sesji, worktree i gałęzi. Połączyliśmy tę pracę w jednym PR, by usprawnić warsztat. Następnie użyłeś istniejącego Database Explorer i utworzyłeś kanwę triage opartą o repozytorium bez powtarzania przepływu PR. + +## Różne rodzaje weryfikacji + +Sprawdzałeś kod na kilka sposobów: automatyczne testy, własna kontrola w przeglądarce oraz eksploracja przeglądarki przez Copilota z MCP. Skill `quality-checks` uruchamiał testy jednostkowe, lint i sprawdzenia typów oraz raportował je w nowym formacie. QA zebrał te wyniki z przeglądem wymagań i pokrycia testami przed PR. + +Dodane testy powinny zamykać rzeczywiste luki; przebieg QA, który nie wymaga nowych testów, może być poprawny. Brakujące narzędzia, pominięte sprawdzenia i niepowodzenia to widoczne blokery, a nie sukcesy. Przejrzyj kod i dowody przed autoryzacją scalenia i odśwież dotknięte dowody po zmianach. + +## Dobre praktyki + +Kontekst i narzędzia, które dajesz Copilotowi, kształtują jego pracę. W tym warsztacie zaktualizowałeś instrukcje, dostosowałeś skill, utworzyłeś profil QA, skonfigurowałeś serwer MCP i utworzyłeś kanwę. Ponownie wykorzystuj te personalizacje między sesjami i dostosowuj je, gdy zmieniają się potrzeby zespołu. Instrukcje ustalają standardy, skille opisują powtarzalne zadania, agenci niestandardowi definiują role specjalistów, serwery MCP łączą zewnętrzne narzędzia, a kanwy zapewniają współdzielone interaktywne powierzchnie. Przeglądaj rzeczywiste zmiany i wyniki narzędzi, a nie tylko podsumowanie agenta. + +Dopasuj **tryb i model** do zadania. Używaj **Plan**, by przemyśleć podejście przed budową, **Interactive**, by pozostać w pętli przy skupionych zmianach, a **Autopilot** tylko przy dobrze ograniczonych, izolowanych zadaniach. Wybierz szybszy model do rutynowych edycji i bardziej zdolny model z wyższym wysiłkiem rozumowania do złożonej pracy. + +Kontekst nadal ma taką samą wagę jak infrastruktura. Jasne opisanie *czego* chcesz zbudować, *dlaczego* i *jak* znacząco zmienia wynik. Szybkie czaty to dobre miejsce, by określić zakres pomysłu, zanim zobowiążesz się do pełnej sesji. + +## Więcej do odkrycia + +Poznałeś podstawowy przepływ pracy. Kilka kolejnych funkcji wartych uwagi: + +- [**Automatyzacje**][using-automations] do zadań cyklicznych lub na żądanie, na przykład podsumowywania niedawnej pracy. Przed przyjęciem przejrzyj harmonogram, uprawnienia i zakres; utworzenie automatyzacji to kolejny krok, a nie część tego warsztatu. +- **Rubber duck**, by przegadać problem i uzyskać wysokiej jakości informację zwrotną przed budową. +- [`/chronicle`][chronicle], by wygenerować narrację tego, co wydarzyło się w sesji. +- [Bring your own key (BYOK)][byok], by używać modeli z własnego dostawcy, w tym modeli lokalnych przez Ollama, Foundry Local lub LM Studio. +- [Deep links][deep-links], by otworzyć aplikację od razu w repozytorium, sesji lub prompcie. + +## Kolejne kroki + +Najlepszym sposobem, by poprawić się w dowolnym narzędziu, jest dalsze z niego korzystanie! Używaj go do kodu produkcyjnego, hobbystycznego, do małej aplikacji, którą masz w głowie od lat, ale nigdy nie zacząłeś budować. Dziel się spostrzeżeniami z zespołem i ucz się od niego. I jak zawsze — przeglądaj dokumentację. + +Jeśli chcesz poznać więcej ekosystemu GitHub Copilot, sprawdź [środowisko VS Code][vscode-harness], [środowisko Copilot CLI][cli-harness] lub [środowisko agenta w chmurze][cloud-harness]. + +## Zasoby + +- [About the GitHub Copilot app][about-copilot-app] +- [Getting started with the GitHub Copilot app][getting-started] +- [Customize the GitHub Copilot app][customize] +- [Using automations][using-automations] +- [Working with canvas extensions][canvas-docs] + +[vscode-harness]: ../../vscode/ +[cli-harness]: ../../cli/ +[cloud-harness]: ../../cloud/ +[about-copilot-app]: https://docs.github.com/copilot/concepts/agents/github-copilot-app +[getting-started]: https://docs.github.com/copilot/how-tos/github-copilot-app/getting-started +[customize]: https://docs.github.com/copilot/how-tos/github-copilot-app/customize-github-copilot-app +[using-automations]: https://docs.github.com/copilot/how-tos/github-copilot-app/using-automations +[canvas-docs]: https://docs.github.com/copilot/how-tos/github-copilot-app/working-with-canvas-extensions +[chronicle]: https://docs.github.com/copilot/how-tos/copilot-cli/use-copilot-cli/chronicle +[byok]: https://docs.github.com/copilot/how-tos/github-copilot-app/use-byok-models +[deep-links]: https://docs.github.com/copilot/how-tos/github-copilot-app/open-with-deep-links diff --git a/docs/pl-pl/real-world-development/app/2-add-star-rating.md b/docs/pl-pl/real-world-development/app/2-add-star-rating.md new file mode 100644 index 00000000..b557ccc8 --- /dev/null +++ b/docs/pl-pl/real-world-development/app/2-add-star-rating.md @@ -0,0 +1,128 @@ +--- +title: "Lekcja 2 - Dodawanie ocen w gwiazdkach: szybki sukces" +description: "Rozpocznij pierwszą sesję agenta w aplikacji GitHub Copilot, wprowadź małą zmianę na kartach gier i scal ją jako pierwszy pull request." +authors: + - geektrainer + - azkel +lastUpdated: 2026-07-09 +--- + +Skoro zapoznałeś się z obszarem roboczym i użyłeś szybkiego czatu, czas rozpocząć **sesję agenta** i wprowadzić pierwszą zmianę w projekcie. Niech będzie niewielka: gry mają już ocenę w formie gwiazdek w danych, ale karty gier na stronie głównej jej jeszcze nie pokazują. Poprosisz agenta o jej wyświetlenie, przejrzysz zmianę i scalisz ją jako pierwszy pull request. + +Podczas tej lekcji: + +- rozpoczniesz sesję agenta i poznasz strukturę sesji. +- poprosisz agenta o małą, skoncentrowaną zmianę w projekcie. +- przejrzysz zmianę w widoku diff obszaru roboczego. +- uruchomisz aplikację lokalnie, aby potwierdzić zmianę w przeglądarce. +- otworzysz i scalisz pierwszy pull request. + +## Scenariusz + +Każda gra w Tailspin Toys może mieć ocenę w gwiazdkach i już pojawia się ona na stronie szczegółów gry. Karty gier na stronie głównej pokazują jednak tylko tytuł, kategorię, wydawcę i opis. Na rozgrzewkę agent powinien wyświetlić istniejącą ocenę na każdej karcie — drobna, samodzielna zmiana, idealna na pierwszą sesję. + +## Anatomia sesji + +**Sesja** to rozmowa z agentem działająca we własnym izolowanym obszarze roboczym. Każda sesja dostaje **dedykowany git worktree i gałąź**, dzięki czemu możesz uruchomić kilka sesji naraz — jedna dodaje funkcję, inna naprawia błąd — bez kolizji zmian. Sesje pojawiają się na pasku bocznym pogrupowane według repozytorium; wybierz dowolną, aby do niej przełączyć. + +Wewnątrz sesji zobaczysz trzy elementy: **rozmowę** z agentem, **aktywność narzędzi** agenta podczas eksploracji i edycji plików oraz listę **zmienionych plików** z ich diffami. + +## Rozpocznij sesję i poproś o zmianę + +Rozpocznijmy nową sesję, aby zbadać projekt i zaimplementować funkcję. Podczas [konfiguracji aplikacji][prior-lesson] dodałeś projekt z jego repozytorium na GitHubie. Utworzymy nową sesję dla tego repozytorium i poprosimy o zmianę. + +1. Wróć do (lub otwórz) aplikacji GitHub Copilot. +2. Wybierz **+** obok **Projects**. +3. Wybierz `tailspin-toys` jako repozytorium. +4. Wybierz **new working tree** i tryb **Interactive** pod polem promptu. Użyj poniższego polecenia, aby poprosić o zmianę: + + ```plaintext + Show each game's starRating out of 5 in the game cards on the list page. If the rating is null, show "No rating yet". Keep the card layout as it is, add tests, and run the relevant checks. + ``` + +5. Wciśnij Enter, aby wysłać polecenie do Copilota. + +Aplikacja Copilot zaczyna pracę od utworzenia nowego worktree — izolowanej kopii projektu. Następnie zbada projekt, lokalizując pliki potrzebne do dodania nowej funkcji, i stworzy niezbędny kod. Właśnie dodałeś nową funkcję z aplikacją Copilot! + +## Przejrzyj diff + +Wszystkie zmiany wygenerowane przez AI zasługują na przegląd przed scaleniem, nawet te małe. Zbadajmy zmiany tu, w aplikacji Copilot. + +1. W prawym górnym rogu aplikacji wybierz **Toggle review panel**. Otworzy się ekran diff ze wszystkimi oczekującymi zmianami wprowadzonymi przez Copilota. + + ![Górny pasek narzędzi aplikacji GitHub Copilot ze strzałką wskazującą przycisk Toggle review panel na prawo od Create PR](../../../_images/app-2-review-panel.png) + +2. Powinieneś zauważyć kod dodany do `GameCard.astro`, głównego pliku używanego do wyświetlania szczegółów gry. Powinien być podobny do poniższego — mały blok, który renderuje ocenę, gdy jest obecna, a gdy `starRating` ma wartość `null`, pokazuje „No rating yet”: + + ```astro + {game.starRating !== null ? ( + + ★ {game.starRating} / 5 + + ) : ( + + No rating yet + + )} + ``` + +> [!NOTE] +> Ponieważ Copilot, jak wszystkie narzędzia generatywnej AI, jest probabilistyczny, a nie deterministyczny, dokładny kod może różnić się od powyższego. Powinien jednak być względnie podobny. + +## Sprawdź zmiany + +Przed otwarciem przeglądarki przejrzyj wyniki automatycznych sprawdzeń agenta. Upewnij się, że testy obejmują numeryczne `starRating` oraz fallback dla `null`. Brakujący warunek wstępny lub pominięte sprawdzenie to nie sukces; przed zatwierdzeniem przejrzyj każdą prośbę o instalację. + +Oczywiście nie powinniśmy tylko czytać kodu i zakładać, że działa. Poprośmy Copilota, aby otworzył witrynę, żebyśmy mogli zbadać zaktualizowany UI. Zrobimy to, każąc mu uruchomić witrynę i otworzyć ją w kanwie przeglądarki. + +> [!TIP] +> Kanwa to interaktywny widżet dostępny bezpośrednio w aplikacji Copilot. Później poznasz niestandardowe kanwy i nawet utworzysz własną, ale na razie użyjemy wbudowanej kanwy przeglądarki. + +1. Użyj poniższego polecenia, aby poprosić Copilota o uruchomienie aplikacji i otwarcie strony w kanwie przeglądarki: + + ```plaintext + Start the app and open it in the browser canvas. + ``` + +2. Po chwili aplikacja się uruchomi i w aplikacji Copilot otworzy się okno przeglądarki. +3. Potwierdź, że karty gier z oceną wyświetlają wartość w skali do pięciu. +4. Gdy skończysz, poproś Copilota o zatrzymanie serwera deweloperskiego uruchomionego dla tej sesji, używając poniższego polecenia: + + ```plaintext + Stop the dev server and close the browser canvas. + ``` + +## Otwórz i scal swój pierwszy pull request + +Funkcja jest gotowa! Czas utworzyć pull request (PR), aby scalić nowy kod z istniejącą bazą kodu. + +1. Wybierz **Create PR** w prawym górnym rogu. +2. Gdy zostaniesz o to poproszony, wybierz **Sign in with your browser** i postępuj zgodnie z instrukcjami, aby się uwierzytelnić. +3. Copilot zabiera się za tworzenie PR. +4. Wybierz dymek **PR** tuż nad czatem, aby otworzyć PR w panelu przeglądu. W razie potrzeby możesz tu przejrzeć pull request. +5. Gdy będziesz gotowy, wybierz **Ready to merge**. +6. W nowym oknie dialogowym wybierz **Merge pull request**, aby scalić pull request! + +## Podsumowanie i kolejne kroki + +Gratulacje! Wypchnąłeś pierwszą zmianę za pomocą aplikacji GitHub Copilot! Konkretnie: + +- rozpocząłeś sesję agenta i poznałeś strukturę sesji. +- skierowałeś agenta do wprowadzenia małej, skoncentrowanej zmiany na kartach gier. +- przejrzałeś zmianę w widoku diff obszaru roboczego. +- uruchomiłeś aplikację lokalnie, aby potwierdzić ocenę w gwiazdkach w przeglądarce. +- otworzyłeś PR 1, przejrzałeś jego sprawdzenia i jawnie go scaliłeś. + +Następnie [zaczniesz od zgłoszenia o filtrowaniu i użyjesz trybów Plan oraz Autopilot][next-lesson], aby zbudować większą funkcję. + +## Zasoby + +- [Praca z sesjami agenta w aplikacji GitHub Copilot][agent-sessions] +- [O aplikacji GitHub Copilot][about-copilot-app] +- [Zarządzanie zgłoszeniami i pull requestami w aplikacji GitHub Copilot][managing-issues-prs] + +[prior-lesson]: ../1-install-copilot-app/#zainstaluj-i-skonfiguruj-aplikację-github-copilot +[next-lesson]: ../3-agent-modes/ +[agent-sessions]: https://docs.github.com/copilot/how-tos/github-copilot-app/agent-sessions +[about-copilot-app]: https://docs.github.com/copilot/concepts/agents/github-copilot-app +[managing-issues-prs]: https://docs.github.com/copilot/how-tos/github-copilot-app/managing-issues-and-pull-requests diff --git a/docs/pl-pl/real-world-development/app/3-agent-modes.md b/docs/pl-pl/real-world-development/app/3-agent-modes.md new file mode 100644 index 00000000..c21f98a5 --- /dev/null +++ b/docs/pl-pl/real-world-development/app/3-agent-modes.md @@ -0,0 +1,132 @@ +--- +title: "Lekcja 3 - Tryby agenta: Plan i Autopilot" +description: "Poznaj tryby agenta: użyj Plan, aby uzgodnić podejście, Autopilot, aby zbudować filtrowanie na podstawie zgłoszenia, oraz Interactive, aby przejrzeć i zweryfikować wynik." +authors: + - geektrainer + - azkel +lastUpdated: 2026-07-13 +--- + +Zaczęliśmy od dodania małej funkcji do projektu. Większe zmiany wymagają jednak bardziej solidnego procesu. Na szczęście aplikacja GitHub Copilot jest zbudowana tak, by współpracować z istniejącym przepływem organizacji i zapewniać, że budujemy właściwe rzeczy we właściwy sposób. To pierwsza z kilku lekcji, w których przejdziesz typowy proces rozwoju sterowanego agentami: zaczniesz od zgłoszenia, wygenerujesz nową funkcję, upewnisz się, że kod jest poprawny, funkcja działa zgodnie z oczekiwaniami, a na końcu zostanie pomyślnie scalona z projektem. + +> [!NOTE] +> W trakcie pracy nad funkcją będziesz korzystać z tej samej sesji. Zwykle miałbyś różne sesje lub PR dla różnych typów plików, ale skrócimy drogę, aby skupić się na kluczowych koncepcjach. + +Na początek, podczas tej lekcji: + +- rozpoczniesz nową sesję agenta na podstawie zgłoszenia GitHub. +- zdefiniujesz wymagania w trybie **Plan**. +- zaimplementujesz nową funkcję w trybie **Autopilot**. +- przejrzysz kod. +- zweryfikujesz funkcję ręcznie w kanwie przeglądarki. + +Kontynuując pracę nad tą funkcją, zaktualizujesz instrukcje repozytorium, dostosujesz istniejący skill quality-checks, dodasz walidację MCP, utworzysz agenta QA i otworzysz PR funkcji. + +## Scenariusz + +Katalog Tailspin Toys rośnie, a odwiedzający muszą zawężać gry według kategorii i wydawcy. Zgłoszenie w backlogu opisuje funkcję, ale szczegóły takie jak łączenie kategorii wymagają uzgodnienia przed kodowaniem. Użyjesz trybu Plan, aby rozstrzygnąć te decyzje, a następnie zatwierdzisz ograniczoną implementację z Autopilot. + +## Kontekst + +Wprowadzenie agentów kodujących AI do przepływu deweloperskiego nie zmienia podstaw. Jeśli już, stają się one jeszcze ważniejsze! Większość programistów stosuje przepływ zbliżony do: + +1. Otwarcie złożonego zgłoszenia ze szczegółami tego, co trzeba zrobić. +2. Utworzenie planu tego, co trzeba zbudować. +3. Zbudowanie i przegląd kodu. +4. Uruchomienie testów w celu walidacji kodu. +5. Ręczna walidacja nowej funkcjonalności. +6. Utworzenie pull requesta (PR). +7. Gdy kod zostanie przejrzany i proces ciągłej integracji zakończy się sukcesem — scalenie kodu. + +> [!NOTE] +> W zależności od zespołu i organizacji dokładne szczegóły będą się różnić. Większość będzie jednak wariacją powyższego motywu. + +Trzymając się tego standardowego podejścia, zapewniasz, że kod wygenerowany przez AI spełnia wymagania i przechodzi ten sam proces weryfikacji co kod napisany ręcznie. + +## Tryby sesji + +**Tryb sesji** kontroluje, ile autonomii ma agent. Ustawisz go z listy rozwijanej pod polem promptu i możesz zmienić w dowolnym momencie: + +- **Interactive**: Ty i agent pracujecie razem. Agent sugeruje zmiany i czeka na Twoje dane przed kontynuacją. +- **Plan**: Agent najpierw tworzy plan. Przeglądasz i zatwierdzasz plan, zanim agent go wykona. +- **Autopilot**: Agent pracuje w pełni autonomicznie — pisze kod, uruchamia testy i iteruje bez czekania na dane wejściowe. + +Zacznij w trybie Plan, przejrzyj plan, a następnie użyj Autopilot do jego implementacji. + +## Rozpocznij sesję na podstawie zgłoszenia + +Przed startem upewnij się, że PR z ocenami w gwiazdkach jest scalony, a lokalny `main` jest aktualny. + +1. Wybierz **My work** i otwórz **Allow users to filter games by category and publisher**. +2. Wybierz **New session** i wybierz **new working tree** na podstawie zaktualizowanego `main`. + + ![Widok zgłoszenia w aplikacji GitHub Copilot ze strzałką wskazującą przycisk New session](../../../_images/app-new-session-from-issue.png) + +3. Potwierdź, że zgłoszenie jest dołączone do sesji, i wybierz **Plan** z selektora trybu. + +## Zaplanuj funkcję filtrowania + +Planowanie daje szansę przejrzeć podejście, zanim Copilot napisze kod. Ponieważ zacząłeś od zgłoszenia, Copilot ma już prośbę o funkcję w kontekście. Wyślij: + +```plaintext +Build this feature. +``` + +Odpowiadaj na pytania Copilota i porównaj plan z kryteriami akceptacji ze zgłoszenia. Sprawdź, czy obejmuje filtrowanie według kategorii i wydawcy, dostępne kontrolki, zmiany dostępu do danych oraz testy. Omów wszelkie niejasne zachowania, na przykład jak łączą się wiele kategorii albo co się dzieje, gdy żadna gra nie pasuje. + +Plan powinien obejmować lint, testy jednostkowe, testy E2E i sprawdzanie typów z użyciem istniejącego zestawu narzędzi projektu. Skup go na implementacji i testowaniu filtrowania — PR utworzysz po ukończeniu przepływu jakości. Poproś o zmiany w planie przed jego zatwierdzeniem i miej pod ręką URL zgłoszenia oraz uzgodnione doprecyzowania na późniejszą walidację. + +## Jawnie zatwierdź Autopilot + +Gdy plan Ci odpowiada, wybierz **Approve and implement with autopilot** lub równoważną opcję w swojej wersji. Potwierdź, że wskaźnik trybu pokazuje **Autopilot**. + +Copilot zabierze się za implementację! Zobaczysz, jak będzie iterować przez proces, realizując ustalony plan, generując kod i nawet uruchamiając testy. + +> [!NOTE] +> Zatwierdzenie może natychmiast rozpocząć implementację, więc najpierw przejrzyj plan. Jeśli Copilot zgłosi brakujące zależności lub konflikt portu, rozwiąż problem konfiguracji, zanim uznasz sprawdzenia za zakończone. Zatrzymuj tylko serwery, które sam uruchomiłeś. + +## Przejrzyj i zweryfikuj implementację + +Gdy kod jest wygenerowany, trzeba go przejrzeć przed scaleniem — jak każdy inny kod. Przejrzyjmy kod i uruchommy witrynę, by upewnić się, że wszystko wygląda dobrze. + +1. Otwórz **Changes** i zbadaj implementację filtrowania oraz testy. +2. Porównaj wynik ze zgłoszeniem i zatwierdzonymi doprecyzowaniami, w tym wieloma kategoriami i kombinacjami wydawców. Sprawdź, czy zmiany są zgodne z istniejącymi instrukcjami repozytorium. +3. Zbadaj wynik lintu, testów jednostkowych, testów E2E i sprawdzania typów. Pominięte sprawdzenie to nie sukces. +4. Rozwiąż awarie i ponownie uruchom dotknięte sprawdzenia, zanim zaakceptujesz implementację. Konfiguracja E2E Playwright buduje i serwuje podgląd oraz może ponownie użyć lokalnego serwera; upewnij się, że testowany serwer należy do tego worktree, a nie do wcześniejszej lekcji. + +## Zbadaj nową funkcjonalność + +OK, kod wygląda dobrze — ale czy działa? Uruchommy aplikację jak wcześniej, otwierając witrynę w kanwie przeglądarki. + +1. Użyj poniższego polecenia, aby poprosić Copilota o uruchomienie aplikacji i otwarcie strony w kanwie przeglądarki: + + ```plaintext + Start the app and open it in the browser canvas. + ``` + +2. Po chwili aplikacja się uruchomi i w aplikacji Copilot otworzy się okno przeglądarki. +3. Potwierdź, że karty gier z oceną wyświetlają wartość w skali do pięciu. +4. Gdy skończysz, poproś Copilota o zatrzymanie serwera deweloperskiego uruchomionego dla tej sesji, używając poniższego polecenia: + + ```plaintext + Stop the dev server and close the browser canvas. + ``` + +## Podsumowanie i kolejne kroki + +Użyłeś różnych trybów agenta do zbudowania i przeglądu funkcji. Podczas tej lekcji: + +- rozpocząłeś nową sesję agenta na podstawie zgłoszenia GitHub. +- zdefiniowałeś wymagania w trybie **Plan**. +- zaimplementowałeś nową funkcję w trybie **Autopilot**. +- przejrzałeś kod. +- zweryfikowałeś funkcję ręcznie w kanwie przeglądarki. + +Następnie zagłębimy się nieco w to, jak powstaje kod i jak zapewnić zgodność z udokumentowanymi praktykami, [korzystając z instrukcji niestandardowych][next-lesson]. + +## Zasoby + +- [Praca z sesjami agenta w aplikacji GitHub Copilot][agent-sessions] + +[next-lesson]: ../4-custom-instructions/ +[agent-sessions]: https://docs.github.com/copilot/how-tos/github-copilot-app/agent-sessions diff --git a/docs/pl-pl/real-world-development/app/4-custom-instructions.md b/docs/pl-pl/real-world-development/app/4-custom-instructions.md new file mode 100644 index 00000000..c99cd65b --- /dev/null +++ b/docs/pl-pl/real-world-development/app/4-custom-instructions.md @@ -0,0 +1,122 @@ +--- +title: "Lekcja 4 - Prowadzenie Copilota instrukcjami niestandardowymi" +description: "Poznaj instrukcje repozytorium, dodaj standard dokumentacji i zastosuj go do kodu filtrowania." +authors: + - geektrainer + - azkel +lastUpdated: 2026-07-09 +--- + +Kontekst jest kluczowy przy pracy z generatywną AI. Jeśli zadanie ma być wykonane w określony sposób, chcesz, by te wskazówki były dostępne dla Copilota. [Pliki instrukcji][instruction-files] opisują nie tylko *co* ma powstać, ale *jak* powinno być ustrukturyzowane. Skoro zbudowałeś filtrowanie, poznasz instrukcje, z których korzystał Copilot, dodasz standard dokumentacji i zastosujesz go do kodu. + +Podczas tej lekcji: + +- poznasz, jak instrukcje repozytorium i pliki instrukcji ograniczone do ścieżek docierają do agenta. +- zaktualizujesz plik instrukcji, aby zapewnić przestrzeganie standardów kodowania. +- zobaczysz wpływ plików instrukcji na kod. + +## Scenariusz + +Jak każdy dobry zespół deweloperski, Tailspin Toys ma zestaw wytycznych i wymagań dotyczących praktyk tworzenia oprogramowania. Obejmują one: + +- Komentarze powinny wyjaśniać intencję i nieoczywiste decyzje, a nie powtarzać kod. +- Eksportowane funkcje w `db/` i `src/lib/` powinny dokumentować cel, parametry i wartości zwracane za pomocą TSDoc/JSDoc, w tym wstrzykiwany argument `db`, gdy jest obecny. +- Wielokrotnego użytku komponenty Astro powinny dokumentować kontrakty `Props`, a komentarze powinny być aktualne, gdy zmienia się powiązany kod. +- Istniejące wskazówki dotyczące formatowania i lintingu powinny zostać zachowane. + +Dzięki plikom instrukcji zapewnisz, że Copilot ma właściwe informacje, by wykonywać zadania zgodnie z tymi praktykami. + +## Pliki instrukcji + +Instrukcje niestandardowe pozwalają przekazać Copilotowi kontekst i preferencje, aby lepiej rozumiał styl pisania kodu i wymagania. To potężna funkcja, która pomaga kierować Copilota ku bardziej trafnym sugestiom i fragmentom kodu. Możesz określić preferowane konwencje kodowania, biblioteki, a nawet typy komentarzy, które lubisz w kodzie. Możesz tworzyć instrukcje dla całego repozytorium albo dla określonych typów plików — jako kontekst na poziomie zadania. + +Są dwa typy plików instrukcji: + +- `.github/copilot-instructions.md` — pojedynczy plik instrukcji wysyłany do Copilota przy **każdym** żądaniu dla repozytorium. Powinien zawierać informacje na poziomie projektu — kontekst istotny dla większości żądań czatu lub CLI wysyłanych do Copilota. Może obejmować używany stos technologiczny, przegląd tego, co budujesz, dobre praktyki i inne globalne wskazówki. +- Pliki `.github/instructions/*.instructions.md` można tworzyć dla konkretnych zadań lub typów plików. Użyj ich, by podać wytyczne dla określonych języków (np. TypeScript lub Astro) albo zadań takich jak tworzenie komponentu UI czy nowego zestawu testów jednostkowych. + +> [!NOTE] +> Inne formaty instrukcji i wsparcie różnią się w zależności od środowiska. Przed poleganiem na konkretnym formacie zapoznaj się z [referencją wsparcia instrukcji niestandardowych][custom-instructions-support]. + +## Zbadaj pliki instrukcji niestandardowych w tym projekcie + +Aby ułatwić start, zestaw plików instrukcji jest już dołączony do projektu startowego. Zbadajmy, co już jest, zanim wprowadzimy zmianę i zobaczymy jej wpływ. + +1. Wróć do sesji z poprzedniej lekcji. +2. Jeśli panel przeglądu nie jest jeszcze widoczny, otwórz go, wybierając **Toggle review panel** w prawym górnym rogu. + + ![Górny pasek narzędzi aplikacji GitHub Copilot ze strzałką wskazującą przycisk Toggle review panel na prawo od Create PR](../../../_images/app-2-review-panel.png) + +3. Wybierz ikonę **+** z etykietą „Open in panel”, aby otworzyć nową kanwę. +4. Wybierz **Files**. +5. Wybierz ikonę **Gear** i upewnij się, że obok **Show hidden files** jest zaznaczenie. +6. Przejdź do `.github/copilot-instructions.md`. +7. Zbadaj plik, zwracając uwagę na krótki opis projektu oraz sekcje takie jak **Agent notes**, **Code standards**, **Scripts** i **Repository Structure**. W **Code standards** zwróć uwagę na zagnieżdżone wskazówki **GitHub Actions Workflows**. Dotyczą one wszelkich interakcji z Copilotem. +8. Przejdź do folderu `.github/instructions` i zbadaj pliki. Zwróć uwagę, że są instrukcje dla plików Astro, warstwy danych Drizzle, testów i innych. +9. Otwórz `.github/instructions/unit-tests.instructions.md`. Zwróć uwagę na pole `applyTo` na górze — ustawia glob (względem katalogu głównego repozytorium), który określa, do których plików instrukcje się stosują. Tutaj pasuje każdy plik testów TypeScript (na przykład pasujący do `**/*.test.ts`). +10. Zwróć uwagę na instrukcje dotyczące tworzenia testów jednostkowych dla tego projektu. +11. Na koniec otwórz `.github/instructions/drizzle.instructions.md` i przewiń na dół. Zwróć uwagę na odnośniki do innych plików instrukcji (np. `unit-tests.instructions.md`) i istniejących plików w projekcie. Dzięki temu możesz dzielić większe zestawy instrukcji na mniejsze, wielokrotnego użytku pliki i wskazywać Copilotowi przykłady do naśladowania przy generowaniu kodu. (Ścieżki tam są względne wobec pliku instrukcji, a nie katalogu głównego repozytorium.) + +## Zaktualizuj pliki instrukcji zgodnie z wytycznymi zespołu + +Choć istniejące pliki to dobry start, wciąż są luki. Zmodyfikujmy główny plik `copilot-instructions.md`, aby zapewnić dodawanie [komentarzy TSDoc][tsdoc] do nowo generowanych plików TypeScript. + +> [!NOTE] +> Ponieważ pliki instrukcji mają duży wpływ na kod generowany przez Copilota, należy zadbać, by jasno go prowadziły. Zawsze możesz poprosić Copilota o pierwszą wersję, a potem sam ją przejrzeć, by upewnić się, że aktualizacje spełniają wymagania. Możesz też znaleźć [kolekcję plików instrukcji w Awesome Copilot][awesome-copilot], która stanowi świetny punkt wyjścia. + +1. W tej samej kanwie plików przejdź do `.github/copilot-instructions.md`. +2. Znajdź nagłówek **Code formatting requirements**, który powinien znajdować się mniej więcej w połowie pliku. +3. Dodaj poniższy punkt jako ostatni element listy pod tym nagłówkiem: + + ```plaintext + All new TypeScript should contain TSDocs comments for documentation purposes. + ``` + +Plik jest automatycznie zapisywany i gotowy do użycia! + +## Użyj zaktualizowanych wskazówek + +Gdy plik instrukcji jest zaktualizowany, zobaczmy, jaki wpływ ma na kod generowany przez Copilota — poprośmy go o przejrzenie aktualizacji i wprowadzenie niezbędnych zmian. + +> [!NOTE] +> Wyraźnie powiemy Copilotowi, by użył pliku instrukcji, bo właśnie go zmieniliśmy. Przy tworzeniu kodu, gdy pliki instrukcji już są na miejscu, Copilot używa ich automatycznie — bez potrzeby o to prosić. + +1. Wyślij Copilotowi poniższe polecenie, aby użył plików instrukcji i zaktualizował kod zgodnie z nowo dodanymi wymaganiami: + + ```plaintext + We just updated our instructions and code guidance. Can you please update the code you generated to match that guidance? + ``` + +2. Wybierz **Changes** w prawym górnym rogu, aby otworzyć zmiany w kodzie. + + ![Karty panelu sesji w aplikacji GitHub Copilot ze strzałką wskazującą kartę Changes](../../../_images/app-select-changes.png) + +3. Przeczytaj pliki TypeScript. Zwróć uwagę na nowo wygenerowane komentarze TSDoc. + +## Podsumowanie i kolejne kroki + +Poznałeś, jak aplikacja zbiera kontekst z plików instrukcji, i zastosowałeś nowy standard do swojej funkcji. Konkretnie: + +- zbadałeś `copilot-instructions.md` repozytorium oraz pliki `*.instructions.md` ograniczone do ścieżek. +- zaktualizowałeś plik instrukcji, aby zapewnić przestrzeganie standardów kodowania. +- zobaczyłeś wpływ plików instrukcji na wygenerowany kod. + +Następnie [dostosujesz i uruchomisz wielokrotnego użytku skill quality-checks][next-lesson], aby linting i testy były uruchamiane spójnie. + +## Zasoby + +- [Pliki instrukcji do dostosowania GitHub Copilot][instruction-files] +- [Dostosowywanie aplikacji GitHub Copilot][customize-app] +- [Dobre praktyki tworzenia instrukcji niestandardowych][instructions-best-practices] +- [Awesome Copilot — kolekcja plików instrukcji i innych zasobów][awesome-copilot] + +[next-lesson]: ../5-agent-skills/ +[instruction-files]: https://docs.github.com/copilot/customizing-copilot/about-customizing-github-copilot-chat-responses +[customize-app]: https://docs.github.com/copilot/how-tos/github-copilot-app/customize-github-copilot-app +[instructions-best-practices]: https://docs.github.com/copilot/concepts/prompting/response-customization#writing-effective-custom-instructions +[awesome-copilot]: https://awesome-copilot.github.com/ +[custom-instructions-support]: https://docs.github.com/copilot/reference/custom-instructions-support +[tsdoc]: https://tsdoc.org/ +[ui-instructions]: https://github.com/github-samples/tailspin-toys/blob/main/.github/instructions/ui.instructions.md +[astro-instructions]: https://github.com/github-samples/tailspin-toys/blob/main/.github/instructions/astro.instructions.md +[managing-issues-prs]: https://docs.github.com/copilot/how-tos/github-copilot-app/managing-issues-and-pull-requests diff --git a/docs/pl-pl/real-world-development/app/5-agent-skills.md b/docs/pl-pl/real-world-development/app/5-agent-skills.md new file mode 100644 index 00000000..bac311ac --- /dev/null +++ b/docs/pl-pl/real-world-development/app/5-agent-skills.md @@ -0,0 +1,111 @@ +--- +title: "Lekcja 5 - Dostosowanie i użycie skillu quality-checks" +description: "Poznaj istniejący skill quality-checks, dostosuj format jego raportu i użyj go do walidacji filtrowania." +authors: + - geektrainer + - azkel +lastUpdated: 2026-09-29 +--- + +Pisanie kodu to coś więcej niż samo pisanie kodu. Udało nam się ręcznie zweryfikować, że kod działa, i użyliśmy plików instrukcji, by zapewnić zgodność ze standardami. A co z testami? Lintingiem? Wszystkimi innymi częściami ciągłej integracji (CI)? + +Do takich zadań najlepiej pasują **skille agenta (agent skills)**! Skille pomagają Copilotowi zrozumieć, jak prawidłowo uruchamiać tego typu operacje. + +Podczas tej lekcji: + +- poznasz istniejący skill `quality-checks`. +- dostosujesz format jego wyników. +- uruchomisz skill i przejrzysz jego wynik. + +## Scenariusz + +Tailspin Toys używa skillu `quality-checks` do testów jednostkowych, lintu i sprawdzeń typów. Zespół chce ulepszyć raport, aby wyniki były łatwiejsze do odczytania. + +## Instrukcje, skrypty i zasoby + +Skille agenta pakują wielokrotnego użytku instrukcje zadań, wykonywalne skrypty i zasoby pomocnicze, które agent ładuje na żądanie. W istocie to folder o nazwie skillu z plikiem markdown o nazwie `SKILL.md`. Markdown zawiera frontmatter z nazwą i opisem, które definiują, czym jest skill, przegląd tego, co robi, oraz wskazówki, kiedy należy go wywołać. Folder może też zawierać podfoldery ze skryptami i innymi zasobami używanymi przez skill przy wywołaniu. + +> [!NOTE] +> Dodatkowe foldery i pliki nie są wymagane dla skillu! W naszym przykładzie skill będzie uruchamiał polecenia `npm`, by uruchomić testy i lintery. Dlatego nie potrzebujemy dodatkowych plików pomocniczych. + +Skille mogą znajdować się w folderze `.github/skills` projektu, by stać się zasobem repozytorium współdzielonym i wielokrotnie używanym przez zespół, albo w folderze głównym Copilota, zwykle `~/.copilot/skills`. + +## Zbadaj skill + +Zbadajmy skill, który zespół Tailspin Toys utworzył do uruchamiania testów jednostkowych, lintu i sprawdzeń typów — o nazwie `quality-checks`. + +1. Jeśli nie masz jeszcze otwartej kanwy **Files**, w panelu przeglądu wybierz **+**, a następnie **File** +2. Wyszukaj `.github/skills/quality-checks/SKILL.md`. +3. Przeczytaj `name` i `description` na górze. Zwróć uwagę na opis, który pomaga Copilotowi zrozumieć, kiedy wywołać skill. +4. Przeczytaj instrukcje i zwróć uwagę, jak prowadzą Copilota przez proces testowania i lintingu. + +## Uruchom skill przed wprowadzeniem zmiany + +Skille można wywoływać bezpośrednio poleceniem slash (`/`) albo językiem naturalnym. Poprośmy Copilota o uruchomienie trzech sprawdzeń skillu. + +1. Upewnij się, że Copilot jest w trybie **Interactive**, wybierając go z listy rozwijanej trybu. +2. Użyj poniższego polecenia, aby wywołać skill: + + ```plaintext + Run the quality-checks skill for unit tests, lint, and type checks. + ``` + +3. Zwróć uwagę na raport na końcu. + +## Dostosuj raport + +OK, chcemy lepszego raportu, który powie, co zostało uruchomione, czy zakończyło się sukcesem i co faktycznie zgłosiły narzędzia. Zaktualizujmy skill, aby taki raport tworzył! + +1. Wróć do kanwy **Files**. +2. Jeśli nie jest jeszcze otwarty, otwórz `.github/skills/quality-checks/SKILL.md`. +3. Dodaj poniższą sekcję na końcu pliku: + + ```markdown + ## Results output formatting + + Upon completion, report each command that ran and whether it passed, failed, or was blocked. Include test counts, durations, errors, warnings, and other metrics only when the tool reports them. Identify the next action for any failure or blocker, and never describe a skipped or incomplete check as passed. + ``` + +Plik zostanie automatycznie zapisany. + +## Uruchom zaktualizowany skill + +Gdy zmiana jest gotowa, zobaczmy ją w działaniu! Użyjemy dokładnie tego samego polecenia co wcześniej. + +1. Upewnij się, że Copilot jest w trybie **Interactive**, wybierając go z listy rozwijanej trybu. +2. Użyj poniższego polecenia, aby wywołać skill: + + ```plaintext + Run the quality-checks skill for unit tests, lint, and type checks. + ``` + +3. Zwróć uwagę na raport na końcu. + +## Podsumowanie i kolejne kroki + +Dostosowałeś i użyłeś istniejącego skillu agenta. Podczas tej lekcji: + +- zbadałeś skill `quality-checks` do testów jednostkowych, lintu i sprawdzeń typów. +- dostosowałeś format jego wyników. +- uruchomiłeś skill i przejrzałeś jego wynik. + +Ta zmiana towarzyszy filtrowaniu w PR funkcji. Następnie pozwolisz Copilotowi wchodzić w interakcję z witryną bezpośrednio [przez serwer Playwright MCP][next-lesson]. + +## Więcej przykładów skilli + +Te przykłady społecznościowe to odniesienia, a nie dodatkowe zadania. Przed przyjęciem przejrzyj ich wymagania wstępne i zachowanie: + +- [Specyfikacja Agent Skills][skill-spec]. +- [Przepływ wkładu: `make-repo-contribution`][contribution-example]. +- [Dokumenty wymagań: `prd`][prd-example]. +- [Diagramy i dołączony skrypt eksportu: `drawio`][drawio-example]. +- [Testowanie w przeglądarce: `webapp-testing`][browser-example]. + +Przykład wkładu upstream nazywa się `make-repo-contribution`; starsze szablony Tailspin używały innej nazwy, `make-contribution`. Ten warsztat nie zależy od żadnego z tych skilli wkładu. + +[next-lesson]: ../6-mcp-playwright/ +[skill-spec]: https://agentskills.io/specification +[contribution-example]: https://github.com/github/awesome-copilot/tree/main/skills/make-repo-contribution +[prd-example]: https://github.com/github/awesome-copilot/tree/main/skills/prd +[drawio-example]: https://github.com/github/awesome-copilot/tree/main/skills/drawio +[browser-example]: https://github.com/github/awesome-copilot/tree/main/skills/webapp-testing diff --git a/docs/pl-pl/real-world-development/app/6-mcp-playwright.md b/docs/pl-pl/real-world-development/app/6-mcp-playwright.md new file mode 100644 index 00000000..3e569144 --- /dev/null +++ b/docs/pl-pl/real-world-development/app/6-mcp-playwright.md @@ -0,0 +1,86 @@ +--- +title: "Lekcja 6 - Walidacja funkcjonalności z Playwright MCP" +description: "Skonfiguruj Playwright MCP przez Customize i obserwuj filtrowanie w przeglądarce w istniejącym worktree funkcji." +authors: + - geektrainer + - azkel +lastUpdated: 2026-07-09 +--- + +Jak już podkreślaliśmy, pisanie kodu to coś więcej niż samo pisanie kodu. Trzeba pracować z danymi, usługami zewnętrznymi, a nawet udostępniać Copilotowi dodatkowe automatyzacje. Tu właśnie wchodzą w grę serwery MCP. Serwery MCP pozwalają Copilotowi wyjść poza to, co jest wbudowane w aplikację, i dają mu jeszcze więcej narzędzi oraz usług. + +W tej lekcji: + +- zrozumiesz, czym jest Model Context Protocol (MCP) i jak korzysta z niego aplikacja GitHub Copilot. +- dodasz serwer MCP Playwright. +- poprosisz agenta, by sterował przeglądarką i zbadał funkcję filtrowania. + +## Scenariusz + +Choć testy jednostkowe i kompleksowe (end-to-end) są ważne, walidacja aktualizacji interfejsu wymaga rzeczywistej interakcji z UI. Chcesz, żeby Copilot mógł korzystać ze strony, nad którą pracujesz, tak jak użytkownik — aby jeszcze bardziej zautomatyzować wprowadzanie zmian i zwiększyć pewność, że aktualizacje działają zgodnie z oczekiwaniami. + +## Czym jest Model Context Protocol (MCP)? + +[Model Context Protocol (MCP)][mcp-blog-post] daje agentom AI sposób komunikacji z zewnętrznymi narzędziami i usługami. Dzięki MCP agenci AI mogą komunikować się z nimi w czasie rzeczywistym. Pozwala im to uzyskiwać aktualne informacje (przez zasoby) oraz wykonywać działania w Twoim imieniu (przez narzędzia). + +Do tych narzędzi i zasobów uzyskuje się dostęp przez serwer MCP, który działa jak most między agentem AI a zewnętrznymi narzędziami i usługami. Serwer MCP zarządza komunikacją między agentem AI a narzędziami zewnętrznymi (takimi jak istniejące API lub lokalne narzędzia, na przykład pakiety NPM). Każdy serwer MCP reprezentuje inny zestaw narzędzi i zasobów, do których agent AI może uzyskać dostęp. + +Kilka popularnych serwerów MCP: + +- **[GitHub MCP Server](https://github.com/github/github-mcp-server)**: ten serwer zapewnia dostęp do zestawu API do zarządzania repozytoriami GitHub. Pozwala agentowi AI wykonywać działania takie jak tworzenie nowych repozytoriów, aktualizowanie istniejących oraz zarządzanie zgłoszeniami i pull requestami. +- **[Playwright MCP Server][playwright-mcp-server]**: ten serwer zapewnia automatyzację przeglądarki za pomocą Playwright. Pozwala agentowi AI wykonywać działania takie jak nawigacja do stron, wypełnianie formularzy i klikanie przycisków. + +Dostępnych jest wiele innych serwerów MCP, które udostępniają różne narzędzia i zasoby. GitHub hostuje [rejestr MCP](https://github.com/mcp), by ułatwić odkrywanie i wkład w ekosystem. + +> [!CAUTION] +> Traktuj serwery MCP jak każdą inną zależność w projekcie. Przed użyciem serwera MCP uważnie przejrzyj jego kod źródłowy, zweryfikuj wydawcę i rozważ implikacje bezpieczeństwa. Używaj wyłącznie serwerów MCP, którym ufasz, i ostrożnie przyznawaj dostęp do wrażliwych zasobów lub operacji. + +## Dodaj serwer MCP Playwright + +Serwerami MCP zarządzasz przez **Customize** na pasku bocznym. Serwery skonfigurowane dla Twoich repozytoriów lub Copilot CLI mogą być już dostępne w aplikacji — sprawdź to, zanim dodasz duplikat. [Dokumentacja personalizacji aplikacji][customize-app] opisuje dostępne opcje. + +1. Wybierz **Customize** na pasku bocznym. +2. Wybierz **MCP**, a następnie sprawdź **Installed** pod kątem istniejącego serwera Playwright. +3. W razie potrzeby znajdź **Playwright** wśród dostępnych serwerów albo skorzystaj z przepływu serwera niestandardowego opisanego przez wydawcę. +4. Przed zatwierdzeniem przejrzyj wydawcę, konfigurację i ewentualne monity instalacji. Postępuj zgodnie z monitami, by dodać serwer; polityka organizacji lub brakujące wymagania wstępne mogą zablokować konfigurację. +5. Wróć do sesji filtrowania w trybie **Interactive** i upewnij się, że narzędzia Playwright MCP są dostępne. + +Jeśli konfiguracja się nie powiedzie, rozwiąż problem z konfiguracją lub uprawnieniami, zanim przejdziesz dalej. + +## Poproś Copilota o zbadanie funkcji przez Playwright + +Zgłoszenie i decyzje z planowania są już w kontekście. Zatrzymaj każdy serwer deweloperski uruchomiony wcześniej, zanim poprosisz Copilota o uruchomienie nowego. + +1. Użyj poniższego polecenia, by poprosić Copilota o walidację nowej funkcjonalności: + + ```plaintext + Start the app and use Playwright MCP to check filtering against the issue and our plan. Tell me what works and what doesn't, without making changes. Stop the server you started when you're done. + ``` + +> [!NOTE] +> Nie musisz mówić Copilotowi, by użył konkretnego serwera MCP; zwykle sam znajdzie właściwy na podstawie bieżącego kontekstu. Mimo to nigdy nie zaszkodzi wskazać Copilotowi coś, co uważasz za ważne. + +2. Usiądź wygodnie i obserwuj! + +Copilot uruchomi serwer, otworzy przeglądarkę i będzie interagować ze stroną! Gdy skończy, zatrzyma serwer i przedstawi raport. + +## Podsumowanie i kolejne kroki + +Gratulacje — użyłeś serwera MCP Playwright, by zbadać funkcję w prawdziwej przeglądarce z poziomu aplikacji GitHub Copilot! Podsumowując: + +- poznałeś Model Context Protocol (MCP) i sposób, w jaki aplikacja GitHub Copilot z niego korzysta. +- dodałeś serwer MCP Playwright. +- poprosiłeś agenta, by sterował przeglądarką i zbadał funkcję filtrowania. + +Następnie [utworzysz niestandardowego agenta QA][next-lesson], który łączy skill i narzędzia przeglądarki w roli specjalisty. + +## Zasoby + +- [What the heck is MCP and why is everyone talking about it?][mcp-blog-post] +- [Microsoft Playwright MCP Server][playwright-mcp-server] +- [Configuring MCP servers in the GitHub Copilot app][customize-app] + +[next-lesson]: ../7-qa-agent/ +[mcp-blog-post]: https://github.blog/ai-and-ml/llms/what-the-heck-is-mcp-and-why-is-everyone-talking-about-it/ +[playwright-mcp-server]: https://github.com/microsoft/playwright-mcp +[customize-app]: https://docs.github.com/copilot/how-tos/github-copilot-app/customize-github-copilot-app diff --git a/docs/pl-pl/real-world-development/app/7-qa-agent.md b/docs/pl-pl/real-world-development/app/7-qa-agent.md new file mode 100644 index 00000000..1c2de21a --- /dev/null +++ b/docs/pl-pl/real-world-development/app/7-qa-agent.md @@ -0,0 +1,81 @@ +--- +title: "Lekcja 7 - Tworzenie i użycie agenta QA" +description: "Utwórz profil QA wychodzący od wymagań, łączący pokrycie testami, skill quality-checks i bezpośrednie dowody z przeglądarki." +authors: + - geektrainer + - azkel +lastUpdated: 2026-09-17 +--- + +Użyłeś skillu `quality-checks` do uruchamiania automatycznych sprawdzeń oraz Playwright MCP do obserwacji filtrowania w przeglądarce. Teraz połączysz te możliwości w agencie niestandardowym z jasno zdefiniowanym procesem QA. + +W tej lekcji: + +- poznasz, jak agent niestandardowy współpracuje z instrukcjami, skillami i narzędziami MCP. +- utworzysz i przejrzysz wielokrotnego użytku profil zapewnienia jakości (QA). +- wybierzesz agenta QA i przejrzysz jego ustalenia względem zgłoszenia o filtrowaniu. + +## Scenariusz + +Tailspin Toys chce spójnego przeglądu wymagań, jakości kodu, automatycznych sprawdzeń, pokrycia testami i zachowania w przeglądarce przed otwarciem pull requesta (PR). Agent niestandardowy może koordynować ten proces QA i dostarczać wielokrotnego użytku raport. + +## Czym jest agent niestandardowy? + +Agent niestandardowy to wyspecjalizowana wersja Copilota zdefiniowana w profilu Markdown. Profil opisuje cel agenta, instrukcje i dostępne narzędzia. W tym warsztacie zdefiniujesz rolę QA w `.github/agents/qa.agent.md` i wybierzesz ją w aplikacji. + +Używane przez Ciebie personalizacje mają różne zadania. Instrukcje repozytorium opisują standardy zespołu. Skill `quality-checks` pakuje powtarzalne sprawdzenia. Playwright MCP dostarcza narzędzia przeglądarki. Profil QA mówi Copilotowi, jak używać tych możliwości do oceny wymagań i raportowania wyników. Nie zastępuje ich ani nie wymaga kolejnej sesji. + +## Utwórz profil QA + +Zanim otworzysz PR funkcji, poprosisz Copilota o utworzenie wielokrotnego użytku profilu QA. Profil zdefiniuje zarówno sprawdzenia wykonywane przez QA, jak i granice, których musi przestrzegać. + +1. Upewnij się, że sesja jest w trybie **Interactive**. +2. Wyślij poniższe polecenie do Copilota, by utworzyć nowego agenta niestandardowego: + + ```plaintext + Create a custom agent named QA in .github/agents/qa.agent.md. It should check features against their issues and agreed requirements, follow the repository instructions, run the quality-checks skill, use Playwright MCP to verify behavior, and add tests when coverage is missing. + + Have it report each requirement as pass, fail, or blocked with supporting evidence. It must ask before changing implementation code, and it must not commit changes or open pull requests. Use the current model and available tools. Just create the profile for now so I can review it. + ``` + +## Przejrzyj profil + +Zanim użyjesz nowego agenta, przejrzyj jego profil i upewnij się, że Copilot uchwycił zamierzony przepływ QA oraz granice uprawnień. Dzięki temu niepełny lub zbyt szeroki agent nie zmieni funkcji, gdy chcesz ją tylko zweryfikować. + +1. Otwórz **Changes** i wybierz `.github/agents/qa.agent.md`. +2. Przeczytaj frontmatter. Pole `description` jest wymagane; `name` jest opcjonalne, ale jego podanie daje agentowi czytelną nazwę wyświetlaną. +3. Przeczytaj instrukcje profilu i upewnij się, że QA zaczyna od wymagań, stosuje instrukcje repozytorium, uruchamia skill `quality-checks` i używa Playwright MCP. +4. Upewnij się, że QA raportuje dowody, pyta przed zmianą kodu implementacji oraz nie tworzy commitów ani nie otwiera pull requestów. +5. Jeśli wygenerowany profil pomija którąkolwiek z tych odpowiedzialności lub granic, poproś ogólnego agenta Copilot o poprawki, zanim przejdziesz dalej. + +## Uruchom QA względem zgłoszenia + +Po przejrzeniu profilu wybierz QA w bieżącej sesji, żeby mógł skorzystać ze zgłoszenia o filtrowaniu i decyzji z planowania już obecnych w kontekście. Przed wysłaniem polecenia uruchomienia upewnij się, który agent jest aktywny. + +1. W bieżącej sesji otwórz selektor agenta w polu monitu. +2. Wybierz **QA** i sprawdź, że aplikacja wyraźnie wskazuje **QA** jako aktywnego agenta, zanim wyślesz polecenie uruchomienia. +3. Wyślij poniższe polecenie, by poprosić QA o przegląd funkcji: + + ```plaintext + Review the filtering feature against the issue and the decisions in our plan. Is it ready for a PR? + ``` + +4. Upewnij się, że QA korzysta z właściwego zgłoszenia i decyzji z planowania. Podaj URL zgłoszenia lub brakujący kontekst, jeśli o to poprosi. +5. Przeczytaj raport, gdy skończy pracę! + +## Podsumowanie i kolejne kroki + +Dodałeś do przepływu pracy wielokrotnego użytku rolę specjalisty i przejrzałeś jej pracę. W tej lekcji: + +- poznałeś, jak agent niestandardowy współpracuje z instrukcjami, skillami i narzędziami MCP. +- utworzyłeś i przejrzałeś wielokrotnego użytku profil QA wychodzący od wymagań. +- wybrałeś agenta QA i przejrzałeś jego ustalenia względem zgłoszenia o filtrowaniu. + +Masz już implementację, aktualizację skillu, profil QA, testy i raport weryfikacji gotowe do przeglądu. Następnie [zbierzesz je w PR funkcji i użyjesz Agent Merge][next-lesson]. + +## Zasoby + +- [Customizing the GitHub Copilot app, including selecting custom agents][customize-app] + +[next-lesson]: ../8-create-pull-request/ +[customize-app]: https://docs.github.com/copilot/how-tos/github-copilot-app/customize-github-copilot-app diff --git a/docs/pl-pl/real-world-development/app/8-create-pull-request.md b/docs/pl-pl/real-world-development/app/8-create-pull-request.md new file mode 100644 index 00000000..81dab78b --- /dev/null +++ b/docs/pl-pl/real-world-development/app/8-create-pull-request.md @@ -0,0 +1,75 @@ +--- +title: "Lekcja 8 - Tworzenie i scalanie PR funkcji" +description: "Przejrzyj razem filtrowanie, instrukcje, aktualizację skillu, profil QA i testy, potem utwórz PR i użyj Agent Merge." +authors: + - geektrainer + - azkel +lastUpdated: 2026-09-17 +--- + +Implementacja filtrowania, aktualizacje instrukcji, aktualizacja skillu, profil zapewnienia jakości (QA) i testy są zapisane na jednej gałęzi. Czas przejrzeć je razem i otworzyć pull request. Pull request (PR) z ocenami w gwiazdkach scalałeś samodzielnie; tym razem pozwolisz **Agent Merge** zarządzać procesem. + +> [!NOTE] +> Zwykle rozdzielilibyśmy funkcję, aktualizacje instrukcji, aktualizację skillu i agenta QA na kilka osobnych PR. Aby usprawnić warsztat, utrzymałeś pełny przepływ filtrowania i jakości w jednej sesji i na jednej gałęzi — cała ta praca trafia do tego PR. + +W tej lekcji: + +- poznasz, czym jest Agent Merge i jak automatyzuje cykl życia scalania. +- przejrzysz pełny PR funkcji oraz dowody weryfikacji. +- autoryzujesz Agent Merge dopiero po przeglądzie i potwierdzisz, że PR został scalony. + +## Scenariusz + +W całym przepływie filtrowania używałeś Copilota do planowania, implementacji i weryfikacji funkcji. Tailspin Toys chce teraz zautomatyzować pozostałą pracę nad PR, zachowując autoryzację scalenia pod kontrolą dewelopera. + +## Przedstawiamy Agent Merge + +**Agent Merge** automatyzuje pozostałą pracę potrzebną do wprowadzenia pull requesta w aplikacji GitHub Copilot. Gdy go włączysz, sesja aplikacji czyta Twój pull request, zajmuje się tym, co go blokuje — naprawia nieprzechodzące sprawdzenia ciągłej integracji (CI), odpowiada na uwagi z przeglądu, w razie potrzeby wykonuje rebase — i scala go, gdy tylko GitHub na to pozwoli. Działa w tle, przetrwa restarty aplikacji i wyłącza się sam, gdy pull request zostanie scalony. + +Do tej pory samodzielnie wybierałeś **Merge pull request**. Agent Merge może przejąć tę odpowiedzialność, ale jego możliwość edycji kodu i scalania nadal wymaga Twojej wyraźnej autoryzacji. Przed przyznaniem uprawnienia do scalania przejrzyj dozwolone działania i samą pracę. + +## Użyj Agent Merge do zarządzania PR + +Gdy cały kod jest utworzony i przejrzany, pozwólmy Agent Merge zarządzać procesem PR. + +1. Użyj selektora agenta, by wybrać **Default agent**. +2. Wybierz listę rozwijaną obok **Create PR**. +3. Wybierz **Agent merge**. Przycisk zmienia się na **Agent merge**. +4. Wybierz **Agent merge**, by uruchomić proces Agent Merge. + +Proces Agent Merge się rozpoczyna. W jego ramach: + +- Utworzy pull request z tytułem i opisem. +- Jeśli zacząłeś sesję od zgłoszenia, odwoła się do powiązanego zgłoszenia w treści opisu. +- Wykona rebase lub obsłuży ewentualne konflikty scalania z gałęzią docelową. +- Będzie monitorować proces CI, by upewnić się, że wszystkie sprawdzenia przechodzą. +- Będzie monitorować PR pod kątem opinii innych deweloperów lub przeglądu kodu Copilot. Wprowadzi aktualizacje, by rozwiązać te uwagi. +- Opcjonalnie może automatycznie scalić PR, gdy wszystko się powiedzie. + +Pozwólmy Agent Merge także scalić PR, gdy wszystko przejdzie! + +5. Wybierz listę rozwijaną obok **Agent merge**. +6. Upewnij się, że obok **Merge pull request** jest zaznaczenie. + + +> [!IMPORTANT] +> Agent Merge nie omija ochrony repozytorium ani brakujących uprawnień. Rozwiąż te blokery, zanim przejdziesz dalej. + +## Podsumowanie i kolejne kroki + +Zautomatyzowałeś kilka części procesu rozwoju, w tym generowanie kodu, testowanie i walidację, a teraz także proces pull requesta. W tej lekcji: + +- poznałeś, czym jest Agent Merge i jak automatyzuje cykl życia scalania. +- przejrzałeś pełny PR funkcji oraz dowody weryfikacji. +- autoryzowałeś Agent Merge dopiero po przeglądzie i potwierdziłeś, że PR został scalony. + +Następnie [użyjesz istniejącej kanwy i utworzysz kanwę triage][next-lesson], by poznać bogatszy sposób przeglądania, planowania i wizualizacji pracy z agentem. + +## Zasoby + +- [Managing issues and pull requests with the GitHub Copilot app][managing-issues-prs] +- [About the GitHub Copilot app][about-copilot-app] + +[next-lesson]: ../9-canvases/ +[managing-issues-prs]: https://docs.github.com/copilot/how-tos/github-copilot-app/managing-issues-and-pull-requests +[about-copilot-app]: https://docs.github.com/copilot/concepts/agents/github-copilot-app diff --git a/docs/pl-pl/real-world-development/app/8-foundry-canvas/1-project-and-model.md b/docs/pl-pl/real-world-development/app/8-foundry-canvas/1-project-and-model.md new file mode 100644 index 00000000..7ff46ce8 --- /dev/null +++ b/docs/pl-pl/real-world-development/app/8-foundry-canvas/1-project-and-model.md @@ -0,0 +1,151 @@ +--- +title: "Przygotuj projekt i model" +description: "Wyeksportuj katalog Tailspin, utwórz projekt Foundry i wdrożenie modelu, a następnie zweryfikuj je w Canvas." +authors: + - juliamuiruri4 +lastUpdated: 2026-09-16 +prev: + link: /copilot-workshops/pl-pl/real-world-development/app/8-foundry-canvas/ + label: "Opcjonalnie: Uwzględnienie Foundry" +next: + link: /copilot-workshops/pl-pl/real-world-development/app/8-foundry-canvas/2-build-and-deploy/ + label: Zbuduj i wdróż agenta +--- + +Ten pierwszy moduł przygotowuje dane i zasoby Azure dla Backer Concierge. Kod agenta ani wdrożenie hostowane nie są jeszcze potrzebne. + +Na koniec będziesz mieć: + +- Eksport katalogu z jawnymi granicami oparcia o dane (grounding). +- Projekt Foundry i wdrożenie modelu wybrane pod wymagania funkcji. +- Wdrożenie zweryfikowane w Canvas oraz prosty smoke test modelu ograniczony do katalogu. + +## Scenariusz + +Wspierający Tailspin Toys mogą filtrować gry według kategorii i wydawcy, ale pytania w stylu *Które gry pasowałyby do kogoś, kto kocha gry słowne o Gicie?* nie mają odpowiedzi w liście rozwijanej. Backer Concierge powinien rekomendować wyłącznie gry z katalogu Tailspin i nigdy nie wymyślać gier, wydawców, ocen, sum finansowania, liczby wspierających, cen, liczby graczy, czasu gry ani dat wydania. Niezawodny katalog i odpowiedni model to fundament takich odpowiedzi. + +## Przygotuj narzędzia i sesję ze zgłoszenia + +Konfiguracja łączy aplikację GitHub Copilot z Azure, trzymając całą pracę nad funkcją razem. + +1. Upewnij się, że masz subskrypcję Azure. Jeśli jej potrzebujesz, dostępne opcje obejmują [bezpłatną subskrypcję Azure z kredytem 200 $][azure-free] lub [Azure for Students z kredytem 100 $][azure-students]. +2. Zainstaluj [Azure CLI][install-azure-cli] dla swojego systemu, a następnie zweryfikuj instalację za pomocą `az version`. +3. Zainstaluj [Azure Developer CLI][install-azd], a następnie sprawdź za pomocą `azd version`, że masz wersję 1.27.1 lub nowszą. +4. Otwórz aplikację GitHub Copilot, otwórz **Customize**, a następnie wybierz **Plugins**. Wyszukaj `microsoft-foundry` i wybierz **Install** dla wtyczki Microsoft Foundry, która łączy Canvas oraz skille Foundry. + + ![Instalacja wtyczki Microsoft Foundry](../../../../_images/app-8-install-foundry-plugin.png) + +5. W **Customize** wybierz **Plugins**, wyszukaj `azure` lub wybierz ją z listy **Featured**, a następnie wybierz **Install** dla wtyczki Azure. +6. Na karcie **My work** znajdź i otwórz zgłoszenie zatytułowane **Add a Backer Concierge assistant for catalog questions** w repozytorium Tailspin Toys. Wybierz **New session**, by uruchomić sesję powiązaną ze zgłoszeniem w nowym worktree. Zachowaj to repozytorium, gałąź worktree i sesję ze zgłoszenia we wszystkich trzech modułach. +7. Wpisz `/microsoft-foundry`, a następnie `/azure`, by potwierdzić, że oba skille są zainstalowane i dostępne; nie wysyłaj jeszcze żadnych promptów. Jeśli wtyczka nie pojawi się od razu, zrestartuj aplikację, wróć do tej samej sesji ze zgłoszenia i sprawdź ponownie. + +## Wygeneruj eksport katalogu + +Przykładowe repozytorium zawiera skrypt eksportu, który daje agentowi plik do odczytu. + +8. W tej sesji worktree powiązanej ze zgłoszeniem zastąp domyślne polecenie `/fix-issue` w polu monitu: + + ```plaintext + Install the project dependencies, seed the database, then run the existing db:export script. Show me the command output and summarize the shape and grounding limits of db/catalog.json. + ``` + +9. Przejrzyj wynik poleceń. Copilot powinien uruchomić odpowiednik: + + ```bash + npm install + npm run db:setup + npm run db:export + ``` + + ![Generowanie eksportu katalogu](../../../../_images/app-8-generate-catalog-export.png) + +10. Otwórz `db/catalog.json` i upewnij się, że zawiera 21 gier z tytułem, opisem, kategorią, wydawcą i oceną w gwiazdkach. Sprawdź pole `note`: katalog nie zawiera sum finansowania, liczby wspierających, poziomów wsparcia ani dat wydania. Brakujące ceny, liczby graczy i czasy gry też traktuj jako niedostępne — nie uzupełniaj luk wiedzą spoza katalogu. Jeśli eksport się nie powiedzie lub się różni, poproś Copilota o zbadanie i ponowne uruchomienie, zanim przejdziesz dalej. + + ![Eksport katalogu otwarty w aplikacji Copilot](../../../../_images/app-8-view-catalog.png) + +## Skonfiguruj projekt Foundry i model + +Utworzenie projektu i wdrożenia najpierw w czacie oznacza, że Canvas łączy się tylko z już istniejącymi zasobami. + +11. Wybierz **+**, wybierz **Terminal** i zaloguj się do Azure: + + ```bash + az login + ``` + +12. Sprawdź wybraną subskrypcję i wypisz jej grupy zasobów: + + ```bash + az account show --output table + az group list --output table + ``` + + Jeśli subskrypcja jest nieprawidłowa, uruchom `az account set --subscription `, a następnie powtórz oba polecenia. + + Jeśli pojawia się `rg-tailspin-toys`, przejrzyj jej zasoby: + + ```bash + az resource list --resource-group rg-tailspin-toys --output table + ``` + + Jeśli grupa zawiera niezwiązane lub współdzielone zasoby, zatrzymaj się i wybierz dedykowaną nazwę, zanim użyjesz poniższego polecenia. We wszystkich późniejszych promptach i poleceniach zastąp przykładowe nazwy tymi, które zatwierdzisz. +13. W tej samej sesji ze zgłoszenia wpisz: + + ```plaintext + Use the Microsoft Foundry skill to create a resource group named rg-tailspin-toys and a Foundry project named tailspin-toys. + ``` + + ![Utworzenie projektu Foundry](../../../../_images/app-8-foundry-project-created.png) + +14. Poproś Copilota o rekomendację modelu. Kryteria akceptacji zgłoszenia są już w kontekście, bo sesja zaczęła się od zgłoszenia: + + ```plaintext + Use the Microsoft Foundry skill to recommend two or three current chat models in the tailspin-toys project that meet this issue's acceptance criteria. Explain the tradeoffs and wait for me to choose. + ``` + +15. Upewnij się, że Copilot ładuje skill `microsoft-foundry`, a następnie wybierz dostępny model na podstawie kompromisów. Szybki start Microsoft Foundry dla hostowanego agenta obecnie używa `gpt-5.4-mini`, ale dostępność i limity zależą od regionu. + + ![Wybór modelu](../../../../_images/app-8-select-model.png) + +16. Poproś Copilota o wdrożenie Twojego wyboru, przeglądając docelowy projekt i koszt przed zatwierdzeniem: + + ```plaintext + Deploy the model I selected to the tailspin-toys Foundry project, using the model name as the deployment name. + ``` + +> [!TIP] +> Dostępność modeli zmienia się w czasie. Właściwym wyborem jest model, którego dostępność w projekcie potwierdzi Copilot — a nie na sztywno wpisany model z tego modułu. + +## Zweryfikuj i wykonaj smoke test modelu w Canvas + +To sprawdzenie weryfikuje projekt i model, zanim powstanie jakikolwiek kod agenta. Smoke test modelu nie zastępuje testów oparcia o katalog hostowanego agenta w module 2. + +17. Wybierz **+**, potem **Canvas**, a następnie **Microsoft Foundry (Preview)**. +18. Otwórz menu **More options** w prawym górnym rogu Canvas, a następnie wybierz **Sign in**. +19. Wybierz projekt Foundry **tailspin-toys**. Rozwiń **Models** i upewnij się, że wdrożenie pojawia się z oczekiwaną nazwą i statusem. + + ![Walidacja projektu i modelu w Canvas](../../../../_images/app-8-validate-project-model.png) + +20. W tej samej sesji wpisz: + + ```plaintext + Use the Microsoft Foundry skill to test my deployed model directly in the tailspin-toys project without creating an agent. Ground it with content from @db/catalog.json and ask: "I love puzzle games about tracking down bugs. What should I back, and how much funding has it raised?" Show me the response and useful metadata such as tokens used and response time, only if available. Use my existing Azure sign-in. Do not display credentials, change files, or create resources. + ``` + +21. Przejrzyj odpowiedź. Powinna rekomendować wyłącznie prawdziwą grę z `db/catalog.json`, używać poprawnego tytułu, wydawcy i oceny oraz wyjaśniać, że informacje o finansowaniu są niedostępne. Jeśli model wymyśli grę, szczegóły katalogu lub sumę finansowania, porównaj inny rekomendowany model, zanim przejdziesz dalej. + +> [!NOTE] +> Canvas zapamiętuje wybrany projekt przy ponownym otwarciu. Jego etapy to **Create new hosted agents** do scaffoldu, **Build current hosted agent** do łączenia modeli, toolboxów, skilli i guardrails oraz **Deploy and test** do lokalnych uruchomień i wdrożenia do Microsoft Foundry. + +## Punkt kontrolny i kolejne kroki + +Przygotowałeś narzędzia Azure, wyeksportowałeś katalog i przetestowałeś wdrożony model względem reguł oparcia o katalog Backer Concierge. Punktem kontrolnym tego modułu jest model, który rekomenduje prawdziwe gry z katalogu bez wymyślania brakujących informacji. + +Następnie użyjesz tego samego repozytorium Tailspin Toys, gałęzi worktree, sesji powiązanej ze zgłoszeniem, projektu Foundry i wybranego wdrożenia modelu, by [zbudować i wdrożyć agenta][next-module]. Jeśli zatrzymujesz się tutaj, [wyczyść zasoby Azure][cleanup], by uniknąć bieżących kosztów. + +[azure-free]: https://azure.microsoft.com/pricing/purchase-options/azure-account +[azure-students]: https://azure.microsoft.com/free/students +[install-azure-cli]: https://learn.microsoft.com/cli/azure/install-azure-cli +[install-azd]: https://learn.microsoft.com/azure/developer/azure-developer-cli/install-azd +[next-module]: ../2-build-and-deploy/ +[cleanup]: ../#wyczyść-swoje-zasoby diff --git a/docs/pl-pl/real-world-development/app/8-foundry-canvas/2-build-and-deploy.md b/docs/pl-pl/real-world-development/app/8-foundry-canvas/2-build-and-deploy.md new file mode 100644 index 00000000..bedb1148 --- /dev/null +++ b/docs/pl-pl/real-world-development/app/8-foundry-canvas/2-build-and-deploy.md @@ -0,0 +1,161 @@ +--- +title: "Zbuduj i wdróż agenta" +description: "Utwórz scaffold Backer Concierge w Canvas, sprawdź go lokalnie, a następnie wdróż i ponownie przetestuj w Foundry." +authors: + - juliamuiruri4 +lastUpdated: 2026-09-16 +prev: + link: /copilot-workshops/pl-pl/real-world-development/app/8-foundry-canvas/1-project-and-model/ + label: Przygotuj projekt i model +next: + link: /copilot-workshops/pl-pl/real-world-development/app/8-foundry-canvas/3-connect-to-site/ + label: Podłącz agenta do strony +--- + +Ten moduł przekształca projekt, wdrożenie modelu i katalog z [Przygotuj projekt i model][previous-module] w hostowanego Backer Concierge przez Microsoft Foundry Canvas. + +Na koniec będziesz mieć: + +- Scaffold agenta ze spakowanymi danymi katalogu i ukierunkowanymi testami. +- Lokalne dowody dla każdego kryterium akceptacji katalogu i rozmowy. +- Wdrożoną wersję agenta ponownie przetestowaną w Foundry. + +## Scenariusz + +Tailspin Toys potrzebuje concierge, który odpowie na prawdziwe pytania o katalog, przyzna, gdy informacji brakuje, i zapamięta gry omówione w rozmowie. Usługa musi zdobyć to zaufanie, zanim stanie się częścią witryny sklepowej. + +## Przygotuj narzędzia wdrożenia + +Inspekcja i wdrożenie hostowanego agenta korzystają z Azure Developer CLI przez Canvas; istniejący projekt Foundry i model są ponownie wykorzystywane. + +1. Wznów tę samą sesję powiązaną ze zgłoszeniem **Add a Backer Concierge assistant for catalog questions** z modułu 1. Upewnij się, że `db/catalog.json` jest nienaruszony, jesteś połączony z właściwą subskrypcją i projektem Foundry, a wdrożenie modelu nadal istnieje. Jeśli zasoby zostały wyczyszczone, najpierw powtórz odpowiednią [konfigurację projektu i modelu][previous-module]. + +2. Wybierz **+**, wybierz **Terminal** i zaloguj się do Azure Developer CLI, kończąc uwierzytelnianie w przeglądarce, gdy zostaniesz o to poproszony: + + ```bash + azd auth login + ``` + +3. Uruchom `azd config show`, by zweryfikować subskrypcję Azure. Jeśli jest pusta lub nieprawidłowa, zaktualizuj ją za pomocą `azd config set defaults.subscription ` i ponownie uruchom `azd config show`, by potwierdzić zmianę. + +## Utwórz scaffold Backer Concierge + +Canvas tworzy kod, strukturę folderów i główny `azure.yaml`, które łączą Backer Concierge z istniejącym wdrożeniem modelu. + +4. W podglądzie **Create new hosted agents** wpisz: + + ```plaintext + Scaffold a hosted agent named Backer Concierge in agent/backer-concierge, connected to the tailspin-toys project and the model deployment I just confirmed. Use Microsoft Agent Framework with the Responses API. Ground it in db/catalog.json and ensure it meets the acceptance criteria in this issue. Keep a single azure.yaml at the repository root with the hosted-agent service pointing to agent/backer-concierge. Make sure the deployed agent includes the catalog data it needs, and add focused tests. + ``` + + Canvas wysyła prompt oraz bieżący kontekst subskrypcji i projektu Foundry do Copilota. Szuka przykładów Agent Framework + Responses API; może pojawić się wybór taki jak **Agent with Local Tools (Responses, Agent Framework, Python)**. + + ![Scaffold agenta Backer Concierge w Canvas](../../../../_images/app-8-scaffold-backer-concierge.png) + +5. Przejrzyj zmiany Copilota na karcie **Files** względem tego punktu kontrolnego. Wygenerowane nazwy plików w `src` mogą się różnić, ale granice projektu i lokalizacja `azure.yaml` powinny się zgadzać: + + - Agent znajduje się w `agent/backer-concierge`. + - Pojedynczy `azure.yaml` w katalogu głównym repozytorium zawiera usługę z `host: azure.ai.agent`. + - Wdrażalny agent zawiera własną wygenerowaną kopię katalogu. + - Ukierunkowane testy obejmują wymagania oparcia o katalog. + - Nie dołączono poświadczeń ani lokalnych plików środowiska. + + ```text + tailspin-toys/ + ├── azure.yaml + ├── agent/ + │ └── backer-concierge/ + │ └── requirements.txt + ├── db/ + │ └── catalog.json + └── src/ + ``` + +6. Poproś Copilota o uruchomienie ukierunkowanych testów i naprawienie ewentualnych niepowodzeń, zanim przejdziesz do **Deploy and test**. + +## Sprawdź agenta lokalnie + +**Inspect Locally** uruchamia `azd ai agent run` w zintegrowanym terminalu Copilota, czeka na start hostowanego agenta i otwiera osadzony Agent Inspector. + +7. W **Deploy and test** wybierz **Inspect Locally** i poczekaj na otwarcie Agent Inspector. + +> [!NOTE] +> Pierwsze lokalne uruchomienie może zająć kilka minut, podczas gdy `azd` tworzy środowisko i instaluje zależności. + +8. Jeśli inspector nie może się połączyć, upewnij się, że żaden inny proces nie zajmuje wymaganego portu, wyślij błąd do Copilota i ponów próbę po naprawieniu problemu. +9. Przetestuj **rekomendację opartą o katalog (grounded)** w Agent Inspector: + + ```text + I love puzzle games about tracking down bugs. What should I back? + ``` + + Oczekiwane: Podaje wyłącznie prawdziwe tytuły z katalogu i używa poprawnych informacji dla każdego tytułu. + + ![Rekomendacja oparta o katalog w Agent Inspector](../../../../_images/app-8-grounded-recommendation.png) + +10. Przetestuj **pułapkę halucynacji**: + + ```text + How much has Pipeline Conquest raised so far, and how many backers does it have? + ``` + + Oczekiwane: Wyjaśnia, że katalog nie śledzi finansowania ani wspierających, a następnie oferuje informacje, które są obecne. + +11. Przetestuj **presję spoza katalogu**: + + ```text + Do you have Wingspan? If not, what's the closest thing you've got? + ``` + + Oczekiwane: Mówi, że Wingspan nie ma w katalogu, nie opisuje go wiedzą zewnętrzną i przechodzi do prawdziwych tytułów Tailspin. + +12. Przetestuj **niejasną prośbę**: + + ```text + Recommend me something good. + ``` + + Oczekiwane: Zadaje jedno krótkie pytanie uściślające i nie rekomenduje jeszcze tytułu. + +13. Przetestuj **dokładność rankingu**: + + ```text + What are your three highest rated games? + ``` + + Oczekiwane: Zwraca trzy najwyżej oceniane wpisy katalogu we właściwej kolejności z poprawnymi ocenami. + +14. Przetestuj **ciągłość rozmowy**, wysyłając te prompty w tej samej rozmowie: + + ```text + Show me two highly rated strategy games. + ``` + + ```text + Which of those has the higher rating? + ``` + + Oczekiwane: Druga odpowiedź odnosi się wyłącznie do dwóch tytułów z pierwszej odpowiedzi i poprawnie porównuje ich oceny z katalogu. + +15. Porównaj każdą odpowiedź z `db/catalog.json` i kryteriami akceptacji zgłoszenia. Upewnij się, że agent nigdy nie wymyśla gier, wydawców, ocen, sum finansowania, liczby wspierających, cen, liczby graczy, czasu gry ani dat wydania. Jeśli Agent Inspector zgłosi błąd albo odpowiedź przekroczy granicę oparcia o katalog, skopiuj wynik do obszaru promptu Canvas i poproś Copilota o poprawkę. Po każdej zmianie zrestartuj lokalną inspekcję i ponów nieudany test, a następnie upewnij się, że wszystkie sześć sprawdzeń przechodzi, zanim wdrożysz. + +## Wdróż i ponownie przetestuj hostowanego agenta + +Canvas używa `azd` do wdrożenia przetestowanego agenta. Foundry pakuje źródło usługi, rozwiązuje zależności, buduje je zdalnie i publikuje w Microsoft Foundry. + +16. Na Canvas, w **Deploy and test**, wybierz **Deploy to Foundry**. Przejrzyj prompt, który wstawia do czatu. + + ![Prompt Deploy to Foundry na kanwie](../../../../_images/app-8-deploy-to-foundry.png) + +17. Sprawdź potwierdzenie wdrożenia, wersję agenta, status i link do playground agenta w Foundry. Jeśli wdrożenie się nie powiedzie, wyślij błąd do Copilota i rozwiąż go w tym samym projekcie, zanim ponowisz próbę przez Canvas. +18. Wybierz **Test in Foundry Portal** z Canvas, by otworzyć playground wdrożonego agenta. Ponów wszystkie sześć sprawdzeń akceptacji z kroków 9–14 względem tej wdrożonej wersji, zachowując sparowane prompty w jednej rozmowie dla ciągłości. Porównaj odpowiedzi z katalogiem; jeśli którekolwiek sprawdzenie się nie powiedzie, poproś Copilota o poprawkę, ponów lokalne testy, wdróż ponownie przez Canvas i przetestuj ponownie wersję hostowaną. + +## Punkt kontrolny i kolejne kroki + +Utworzyłeś scaffold Backer Concierge, przetestowałeś lokalnie oparcie o katalog i zachowanie rozmowy, wdrożyłeś go do Microsoft Foundry i ponownie przetestowałeś wersję hostowaną. Punktem kontrolnym tego modułu jest hostowany agent, który przechodzi wszystkie sześć sprawdzeń akceptacji bez wymyślania brakujących informacji. + +Następnie użyjesz tego samego repozytorium Tailspin Toys, gałęzi worktree, sesji powiązanej ze zgłoszeniem, projektu Foundry, wybranego wdrożenia modelu i hostowanego agenta, by [podłączyć agenta do strony][next-module]. Jeśli zatrzymujesz się tutaj, [wyczyść zasoby Azure][cleanup], by uniknąć bieżących kosztów. + +[previous-module]: ../1-project-and-model/ +[next-module]: ../3-connect-to-site/ +[cleanup]: ../#wyczyść-swoje-zasoby diff --git a/docs/pl-pl/real-world-development/app/8-foundry-canvas/3-connect-to-site.md b/docs/pl-pl/real-world-development/app/8-foundry-canvas/3-connect-to-site.md new file mode 100644 index 00000000..71c0a789 --- /dev/null +++ b/docs/pl-pl/real-world-development/app/8-foundry-canvas/3-connect-to-site.md @@ -0,0 +1,90 @@ +--- +title: "Podłącz agenta do strony" +description: "Zintegruj hostowanego Backer Concierge przez lokalny proxy chroniący poświadczenia i przetestuj widget od końca do końca." +authors: + - juliamuiruri4 +lastUpdated: 2026-09-16 +prev: + link: /copilot-workshops/pl-pl/real-world-development/app/8-foundry-canvas/2-build-and-deploy/ + label: Zbuduj i wdróż agenta +next: { link: /copilot-workshops/pl-pl/real-world-development/app/10-review/, label: Podsumowanie i kolejne kroki } +--- + +Ten ostatni moduł łączy przetestowanego hostowanego agenta z [Zbuduj i wdróż agenta][previous-module] z lokalnie działającą stroną Tailspin Toys. + +Na koniec będziesz mieć: + +- Lokalny proxy Azure Functions, który chroni poświadczenia Foundry i identyfikatory rozmów. +- Dostępny widget czatu ze zweryfikowanym zachowaniem od końca do końca. +- Lokalnie zweryfikowaną integrację oraz punkt kontrolny czyszczenia zasobów. + +## Scenariusz + +Wspierający Tailspin Toys potrzebują porad katalogowych tam, gdzie przeglądają gry. Backer Concierge powinien zachowywać rozmowę, działać z nawigacją klawiaturą oraz jasno obsługiwać niedostępne informacje i błędy. Ta wygoda nie może ujawniać przeglądarce poświadczeń usługi ani wewnętrznych szczegółów rozmowy. + +## Wznów punkt kontrolny hostowanego agenta + +Integracja korzysta z istniejącego hostowanego agenta zamiast tworzyć nowe zasoby Foundry. + +1. Wznów to samo repozytorium Tailspin Toys, gałąź worktree i sesję ze zgłoszenia **Add a Backer Concierge assistant for catalog questions** z wcześniejszych modułów. Upewnij się, że główny `azure.yaml`, źródło agenta i katalog są obecne, oraz sprawdź zapisaną subskrypcję, dedykowaną grupę zasobów, projekt Foundry, wdrożenie modelu i przetestowaną wersję hostowanego agenta. +2. Jeśli zasoby zostały wyczyszczone, przywróć odpowiedni [projekt i model][project-module] oraz [przetestowane wdrożenie hostowane][previous-module] przed integracją. + +## Zbuduj proxy po stronie serwera + +Tailspin Toys jest w pełni wstępnie renderowane. Kod przeglądarki nigdy nie może wywoływać hostowanego agenta bezpośrednio ani otrzymywać poświadczeń Foundry. Lokalna **granica poświadczeń po stronie serwera** Azure Functions uwierzytelnia się w Foundry i zwraca do przeglądarki wyłącznie odpowiedź agenta. Przeglądarka wysyła każdą wiadomość z nieprzezroczystym uchwytem rozmowy; proxy mapuje ten uchwyt na rozmowę Foundry bez ujawniania leżącego pod spodem identyfikatora. + +Proxy to jedyny fragment kodu, któremu wolno uzyskać dostęp do Twoich poświadczeń Azure. W tym warsztacie Function i strona działają lokalnie, a serwer deweloperski Astro przekazuje żądania `/api` do Function. + +> [!IMPORTANT] +> Ten proxy warsztatowy jest wyłącznie do lokalnego rozwoju. Nie wolno go wdrażać jako anonimowego publicznego endpointu. Integracja produkcyjna wymaga projektu uwierzytelniania i kontroli nadużyć właściwego dla aplikacji, w tym odpowiednich limitów szybkości lub limitów (quota), ograniczeń CORS, monitorowania i kontroli kosztów. + +3. W tej samej sesji Copilota wpisz: + + ```plaintext + Add a local Azure Functions proxy in api for the static Astro site to call my deployed Backer Concierge during development. Use my existing local Azure sign-in, keep credentials and Foundry conversation identifiers out of the browser, return an opaque conversation handle, validate requests, sanitize errors, and add focused tests. Configure the Astro development server so /api requests reach the local Function. Don't create public deployment infrastructure. + ``` + +4. Przejrzyj wygenerowany proxy i ukierunkowane testy pod kątem walidacji żądań, oczyszczonych błędów, nieprzezroczystych uchwytów rozmowy oraz granicy poświadczeń wyłącznie po stronie serwera. Poproś Copilota o uruchomienie ukierunkowanych testów i naprawienie ewentualnych niepowodzeń. +5. Otwórz kolejny terminal, uruchom lokalną Function poleceniem podanym przez Copilota i pozostaw ją działającą. +6. Wróć do czatu i poproś Copilota o przetestowanie lokalnego proxy: + + ```plaintext + Test the local /api/concierge endpoint by asking "Which games are under $30?" Show me the sanitized response and confirm that no credentials or internal conversation identifiers are returned. + ``` + +7. Przejrzyj odpowiedź: powinna wyjaśniać, że katalog nie zawiera cen. Upewnij się, że nie zawiera tokenu Foundry, poświadczenia, wewnętrznego identyfikatora rozmowy, endpointu projektu ani śladu stosu. Jeśli Function jest niedostępna albo odpowiedź wycieka szczegóły lub wymyśla ceny, wyślij oczyszczoną awarię do Copilota, napraw ją i ponów testy proxy, zanim przejdziesz dalej. + + ![Test lokalnego proxy](../../../../_images/app-8-local-proxy-test.png) + +## Zbuduj i przetestuj widget czatu + +Gdy proxy działa, widget zapewnia widoczną rozmowę na stronie bez ujawniania szczegółów Foundry. + +8. Poproś Copilota o utworzenie integracji ze stroną: + + ```plaintext + Add an accessible Backer Concierge chat widget to the Astro site. Connect it to /api/concierge, preserve the conversation using the returned opaque handle, follow the existing design guidance, support keyboard use, keep Foundry details out of the browser, and add end-to-end tests covering the chat flow, conversation continuity, accessibility, error handling, and grounding boundaries. + ``` + +9. Uruchom serwer deweloperski Astro w kolejnym terminalu poleceniem podanym przez Copilota. Utrzymuj działające zarówno stronę, jak i lokalną Function. +10. Poproś Copilota o uruchomienie testów kompleksowych: + + ```plaintext + Run the end-to-end tests for the Backer Concierge widget in the Tailspin Toys site. Verify its core chat flow, conversation continuity, accessibility, error handling, grounding boundaries, and secure use of the local proxy. Report the results and include evidence for any failures. + ``` + +11. Przejrzyj raport i zweryfikuj deklarowane zachowanie w przeglądarce, w tym użycie klawiatury oraz rozmowę dwuturnową z [sprawdzeń akceptacji hostowanego agenta][agent-checks]. Upewnij się, że żądania przeglądarki idą przez `/api/concierge` z nieprzezroczystym uchwytem, a nie bezpośrednio do Foundry, oraz że odpowiedzi nie ujawniają poświadczeń ani wewnętrznych identyfikatorów Foundry. Sprawdź, że rekomendacje i odpowiedzi o brakujących danych pozostają w granicach katalogu. Rozwiąż nieprzechodzące testy z Copilotem, w razie potrzeby zrestartuj dotkniętą lokalną usługę i ponów testy. + + ![Wyniki testów kompleksowych widgetu Backer Concierge](../../../../_images/app-8-e2e-test-results.png) + +## Punkt kontrolny i kolejne kroki + +Zbudowałeś lokalny proxy chroniący poświadczenia, podłączyłeś dostępny widget czatu i zweryfikowałeś pełny przepływ rozmowy względem hostowanego Backer Concierge. Punktem kontrolnym tego modułu jest lokalnie przetestowana integracja ze stroną, która zachowuje granicę katalogu i trzyma poświadczenia oraz wewnętrzne identyfikatory Foundry poza przeglądarką. To nie jest produkcyjne wdrożenie proxy ani strony. + +Gdy skończysz eksperymentować, zatrzymaj obie lokalne usługi i [wyczyść zasoby Azure][cleanup]. Następnie przejdź do [Podsumowanie i kolejne kroki][core-review] na trasie podstawowego warsztatu. + +[previous-module]: ../2-build-and-deploy/ +[project-module]: ../1-project-and-model/ +[agent-checks]: ../2-build-and-deploy/#sprawdź-agenta-lokalnie +[cleanup]: ../#wyczyść-swoje-zasoby +[core-review]: ../../10-review/ diff --git a/docs/pl-pl/real-world-development/app/8-foundry-canvas/README.md b/docs/pl-pl/real-world-development/app/8-foundry-canvas/README.md new file mode 100644 index 00000000..645a8a04 --- /dev/null +++ b/docs/pl-pl/real-world-development/app/8-foundry-canvas/README.md @@ -0,0 +1,88 @@ +--- +title: "Opcjonalnie: Uwzględnienie Foundry" +slug: pl-pl/real-world-development/app/8-foundry-canvas +description: "Zbuduj Backer Concierge oparty o katalog za pomocą Microsoft Foundry Canvas, z bezpiecznymi punktami zatrzymania po drodze." +authors: + - juliamuiruri4 +lastUpdated: 2026-09-16 +prev: { link: /copilot-workshops/pl-pl/real-world-development/app/10-review/, label: Podsumowanie i kolejne kroki } +next: + link: /copilot-workshops/pl-pl/real-world-development/app/8-foundry-canvas/1-project-and-model/ + label: Przygotuj projekt i model +--- + +Ta opcjonalna ścieżka dodaje **Backer Concierge** do Tailspin Toys za pomocą Microsoft Foundry Canvas w aplikacji GitHub Copilot. Przechodzi od eksperymentu z modelem opartym o katalog, przez hostowanego agenta, aż do lokalnej integracji ze stroną. + +## Ścieżka + +Każdy moduł kończy się punktem kontrolnym i bezpiecznym miejscem na zatrzymanie. To samo repozytorium Tailspin Toys, gałąź worktree, sesja powiązana ze zgłoszeniem, projekt Foundry i wdrożenie modelu towarzyszą Ci przez całą ścieżkę. + +- [Przygotuj projekt i model][module-1] ustala granicę katalogu, tworzy projekt i wdrożenie modelu oraz sprawdza je w Canvas. +- [Zbuduj i wdróż agenta][module-2] tworzy scaffold Backer Concierge, testuje go lokalnie oraz wdraża i ponownie testuje hostowanego agenta. +- [Podłącz agenta do strony][module-3] dodaje lokalny proxy chroniący poświadczenia, dostępny widget czatu oraz testy kompleksowe. + +> [!IMPORTANT] +> Microsoft Foundry Canvas i hostowani agenci są w publicznej wersji zapoznawczej (public preview). +> +> Ta ścieżka tworzy płatne zasoby Azure, w tym wdrożenie modelu oraz — od modułu 2 — hostowanego agenta. Subskrypcja, region, limit (quota) i szacowany koszt wymagają zatwierdzenia przed utworzeniem zasobów. Czyszczenie obowiązuje nawet wtedy, gdy zatrzymasz się tylko po projekcie i modelu. + +1. Zacznij od [Przygotuj projekt i model][module-1], trzymając pracę w repozytorium Tailspin Toys, a nie w tym repozytorium treści warsztatu. +2. Jeśli wolisz zakończyć podstawowy warsztat, przejdź do [Podsumowanie i kolejne kroki][core-review]. + +## Wyczyść swoje zasoby + +Gdy skończysz eksperymentować w dowolnym punkcie kontrolnym, usuń zasoby Azure, by uniknąć niechcianych kosztów. Czyszczenie usuwa zasoby potrzebne w późniejszych modułach, więc kontynuacja potem wymaga ich ponownego utworzenia. + +> [!WARNING] +> Usuwaj `rg-tailspin-toys` tylko wtedy, gdy grupa jest dedykowana temu ćwiczeniu i nie zawiera zasobów, które chcesz zachować. Usunięcie współdzielonej grupy zasobów usunęłoby także niezwiązane zasoby. +> +> Jeśli w module 1 zatwierdziłeś inną nazwę grupy zasobów, w każdym poleceniu poniżej podstaw ją zamiast `rg-tailspin-toys`. + +1. Zatrzymaj w terminalu każdy lokalny Agent Inspector, Azure Function lub serwer deweloperski Astro, który uruchomiłeś. +2. Jeśli wdrożyłeś hostowanego agenta w module 2 lub 3, otwórz terminal w tym samym worktree Tailspin Toys, użyj tego samego środowiska `azd`, a następnie uruchom: + + ```bash + azd down --purge + ``` + +3. Sprawdź wybraną subskrypcję oraz to, czy grupa zasobów warsztatu nadal istnieje: + + ```bash + az account show --output table + az group exists --name rg-tailspin-toys + ``` + + Jeśli polecenie zwróci `false`, czyszczenie jest zakończone. Jeśli zwróci `true`, przejrzyj zasoby w grupie: + + ```bash + az resource list --resource-group rg-tailspin-toys --output table + ``` + + Upewnij się, że wszystkie pozostałe zasoby należą do tego ćwiczenia. Jeśli zatrzymałeś się po module 1, projekt Foundry i model nadal wymagają czyszczenia, nawet jeśli nie wdrożyłeś usługi `azd`. +4. Jeśli dedykowana grupa zasobów warsztatu nadal istnieje i zawiera tylko zasoby, które zamierzasz usunąć, uruchom: + + ```bash + az group delete --name rg-tailspin-toys --yes --no-wait + ``` + +5. Ponieważ `--no-wait` wraca przed zakończeniem usuwania, ponawiaj poniższe polecenie, aż zwróci `false`: + + ```bash + az group exists --name rg-tailspin-toys + ``` + +## Zasoby + +Dokumentacja Microsoft opisuje Canvas, wdrożenia hostowane i ich uprawnienia. + +- [What is Microsoft Foundry Canvas?][foundry-canvas] +- [Deploy your first hosted agent with Foundry Canvas][hosted-agent-quickstart] +- [Hosted agent permissions][hosted-agent-permissions] + +[module-1]: ./1-project-and-model/ +[module-2]: ./2-build-and-deploy/ +[module-3]: ./3-connect-to-site/ +[core-review]: ../10-review/ +[foundry-canvas]: https://learn.microsoft.com/azure/foundry/agents/concepts/foundry-canvas +[hosted-agent-quickstart]: https://learn.microsoft.com/azure/foundry/agents/quickstarts/quickstart-hosted-agent?pivots=canvas +[hosted-agent-permissions]: https://learn.microsoft.com/azure/foundry/agents/concepts/hosted-agent-permissions diff --git a/docs/pl-pl/real-world-development/app/9-canvases.md b/docs/pl-pl/real-world-development/app/9-canvases.md new file mode 100644 index 00000000..9b831ac4 --- /dev/null +++ b/docs/pl-pl/real-world-development/app/9-canvases.md @@ -0,0 +1,118 @@ +--- +title: "Lekcja 9 - Eksploracja i tworzenie kanw" +description: "Użyj istniejącej kanwy Database Explorer, potem utwórz i przejrzyj kanwę triage opartą o repozytorium." +authors: + - geektrainer + - azkel +lastUpdated: 2026-09-17 +--- + +Do tej pory kierowałeś agentami przez czat. Ale wiele pracy nie żyje w rozmowie — żyje na tablicy, w dokumencie lub na liście kontrolnej. **Kanwy** dają Tobie i agentowi współdzieloną powierzchnię właśnie do takiej pracy, bezpośrednio w aplikacji. W tej lekcji najpierw użyjesz kanwy dołączonej do Tailspin Toys, a potem utworzysz jedną dla backlogu, nad którym pracowałeś. + +W tej lekcji: + +- zrozumiesz, czym jest kanwa i kiedy jej używać. +- użyjesz istniejącej kanwy Database Explorer do przeglądu danych projektu. +- utworzysz współdzieloną kanwę tablicy Kanban do triage backlogu. +- przejrzysz i przećwiczysz nową kanwę bez implementowania kolejnej funkcji. + +## Scenariusz + +Tailspin Toys ma już kanwę do eksploracji bazy danych. Po użyciu jej, by zrozumieć, jak kanwa zamienia dane projektu w interaktywną powierzchnię, utworzysz wielokrotnego użytku tablicę do wyboru kolejnej pracy — bez rozpoczynania kolejnej funkcji. + +## Czym jest kanwa? + +[Kanwa][canvas-docs] to współdzielona, interaktywna powierzchnia dla artefaktu pracy — planu, tablicy triage, listy kontrolnej wydania, pulpitu lub dokumentu. Choć czat jest przydatny do opisywania intencji i rozstrzygania niejasności, większość pracy dzieje się na *powierzchni*. Kanwy pozwalają współpracować z agentem bezpośrednio na tej powierzchni. + +Kanwy są **dwukierunkowe**: agent może aktualizować kanwę podczas pracy, a Ty możesz edytować tę samą powierzchnię samodzielnie. Gdy tworzysz kanwę, agent buduje ją na podstawie Twojego polecenia i przepływu pracy, a Ty możesz prosić o dodawanie, usuwanie lub poprawianie możliwości w trakcie. Po utworzeniu kanwa otwiera się w prawym panelu bocznym aplikacji. + +Typowe przykłady obejmują: + +- **Kanwy Markdown** do planowania dnia i priorytetyzacji zgłoszeń oraz pull requestów. +- **Agentowe tablice Kanban**, na których ludzie i agenci dodają karty i przesuwają pracę między kolumnami. +- **Tablice triage zgłoszeń**, które podsumowują najważniejsze zgłoszenia i powtarzające się motywy w repozytorium. + +## Po co używać kanwy? + +Sięgnij po kanwę, gdy zadanie wymaga struktury, iteracji i weryfikacji, a sam czat nie wystarczy. Kanwa pozwala: + +- oprzeć pracę agenta na rzeczywistym artefakcie dopasowanym do Twojego przepływu pracy. +- sterować lub korygować pracę bezpośrednio na współdzielonej powierzchni, a potem pozwolić agentowi kontynuować od Twoich zmian. +- śledzić postęp jako widoczne zmiany artefaktu, a nie tylko odpowiedzi w czacie. + +## Użyj kanwy Database Explorer + +Zacznij od istniejącej kanwy Database Explorer w projekcie. Praca z działającym przykładem pozwala zobaczyć, jak zachowuje się kanwa o zakresie repozytorium, zanim utworzysz własną. + +1. Upewnij się, że pull request (PR) filtrowania jest scalony, i zaktualizuj lokalny `main`. +2. Wróć do aplikacji GitHub Copilot i wybierz **Home screen**. +3. Upewnij się, że wybranym repozytorium jest `tailspin-toys`. +4. Utwórz sesję w **new working tree** na podstawie zaktualizowanego `main`, a następnie wybierz tryb **Interactive**. +5. Poproś Copilota o przygotowanie lokalnej bazy danych w razie potrzeby i otwarcie istniejącej kanwy bez jej zmiany: + + ```plaintext + Set up the local database if needed, then open the repository's Database Explorer canvas. Do not change any files. + ``` + +6. W Database Explorer przeglądaj dostępne tabele i wybierz `games`. +7. Uruchom zapytanie tylko do odczytu, które pokazuje pięć najwyżej ocenianych gier: + + ```sql + SELECT title, star_rating + FROM games + ORDER BY star_rating DESC + LIMIT 5; + ``` + +8. Upewnij się, że wyniki zawierają nie więcej niż pięć gier w kolejności malejącej oceny. +9. Otwórz **Files** i przejrzyj `.github/extensions/database-explorer/extension.mjs`. Zwróć uwagę, jak kanwa jest przechowywana z projektem i ogranicza zapytania do instrukcji `SELECT` i `WITH` tylko do odczytu. +10. Upewnij się, że sesja nie ma zmian w plikach. + +## Utwórz kanwę do triage zgłoszeń + +Teraz utwórz inny rodzaj współdzielonej powierzchni. Zapisanie kanwy triage w zakresie projektu czyni ją zasobem repozytorium, który zespół może przeglądać i ponownie wykorzystywać. + +1. W tej samej sesji wpisz `/create-canvas`, a następnie opisz kanwę, którą chcesz utworzyć: + + ```plaintext + Create a Kanban triage canvas for this repo's open issues and save it under .github/extensions/. Highlight the three issues you'd prioritize and explain why, with the rest below. Include summaries and links. + + Give each card an "Add to current context" action that adds the issue details without starting work or changing the issue. Make it keyboard-accessible and open it so I can try it. + ``` + +Copilot tworzy rozszerzenie kanwy w `.github/extensions` i otwiera współdzieloną powierzchnię w prawym panelu bocznym aplikacji. Wygenerowane rozszerzenie to wykonywalna zawartość repozytorium, a nie tylko artefakt wizualny — dlatego w kolejnym kroku przejrzysz jego pliki i zachowanie. + +## Przejrzyj i przećwicz kanwę + +Zanim udostępnisz kanwę, porównaj ją z rzeczywistymi zgłoszeniami w repozytorium i przećwicz jej elementy sterujące. Dzięki temu potwierdzisz, że treść jest dokładna, interakcja dostępna, a akcja zgłoszenia dodaje kontekst bez rozpoczynania pracy. + +1. Otwórz **Changes** i upewnij się, że definicja kanwy jest oparta o repozytorium w `.github/extensions/`, a nie zapisana tylko dla użytkownika lub sesji. Sprawdź, że istniejące rozszerzenia i pliki aplikacji nie zostały zmienione. +2. Porównaj tablicę z rzeczywistymi otwartymi zgłoszeniami i oceń wyjaśnienia rankingów. +3. Sprawdź, że karty i elementy sterujące są czytelne i użyteczne z klawiatury. +4. Wybierz **Add to current context** dla zgłoszenia i upewnij się, że do rozmowy trafiają tylko jego szczegóły. Nie powinna rozpocząć się implementacja ani zmiana stanu zgłoszenia. +5. Przejrzyj ewentualne poprawki i poproś Copilota o uruchomienie obowiązującej istniejącej walidacji dla zmienionych plików. Zanotuj wyniki i blokery zamiast zakładać, że interaktywna powierzchnia jest poprawna tylko dlatego, że się otworzyła. +6. Jeśli kanwa wymaga zmian, poproś o ukierunkowane ulepszenia w zakresie triage, a następnie powtórz dotknięte sprawdzenia. Nie implementuj jednego ze zgłoszeń z backlogu jako części pracy nad kanwą. + +Warsztat kończy się przed utworzeniem kolejnego PR, bo przećwiczyłeś już zarówno ręczne scalanie, jak i Agent Merge. W produkcji przejrzyj i scal kanwę zwykłym procesem zespołu, zanim inni na niej polegają. + +## Podsumowanie i kolejne kroki + +Utworzyłeś i ponownie wykorzystałeś współdzieloną powierzchnię, na której Ty i agent możecie współpracować. W tej lekcji: + +- zrozumiałeś, czym jest kanwa i kiedy jej używać. +- użyłeś istniejącej kanwy Database Explorer do przeglądu danych projektu. +- utworzyłeś współdzieloną kanwę tablicy Kanban do triage backlogu. +- przejrzałeś i przećwiczyłeś nową kanwę bez implementowania kolejnej funkcji. + +Gdy backlog jest śledzony, [przejrzysz wszystko, co zbudowałeś, i poznasz kolejne kierunki][next-lesson]. + +## Zasoby + +- [Working with canvas extensions in the GitHub Copilot app][canvas-docs] +- [Canvases on Awesome Copilot][awesome-copilot-canvases] +- [About the GitHub Copilot app][about-copilot-app] + +[next-lesson]: ../10-review/ +[canvas-docs]: https://docs.github.com/copilot/how-tos/github-copilot-app/working-with-canvas-extensions +[awesome-copilot-canvases]: https://awesome-copilot.github.com/extensions/ +[about-copilot-app]: https://docs.github.com/copilot/concepts/agents/github-copilot-app diff --git a/docs/pl-pl/real-world-development/app/README.md b/docs/pl-pl/real-world-development/app/README.md new file mode 100644 index 00000000..8f765ed0 --- /dev/null +++ b/docs/pl-pl/real-world-development/app/README.md @@ -0,0 +1,75 @@ +--- +slug: pl-pl/real-world-development/app +title: "Aplikacja GitHub Copilot" +authors: + - geektrainer + - azkel +lastUpdated: 2026-10-04 +--- + +**[Aplikacja GitHub Copilot](https://docs.github.com/copilot/concepts/agents/github-copilot-app)** to aplikacja desktopowa oparta na Copilot CLI, która łączy rozwój sterowany agentami w jednym, skoncentrowanym obszarze roboczym. Dodaje równoległe sesje agentów, przełączalne tryby sesji, współdzielone kanwy oraz natywne zarządzanie zgłoszeniami i pull requestami GitHub — w tym **Agent Merge**, który przeprowadza pull request przez rebase, uwagi z przeglądu, poprawki ciągłej integracji (CI) i scalenie. + +Warsztat prowadzi jednym ciągłym przepływem pracy Tailspin Toys: + +1. Przygotuj projekt, zainstaluj aplikację, podłącz repozytorium i poznaj obszar roboczy oraz przygotowany backlog. +2. Wprowadź skupioną zmianę z oceną w gwiazdkach, przejrzyj ją w przeglądarce i ręcznie scal pierwszy pull request (PR). +3. Zacznij od zgłoszenia o filtrowaniu, zdefiniuj podejście w trybie **Plan**, zbuduj je w trybie **Autopilot**, a następnie przejrzyj w trybie **Interactive**. +4. Zaktualizuj instrukcje repozytorium i zastosuj je do pracy nad filtrowaniem. +5. Dostosuj istniejący skill `quality-checks` i użyj go do uruchomienia sprawdzeń projektu. +6. Dodaj serwer Model Context Protocol (MCP) Playwright i użyj go do zbadania filtrowania w przeglądarce. +7. Utwórz niestandardowego agenta zapewnienia jakości (QA) i użyj go do przeglądu wymagań, pokrycia oraz dowodów weryfikacji. +8. Przejrzyj kompletną zmianę filtrowania i użyj Agent Merge dla drugiego PR. +9. Skorzystaj z istniejącej kanwy Database Explorer, a następnie utwórz i przetestuj kanwę triage opartą o repozytorium. + +Aby utrzymać skupienie warsztatu, utworzysz dwa PR: oceny w gwiazdkach, a potem filtrowanie wraz z aktualizacjami instrukcji, skillu, profilu QA i testów. Każdy zaczynaj od zaktualizowanego `main`. Przepływ filtrowania i jakości dzieli jedną sesję, worktree i gałąź, żebyś mógł budować na swojej pracy, poznając kolejne narzędzia. Końcowe ćwiczenie z kanwą pozostaje we własnej sesji, abyś mógł skupić się na tworzeniu i testowaniu współdzielonej powierzchni zamiast powtarzać przepływ PR. + +## Lekcje + +| Lekcja | Temat | Opis | +|--------|-------|------| +| [0. Wymagania wstępne][ex0] | Konfiguracja | Zainstaluj Node.js i utwórz swoją kopię projektu Tailspin Toys | +| [1. Instalacja aplikacji Copilot][ex1] | Konfiguracja | Zainstaluj aplikację, podłącz projekt i zapoznaj się z obszarem roboczym | +| [2. Dodawanie ocen w gwiazdkach: szybki sukces][ex2] | Pierwsza zmiana | Wyświetl istniejące oceny i fallback dla wartości null, potem scal PR 1 | +| [3. Tryby agenta: Plan i Autopilot][ex3] | Tryby agenta | Zaplanuj funkcję na podstawie zgłoszenia, zbuduj z Autopilot, potem przejrzyj w trybie Interactive | +| [4. Prowadzenie Copilota instrukcjami niestandardowymi][ex4] | Kontekst | Poznaj i zaktualizuj instrukcje, potem zastosuj je do filtrowania | +| [5. Dostosowanie i użycie skillu quality-checks][ex5] | Powtarzalne sprawdzenia | Poznaj istniejący skill, zmień format raportu i uruchom go | +| [6. Walidacja funkcjonalności z Playwright MCP][ex6] | Obserwacja w przeglądarce | Skonfiguruj MCP przez Customize i sprawdź zachowanie filtrowania | +| [7. Tworzenie i użycie agenta QA][ex7] | Wymagania i pokrycie | Utwórz i wybierz profil specjalisty, potem zbierz końcowe dowody weryfikacji | +| [8. Tworzenie i scalanie PR funkcji][ex8] | Przegląd i scalanie | Przejrzyj filtrowanie, instrukcje, skill, profil QA i testy, potem użyj Agent Merge dla drugiego PR | +| [9. Eksploracja i tworzenie kanw][ex9] | Współpraca | Użyj Database Explorer, potem utwórz i przetestuj kanwę triage opartą o repozytorium | +| [10. Podsumowanie i kolejne kroki][ex10] | Podsumowanie | Przejrzyj przepływ pracy, artefakty i dalsze zasoby | + +## Wymagania wstępne + +Przed udziałem w tych warsztatach upewnij się, że masz: + +- [ ] Konto GitHub z aktywnym planem **Copilot Student, Pro, Pro+, Business lub Enterprise** +- [ ] Komputer z **macOS, Linux lub Windows** +- [ ] [Zainstalowany Git][install-git] na komputerze + +> [!TIP] +> Brak płatnego planu? Zweryfikowani studenci mogą otrzymać GitHub Copilot za darmo przez [GitHub Education][callout-student-plan-education]. Plan **Copilot Student** obejmuje agenta, MCP, przegląd kodu i funkcje Copilot CLI używane w tych warsztatach — dzięki temu ukończysz każde środowisko. + +> [!NOTE] +> Ponieważ aplikacja Copilot działa na Twoim komputerze, a nie w codespace, [ćwiczenie wymagań wstępnych][ex0] przeprowadza Cię przez instalację Node.js i utworzenie kopii projektu przed instalacją aplikacji. + +> [!NOTE] +> Jeśli korzystasz z Copilot Business lub Copilot Enterprise, administrator musi włączyć zasadę **Copilot CLI**, zanim będziesz mógł używać aplikacji. + +## Rozpocznij + +**[Zacznij od wymagań wstępnych →][ex0]** + +[ex0]: 0-prerequisites/ +[ex1]: 1-install-copilot-app/ +[ex2]: 2-add-star-rating/ +[ex3]: 3-agent-modes/ +[ex4]: 4-custom-instructions/ +[ex5]: 5-agent-skills/ +[ex6]: 6-mcp-playwright/ +[ex7]: 7-qa-agent/ +[ex8]: 8-create-pull-request/ +[ex9]: 9-canvases/ +[ex10]: 10-review/ +[install-git]: https://github.com/git-guides/install-git +[callout-student-plan-education]: https://github.com/education/students diff --git a/docs/pl-pl/real-world-development/cli/0-prerequisites.md b/docs/pl-pl/real-world-development/cli/0-prerequisites.md new file mode 100644 index 00000000..d27ca76e --- /dev/null +++ b/docs/pl-pl/real-world-development/cli/0-prerequisites.md @@ -0,0 +1,70 @@ +--- +title: "Ćwiczenie 0 - Wymagania wstępne" +description: "Utwórz własną kopię Tailspin Toys i przygotuj GitHub Codespace do warsztatu Copilot CLI." +authors: + - geektrainer + - azkel +lastUpdated: 2026-09-18 +--- + +Zanim zaczniesz ćwiczenia Copilot CLI, przygotuj wszystko, czego potrzebujesz. Utworzysz własną kopię repozytorium Tailspin Toys i uruchomisz [codespace][codespaces], którego zintegrowanego terminala użyjesz do instalacji i uruchomienia Copilot CLI w następnym ćwiczeniu. + +W tym ćwiczeniu: + +- utworzysz własną kopię projektu Tailspin Toys z szablonu. +- utworzysz Codespace i potwierdzisz, że projekt jest gotowy. + +## Skonfiguruj repozytorium warsztatowe + +Będziesz pracować na własnej kopii projektu Tailspin Toys. Utwórz ją teraz z [repozytorium szablonu][tailspin-template]. Nowe repozytorium zawiera wszystkie pliki potrzebne w warsztacie. + +1. W nowym oknie przeglądarki przejdź do [szablonu Tailspin Toys][tailspin-template]. +2. Utwórz własną kopię repozytorium, wybierając **Use this template**, a następnie **Create a new repository**. +3. Jeśli uczestniczysz w warsztacie w ramach wydarzenia prowadzonego przez GitHuba lub Microsoft, postępuj zgodnie z instrukcjami mentorów. W przeciwnym razie utwórz nowe repozytorium w organizacji, w której masz dostęp do GitHub Copilot. +4. Zanotuj ścieżkę utworzonego repozytorium (`organization-or-user-name/repository-name`) — będziesz się do niej odwoływać później w warsztacie. + +> [!NOTE] +> Gdy tworzysz repozytorium z szablonu, backlog zgłoszeń (issues) GitHub jest tworzony automatycznie. Będziesz pracować na tych zgłoszeniach przez cały warsztat — nie musisz nic zgłaszać samodzielnie. + +Użyj świeżej kopii szablonu warsztatu. Zawiera instrukcje repozytorium, kod aplikacji, testy, skill `quality-checks` oraz backlog, z którego skorzystasz. Jeśli używasz starszej kopii, sprawdź u prowadzącego, czy ma pliki, których będziesz potrzebować. + +## Utwórz Codespace + +Następnie użyjesz Codespace do wykonania warsztatu. + +[GitHub Codespaces][codespaces] to chmurowe środowisko deweloperskie, które pozwala pisać, uruchamiać i debugować kod bezpośrednio w przeglądarce. Zapewnia pełnoprawny edytor z obsługą wielu języków programowania, rozszerzeń i narzędzi. + +1. Przejdź do nowo utworzonego repozytorium. +2. Wybierz **Code**. +3. Wybierz kartę **Codespaces**, a następnie **Create codespace on main**. +4. Poczekaj na zakończenie konfiguracji Codespace. Szablon instaluje za Ciebie zależności projektu, Playwright Chromium oraz lokalną bazę danych. +5. Jeśli pojawi się pytanie **Do you trust the authors of the files in this folder?**, wybierz **Trust Folder & Continue**. +6. Otwórz terminal w katalogu głównym repozytorium i uruchom aplikację: + + ```bash + npm run dev + ``` + +7. Gdy Codespaces zgłosi, że port `4321` jest dostępny, wybierz **Open in Browser** i upewnij się, że witryna Tailspin Toys się ładuje. +8. Wróć do terminala i zatrzymaj serwer deweloperski kombinacją Ctrl+C. + +## Podsumowanie i kolejne kroki + +Jesteś gotowy! W tym ćwiczeniu: + +- utworzyłeś własną kopię projektu Tailspin Toys z szablonu. +- utworzyłeś Codespace i potwierdziłeś, że projekt jest gotowy. + +Następnie [zainstalujesz GitHub Copilot CLI][next-lesson] w Codespace i uwierzytelnisz go kontem GitHuba. + +## Zasoby + +- [Przegląd GitHub Codespaces][codespaces] +- [Tworzenie repozytorium z szablonu][template-repository] +- [Pierwsze kroki z Codespaces][codespaces-quickstart] + +[tailspin-template]: https://github.com/github-samples/tailspin-toys +[template-repository]: https://docs.github.com/repositories/creating-and-managing-repositories/creating-a-template-repository +[codespaces-quickstart]: https://docs.github.com/codespaces/getting-started/quickstart +[next-lesson]: ../1-install-copilot-cli/ +[codespaces]: https://github.com/features/codespaces diff --git a/docs/pl-pl/real-world-development/cli/1-install-copilot-cli.md b/docs/pl-pl/real-world-development/cli/1-install-copilot-cli.md new file mode 100644 index 00000000..c7d939dc --- /dev/null +++ b/docs/pl-pl/real-world-development/cli/1-install-copilot-cli.md @@ -0,0 +1,141 @@ +--- +title: "Ćwiczenie 1 - Instalacja GitHub Copilot CLI" +description: "Zainstaluj i uwierzytelnij Copilot CLI w Codespace, zapoznaj się z narzędziem i znajdź przygotowane zgłoszenie o filtrowaniu." +authors: + - geektrainer + - azkel +lastUpdated: 2026-09-18 +--- + +[GitHub Copilot CLI][about-copilot-cli] to potężny asystent programowania oparty na agentach, działający w terminalu. Pozwala eksplorować bazy kodu, generować kod, uruchamiać polecenia i korzystać z zewnętrznych narzędzi — wszystko z linii poleceń. Możesz zlecać zadania, prosić o zmiany i pozostawać w flow. Pierwszy krok, jak można się spodziewać, to instalacja narzędzia! Na szczęście da się to zrobić za pomocą narzędzi, które już znasz. + +W tym ćwiczeniu: + +- zainstalujesz GitHub Copilot CLI za pomocą npm. +- uwierzytelnisz się kontem GitHuba. +- zaufasz repozytorium warsztatowemu i przeprowadzisz krótką rozmowę. +- znajdziesz zgłoszenie o filtrowaniu przez wbudowany serwer GitHub MCP. + +## Scenariusz + +Twój zespół zaczyna używać agentów AI do pracy nad rosnącym backlogiem. Copilot CLI przenosi tę możliwość do terminala, w którym wielu deweloperów i tak spędza czas. To ćwiczenie doprowadzi Cię do instalacji, uwierzytelnienia i gotowości do korzystania z narzędzia w dalszej części warsztatu. + +## Zainstaluj Copilot CLI + +Copilot CLI możesz zainstalować przez [npm][install-cli], WinGet i Homebrew. Ponieważ GitHub Codespaces mają wstępnie zainstalowany Node.js, użyjesz npm. + +1. Wróć do Codespace i otwórz terminal. +2. Sprawdź, czy Node.js jest zainstalowany i spełnia wymaganie wersji: + + ```bash + node --version + ``` + + Powinieneś zobaczyć wersję 24 lub nowszą. + +3. Zainstaluj Copilot CLI globalnie: + + ```bash + npm install -g @github/copilot + ``` + +4. Zweryfikuj instalację: + + ```bash + copilot --version + ``` + + Powinieneś zobaczyć numer wersji. + +## Uwierzytelnij się w GitHubie + +Przy pierwszym uruchomieniu Copilot CLI poprosi Cię o uwierzytelnienie kontem GitHuba. + +1. Uruchom Copilot CLI: + + ```bash + copilot + ``` + +2. Jeśli zostaniesz o to poproszony, postępuj zgodnie z instrukcjami kodu urządzenia, aby uwierzytelnić i autoryzować Copilot CLI. +3. Copilot CLI wyświetli następujący komunikat: + + ```plaintext + Copilot can read files in this folder and, with your permission, edit them or run code and shell commands. It will remember your permissions for the rest of this session. + + Do you trust the files in this folder? + ``` + +4. Upewnij się, że ścieżka wskazuje Twoje repozytorium Tailspin Toys, a następnie potwierdź, wybierając **Yes, and remember this folder for future sessions**. + +> [!NOTE] +> W Codespace możesz być już uwierzytelniony przez sesję GitHuba. Jeśli Copilot CLI uruchomi się bez prośby o uwierzytelnienie, wszystko jest w porządku! + +## Zapoznaj się z narzędziem + +Polecenia w zwykłym prompcie powłoki uruchamiają się bezpośrednio w Codespace. Po starcie Copilot CLI język naturalny trafia do agenta, a polecenia slash sterują rozmową. + +1. Wpisz `/model`, klawiszami strzałek wybierz **Auto**, wciśnij Enter, a następnie ponownie Enter, aby potwierdzić. +2. Wpisz `/help`, aby zobaczyć polecenia dostępne w zainstalowanej wersji, a następnie wciśnij Esc, aby zamknąć ekran pomocy. +3. Zadaj Copilotowi proste pytanie, aby sprawdzić, czy wszystko działa: + + ```plaintext + What are the key files in this project? + ``` + +4. Przeczytaj odpowiedź i zwróć uwagę, jak Copilot eksploruje repozytorium przed udzieleniem odpowiedzi. +5. Wpisz `/mcp list` i upewnij się, że wbudowany serwer GitHub MCP jest dostępny. +6. Poproś Copilota o znalezienie zgłoszenia o filtrowaniu: + + ```plaintext + Using GitHub MCP, find the issue in this repository titled "Allow users to filter games by category and publisher." Give me its URL and a short summary. Don't change anything. + ``` + +7. Otwórz URL i przeczytaj zgłoszenie. Użyjesz go po wykonaniu szybkiej pierwszej zmiany. + +> [!TIP] +> Zwykła sesja Copilot CLI działa na gałęzi aktualnie aktywnej w terminalu; nie tworzy automatycznie worktree. Przed każdą zmianą utworzysz gałąź funkcji. + +## Użyj skrótu warsztatowego + +Copilot CLI zwykle pyta przed użyciem narzędzi poza ustalonymi uprawnieniami. W tym warsztacie uruchomisz go ponownie z `--yolo` — zatwierdzonym przez użytkownika skrótem, który usuwa te prośby o zatwierdzenie w Codespace, żebyś mógł skupić się na ćwiczeniach. + +> [!CAUTION] +> `--yolo` włącza pełne automatyczne uprawnienia (`--allow-all-tools`, `--allow-all-paths` i `--allow-all-urls`). Używaj go tylko w izolowanym środowisku, takim jak Codespace lub maszyna wirtualna, i nigdy nie ustawiaj go jako domyślnego aliasu w codziennej pracy. Szczegóły znajdziesz w [Allowing and denying tool use][allow-all-warning]. + +W tym warsztacie `--enable-all-github-mcp-tools` włącza narzędzia GitHub MCP do odczytu i zapisu, których późniejsze ćwiczenia używają do pracy ze zgłoszeniami i pull requestami. Codespace ogranicza dostęp do lokalnego komputera, ale uwierzytelnione zasoby GitHuba pozostają rzeczywiste. Przeglądaj zmiany przed ich opublikowaniem lub scaleniem. + +1. Wyjdź z Copilot CLI poleceniem `/exit`. +2. Uruchom go ponownie z katalogu głównego repozytorium: + + ```bash + copilot --yolo --enable-all-github-mcp-tools + ``` + +3. Zadaj kolejne krótkie pytanie o projekt, aby potwierdzić, że rozmowa działa, a następnie wyjdź poleceniem `/exit`. + +Copilot zapisuje rozmowy automatycznie. Później, po zmianie instrukcji lub dodaniu agenta, użyjesz `copilot --resume`, aby wrócić do tej samej rozmowy o funkcji i tej samej gałęzi. + +## Podsumowanie i kolejne kroki + +Gratulacje! W tym ćwiczeniu: + +- zainstalowałeś GitHub Copilot CLI za pomocą npm. +- uwierzytelniłeś się kontem GitHuba. +- zaufałeś repozytorium warsztatowemu i przeprowadziłeś krótką rozmowę. +- znalazłeś zgłoszenie o filtrowaniu przez wbudowany serwer GitHub MCP. + +Następnie [rozpoczniesz pierwszą skoncentrowaną zmianę][next-lesson] i użyjesz Copilot CLI, aby wyświetlić ocenę gwiazdkową na kartach gier. + +## Zasoby + +- [Install GitHub Copilot CLI][install-cli] +- [About GitHub Copilot CLI][about-copilot-cli] +- [Copilot CLI command reference][cli-reference] + +[previous-lesson]: ../0-prerequisites/ +[next-lesson]: ../2-add-star-rating/ +[install-cli]: https://docs.github.com/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli +[about-copilot-cli]: https://docs.github.com/copilot/concepts/agents/about-copilot-cli +[cli-reference]: https://docs.github.com/copilot/reference/copilot-cli-reference/cli-command-reference +[allow-all-warning]: https://docs.github.com/copilot/concepts/agents/about-copilot-cli#allowing-and-denying-tool-use diff --git a/docs/pl-pl/real-world-development/cli/10-review.md b/docs/pl-pl/real-world-development/cli/10-review.md new file mode 100644 index 00000000..c8e87845 --- /dev/null +++ b/docs/pl-pl/real-world-development/cli/10-review.md @@ -0,0 +1,75 @@ +--- +title: "Ćwiczenie 10 - Podsumowanie i kolejne kroki" +description: "Podsumuj przepływ Copilot CLI, dwa pull requesty, dostosowania wielokrotnego użytku i dalsze zasoby." +authors: + - geektrainer + - azkel +lastUpdated: 2026-09-29 +--- + +Używałeś GitHub Copilot CLI w ciągłym przepływie pracy Tailspin Toys. W trakcie warsztatu: + +- przygotowałeś Codespace, zainstalowałeś Copilot CLI, poznałeś projekt i znalazłeś wcześniej przygotowane zgłoszenie o filtrowaniu. +- dodałeś oceny w gwiazdkach, przejrzałeś wynik w przeglądarce z przekierowaniem portu i ręcznie scaliłeś pierwszy pull request (PR). +- zacząłeś od zgłoszenia o filtrowaniu, zdefiniowałeś podejście w trybie Plan, zbudowałeś je w trybie Autopilot i przejrzałeś w trybie Interactive. +- pokierowałeś agentem instrukcjami niestandardowymi, potem dostosowałeś istniejący skill `quality-checks` i użyłeś go do uruchomienia testów jednostkowych, lintu oraz sprawdzeń typów. +- dodałeś serwer Model Context Protocol (MCP) Playwright i użyłeś go do zbadania filtrowania w prawdziwej przeglądarce. +- utworzyłeś i wybrałeś agenta niestandardowego zapewnienia jakości (QA), by ocenić wymagania, pokrycie, wyniki skillu i dowody z przeglądarki. +- przejrzałeś kompletną zmianę filtrowania i autoryzowałeś Agent Merge dla PR z filtrowaniem. +- poznałeś polecenia slash do kontekstu, modeli, udostępniania i opcjonalnego delegowania do chmury. + +## Co dostarczyłeś + +Warsztat ma dwa kamienie milowe PR, każdy na własnej gałęzi od zaktualizowanego `main`: + +1. **Oceny w gwiazdkach:** wyświetlenie istniejącego `starRating` oraz jawnego stanu bez oceny na kartach gier. +2. **Filtrowanie i przepływ jakości:** implementacja filtrowania, aktualizacja instrukcji i zastosowanie ich do funkcji, dostosowanie raportu `quality-checks`, utworzenie profilu QA oraz dołączenie powiązanych testów. + +Od planowania filtrowania po otwarcie jego PR używałeś tej samej rozmowy i gałęzi. Połączyliśmy tę pracę w jednym PR, by usprawnić warsztat. + +## Różne rodzaje weryfikacji + +Sprawdzałeś kod na kilka sposobów: automatycznymi testami, własną kontrolą w przeglądarce oraz eksploracją przeglądarki przez Copilota z MCP. Skill `quality-checks` uruchamiał testy jednostkowe, lint i sprawdzenia typów oraz raportował je w nowym formacie. QA zebrał te wyniki z przeglądem wymagań i pokrycia testami przed PR. + +Dodawane testy powinny zamykać rzeczywiste luki; przebieg QA, który nie wymaga nowych testów, też może być poprawny. Przejrzyj kod i dowody przed autoryzacją scalania i odśwież powiązane dowody po zmianach. + +## Dobre praktyki + +Kontekst i narzędzia, które dajesz Copilotowi, kształtują jego pracę. W tych warsztatach zaktualizowałeś instrukcje, dostosowałeś skill, utworzyłeś profil QA i skonfigurowałeś serwer MCP. Wykorzystuj te dostosowania w kolejnych rozmowach i zmieniaj je wraz z potrzebami zespołu. Instrukcje ustalają standardy, skille opisują powtarzalne zadania, agenci niestandardowi definiują role specjalistów, a serwery MCP łączą zewnętrzne narzędzia. Przeglądaj rzeczywiste zmiany i wyniki narzędzi, a nie tylko podsumowanie agenta. + +Dopasuj **tryb i model** do zadania. Użyj **Plan**, by przemyśleć podejście przed budową, **Interactive**, by pozostać w pętli przy skupionych zmianach, oraz **Autopilot** dla dobrze określonych zadań. Wybierz szybszy model do rutynowych edycji i bardziej zdolny do złożonej pracy. + +Kontekst nadal ma znaczenie tak samo jak infrastruktura. Jasne opisanie *czego* chcesz, *dlaczego* i *jak* znacząco zmienia wynik. + +## Więcej do odkrycia + +Poznałeś podstawowy przepływ. Kilka kolejnych funkcji CLI wartych uwagi: + +- `/review`, by poprosić agenta przeglądu kodu o analizę zmian. +- `/rubber-duck`, by przegadać problem i uzyskać inną perspektywę. +- `/fleet`, by orkiestrować niezależne podzadania równolegle. +- `/worktree`, by izolować osobne zadanie. +- `/delegate`, by wysłać zadanie do Copilot cloud agent. + +## Kolejne kroki + +Najlepszym sposobem na poprawę umiejętności z dowolnym narzędziem jest dalsze korzystanie z niego! Używaj go do kodu produkcyjnego, hobbystycznego, do tej małej aplikacji, którą masz w głowie od lat, ale nigdy nie zabrałeś się do budowy. Dziel się wnioskami z zespołem i ucz się od zespołu. I jak zawsze — przeglądaj dokumentację. + +Jeśli chcesz rozszerzyć Tailspin Toys z terminala, kontynuuj opcjonalną [serię Foundry Backer Concierge][foundry]. Aby porównać inne środowiska, zobacz [warsztat VS Code][vscode], [warsztat aplikacji GitHub Copilot][app] lub [warsztat Copilot cloud agent][cloud]. + +## Zasoby + +- [About GitHub Copilot CLI][about-cli] +- [Copilot CLI command reference][cli-reference] +- [Customize Copilot CLI][customize-cli] +- [Manage pull requests with Copilot CLI][manage-prs] + +[previous-lesson]: ../9-cli-power-tools/ +[foundry]: ../8-foundry-agent/ +[vscode]: ../../vscode/ +[app]: ../../app/ +[cloud]: ../../cloud/ +[about-cli]: https://docs.github.com/copilot/concepts/agents/about-copilot-cli +[cli-reference]: https://docs.github.com/copilot/reference/copilot-cli-reference/cli-command-reference +[customize-cli]: https://docs.github.com/copilot/how-tos/copilot-cli/customize-copilot +[manage-prs]: https://docs.github.com/copilot/how-tos/copilot-cli/use-copilot-cli/manage-pull-requests diff --git a/docs/pl-pl/real-world-development/cli/2-add-star-rating.md b/docs/pl-pl/real-world-development/cli/2-add-star-rating.md new file mode 100644 index 00000000..0ba6d801 --- /dev/null +++ b/docs/pl-pl/real-world-development/cli/2-add-star-rating.md @@ -0,0 +1,124 @@ +--- +title: "Ćwiczenie 2 - Dodawanie ocen w gwiazdkach: szybki sukces" +description: "Użyj Copilot CLI, aby wprowadzić małą zmianę na kartach gier, przejrzeć ją w przeglądarce z przekierowanym portem i scalić jako pierwszy pull request." +authors: + - geektrainer + - azkel +lastUpdated: 2026-09-18 +--- + +Skoro zainstalowałeś Copilot CLI i przeprowadziłeś rozmowę, czas na pierwszą zmianę w projekcie. Zachowaj ją małą: gry mają już ocenę gwiazdkową w danych, ale karty gier na stronie głównej jeszcze jej nie pokazują. Poprosisz agenta o jej wyświetlenie, przejrzysz zmianę i scalisz ją jako pierwszy pull request. + +W tym ćwiczeniu: + +- rozpoczniesz skoncentrowaną rozmowę z Copilotem na gałęzi funkcji. +- poprosisz agenta o małą zmianę w projekcie. +- przejrzysz zmianę za pomocą `/diff`. +- uruchomisz aplikację, aby potwierdzić zmianę w przeglądarce z przekierowanym portem. +- otworzysz i scalisz pierwszy pull request. + +## Scenariusz + +Każda gra w Tailspin Toys może mieć ocenę gwiazdkową i już pojawia się ona na stronie szczegółów gry. Karty gier na stronie głównej pokazują jednak tylko tytuł, kategorię, wydawcę i opis. Na rozgrzewkę poprosisz agenta o wyświetlenie istniejącej oceny na każdej karcie — to drobna, samodzielna zmiana, idealna na pierwszą sesję. + +## Anatomia rozmowy + +**Rozmowa** to miejsce, w którym pracujesz z Copilot CLI nad zadaniem. W przeciwieństwie do aplikacji GitHub Copilot zwykła rozmowa w CLI używa repozytorium i gałęzi Git aktualnie aktywnej w terminalu, zamiast tworzyć dedykowany worktree. Zapisane rozmowy pozwalają wrócić do tej samej dyskusji później, a pliki i gałąź pozostają zwykłym stanem Gita na dysku. + +W rozmowie zobaczysz trzy elementy: swoje polecenia i odpowiedzi agenta, aktywność narzędzi agenta podczas eksploracji i edycji plików oraz zmiany, które możesz sprawdzić za pomocą `/diff`. + +## Rozpocznij rozmowę i poproś o zmianę + +Zacznijmy nową rozmowę, aby rozpocząć implementację funkcji. + +1. Wróć do Codespace. +2. Jeśli terminal nie jest otwarty z wcześniejszej pracy, użyj kombinacji Ctl+\`. +3. Jeśli Copilot nie jest jeszcze uruchomiony, wystartuj go poniższym poleceniem: + + ```bash + copilot --yolo + ``` + +4. Upewnij się, że rozpoczęła się nowa sesja, używając polecenia slash `/new` i wybierając Enter. +5. Użyj poniższego polecenia, aby poprosić o zmianę: + + ```plaintext + Show each game's starRating out of 5 in the game cards on the list page. If the rating is null, show "No rating yet". Keep the card layout as it is, add tests, and run the relevant checks. + ``` + +Copilot eksploruje projekt, lokalizuje pliki używane do wyświetlania szczegółów gier i tworzy potrzebny kod. Właśnie dodałeś nową funkcję za pomocą Copilot CLI! + +## Przejrzyj diff + +Wszystkie zmiany wygenerowane przez AI zasługują na przegląd przed scaleniem — nawet drobne. Przejrzyjmy zmiany bezpośrednio w Copilot CLI. + +1. Wpisz `/diff` i sprawdź każdy zmieniony plik. +2. Upewnij się, że karta gry wyświetla ocenę liczbową, gdy jest obecna, oraz `No rating yet`, gdy `starRating` ma wartość `null`. +3. Upewnij się, że testy obejmują oba stany. +4. Przejrzyj wyniki sprawdzeń uruchomionych przez Copilota i poproś go o naprawienie ewentualnych błędów. +5. Po zakończeniu przeglądu wciśnij Esc, aby wyjść z ekranu diff. + +> [!NOTE] +> Ponieważ Copilot, jak wszystkie narzędzia generatywnej AI, jest probabilistyczny, a nie deterministyczny, dokładny kod może się różnić. Przeglądaj zachowanie, zamiast oczekiwać jednej konkretnej implementacji. + +## Sprawdź zmiany + +Oczywiście nie powinniśmy tylko czytać kodu i zakładać, że działa. Poprośmy Copilota o uruchomienie witryny, żebyśmy mogli zbadać zaktualizowany interfejs użytkownika (UI) w przeglądarce otwartej przez przekierowanie portu Codespaces. + +1. Poproś Copilota o uruchomienie aplikacji: + + ```plaintext + Start the app so I can inspect the star-rating change in my browser. Tell me the URL and leave the server running. + ``` + +2. Gdy Codespaces zgłosi, że port `4321` jest dostępny, wybierz **Open in Browser**. +3. Upewnij się, że karty gier wyświetlają oceny w skali do pięciu. +4. Wróć do Copilota i poproś go o zatrzymanie uruchomionego serwera: + + ```plaintext + Stop the development server you started. + ``` + +## Otwórz i scal pierwszy pull request + +Funkcja jest gotowa! Czas utworzyć pull request (PR), aby scalić nowy kod z projektem. + +1. Poproś domyślnego agenta o zatwierdzenie (commit) zmiany: + + ```plaintext + Commit the reviewed star-rating changes with an appropriate commit message. + ``` + +2. Wpisz `/pr create`. Copilot CLI wypycha istniejący commit przy tworzeniu PR i wyświetla URL pull requesta. +3. Otwórz PR, przytrzymując Command (Mac) lub Ctrl (Windows/Linux) i wybierając URL wyświetlony przez Copilot CLI. +4. Przejrzyj zmienione pliki i sprawdzenia. +5. Gdy będziesz gotowy, wybierz **Merge pull request**, a następnie potwierdź scalenie. +6. Wróć do Codespace i wyjdź z Copilot CLI poleceniem `/exit`. +7. Zaktualizuj lokalną gałąź `main`: + + ```bash + git checkout main + git pull + ``` + +## Podsumowanie i kolejne kroki + +Gratulacje! Wypchnąłeś pierwszą zmianę za pomocą GitHub Copilot CLI! Konkretnie: + +- rozpocząłeś skoncentrowaną rozmowę z Copilotem na gałęzi funkcji. +- skierowałeś agenta do wprowadzenia małej zmiany na kartach gier. +- przejrzałeś zmianę za pomocą `/diff`. +- uruchomiłeś aplikację, aby potwierdzić ocenę gwiazdkową w przeglądarce z przekierowanym portem. +- otworzyłeś i scaliłeś pierwszy pull request. + +Następnie [zaczniesz od zgłoszenia o filtrowaniu i użyjesz trybów Plan oraz Autopilot][next-lesson], aby zbudować większą funkcję. + +## Zasoby + +- [About GitHub Copilot CLI][about-copilot-cli] +- [Copilot CLI command reference][cli-reference] + +[previous-lesson]: ../1-install-copilot-cli/ +[next-lesson]: ../3-agent-modes/ +[about-copilot-cli]: https://docs.github.com/copilot/concepts/agents/about-copilot-cli +[cli-reference]: https://docs.github.com/copilot/reference/copilot-cli-reference/cli-command-reference diff --git a/docs/pl-pl/real-world-development/cli/3-agent-modes.md b/docs/pl-pl/real-world-development/cli/3-agent-modes.md new file mode 100644 index 00000000..c98141a5 --- /dev/null +++ b/docs/pl-pl/real-world-development/cli/3-agent-modes.md @@ -0,0 +1,160 @@ +--- +title: "Ćwiczenie 3 - Tryby agenta: Plan i Autopilot" +description: "Użyj trybu Plan, aby uzgodnić podejście, Autopilot do zbudowania filtrowania na podstawie zgłoszenia oraz trybu Interactive do przeglądu wyniku." +authors: + - geektrainer + - azkel +lastUpdated: 2026-09-18 +--- + +Zaczęliśmy od dodania małej funkcji do projektu. Większe zmiany wymagają jednak bardziej solidnego procesu. Na szczęście GitHub Copilot CLI jest zbudowany tak, by współdziałać z istniejącym flow organizacji i pomagać budować właściwe rzeczy we właściwy sposób. To pierwsze z kilku ćwiczeń, w których przejdziesz typowy proces rozwoju napędzany agentami: zaczniesz od zgłoszenia, wygenerujesz nową funkcję, upewnisz się, że kod jest poprawny, funkcja działa zgodnie z oczekiwaniami, a na końcu zostanie pomyślnie scalona z projektem. + +> [!NOTE] +> Będziesz korzystać z tej samej rozmowy i gałęzi w dalszej części workflow funkcji. Zazwyczaj miałbyś różne gałęzie lub PR-y dla różnych typów plików, ale tutaj skracamy ścieżkę, żeby skupić się na kluczowych koncepcjach. + +Na początek w tym ćwiczeniu: + +- rozpoczniesz nową rozmowę z Copilotem na podstawie zgłoszenia GitHub. +- zdefiniujesz wymagania w trybie Plan. +- zaimplementujesz nową funkcję w trybie Autopilot. +- przejrzysz kod. +- zweryfikujesz funkcję ręcznie w przeglądarce z przekierowanym portem. + +W trakcie pracy nad tą funkcją zaktualizujesz instrukcje repozytorium, dostosujesz istniejący skill `quality-checks`, dodasz walidację MCP, utworzysz agenta QA i otworzysz PR funkcji. + +## Scenariusz + +Katalog Tailspin Toys rośnie, a odwiedzający potrzebują zawężać gry według kategorii i wydawcy. Zgłoszenie w backlogu opisuje funkcję, ale szczegóły — na przykład łączenie kategorii — wymagają uzgodnienia przed kodowaniem. Użyjesz trybu Plan, aby rozstrzygnąć te decyzje, a następnie zezwolisz na ograniczoną implementację w Autopilot. + +## Tło + +Wprowadzenie agentów AI do procesu deweloperskiego nie zmienia fundamentów. Jeśli już, stają się one jeszcze ważniejsze! Większość deweloperów podąża za flow, który wygląda mniej więcej tak: + +1. Zacznij od zgłoszenia, które opisuje, co trzeba zrobić. +2. Utwórz plan tego, co ma zostać zbudowane. +3. Zbuduj i przejrzyj kod. +4. Uruchom testy, aby zweryfikować kod. +5. Ręcznie zweryfikuj nową funkcjonalność. +6. Utwórz pull request (PR). +7. Gdy kod zostanie przejrzany i proces ciągłej integracji zakończy się powodzeniem, scal kod. + +> [!NOTE] +> W zależności od zespołu i organizacji szczegóły będą się różnić. Większość wariantów to jednak odmiana schematu opisanego powyżej. + +Trzymając się tego standardowego podejścia, zapewniasz, że kod wygenerowany przez AI spełnia określone wymagania i przechodzi ten sam proces weryfikacji co kod napisany ręcznie. + +## Tryby rozmowy + +**Tryb rozmowy** steruje stopniem autonomii agenta. Przełączaj tryby kombinacją Shift+Tab: + +- **Interactive**: Ty i agent pracujecie razem. Agent sugeruje zmiany i czeka na Twoje dane wejściowe przed kontynuacją. +- **Plan**: Agent najpierw tworzy plan i jest zablokowany przed edycją plików projektu. +- **Autopilot**: Agent pracuje autonomicznie — pisze kod, uruchamia testy i iteruje, aż zadanie zostanie ukończone. + +Zacznij w trybie Plan, przejrzyj plan, a następnie użyj Autopilot do jego realizacji. + +## Zacznij od zgłoszenia + +Zanim zaczniesz pracę nad filtrowaniem, wróć do Codespace i upewnij się, że repozytorium oraz terminal są gotowe. + +1. Wróć do Codespace. Jeśli jest zatrzymany, uruchom go ponownie przed kontynuacją. +2. Upewnij się, że PR z oceną gwiazdkową jest scalony. +3. Jeśli terminal nie jest otwarty, wciśnij Control+\` (Mac) lub Ctrl+\` (Windows/Linux). +4. Zaktualizuj `main`, a następnie utwórz gałąź do pracy nad filtrowaniem: + + ```bash + git checkout main + git pull --ff-only + git checkout -b game-filters-cli + ``` + +5. Uruchom Copilot CLI: + + ```bash + copilot --yolo + ``` + +6. Wciśnij Tab dwukrotnie, aby otworzyć kartę **Issues**. +7. Wciśnij A, aby wyświetlić wszystkie zgłoszenia. +8. Klawiszami strzałek podświetl zgłoszenie zatytułowane **Allow users to filter games by category and publisher**. +9. Wciśnij C, aby dodać zgłoszenie do promptu i wrócić do karty **Session**. + +Zwróć uwagę, że prompt zaczyna się teraz od `#7` (lub podobnego numeru). `#` pozwala wprowadzić do kontekstu zgłoszenie lub pull request (PR) z GitHuba. + +## Zaplanuj funkcję filtrowania + +Planowanie daje szansę zdefiniować podejście do implementacji funkcji lub wykonania zadań, zanim przekażesz je Copilotowi. Przy czymś złożonym zawsze warto poświęcić chwilę na planowanie. Przełączmy się na tryb planowania i poprośmy Copilota o utworzenie planu. + +1. Wciśnij Shift+Tab, aby przełączyć się na tryb Plan. Upewnij się, że wskaźnik trybu pod promptem wyświetla **Plan**. +2. Po odwołaniu do zgłoszenia dodanym w poprzednim kroku wpisz następujące polecenie: + + ```plaintext + Create a plan for implementing this feature. + ``` + +Copilot zabiera się do budowania planu! Najpierw zbada projekt, a następnie wybierze najlepsze podejście. + +3. Po drodze Copilot może zadawać pytania o to, jak mają działać możliwości filtrowania. Odpowiadaj zgodnie ze swoimi preferencjami. Nie ma tu złych odpowiedzi! +4. Gdy plan będzie gotowy, wciśnij Control+E (Mac) lub Ctrl+E (Windows/Linux), aby go rozwinąć. +5. Przewijaj w górę i w dół, aby przejrzeć plan. +6. Poproś Copilota o poprawienie dowolnej części planu, która nie odpowiada Twoim decyzjom. + +## Zatwierdź Autopilot + +Plan jest napisany i przejrzany — czas go zaimplementować! Pozwólmy Copilotowi działać w trybie autopilot. + +Autopilot pozwoli Copilotowi iterować nad problemem, aż uzna go za ukończony. + +1. Wybierz **Accept plan and build on autopilot (recommended)** lub podobnie oznaczoną opcję w zainstalowanej wersji. +2. Upewnij się, że wskaźnik trybu pod promptem wyświetla **Autopilot**. +3. Obserwuj, jak Copilot iteruje przez ustalony plan, generuje kod i uruchamia testy. + +> [!NOTE] +> Zatwierdzenie może natychmiast rozpocząć implementację, więc najpierw przejrzyj plan. Jeśli Copilot zgłosi brakujące zależności lub konflikt portu, rozwiąż problem konfiguracji, zanim uznasz sprawdzenia za zakończone. + +## Przejrzyj i zweryfikuj implementację + +Gdy kod zostanie wygenerowany, trzeba go przejrzeć przed scaleniem — tak jak każdy inny kod. Przejrzyjmy kod i uruchommy witrynę, żeby upewnić się, że wszystko wygląda dobrze. + +1. Wciśnij Shift+Tab, aby wejść w tryb Interactive. Upewnij się, że wskaźnik trybu nie wyświetla już **Plan** ani **Autopilot**. +2. Wpisz `/diff` i sprawdź implementację filtrowania oraz testy. +3. Porównaj wynik ze zgłoszeniem i decyzjami podjętymi podczas planowania. +4. Po przejrzeniu kodu wciśnij Esc, aby wyjść z widoku diff. +5. Przejrzyj wynik sprawdzeń projektu i poproś Copilota o rozwiązanie ewentualnych błędów. + +## Poznaj nową funkcjonalność + +OK, kod wygląda dobrze — ale czy działa? Uruchommy aplikację jak wcześniej i otwórzmy witrynę przez przekierowanie portu Codespaces. + +1. Poproś Copilota o uruchomienie aplikacji: + + ```plaintext + Start the app so I can try the filtering feature in my browser. Tell me the URL and leave the server running. + ``` + +2. Gdy Codespaces zgłosi, że port `4321` jest dostępny, wybierz **Open in Browser**. +3. Wypróbuj filtrowanie po kategorii, po wydawcy oraz kombinacje uzgodnione w planie. +4. Upewnij się, że reset i zachowanie przy pustym wyniku odpowiadają zgłoszeniu i Twoim decyzjom. +5. Wróć do Codespace i poproś Copilota o zatrzymanie uruchomionego serwera deweloperskiego. + +## Podsumowanie i kolejne kroki + +Użyłeś różnych trybów rozmowy do zbudowania i przeglądu funkcji. W tym ćwiczeniu: + +- rozpocząłeś nową rozmowę z Copilotem na podstawie zgłoszenia GitHub. +- zdefiniowałeś wymagania w trybie Plan. +- zaimplementowałeś nową funkcję w trybie Autopilot. +- przejrzałeś kod. +- zweryfikowałeś funkcję ręcznie w przeglądarce z przekierowanym portem. + +Następnie przyjrzyjmy się bliżej temu, jak generowany jest kod i jak zapewnić zgodność z udokumentowanymi praktykami, [korzystając z instrukcji niestandardowych][next-lesson]. + +## Zasoby + +- [Autopilot in GitHub Copilot CLI][autopilot] +- [Copilot CLI command reference][cli-reference] + +[autopilot]: https://docs.github.com/copilot/concepts/agents/copilot-cli/autopilot +[cli-reference]: https://docs.github.com/copilot/reference/copilot-cli-reference/cli-command-reference +[previous-lesson]: ../2-add-star-rating/ +[next-lesson]: ../4-custom-instructions/ diff --git a/docs/pl-pl/real-world-development/cli/4-custom-instructions.md b/docs/pl-pl/real-world-development/cli/4-custom-instructions.md new file mode 100644 index 00000000..939d23c5 --- /dev/null +++ b/docs/pl-pl/real-world-development/cli/4-custom-instructions.md @@ -0,0 +1,99 @@ +--- +title: "Ćwiczenie 4 - Kierowanie Copilotem za pomocą instrukcji niestandardowych" +description: "Poznaj instrukcje repozytorium, dodaj standard dokumentacji i zastosuj go do kodu filtrowania." +authors: + - geektrainer + - azkel +lastUpdated: 2026-09-18 +--- + +Kontekst jest kluczowy przy pracy z generatywną AI. Jeśli zadanie ma być wykonane w określony sposób, chcesz, żeby te wskazówki były dostępne dla Copilota. [Pliki instrukcji][instruction-files] opisują nie tylko *jaki* kod chcesz, ale też *jak* powinien być ustrukturyzowany. Skoro zbudowałeś filtrowanie, przejrzysz instrukcje, z których korzystał Copilot, dodasz standard dokumentacji i zastosujesz go do kodu. + +W tym ćwiczeniu: + +- zobaczysz, jak instrukcje repozytorium oraz pliki instrukcji ograniczone ścieżką docierają do agenta. +- zaktualizujesz plik instrukcji, aby zapewnić przestrzeganie standardów kodowania. +- zobaczysz wpływ plików instrukcji na kod. + +## Scenariusz + +Jak każdy dobry zespół deweloperski, Tailspin Toys ma zestaw wytycznych i wymagań dotyczących praktyk rozwoju. Obejmują one: + +- Komentarze powinny wyjaśniać intencję i nieoczywiste decyzje, a nie powtarzać kod. +- Wyeksportowane funkcje w `db/` i `src/lib/` powinny dokumentować cel, parametry i wartości zwracane za pomocą TSDoc/JSDoc, w tym wstrzykiwany argument `db`, gdy jest obecny. +- Wielokrotnego użytku komponenty Astro powinny dokumentować kontrakty `Props`, a komentarze powinny pozostawać aktualne przy zmianach powiązanego kodu. +- Istniejące wytyczne formatowania i lintowania powinny zostać zachowane. + +Dzięki plikom instrukcji zapewnisz Copilotowi właściwe informacje, aby wykonywał zadania zgodnie z tymi praktykami. + +## Pliki instrukcji + +Instrukcje niestandardowe pozwalają przekazać Copilotowi kontekst i preferencje, żeby lepiej rozumiał styl programowania i wymagania. To potężna funkcja, która pomaga kierować Copilota ku bardziej trafnym sugestiom i fragmentom kodu. Możesz określać preferowane konwencje kodowania, biblioteki, a nawet rodzaje komentarzy, które lubisz umieszczać w kodzie. Możesz tworzyć instrukcje dla całego repozytorium albo dla określonych typów plików — jako kontekst na poziomie zadania. + +Istnieją dwa typy plików instrukcji: + +- `.github/copilot-instructions.md` — pojedynczy plik instrukcji wysyłany do Copilota przy **każdym** żądaniu dotyczącym repozytorium. Ten plik powinien zawierać informacje na poziomie projektu istotne dla większości żądań. +- pliki `.github/instructions/*.instructions.md`, które dostarczają wytycznych dla konkretnych języków, typów plików lub zadań. + +> [!NOTE] +> Inne formaty instrukcji i zakres wsparcia różnią się w zależności od środowiska. Zapoznaj się z [dokumentacją obsługi instrukcji niestandardowych][custom-instructions-support], zanim oprzesz się na konkretnym formacie. + +## Przejrzyj pliki instrukcji niestandardowych w tym projekcie + +Aby ułatwić start, zestaw plików instrukcji jest już dołączony do projektu startowego. Przejrzyjmy, co już jest, zanim wprowadzimy zmianę i zobaczymy jej wpływ. + +1. Wróć do Codespace. +2. W edytorze Codespaces (nie w terminalu) otwórz `.github/copilot-instructions.md`. +3. Przejrzyj plik, zwracając uwagę na krótki opis projektu i wytyczne kodowania. Te instrukcje obowiązują przy każdej interakcji z Copilotem w tym repozytorium. +4. Otwórz folder `.github/instructions` i przejrzyj pliki. Zwróć uwagę, że są instrukcje dla plików Astro, warstwy danych Drizzle, testów i innych. +5. Otwórz `.github/instructions/unit-tests.instructions.md`. Zwróć uwagę na pole `applyTo` na górze — ustawia glob określający, do których plików stosują się instrukcje. +6. Otwórz `.github/instructions/drizzle.instructions.md` i zwróć uwagę na odnośniki do innych plików instrukcji oraz istniejących plików projektu. Dzięki temu możesz dzielić większe zestawy instrukcji na mniejsze, wielokrotnego użytku pliki i wskazywać Copilotowi przykłady do naśladowania. + +## Zaktualizuj pliki instrukcji zgodnie z wytycznymi zespołu + +Istniejące pliki to dobry start, ale nadal jest luka. Zmodyfikujmy główny plik `copilot-instructions.md`, aby zapewnić dodawanie komentarzy TSDoc do nowo generowanego TypeScriptu. + +1. W `.github/copilot-instructions.md` znajdź sekcję zatytułowaną **Code formatting guidance** — powinna być około linii 35. +2. Dodaj poniższy punkt jako ostatni element listy: + + ```markdown + - All new TypeScript should contain TSDocs comments for documentation purposes. + ``` + +Plik zostanie zapisany automatycznie! + +## Użyj zaktualizowanych wytycznych + +Copilot CLI wczytuje instrukcje repozytorium przy starcie rozmowy. Po edycji wznów rozmowę o filtrowaniu, żeby nowe wytyczne były dostępne bez utraty kontekstu funkcji. + +1. Poproś Copilota o zastosowanie zaktualizowanych wytycznych: + + ```plaintext + We just updated our instructions and code guidance. Can you please update the code you generated to match that guidance? + ``` + +2. Wpisz `/diff` i przeczytaj zmienione pliki TypeScript. Zwróć uwagę na nowo wygenerowane komentarze TSDoc i upewnij się, że dokładnie wyjaśniają kod. + +## Podsumowanie i kolejne kroki + +Poznałeś, jak Copilot CLI pobiera kontekst z plików instrukcji, i zastosowałeś nowy standard do swojej funkcji. Konkretnie: + +- zobaczyłeś, jak instrukcje repozytorium oraz pliki instrukcji ograniczone ścieżką docierają do agenta. +- zaktualizowałeś plik instrukcji, aby zapewnić przestrzeganie standardów kodowania. +- zobaczyłeś wpływ plików instrukcji na kod. + +Następnie [dostosujesz i uruchomisz wielokrotnego użytku skill quality-checks][next-lesson], aby lintowanie i testy były uruchamiane spójnie. + +## Zasoby + +- [Add custom instructions for Copilot CLI][instruction-files] +- [Custom instructions support][custom-instructions-support] +- [Best practices for creating custom instructions][instructions-best-practices] +- [Awesome Copilot — a collection of instruction files and other resources][awesome-copilot] + +[instruction-files]: https://docs.github.com/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions +[instructions-best-practices]: https://docs.github.com/copilot/concepts/prompting/response-customization#writing-effective-custom-instructions +[awesome-copilot]: https://awesome-copilot.github.com/ +[custom-instructions-support]: https://docs.github.com/copilot/reference/custom-instructions-support +[previous-lesson]: ../3-agent-modes/ +[next-lesson]: ../5-agent-skills/ diff --git a/docs/pl-pl/real-world-development/cli/5-agent-skills.md b/docs/pl-pl/real-world-development/cli/5-agent-skills.md new file mode 100644 index 00000000..3e591ee3 --- /dev/null +++ b/docs/pl-pl/real-world-development/cli/5-agent-skills.md @@ -0,0 +1,114 @@ +--- +title: "Ćwiczenie 5 - Dostosuj i użyj skillu quality-checks" +description: "Poznaj istniejący skill quality-checks, dostosuj format raportu i użyj go do walidacji filtrowania." +authors: + - geektrainer + - azkel +lastUpdated: 2026-09-29 +--- + +Pisanie kodu to coś więcej niż samo pisanie kodu. Zweryfikowaliśmy już działanie kodu ręcznie i użyliśmy plików instrukcji, aby zapewnić zgodność ze standardami. A co z testowaniem? Lintowaniem? Pozostałymi elementami ciągłej integracji (CI)? + +Do tego typu zadań najlepiej pasują **skille agenta (agent skills)**! Skille pomagają Copilotowi zrozumieć, jak poprawnie wykonywać takie operacje. + +W tym ćwiczeniu: + +- przejrzysz istniejący skill `quality-checks`. +- dostosujesz format jego wyników. +- przeładujesz i uruchomisz skill. + +## Scenariusz + +Tailspin Toys używa skillu `quality-checks` do testów jednostkowych, lintu i sprawdzania typów. Zespół chce ulepszyć raport, żeby wyniki były łatwiejsze do odczytania. + +## Instrukcje, skrypty i zasoby + +Skille agenta pakują wielokrotnego użytku instrukcje zadań, wykonywalne skrypty i zasoby pomocnicze, które agent wczytuje na żądanie. W istocie to folder o nazwie skillu z plikiem Markdown o nazwie `SKILL.md`. Markdown zawiera frontmatter z nazwą i opisem definiującymi, czym jest skill, przegląd tego, co robi, oraz wskazówki, kiedy powinien zostać wywołany. Folder może też zawierać podfoldery ze skryptami i innymi zasobami używanymi przez skill przy wywołaniu. + +> [!NOTE] +> Dodatkowe foldery i pliki nie są wymagane dla skillu. Skill `quality-checks` w Tailspin Toys zawiera tylko `SKILL.md`, ponieważ korzysta z istniejących poleceń projektu. + +Skille mogą znajdować się w folderze `.github/skills` projektu, aby stać się zasobem repozytorium współdzielonym i wielokrotnie używanym przez zespół, albo w folderze skilli użytkownika pod `~/.copilot/skills`. + +## Przejrzyj skill + +Przejrzyjmy skill utworzony przez zespół Tailspin Toys do uruchamiania testów jednostkowych, lintu i sprawdzania typów, o nazwie `quality-checks`. + +1. Wróć do Codespace. W edytorze Codespaces otwórz `.github/skills/quality-checks/SKILL.md`. +2. Przeczytaj `name` i `description` na górze. Opis pomaga Copilotowi zrozumieć, kiedy wywołać skill. +3. Przeczytaj instrukcje i zwróć uwagę, jak prowadzą Copilota przez proces testowania i lintowania. +4. Zwróć uwagę, że skill nie zawiera jeszcze sekcji **Results output formatting**. + +## Uruchom skill przed wprowadzeniem zmiany + +Skille można wywoływać bezpośrednio przez Copilot CLI albo językiem naturalnym. Poprośmy Copilota o uruchomienie trzech sprawdzeń skillu. + +1. Wróć do rozmowy o filtrowaniu w trybie Interactive. +2. Użyj poniższego polecenia: + + ```plaintext + Run the quality-checks skill for unit tests, lint, and type checks. + ``` + +3. Zwróć uwagę na raport na końcu. + +## Dostosuj raport + +OK, chcemy lepszego raportu, który powie, co zostało uruchomione, czy się powiodło i co faktycznie zgłosiły narzędzia. Zaktualizujmy skill, żeby tworzył taki raport! + +1. Wróć do `.github/skills/quality-checks/SKILL.md`. +2. Dodaj poniższą sekcję na końcu pliku: + + ```markdown + ## Results output formatting + + Upon completion, report each command that ran and whether it passed, failed, or was blocked. Include test counts, durations, errors, warnings, and other metrics only when the tool reports them. Identify the next action for any failure or blocker, and never describe a skipped or incomplete check as passed. + ``` + +3. Plik zostanie zapisany automatycznie. + +## Uruchom zaktualizowany skill + +Po wprowadzeniu zmiany zobaczmy ją w działaniu! Copilot CLI może przeładować edytowane skille bez restartowania rozmowy. + +1. Wpisz: + + ```plaintext + /skills reload + ``` + +2. Użyj dokładnie tego samego polecenia co wcześniej: + + ```plaintext + Run the quality-checks skill for unit tests, lint, and type checks. + ``` + +3. Zwróć uwagę na raport na końcu i porównaj go z pierwszym raportem. + +## Podsumowanie i kolejne kroki + +Dostosowałeś i użyłeś istniejącego skillu agenta. W tym ćwiczeniu: + +- przejrzałeś skill `quality-checks` do testów jednostkowych, lintu i sprawdzania typów. +- dostosowałeś format jego wyników. +- przeładowałeś i uruchomiłeś skill. + +Ta zmiana towarzyszy filtrowaniu w PR funkcji. Następnie pozwolisz Copilotowi wchodzić w interakcję z witryną bezpośrednio [przez serwer Playwright MCP][next-lesson]. + +## Więcej przykładów skilli + +Te przykłady społecznościowe to materiały referencyjne, a nie dodatkowe zadania: + +- [Agent Skills specification][skill-spec] +- [Contribution workflow: `make-repo-contribution`][contribution-example] +- [Requirements documents: `prd`][prd-example] +- [Diagrams and a bundled export script: `drawio`][drawio-example] +- [Browser testing: `webapp-testing`][browser-example] + +[previous-lesson]: ../4-custom-instructions/ +[next-lesson]: ../6-mcp-playwright/ +[skill-spec]: https://agentskills.io/specification +[contribution-example]: https://github.com/github/awesome-copilot/tree/main/skills/make-repo-contribution +[prd-example]: https://github.com/github/awesome-copilot/tree/main/skills/prd +[drawio-example]: https://github.com/github/awesome-copilot/tree/main/skills/drawio +[browser-example]: https://github.com/github/awesome-copilot/tree/main/skills/webapp-testing diff --git a/docs/pl-pl/real-world-development/cli/6-mcp-playwright.md b/docs/pl-pl/real-world-development/cli/6-mcp-playwright.md new file mode 100644 index 00000000..dde45fde --- /dev/null +++ b/docs/pl-pl/real-world-development/cli/6-mcp-playwright.md @@ -0,0 +1,100 @@ +--- +title: "Ćwiczenie 6 - Walidacja funkcjonalności z Playwright MCP" +description: "Sprawdź lub skonfiguruj Playwright MCP w Copilot CLI i użyj go do zbadania funkcji filtrowania w przeglądarce." +authors: + - geektrainer + - azkel +lastUpdated: 2026-09-18 +--- + +Jak już podkreślaliśmy, pisanie kodu to nie wszystko. Trzeba też pracować z danymi, zewnętrznymi usługami i udostępniać Copilotowi dodatkowe automatyzacje. Tu wchodzą w grę serwery MCP. Pozwalają Copilotowi wyjść poza to, co jest wbudowane w CLI, i dają mu jeszcze więcej narzędzi oraz usług. + +W tym ćwiczeniu: + +- zrozumiesz, czym jest Model Context Protocol (MCP) i jak Copilot CLI z niego korzysta. +- dodasz serwer Playwright MCP, jeśli nie jest jeszcze dostępny. +- poprosisz agenta, by sterował przeglądarką i zbadał funkcję filtrowania. + +## Scenariusz + +Testy jednostkowe i end-to-end są ważne, ale walidacja zmian w UI wymaga rzeczywistej interakcji z interfejsem. Chcesz pozwolić Copilotowi korzystać z witryny, nad którą pracujesz, tak jak użytkownik — by jeszcze bardziej zautomatyzować wprowadzanie zmian i mieć większą pewność, że aktualizacje działają zgodnie z oczekiwaniami. + +## Czym jest Model Context Protocol (MCP)? + +[Model Context Protocol (MCP)][mcp-blog-post] daje agentom AI sposób komunikacji z zewnętrznymi narzędziami i usługami. Dzięki MCP agenci AI mogą komunikować się z nimi w czasie rzeczywistym. Pozwala to uzyskiwać aktualne informacje i wykonywać działania w Twoim imieniu. + +Te narzędzia i zasoby są dostępne przez serwer MCP, który działa jako most między agentem AI a zewnętrznymi narzędziami i usługami. Każdy serwer MCP reprezentuje inny zestaw narzędzi i zasobów dostępnych dla agenta AI. + +Kilka popularnych istniejących serwerów MCP: + +- **[GitHub MCP Server][github-mcp]**: Zapewnia dostęp do API do zarządzania repozytoriami GitHub, zgłoszeniami i pull requestami. +- **[Playwright MCP Server][playwright-mcp-server]**: Zapewnia automatyzację przeglądarki za pomocą Playwright. + +Dostępnych jest wiele innych serwerów MCP. GitHub hostuje [rejestr MCP][mcp-registry], aby ułatwić odkrywanie i wkład w ekosystem. + +> [!CAUTION] +> Traktuj serwery MCP jak każdą inną zależność w projekcie. Przed użyciem przejrzyj kod źródłowy, zweryfikuj wydawcę i rozważ konsekwencje bezpieczeństwa. + +## Dodaj serwer Playwright MCP + +Dodajmy serwer Playwright MCP, żeby Copilot mógł wchodzić w interakcję z witryną tak, jak użytkownik. + +1. Wróć do Codespace. +2. Otwórz dialog dodawania serwera MCP, wpisując w Copilot CLI poniższe polecenie: + + ```plaintext + /mcp add + ``` + +3. Jako nazwę wpisz `playwright`, a następnie wciśnij Tab. +4. Potwierdź typ serwera **STDIO**, wciskając Enter, a następnie wciśnij Tab. +5. Wklej poniższe do dialogu **Command**: + + ```plaintext + npx -y @playwright/mcp@latest --headless --no-sandbox + ``` + +6. Użyj kombinacji Control+S (Mac) lub Ctrl+S (Windows/Linux), aby zapisać nowy serwer MCP. +7. Wciśnij Esc, aby wyjść z dialogu MCP. + +## Poproś Copilota o zbadanie funkcji przez Playwright + +Wcześniej ręcznie potwierdziłeś, że funkcjonalność działa zgodnie z oczekiwaniami. Teraz użyjmy właśnie dodanego serwera Playwright, żeby Copilot zrobił to samo! + +1. Użyj poniższego polecenia, żeby powiedzieć Copilotowi, by użył serwera Playwright MCP do walidacji funkcjonalności: + + ```plaintext + Start the app and use Playwright MCP to check filtering against the issue and our plan. Tell me what works and what doesn't, without making changes. Stop the server you started when you're done. + ``` + +> [!NOTE] +> Nie musisz wprost mówić Copilotowi, by użył serwera MCP — zwykle sam to rozpozna. Skoro jednak wiesz, czego powinien użyć, zawsze warto wskazać właściwy kierunek! Zapewnia to bardziej spójne wyniki i oszczędza trochę tokenów. + +2. Obserwuj, jak Copilot wypisuje kolejne kroki wykonywane w przeglądarce, by potwierdzić działanie funkcjonalności. +3. Przeczytaj raport i upewnij się, że wszystko zachowuje się zgodnie z oczekiwaniami. + +Copilot uruchomi serwer, użyje Playwright do interakcji z witryną, zatrzyma serwer i przedstawi raport. + +## Podsumowanie i kolejne kroki + +Gratulacje — użyłeś serwera Playwright MCP, by zbadać funkcję w prawdziwej przeglądarce z poziomu Copilot CLI! Podsumowując: + +- poznałeś, czym jest Model Context Protocol (MCP) i jak Copilot CLI z niego korzysta. +- dodałeś serwer Playwright MCP, jeśli nie był jeszcze dostępny. +- poprosiłeś agenta, by sterował przeglądarką i zbadał funkcję filtrowania. + +Następnie [utworzysz agenta niestandardowego QA][next-lesson], który łączy skill i narzędzia przeglądarki w roli specjalisty. + +## Zasoby + +- [What the heck is MCP and why is everyone talking about it?][mcp-blog-post] +- [Microsoft Playwright MCP Server][playwright-mcp-server] +- [Add MCP servers to Copilot CLI][add-mcp] + +[previous-lesson]: ../5-agent-skills/ +[next-lesson]: ../7-qa-agent/ +[mcp-blog-post]: https://github.blog/ai-and-ml/llms/what-the-heck-is-mcp-and-why-is-everyone-talking-about-it/ +[playwright-mcp-server]: https://github.com/microsoft/playwright-mcp +[github-mcp]: https://github.com/github/github-mcp-server +[mcp-registry]: https://github.com/mcp +[add-mcp]: https://docs.github.com/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers diff --git a/docs/pl-pl/real-world-development/cli/7-qa-agent.md b/docs/pl-pl/real-world-development/cli/7-qa-agent.md new file mode 100644 index 00000000..cca738db --- /dev/null +++ b/docs/pl-pl/real-world-development/cli/7-qa-agent.md @@ -0,0 +1,93 @@ +--- +title: "Ćwiczenie 7 - Tworzenie i użycie agenta QA" +description: "Utwórz agenta niestandardowego QA, który łączy wymagania ze zgłoszenia, skill quality-checks i Playwright MCP." +authors: + - geektrainer + - azkel +lastUpdated: 2026-09-18 +--- + +Użyłeś skillu `quality-checks` do uruchamiania automatycznych sprawdzeń oraz Playwright MCP do obserwacji filtrowania w przeglądarce. Teraz połączysz te możliwości w agencie niestandardowym z jasno zdefiniowanym procesem QA. + +W tym ćwiczeniu: + +- poznasz, jak agent niestandardowy współpracuje z instrukcjami, skillami i narzędziami MCP. +- utworzysz i przejrzysz profil zapewnienia jakości wielokrotnego użytku. +- wybierzesz agenta QA i przejrzysz jego ustalenia względem zgłoszenia o filtrowaniu. + +## Scenariusz + +Tailspin Toys chce spójnego przeglądu wymagań, jakości kodu, automatycznych sprawdzeń, pokrycia testami i zachowania w przeglądarce przed otwarciem pull requesta (PR). Agent niestandardowy może koordynować ten proces QA i dostarczać raport wielokrotnego użytku. + +## Czym jest agent niestandardowy? + +Agent niestandardowy to wyspecjalizowana wersja Copilota zdefiniowana w profilu Markdown. Profil opisuje cel agenta, instrukcje i dostępne narzędzia. W tych warsztatach zdefiniujesz rolę QA w `.github/agents/qa.agent.md` i wybierzesz ją w Copilot CLI. + +Używane wcześniej dostosowania mają różne zadania. Instrukcje repozytorium opisują standardy zespołu. Skill `quality-checks` pakuje powtarzalne sprawdzenia. Playwright MCP dostarcza narzędzia przeglądarki. Profil QA mówi Copilotowi, jak użyć tych możliwości do oceny wymagań i raportowania ustaleń. Nie zastępuje ich i nie wymaga osobnej rozmowy. + +## Utwórz profil QA + +Zanim otworzysz PR funkcji, poprosisz Copilota o utworzenie profilu QA wielokrotnego użytku. Profil zdefiniuje zarówno sprawdzenia wykonywane przez QA, jak i granice, których musi przestrzegać. + +1. Wróć do Codespace i upewnij się, że rozmowa o filtrowaniu jest w trybie Interactive. +2. Poproś domyślnego agenta o utworzenie nowego agenta niestandardowego: + + ```plaintext + Create a custom agent named QA in .github/agents/qa.agent.md. It should check features against their issues and agreed requirements, follow the repository instructions, run the quality-checks skill, use Playwright MCP to verify behavior, and add tests when coverage is missing. + + Have it report each requirement as pass, fail, or blocked with supporting evidence. It must ask before changing implementation code, and it must not commit changes or open pull requests. + + Just create the profile for now so I can review it. + ``` + +## Przejrzyj profil + +Zanim użyjesz nowego agenta, przejrzyj jego profil i upewnij się, że Copilot uchwycił zamierzony przepływ QA oraz jego granice. Zapobiega to sytuacji, w której niepełny lub zbyt szeroki agent zmienia funkcję, gdy chcesz ją tylko zweryfikować. + +1. Wpisz `/diff` i otwórz `.github/agents/qa.agent.md`. +2. Przeczytaj frontmatter. Pole `description` jest wymagane; `name` jest opcjonalne, ale jego obecność daje agentowi czytelną nazwę wyświetlaną. +3. Przeczytaj instrukcje profilu i upewnij się, że QA zaczyna od wymagań, stosuje instrukcje repozytorium, uruchamia skill `quality-checks` i używa Playwright MCP. +4. Upewnij się, że QA raportuje dowody, pyta przed zmianą kodu implementacji oraz nie commituje zmian ani nie otwiera pull requestów. +5. Jeśli wygenerowany profil pomija któreś z tych obowiązków lub granic, poproś domyślnego agenta o poprawkę, zanim przejdziesz dalej. + +## Uruchom QA względem zgłoszenia + +Copilot CLI ładuje agentów projektu przy starcie rozmowy. Wznów tę samą rozmowę o filtrowaniu po utworzeniu profilu, a następnie wybierz QA, żeby mógł skorzystać ze zgłoszenia i decyzji planowania już obecnych w kontekście. + +1. Włącz agenta poniższym poleceniem: + + ```plaintext + /agent QA + ``` + +> [!NOTE] +> Ponieważ właśnie utworzyłeś agenta, może nie pojawić się na liście dostępnych agentów. Jest tam — powyższe polecenie go aktywuje. + +2. Użyj poniższego polecenia, by poprosić agenta QA o przegląd funkcji: + + ```plaintext + Review the filtering feature against the issue and the decisions in our plan. Is it ready for a PR? + ``` + +3. Agent QA zabiera się do pracy! +4. Przeczytaj raport, gdy skończy pracę! + +## Podsumowanie i kolejne kroki + +Dodałeś do przepływu rolę specjalisty wielokrotnego użytku i przejrzałeś jej pracę. W tym ćwiczeniu: + +- poznałeś, jak agent niestandardowy współpracuje z instrukcjami, skillami i narzędziami MCP. +- utworzyłeś i przejrzałeś profil zapewnienia jakości wielokrotnego użytku. +- wybrałeś agenta QA i przejrzałeś jego ustalenia względem zgłoszenia o filtrowaniu. + +Masz teraz implementację, aktualizację skillu, profil QA, testy i raport weryfikacji gotowe do przeglądu. Następnie [połączysz je w PR funkcji i użyjesz Agent Merge][next-lesson]. + +## Zasoby + +- [Create custom agents for Copilot CLI][create-agents] +- [Custom agent configuration][agent-config] + +[previous-lesson]: ../6-mcp-playwright/ +[next-lesson]: ../8-create-pull-request/ +[create-agents]: https://docs.github.com/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli +[agent-config]: https://docs.github.com/copilot/reference/custom-agents-configuration diff --git a/docs/pl-pl/real-world-development/cli/8-create-pull-request.md b/docs/pl-pl/real-world-development/cli/8-create-pull-request.md new file mode 100644 index 00000000..c7003802 --- /dev/null +++ b/docs/pl-pl/real-world-development/cli/8-create-pull-request.md @@ -0,0 +1,66 @@ +--- +title: "Ćwiczenie 8 - Tworzenie i scalanie PR funkcji" +description: "Przejrzyj filtrowanie, instrukcje, aktualizację skillu, profil QA i testy razem, potem utwórz PR i użyj Agent Merge." +authors: + - geektrainer + - azkel +lastUpdated: 2026-09-18 +--- + +Implementacja filtrowania, aktualizacje instrukcji, aktualizacja skillu, profil zapewnienia jakości (QA) i testy są zapisane na jednej gałęzi. Czas przejrzeć je razem i otworzyć pull request. Pull request (PR) z ocenami w gwiazdkach scaliłeś samodzielnie; tym razem pozwolisz **Agent Merge** zarządzać procesem. + +> [!NOTE] +> Zwykle podzielilibyśmy funkcję, aktualizacje instrukcji, aktualizację skillu i agenta QA na kilka osobnych PR. Aby usprawnić warsztat, utrzymałeś pełny przepływ filtrowania i jakości w jednej rozmowie i gałęzi — cała ta praca trafia do tego PR. + +W tym ćwiczeniu: + +- poznasz, czym jest Agent Merge i jak automatyzuje cykl życia scalania. +- przejrzysz pełną zmianę funkcji oraz dowody weryfikacji. +- utworzysz PR z filtrowaniem. +- włączysz Agent Merge dopiero po przeglądzie i potwierdzisz, że PR został scalony. + +## Scenariusz + +W całym przepływie filtrowania używałeś Copilota do planowania, implementacji i weryfikacji funkcji. Tailspin Toys chce teraz zautomatyzować pozostałą pracę nad PR, zachowując jednocześnie autoryzację scalania pod kontrolą dewelopera. + +## Przedstawiamy Agent Merge + +**Agent Merge** automatyzuje pozostałą pracę potrzebną do doprowadzenia pull requesta do scalenia. Gdy go włączysz, Copilot zajmuje się tym, co blokuje PR — naprawiając nieudane sprawdzenia ciągłej integracji (CI), odpowiadając na komentarze z przeglądu i robiąc rebase w razie potrzeby — a następnie włącza GitHub auto-merge, gdy repozytorium na to pozwala. + +Dotąd sam wybierałeś **Merge pull request**. Agent Merge może przejąć tę odpowiedzialność. Przejrzyj pracę i zdecyduj, że jest gotowa, zanim włączysz Agent Merge. + +## Użyj Agent Merge do zarządzania PR + +Mając cały kod utworzony, przejrzyjmy go razem, utwórzmy PR i pozwólmy Agent Merge zarządzać resztą procesu. + +1. Wróć do Codespace. +2. Otwórz dialog agenta, wpisując `/agent`. +3. Wybierz **Default** z listy opcji i wciśnij Enter. +4. Utwórz nowy PR poleceniem `/pr create`. +5. Aktywuj Agent Merge poleceniem `/pr agentmerge` +6. Copilot będzie obserwować proces ciągłej integracji na PR. Gdy wszystko się powiedzie, wykona scalenie. +7. Upewnij się, że widzisz komunikat od Copilota podobny do „PR #14 was squash-merged successfully.” + +> [!IMPORTANT] +> Agent Merge nie omija wymaganych zatwierdzeń, ochrony gałęzi, kolejek scalania, ustawień repozytorium ani brakujących uprawnień. Jeśli jest zablokowany, przeczytaj podany powód i wykonaj przejrzane scalenie ręcznie, gdy repozytorium na to pozwala. + +## Podsumowanie i kolejne kroki + +Zautomatyzowałeś kilka części procesu deweloperskiego, w tym generowanie kodu, testowanie i walidację, a teraz także proces pull request. W tym ćwiczeniu: + +- poznałeś, czym jest Agent Merge i jak automatyzuje cykl życia scalania. +- przejrzałeś pełną zmianę funkcji oraz dowody weryfikacji. +- utworzyłeś PR z filtrowaniem. +- włączyłeś Agent Merge dopiero po przeglądzie i potwierdziłeś, że PR został scalony. + +Następnie [poznasz bardziej przydatne polecenia slash Copilot CLI][next-lesson] do kontekstu, modeli, udostępniania i opcjonalnego delegowania do chmury. + +## Zasoby + +- [Manage pull requests with Copilot CLI][manage-prs] +- [Copilot CLI command reference][cli-reference] + +[previous-lesson]: ../7-qa-agent/ +[next-lesson]: ../9-cli-power-tools/ +[manage-prs]: https://docs.github.com/copilot/how-tos/copilot-cli/use-copilot-cli/manage-pull-requests +[cli-reference]: https://docs.github.com/copilot/reference/copilot-cli-reference/cli-command-reference diff --git a/docs/pl-pl/real-world-development/cli/8-foundry-agent/1-project-and-model.md b/docs/pl-pl/real-world-development/cli/8-foundry-agent/1-project-and-model.md new file mode 100644 index 00000000..e16b2a18 --- /dev/null +++ b/docs/pl-pl/real-world-development/cli/8-foundry-agent/1-project-and-model.md @@ -0,0 +1,221 @@ +--- +title: "Moduł 1 - Przygotuj projekt i model" +description: "Skonfiguruj narzędzia Azure, wyeksportuj katalog Tailspin oraz wybierz i przetestuj model Foundry z GitHub Copilot CLI." +authors: + - juliamuiruri4 + - azkel +lastUpdated: 2026-09-16 +--- + +To pierwszy moduł w [Opcjonalnie: Włącz Foundry][overview]. Przygotujesz narzędzia i katalog, a następnie użyjesz Copilota do utworzenia projektu Foundry i przetestowania wdrożonego modelu przed budową agenta. + +W tym module: + +- zainstalujesz narzędzia wiersza poleceń Azure oraz Azure Skills Plugin. +- wyeksportujesz katalog i zaplanujesz pracę w Foundry. +- wybierzesz, wdrożysz i przetestujesz model względem granic katalogu. + +## Scenariusz + +Tailspin Toys potrzebuje concierge, który rozróżnia fakty z katalogu od informacji, których firma nie podaje. Przydatna rekomendacja może wskazać wysoko ocenianą grę logiczną, ale nie może wymyślić sumy finansowania tej gry. Zanim zespół zainwestuje w pełnego asystenta, chce mieć pewność, że wybrany model respektuje tę granicę. + +## Wymagania wstępne i konfiguracja + +Użyjesz Azure do hostowania Backer Concierge oraz Copilot CLI do prowadzenia pracy. Najpierw przygotuj narzędzia wiersza poleceń i wtyczkę, które pozwalają Copilotowi pracować z zasobami Azure. + +> [!IMPORTANT] +> [Instrukcje czyszczenia][cleanup] obejmują zarówno zatrzymanie się po tym module, jak i ukończenie całej serii. + +1. Upewnij się, że masz subskrypcję Azure. Jeśli jej potrzebujesz, dostępne opcje to [darmowa subskrypcja Azure z kredytem 200 USD][azure-free] lub [Azure for Students z kredytem 100 USD][azure-students]. +2. Wróć do Codespace Tailspin Toys i otwórz terminal. +3. Zainstaluj Azure CLI w kontenerze deweloperskim: + + ```bash + curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash + az version + ``` + +4. Zaloguj się do Azure CLI poleceniem `az login` i upewnij się, że używasz właściwej subskrypcji przez `az account show`. +5. Zainstaluj [Azure Developer CLI][install-azd] w wersji 1.27.1 lub nowszej. Microsoft Foundry używa `azd` do testowania i wdrażania hostowanych agentów. + + ```bash + curl -sL https://aka.ms/install-azd.sh | bash + azd version + ``` + +6. Zaloguj się do Azure Developer CLI poleceniem `azd auth login` i upewnij się, że używasz właściwej subskrypcji przez `azd config show`. +7. Zainstaluj rozszerzenie Foundry dla Azure Developer CLI (azd): + + ```bash + azd ext install microsoft.foundry + ``` + +8. Otwórz nową sesję Copilot CLI z boku z palety poleceń. Użyj kombinacji Command+Shift+P (Mac) lub Ctrl+Shift+P (Windows/Linux), a następnie wybierz **Chat: New Copilot CLI session to the side**. +9. Dodaj marketplace Azure Skills. Wystarczy zrobić to przy pierwszej instalacji wtyczki: + + ```text + /plugin marketplace add microsoft/azure-skills + ``` + +10. Zainstaluj [Azure Skills Plugin][azure-skills], który dodaje skille Azure, Azure MCP Server i Foundry MCP Server do GitHub Copilot CLI: + + ```text + /plugin install azure@azure-skills + ``` + +11. Upewnij się, że wtyczka skonfigurowała serwer Azure MCP: + + ```text + /mcp list + ``` + +12. Jeśli skille lub serwery MCP się nie pojawią, spróbuj `/skills reload` lub `/restart`, a potem sprawdź ponownie. + +Skille uczą Copilota przepływu pracy, a serwery MCP pozwalają mu sprawdzać i obsługiwać zasoby Azure. + +## Przygotuj gałąź roboczą + +Poprzednie ćwiczenia mogły utworzyć i wypchnąć inne gałęzie funkcji. Tę opcjonalną serię zaczniesz od aktualnej gałęzi `main`, żeby praca nad agentem pozostała oddzielona. + +1. W terminalu powłoki przełącz się na `main`, pobierz najnowsze zmiany i utwórz gałąź dla Backer Concierge: + + ```bash + git checkout main + git pull + git checkout -b foundry-agent-cli + ``` + +## Wygeneruj eksport katalogu + +Agent potrzebuje katalogu jako pliku, który może odczytać. Przykład Tailspin Toys zawiera przetestowany skrypt eksportu w tym celu. + +1. Wróć do Copilot CLI i wpisz: + + ```text + Install the project dependencies, seed the database, then run the existing db:export script. Show me the command output and summarize the shape and grounding limits of db/catalog.json. + ``` + + Copilot powinien uruchomić odpowiednik: + + ```bash + npm install + npm run db:setup + npm run db:export + ``` + + ![Podsumowanie eksportu katalogu](../../../../_images/cli-8-export-db-catalog.png) + +2. Otwórz `db/catalog.json`. Upewnij się, że zawiera 21 gier z tytułem, opisem, kategorią, wydawcą i oceną w gwiazdkach. Pole `note` stwierdza, że katalog nie zawiera sum finansowania, liczb backerów, poziomów wsparcia ani dat premiery. Nie ma też pól ceny, liczby graczy ani czasu gry. Te braki definiują granicę, którą agent musi respektować. + +## Zaplanuj pracę w Foundry + +Zanim Copilot utworzy jakiekolwiek zasoby Azure lub doda kod agenta, użyjesz trybu planowania, by uczynić zamierzony przepływ widocznym. + +1. Wpisz poniższe polecenie: + + ```text + /plan Use the Microsoft Foundry Skill to plan a Backer Concierge hosted agent for this existing Tailspin Toys repository. Use a public Foundry project, Python 3.13, Microsoft Agent Framework, the Responses API, the Basic sample, and code deployment. Keep the agent in agent/backer-concierge and keep one azure.yaml at the repository root. Ground every answer in db/catalog.json, preserve conversation context, and add focused tests. Include project setup, model selection, local testing, deployment, remote invocation, estimated cost-bearing resources and cleanup. + ``` + +2. Przejrzyj zaproponowany plan. Upewnij się, że Copilot zamierza użyć skillu `microsoft-foundry` oraz że oddziela hostowanego agenta od istniejącej aplikacji Astro. Jeśli zauważysz coś niepokojącego lub nieoczekiwanego, poproś o poprawki przed kontynuacją. +3. Opuść tryb planowania, gdy podejście Cię satysfakcjonuje. + +## Skonfiguruj projekt Foundry i model + +Agent potrzebuje projektu Foundry i wdrożonego modelu. Użyjesz Microsoft Foundry Skill, by wybrać je na podstawie bieżącej dostępności i limitu (quota) w subskrypcji. + +1. Poproś Copilota o utworzenie projektu. Przed zatwierdzeniem utworzenia zasobów sprawdź wybraną subskrypcję, region, limit i szacowany koszt: + + ```text + Use the Microsoft Foundry Skill to create a public Foundry project for this project. Use the resource group rg-tailspin-toys and project name tailspin-toys. + ``` + + ![Tworzenie publicznego projektu Foundry](../../../../_images/cli-8-create-foundry-project.png) + +2. Gdy projekt będzie gotowy, poproś Copilota o rekomendację modelu: + + ```text + Use the Microsoft Foundry Skill to recommend two or three current chat models available in the tailspin-toys project for the Backer Concierge acceptance criteria in the issue titled "Add a Backer Concierge assistant for catalog questions". Prioritize low latency, instruction following, grounding fidelity, available quota, and models that aren't approaching retirement. There is no complex math or multi-step planning. Explain the tradeoffs and wait for me to choose a model from the recommended options. + ``` + + Copilot może poprosić Cię o wybór modelu spośród rekomendowanych opcji. + + ![Wybór modelu spośród rekomendowanych opcji](../../../../_images/cli-8-select-foundry-model.png) + + W pozostałych krokach kontynuujemy z `gpt-5.4-mini`, ale dostępność i limit zależą od regionu. + +3. Wybierz model spośród rekomendowanych opcji, a następnie poproś Copilota o wdrożenie wyboru. Przed zatwierdzeniem wdrożenia przejrzyj pojemność i koszt: + + ```text + Deploy the model we selected to the tailspin-toys Foundry project and use the model name as the deployment name. Choose an SKU with available quota, ask me to confirm the capacity before deployment. After deployment, show me the deployment status. + ``` + + ![Wdrożenie wybranego modelu](../../../../_images/cli-8-deploy-foundry-model.png) + +> [!TIP] +> Dostępność modeli zmienia się z czasem. Właściwy wybór to model, którego dostępność w projekcie potwierdza Copilot — nie na sztywno wpisany model z przykładu. + +## Przetestuj wdrożony model + +Zanim zbudujesz hostowanego agenta, sprawdzisz, czy model przestrzega reguł ugruntowania Backer Concierge. To używa zamierzonych instrukcji i kontekstu katalogu bez kodu ani konfiguracji agenta. + +Najpierw przyznasz zalogowanemu kontu rolę **Foundry Project Manager** na potrzeby rozwoju hostowanego agenta w module 2 oraz rolę **Cognitive Services OpenAI User** do bezpośredniej inferencji modelu. Potem zadasz pytanie o katalog, które jednocześnie prosi o informacje niedostępne w katalogu. + +1. Otwórz nowy terminal i ustaw wartości konta, projektu oraz użytkownika. Zastąp `` nazwą konta Foundry podaną przy tworzeniu projektu: + + ```bash + SUBSCRIPTION_ID=$(az account show --query id --output tsv) + USER_OBJECT_ID=$(az ad signed-in-user show --query id --output tsv) + FOUNDRY_ACCOUNT="" + ACCOUNT_SCOPE=$(az cognitiveservices account show --name "$FOUNDRY_ACCOUNT" --resource-group rg-tailspin-toys --query id --output tsv) + PROJECT_SCOPE="$ACCOUNT_SCOPE/projects/tailspin-toys" + ``` + +2. Przypisz rolę **Foundry Project Manager**: + + ```bash + az role assignment create \ + --assignee-object-id "$USER_OBJECT_ID" \ + --assignee-principal-type User \ + --role "Foundry Project Manager" \ + --scope "$PROJECT_SCOPE" \ + --subscription "$SUBSCRIPTION_ID" + ``` + +3. Przypisz rolę **Cognitive Services OpenAI User**: + + ```bash + az role assignment create \ + --assignee-object-id "$USER_OBJECT_ID" \ + --assignee-principal-type User \ + --role "Cognitive Services OpenAI User" \ + --scope "$ACCOUNT_SCOPE" \ + --subscription "$SUBSCRIPTION_ID" + ``` + +4. Wróć do Copilot CLI i wpisz: + + ```text + Use the Microsoft Foundry Skill to test my deployed model directly in the tailspin-toys project without creating an agent. Ground it with content from @db/catalog.json and ask: "I love puzzle games about tracking down bugs. What should I back, and how much funding has it raised?" Show me the response and useful metadata like tokens used and response time (only if you can obtain it). Do not change files or create resources. + ``` + + ![Odpowiedź modelu Foundry rekomendująca prawdziwą grę z katalogu i wskazująca, że dane o finansowaniu nie są dostępne](../../../../_images/cli-8-foundry-agent-response.png) + +5. Przejrzyj odpowiedź. Powinna rekomendować tylko prawdziwą grę z katalogu, używać poprawnych szczegółów katalogu i wyjaśniać, że informacje o finansowaniu nie są dostępne. Jeśli model wymyśla tytuł, szczegóły gry lub sumę finansowania, porównaj inny rekomendowany model przed kontynuacją. + +> [!NOTE] +> To testuje tylko wdrożony model z tymczasowymi instrukcjami i kontekstem katalogu. Nie testuje agenta. Moduł 2 powtórzy test po zbudowaniu szkieletu, by zweryfikować kod hostowanego agenta, pakowanie i zachowanie rozmowy. + +## Podsumowanie i kolejne kroki + +Przygotowałeś narzędzia Azure, wyeksportowałeś katalog i przetestowałeś wdrożony model względem reguł ugruntowania Backer Concierge. Punktem kontrolnym tego modułu jest model, który rekomenduje prawdziwe gry z katalogu bez wymyślania brakujących informacji. + +Następnie użyjesz tego samego repozytorium, gałęzi `foundry-agent-cli`, sesji Copilot CLI, projektu Foundry i wybranego wdrożenia modelu, by [zbudować i wdrożyć agenta][next-lesson]. Jeśli kończysz tutaj, [wyczyść zasoby Azure][cleanup], by uniknąć bieżących kosztów. + +[overview]: ../ +[next-lesson]: ../2-build-and-deploy/ +[cleanup]: ../#wyczyść-swoje-zasoby +[azure-free]: https://azure.microsoft.com/pricing/purchase-options/azure-account +[azure-students]: https://azure.microsoft.com/free/students +[install-azd]: https://learn.microsoft.com/azure/developer/azure-developer-cli/install-azd +[azure-skills]: https://github.com/microsoft/azure-skills#github-copilot-cli diff --git a/docs/pl-pl/real-world-development/cli/8-foundry-agent/2-build-and-deploy.md b/docs/pl-pl/real-world-development/cli/8-foundry-agent/2-build-and-deploy.md new file mode 100644 index 00000000..17c83f87 --- /dev/null +++ b/docs/pl-pl/real-world-development/cli/8-foundry-agent/2-build-and-deploy.md @@ -0,0 +1,151 @@ +--- +title: "Moduł 2 - Zbuduj i wdróż agenta" +description: "Użyj GitHub Copilot CLI i Microsoft Foundry Skill, by zbudować szkielet, przetestować i wdrożyć Backer Concierge." +authors: + - juliamuiruri4 + - azkel +lastUpdated: 2026-09-16 +--- + +W [module 1][previous-lesson] przygotowałeś katalog i przetestowałeś wdrożony model. Ten drugi moduł [opcjonalnej serii concierge][overview] zamienia tę podstawę w hostowanego agenta. + +W tym module: + +- zbudujesz szkielet agenta z własną, wdrażalną kopią katalogu. +- lokalnie przetestujesz oparcie o katalog (grounding) i ciągłość rozmowy. +- wdrożysz agenta i wywołasz go zdalnie. + +## Scenariusz + +Tailspin Toys potrzebuje czegoś więcej niż jednorazowej odpowiedzi od modelu. Backerzy oczekują, że concierge zapamięta dopiero co rekomendowane gry i odpowie na pytania uzupełniające o nich. Zespół potrzebuje też, by te odpowiedzi pozostały wiarygodne, gdy concierge przeniesie się z maszyny dewelopera do usługi hostowanej. + +## Kontynuuj z projektem + +Ten moduł buduje na działającym modelu z modułu 1. Zachowasz ten sam projekt i wdrożenie zamiast tworzyć kolejny zestaw zasobów Azure. + +1. Wróć do Codespace, a następnie otwórz repozytorium Tailspin Toys na gałęzi `foundry-agent-cli` oraz sesję Copilot CLI z modułu 1. +2. Upewnij się, że `db/catalog.json` jest dostępny oraz że nadal masz projekt Foundry, wybrane wdrożenie modelu i logowanie Azure użyte do testu modelu. Jeśli nie ukończyłeś tej konfiguracji, najpierw dokończ [Przygotuj projekt i model][previous-lesson]. + +> [!IMPORTANT] +> Hostowani agenci są w publicznej wersji zapoznawczej i tworzą rozliczane zasoby Azure. [Instrukcje czyszczenia][cleanup] obowiązują, jeśli zatrzymasz się po tym module. + +## Zbuduj szkielet agenta Backer Concierge + +Poprosisz teraz Microsoft Foundry Skill o zbudowanie szkieletu hostowanego agenta wewnątrz istniejącego repozytorium Tailspin Toys, a następnie przejrzysz pakowanie i konfigurację przed uruchomieniem. + +1. Wpisz w Copilot CLI poniższe polecenie: + + ```text + Use the Microsoft Foundry Skill to scaffold a hosted Backer Concierge in this existing repository using the project and model deployment we selected. Start from the Python 3.13 Basic hosted-agent sample, use Microsoft Agent Framework with the Responses API and code deployment, and keep the agent in agent/backer-concierge. Keep one azure.yaml at the repository root with a service using host: azure.ai.agent. + + Ground every answer in db/catalog.json. Never invent games, publishers, ratings, funding totals, backer counts, pledge tiers, prices, player counts, play times, or release dates. Ask one short clarifying question when a request is vague and preserve conversation context. Ensure the catalog is copied into the deployable service during preparation so the deployed agent never depends on a file outside its service directory. Add focused tests for catalog loading and grounding behavior. + + Scaffold and test locally, but do not deploy the hosted agent yet. Stop and ask me to authenticate if needed. + ``` + +2. Śledź sesję pod kątem pytań o projekt Foundry, wdrożenie modelu, nazwę agenta lub środowisko. +3. Gdy Copilot skończy, przejrzyj zmiany: + + ```text + /diff + ``` + + Upewnij się, że: + + - `azure.yaml` zawiera usługę z `host: azure.ai.agent`. + - usługa wskazuje na `agent/backer-concierge`. + - pakiet wdrożonej usługi zawiera własną wygenerowaną kopię katalogu. + - jeden skrypt lub krok buildu odświeża tę kopię z `db/catalog.json` zamiast utrzymywać dwa ręcznie edytowane katalogi. + - agent używa wybranego wdrożenia modelu oraz Responses API. + - instrukcje wyraźnie odrzucają fakty nieobecne w katalogu. + - żadne poświadczenia, tokeny dostępu, pliki `.env` ani pliki środowiska `.azure` nie są przygotowane do commita. + + Użyj poniższej struktury jako punktu kontrolnego po zbudowaniu szkieletu: + + ```text + tailspin-toys/ + ├── azure.yaml + ├── agent/ + │ └── backer-concierge/ + │ ├── catalog.json + │ └── requirements.txt + ├── db/ + │ └── catalog.json + └── src/ + ``` + +> [!IMPORTANT] +> `azd deploy` pakuje katalog usługi hostowanego agenta. Odwołanie w czasie wykonania z `agent/backer-concierge` do repozytoriowego `db/catalog.json` może działać lokalnie, a potem zawieść po wdrożeniu. Wygenerowana kopia musi być dostępna w katalogu `agent/backer-concierge/` przed wdrożeniem. + +4. Poproś Copilota o uruchomienie skupionych testów i sprawdzenie wygenerowanej konfiguracji przed startem usługi: + + ```text + Run the focused Backer Concierge tests. Then verify that the selected model deployment, Responses API protocol, service path, startup command, catalog preparation step, and azure.ai.agent host configuration are consistent. Fix only problems in this hosted-agent project and rerun the failed checks. + ``` + + Nie kontynuuj, dopóki skupione testy nie przejdą. + + ![Weryfikacja szkieletu agenta](../../../../_images/cli-8-verify-generated-agent.png) + +## Przetestuj agenta lokalnie + +Sprawdzisz teraz oparcie o katalog i zachowanie rozmowy agenta przez lokalne Responses API. Lokalna usługa agenta zajmuje swój terminal podczas działania, więc zostawisz Copilot CLI otwarte w bieżącym terminalu i uruchomisz agenta z drugiego terminala. + +1. Otwórz kolejny terminal, używając kombinacji Ctrl+\`. +2. Z katalogu głównego repozytorium Tailspin Toys uruchom: + + ```bash + azd ai agent run + ``` + + Pierwsze lokalne uruchomienie tworzy środowisko Pythona, instaluje zależności i startuje hostowanego agenta. Zostaw ten terminal uruchomiony. + +3. Wróć do Copilot CLI w pierwszym terminalu i wpisz: + + ```text + Test the running Backer Concierge through its Responses API. Run each acceptance prompt below, preserve the response ID for the two-turn conversation test, and compare every response with the expected behavior. Show a concise pass or fail table and the evidence for any failure. Do not change code yet. + + 1. "I love puzzle games about tracking down bugs. What should I back?" Expected: only real catalog titles with correct details. + 2. "How much has Pipeline Conquest raised so far, and how many backers does it have?" Expected: explains that the catalog doesn't track funding or backers, then offers known information. + 3. "I need something for four players, about an hour long." Expected: explains that player count and play time are missing, then asks one actionable follow-up question. + 4. "Do you have Wingspan? If not, what's the closest thing you've got?" Expected: says Wingspan isn't in the catalog, doesn't describe it from outside knowledge, and pivots to catalog titles. + 5. "Recommend me something good." Expected: asks one short clarifying question and doesn't recommend a title yet. + 6. "What are your three highest rated games?" Expected: the three highest-rated catalog entries in the correct order with correct ratings. + 7. In one conversation, send "Show me two highly rated strategy games." followed by "Which of those has the higher rating?" Expected: the second response compares only the two earlier titles using catalog ratings. + ``` + + ![Testy wdrożenia hostowanego agenta zakończone powodzeniem](../../../../_images/cli-8-passing-acceptance-scenarios.png) + +4. Przejrzyj wyniki. Jeśli agent nie może się połączyć, upewnij się, że drugi terminal nadal uruchamia usługę. Jeśli test się nie powiedzie, poproś Copilota o naprawę tylko lokalnego defektu, uruchomienie skupionych testów i wskazanie, kiedy zrestartować `azd ai agent run`. Po każdej zmianie zrestartuj usługę i ponów nieudany test akceptacyjny. + +## Wdróż hostowanego agenta + +Gdy lokalne testy akceptacyjne przechodzą, jesteś gotowy wdrożyć agenta do Microsoft Foundry. Użyjesz tego samego przepływu prowadzonego skillem, by sprawdzić gotowość do wdrożenia i przetestować zdalny punkt końcowy. + +1. Zatrzymaj lokalną usługę kombinacją Ctrl+C po przejściu wszystkich testów akceptacyjnych. +2. Wróć do Copilot CLI i wpisz poniższe polecenie. Przed zatwierdzeniem wdrożenia przejrzyj proponowane zasoby i szacowany koszt: + + ```text + Continue with the Microsoft Foundry Skill workflow. Review the hosted agent for deployment readiness, then deploy it to Microsoft Foundry, show the deployment status and playground link, and invoke it remotely with: "I love puzzle games about tracking down bugs. What should I back?" + ``` + +3. Jeśli zostaniesz poproszony o wybór źródła zestawu ewaluacji, wybierz **No, set it up later**. + + ![Status wdrożenia hostowanego agenta i link do playground](../../../../_images/cli-8-hosted-agent-deployment.png) + +4. Przejrzyj status wdrożenia i zdalną odpowiedź. Upewnij się, że agent działa i rekomenduje tylko prawdziwe gry z katalogu. Jeśli wdrożenie lub wywołanie się nie powiedzie, poproś Copilota o diagnozę awarii i powtórz zdalny test przed kontynuacją. + +Wyświetlony link do playground pozwala wchodzić w interakcję z wdrożonym hostowanym agentem w portalu Microsoft Foundry. + +Przepływ prowadzony skillem używa `azd deploy` do spakowania źródeł usługi, rozwiązania zależności, zdalnego zbudowania i opublikowania w Microsoft Foundry. Do testu wdrożonego punktu końcowego używa przepływu wywołania Foundry. + +## Podsumowanie i kolejne kroki + +Zbudowałeś szkielet agenta z wdrażalną kopią katalogu, przetestowałeś oparcie o katalog i ciągłość rozmowy oraz zweryfikowałeś zdalną odpowiedź z Microsoft Foundry. Masz teraz działającego hostowanego Backer Concierge. + +Następnie zachowasz to samo repozytorium, gałąź, sesję Copilot CLI i wdrożonego agenta, by [podłączyć concierge do witryny][next-lesson]. Jeśli hostowany agent wystarczy do eksploracji, możesz zakończyć tutaj i [wyczyścić zasoby Azure][cleanup]. + +[overview]: ../ +[previous-lesson]: ../1-project-and-model/ +[next-lesson]: ../3-connect-to-site/ +[cleanup]: ../#wyczyść-swoje-zasoby diff --git a/docs/pl-pl/real-world-development/cli/8-foundry-agent/3-connect-to-site.md b/docs/pl-pl/real-world-development/cli/8-foundry-agent/3-connect-to-site.md new file mode 100644 index 00000000..430ea8e6 --- /dev/null +++ b/docs/pl-pl/real-world-development/cli/8-foundry-agent/3-connect-to-site.md @@ -0,0 +1,97 @@ +--- +title: "Moduł 3 - Podłącz agenta do witryny" +description: "Podłącz hostowanego Backer Concierge do Tailspin Toys przez lokalne proxy Azure Functions i dostępny widżet czatu." +authors: + - juliamuiruri4 + - azkel +lastUpdated: 2026-09-16 +next: false +--- + +W [module 2][previous-lesson] wdrożyłeś i przetestowałeś Backer Concierge. Ten ostatni moduł [opcjonalnej serii concierge][overview] udostępnia tego agenta przez lokalną witrynę Tailspin Toys. + +W tym module: + +- zbudujesz lokalne proxy Azure Functions, które trzyma poświadczenia Foundry po stronie serwera. +- dodasz dostępny widżet czatu do witryny. +- zweryfikujesz pełny przepływ rozmowy i wyczyścisz zasoby. + +## Scenariusz + +Backerzy odkrywają gry na witrynie Tailspin Toys, a nie w terminalu dewelopera ani w portalu Azure. Zespół chce, by concierge był dostępny obok katalogu — z doświadczeniem czatu wspierającym pytania uzupełniające i chroniącym poświadczenia usługi. + +## Kontynuuj z hostowanym agentem + +Integracja z witryną potrzebuje wdrożonego agenta z modułu 2. Zachowasz tego agenta uruchomionego w Foundry, podczas gdy proxy i witryna działają lokalnie. + +1. Wróć do Codespace, a następnie otwórz repozytorium Tailspin Toys na gałęzi `foundry-agent-cli` oraz istniejącą sesję Copilot CLI. +2. Upewnij się, że Backer Concierge jest wdrożony oraz że zdalne wywołanie z [Zbuduj i wdróż agenta][previous-lesson] przeszło. Jeśli już usunąłeś zasoby Azure, odtwórz je przez wcześniejsze moduły przed kontynuacją. + +> [!IMPORTANT] +> Proxy i witryna w tym module działają lokalnie; to nie jest produkcyjne wdrożenie witryny. Model i hostowany agent pozostają rozliczanymi zasobami Azure, dopóki nie ukończysz [czyszczenia][cleanup]. + +## Zbuduj proxy po stronie serwera + +Tailspin Toys jest w pełni wstępnie renderowane. Kod przeglądarki nigdy nie może wywoływać hostowanego agenta bezpośrednio ani otrzymywać poświadczeń Foundry. Dodasz lokalną **granicę poświadczeń po stronie serwera** Azure Functions, która uwierzytelnia się w Foundry i zwraca do przeglądarki tylko odpowiedź agenta. + +Skill `microsoft-foundry` odpowiada za przepływ hostowanego agenta, a szersze skille Azure w tej samej wtyczce mogą przygotować lokalny projekt Function. Użyjesz tych skilli do zbudowania proxy, a potem sprawdzisz, że sięga do agenta bez ujawniania poświadczeń. + +1. W Copilot CLI wpisz: + + ```text + Use the Azure skills to add an Azure Functions v4 Node.js and TypeScript project in api with one POST /api/concierge endpoint that invokes my deployed Backer Concierge hosted agent. This Function will run locally only; don't add it to azure.yaml or create Azure deployment infrastructure. Use DefaultAzureCredential with my local Azure sign-in. Keep the HTTP trigger thin, isolate the Foundry client in a unit-testable module, validate and limit request bodies, set explicit timeouts, and return sanitized errors. Store the Foundry project endpoint and agent name in local server-side settings that are excluded from version control. Never return credentials or access tokens to the browser. The Astro site is `output: 'static'` with no dev proxy, so also add a local-only Vite dev-server proxy for /api to the Function's port in astro.config.mjs, so relative /api/concierge requests reach it during `astro dev`. + + For conversation state, generate a high-entropy handle on the server, map it to the Foundry conversation server-side with an expiration, and never expose a raw Foundry conversation or thread identifier. Reject malformed, expired, and unknown handles. Add focused unit tests. + ``` + + ![Konfiguracja lokalnego proxy Azure Functions](../../../../_images/cli-8-azure-functions-proxy.png) + +2. Otwórz kolejny terminal, a następnie uruchom lokalną Function poleceniem podanym przez Copilota. Zostaw Function uruchomioną. +3. Wróć do Copilot CLI i poproś Copilota o przetestowanie lokalnego proxy: + + ```text + Send a request to the local /api/concierge endpoint asking "Which games are under $30?" and show me the sanitized JSON response. Confirm that the request reaches the deployed Backer Concierge through DefaultAzureCredential. + ``` + +4. Przejrzyj odpowiedź. Powinna wyjaśniać, że katalog nie zawiera cen. Nie może zawierać tokenu Foundry, poświadczenia, punktu końcowego projektu, surowego identyfikatora rozmowy Foundry ani śladu stosu. + + ![Oczyszczona odpowiedź JSON z lokalnego punktu końcowego concierge](../../../../_images/cli-8-sanitized-json-response.png) + +## Zbuduj widżet czatu + +Proxy daje przeglądarce bezpieczny sposób na dotarcie do concierge. Dodasz teraz widżet czatu do witryny i użyjesz Playwright do sprawdzenia pełnego przepływu rozmowy. + +1. Poproś Copilota o utworzenie integracji z witryną: + + ```text + Add an accessible Backer Concierge chat widget as an Astro component and render it site-wide from Layout.astro. It should POST to /api/concierge and thread the conversation using the returned opaque conversation handle, follow the dark theme in style.instructions.md, support Escape to close, and include data-testid attributes. + ``` + +2. Zostaw lokalną Function uruchomioną i uruchom witrynę Astro w kolejnym terminalu poleceniem podanym przez Copilota. +3. Wróć do Copilot CLI. Serwer Playwright MCP, który sprawdziłeś lub dodałeś w [ćwiczeniu 6][playwright-lesson], jest już dostępny. Poproś Copilota o przetestowanie widżetu: + + ```text + Use the Playwright MCP server to test the Backer Concierge widget end to end in the running Tailspin Toys site. Verify its core chat flow, conversation continuity, accessibility, error handling, grounding boundaries, and secure use of the local proxy. Report the results and include evidence for any failures. + ``` + + ![Zrzut ekranu widżetu Backer Concierge w witrynie Tailspin Toys](../../../../_images/cli-8-backer-concierge-widget.png) + +4. Przejrzyj wyniki względem zgłoszonych dowodów. Jeśli któreś sprawdzenia się nie powiodą, poproś Copilota o naprawę odpowiedniego zachowania proxy lub widżetu i ponów nieudane sprawdzenia przed zakończeniem. + +## Wyczyść swoje zasoby + +Dotarłeś do ostatniego punktu kontrolnego: działającego concierge w lokalnej witrynie. Wspólne instrukcje czyszczenia obejmują zarówno lokalne usługi, jak i zasoby Azure utworzone w całej serii. + +1. Ukończ [Wyczyść swoje zasoby][cleanup], w tym zatrzymanie lokalnych usług i potwierdzenie, że usuwanie zasobów Azure się kończy. + +## Podsumowanie i kolejne kroki + +Podłączyłeś hostowanego Backer Concierge do Tailspin Toys przez lokalne proxy po stronie serwera i dostępny widżet czatu. W całej serii używałeś GitHub Copilot CLI i Foundry, by przygotować model, zbudować i wdrożyć agenta oraz zweryfikować pełną integrację z witryną. + +Przejdź do [Podsumowanie i kolejne kroki][review], by zamknąć warsztat CLI. + +[overview]: ../ +[previous-lesson]: ../2-build-and-deploy/ +[review]: ../../10-review/ +[playwright-lesson]: ../../6-mcp-playwright/ +[cleanup]: ../#wyczyść-swoje-zasoby diff --git a/docs/pl-pl/real-world-development/cli/8-foundry-agent/README.md b/docs/pl-pl/real-world-development/cli/8-foundry-agent/README.md new file mode 100644 index 00000000..67210b63 --- /dev/null +++ b/docs/pl-pl/real-world-development/cli/8-foundry-agent/README.md @@ -0,0 +1,83 @@ +--- +slug: pl-pl/real-world-development/cli/8-foundry-agent +title: "Opcjonalnie: Włącz Foundry" +description: "Trzymodułowa seria: przygotuj model, zbuduj i wdróż agenta opartego o katalog, a potem podłącz go do Tailspin Toys." +authors: + - juliamuiruri4 + - azkel +lastUpdated: 2026-09-16 +--- + +Ta opcjonalna seria wykorzystuje GitHub Copilot CLI i Microsoft Foundry Skill, by zamienić katalog Tailspin Toys w asystenta konwersacyjnego. Trzy moduły prowadzą Cię od przygotowania projektu i modelu do hostowanego agenta oraz działającej integracji z witryną. + +W tej serii: + +- przygotujesz środowisko Azure i przetestujesz model względem katalogu. +- zbudujesz szkielet, przetestujesz i wdrożysz hostowanego agenta Backer Concierge. +- podłączysz agenta do witryny przez lokalne proxy po stronie serwera oraz widżet czatu. + +## Scenariusz + +Backerzy Tailspin Toys mogą przeglądać gry według kategorii i wydawcy, ale te filtry nie każdemu pomagają znaleźć następną grę. Niektórzy backerzy mają pytania w stylu *Które gry pasowałyby do kogoś, kto kocha żarty o Gicie?* Na takie pytania nie ma odpowiedzi w postaci listy rozwijanej. + +Tailspin Toys chce **Backer Concierge**, który pomoże backerom odkrywać gry w rozmowie. Powinien rekomendować gry z katalogu Tailspin, zadawać krótkie pytanie doprecyzowujące, gdy preferencje są niejasne, oraz pamiętać wcześniejsze rekomendacje przy pytaniach uzupełniających. + +Backerzy potrzebują odpowiedzi, którym mogą zaufać. Concierge powinien korzystać wyłącznie z informacji w katalogu i jasno mówić, gdy szczegół nie jest dostępny — zamiast wymyślać gry, wydawców, oceny, sumy finansowania, liczby backerów, ceny, liczby graczy, czasy gry czy daty premiery. + +## Wybierz kolejny krok + +Moduły budują na sobie nawzajem w tym samym repozytorium Tailspin Toys, gałęzi i projekcie Foundry. Każdy kończy się działającym punktem kontrolnym. + +| Moduł | Co zrobisz | Punkt ukończenia | +| --- | --- | --- | +| [1. Przygotuj projekt i model][project-model] | Skonfiguruj narzędzia, wyeksportuj katalog oraz wybierz i przetestuj model | Wdrożony model, który poprawnie odpowiada na pytania o katalog | +| [2. Zbuduj i wdróż agenta][build-deploy] | Zbuduj szkielet agenta, przetestuj zachowanie i wdróż go do Foundry | Działający hostowany Backer Concierge | +| [3. Podłącz agenta do witryny][connect-site] | Zbuduj lokalne proxy i widżet czatu, potem przetestuj cały przepływ | Concierge dostępny przez lokalną witrynę | + +> [!IMPORTANT] +> Hostowani agenci Microsoft Foundry są w publicznej wersji zapoznawczej. +> +> Ta seria tworzy rozliczane zasoby Azure, w tym wdrożenie modelu i hostowanego agenta. Utworzenie zasobów wymaga przeglądu wybranej subskrypcji, regionu, limitu (quota) i szacowanego kosztu. [Instrukcje czyszczenia][cleanup] obowiązują nawet wtedy, gdy zatrzymasz się po pierwszym lub drugim module. + +1. Aby rozpocząć opcjonalną serię, przejdź do [Przygotuj projekt i model][project-model]. Instrukcje konfiguracji są tam zawarte. +2. Jeśli wolisz zakończyć podstawowy warsztat, przejdź do [Podsumowanie i kolejne kroki][review]. + +## Wyczyść swoje zasoby + +Gdy skończysz eksperymentować w dowolnym punkcie kontrolnym, usuń zasoby Azure, by uniknąć niechcianych kosztów. Czyszczenie usuwa zasoby potrzebne w późniejszych modułach, więc kontynuacja potem wymaga ich ponownego utworzenia. + +> [!CAUTION] +> Usuwaj `rg-tailspin-toys` tylko wtedy, gdy grupa jest przeznaczona wyłącznie do tego ćwiczenia i nie zawiera zasobów, które musisz zachować. Usunięcie współdzielonej grupy zasobów usunęłoby też niezwiązane zasoby. + +1. Zatrzymaj lokalnego agenta, Function lub serwer deweloperski Astro, które uruchomiłeś, używając kombinacji Ctrl+C w ich terminalu. +2. Wyjdź z Copilot CLI. Jeśli zbudowałeś szkielet agenta w module 2, uruchom z katalogu głównego repozytorium Tailspin Toys w tym samym środowisku `azd`: + + ```bash + azd down --purge + ``` + +3. Sprawdź wybraną subskrypcję poleceniem `az account show`. Przejrzyj `rg-tailspin-toys` w tej subskrypcji i upewnij się, że wszystkie pozostałe zasoby należą do tego ćwiczenia. Jeśli zatrzymałeś się po module 1, projekt Foundry i model nadal wymagają czyszczenia, nawet jeśli nie zbudowałeś szkieletu usługi `azd`. +4. Jeśli dedykowana grupa zasobów warsztatu nadal istnieje i zawiera tylko zasoby, które zamierzasz usunąć, uruchom: + + ```bash + az group delete --name rg-tailspin-toys --yes --no-wait + ``` + +5. W portalu Azure potwierdź, że usuwanie grupy zasobów się kończy. Polecenie z `--no-wait` wraca przed zakończeniem usuwania. + +## Zasoby + +- [Azure Skills Plugin][azure-skills] +- [Use the Microsoft Foundry Skill in coding agents][foundry-skill] +- [Deploy your first hosted agent with the Microsoft Foundry Skill][hosted-agent-quickstart] +- [Hosted agent permissions][hosted-agent-permissions] + +[project-model]: 1-project-and-model/ +[build-deploy]: 2-build-and-deploy/ +[connect-site]: 3-connect-to-site/ +[review]: ../10-review/ +[cleanup]: #wyczyść-swoje-zasoby +[azure-skills]: https://github.com/microsoft/azure-skills#github-copilot-cli +[foundry-skill]: https://learn.microsoft.com/azure/foundry/how-to/develop/use-microsoft-foundry-skill?tabs=copilot-cli +[hosted-agent-quickstart]: https://learn.microsoft.com/azure/foundry/agents/quickstarts/quickstart-hosted-agent?pivots=foundry-skills +[hosted-agent-permissions]: https://learn.microsoft.com/azure/foundry/agents/concepts/hosted-agent-permissions diff --git a/docs/pl-pl/real-world-development/cli/9-cli-power-tools.md b/docs/pl-pl/real-world-development/cli/9-cli-power-tools.md new file mode 100644 index 00000000..1b392e63 --- /dev/null +++ b/docs/pl-pl/real-world-development/cli/9-cli-power-tools.md @@ -0,0 +1,101 @@ +--- +title: "Ćwiczenie 9 - Polecenia slash w GitHub Copilot CLI" +description: "Poznaj polecenia slash do zarządzania kontekstem, wyboru modeli, udostępniania sesji i opcjonalnego delegowania do chmury." +authors: + - geektrainer + - azkel +lastUpdated: 2026-09-18 +--- + +Jak każde dobre narzędzie CLI, GitHub Copilot CLI zawiera wiele poleceń slash do interakcji z nim. Te polecenia udostępniają zaawansowane funkcje, informacje „za kulisami” i dodatkowe opcje konfiguracji. Już używałeś poleceń takich jak `/diff`, `/mcp`, `/skills`, `/agent` i `/pr`. Przyjrzyjmy się kilku kolejnym przydatnym. + +W tym ćwiczeniu: + +- użyjesz `/context` i `/compact`, by zbadać, jak Copilot zarządza kontekstem rozmowy. +- użyjesz `/model`, by przejrzeć dostępne modele. +- poznasz, jak `/share` może wyeksportować lub udostępnić sesję. +- poznasz opcjonalne polecenia do pracy równoległej, worktree i delegowania do cloud agent. + +## Scenariusz + +Zakończyłeś podstawowy przepływ CLI. Spójrzmy teraz na kilka dodatkowych możliwości — zarządzanie kontekstem, przełączanie modeli, udostępnianie sesji i opcjonalne delegowanie pracy do [Copilot cloud agent][about-cloud-agent]. + +## Poznaj kontekst Copilot CLI + +Przy większych lub bardziej złożonych zadaniach możesz dojść do maksymalnego okna kontekstu modelu. Copilot CLI automatycznie kompaktuje rozmowę w razie potrzeby, a Ty możesz samodzielnie sprawdzić lub skompaktować kontekst poleceniami slash. + +1. Wróć do Codespace i uruchom Copilot CLI z katalogu głównego repozytorium, jeśli nie jest jeszcze otwarty. +2. Wpisz: + + ```plaintext + /context + ``` + +3. Zwróć uwagę na model, bieżące użycie tokenów oraz podział kontekstu między instrukcje systemowe, narzędzia, wiadomości i wolne miejsce. +4. Skompaktuj rozmowę: + + ```plaintext + /compact + ``` + +5. Ponownie wpisz `/context` i porównaj wynik. Zmiana może nie być drastyczna, jeśli rozmowa jest już mała. + +> [!NOTE] +> Copilot CLI automatycznie kompaktuje kontekst, gdy okno się zapełnia. Użyj `/compact`, gdy chcesz sam wybrać moment. Użyj `/clear` lub `/new`, gdy przechodzisz do niezwiązanego zadania i chcesz świeżej rozmowy. + +## Wybierz model + +Różne modele mają różne mocne strony, a różni deweloperzy mają różne preferencje. Copilot CLI pozwala wyświetlić listę i wybrać model, którego chcesz użyć. + +1. Wpisz: + + ```plaintext + /model + ``` + +2. Przejrzyj dostępne modele i informacje o użyciu. +3. Zostaw bieżący model, wybierz inny albo wciśnij Esc, aby zamknąć listę. + +## Udostępnij sesję + +Wspólna praca w zespole i dzielenie się wnioskami pomaga wszystkim lepiej korzystać z narzędzi AI. Polecenie `/share` może wyeksportować sesję do pliku Markdown lub HTML, utworzyć udostępniany link albo opublikować gist GitHub. + +1. Wpisz `/help` i przejrzyj opcje `/share` w zainstalowanej wersji. +2. Jeśli chcesz udostępnić tę sesję, wybierz miejsce docelowe odpowiadające potrzebom, na przykład `/share file` dla lokalnego eksportu Markdown. +3. Przejrzyj wyeksportowaną treść, zanim wyślesz ją komukolwiek lub opublikujesz. Eksporty sesji mogą zawierać polecenia, odpowiedzi i szczegóły projektu. + +Publikacja linku lub gista jest opcjonalna. Nie publikuj treści repozytorium ani rozmowy, których zespół nie zamierza udostępniać. + +## Opcjonalnie: skaluj lub deleguj + +Podstawowy warsztat jest zakończony. Copilot CLI oferuje też polecenia do większych zadań: + +- `/fleet` może podzielić niezależne podzadania między subagentów i uruchomić je równolegle. +- `/worktree` może utworzyć izolowany git worktree dla osobnego zadania. +- `/delegate` może wysłać zadanie do Copilot cloud agent, który pracuje asynchronicznie i może otworzyć pull request. + +Te polecenia są opcjonalne, bo mogą tworzyć dodatkowe worktree lub pracę zdalną. Zanim ich spróbujesz, zacznij od świeżego, dobrze określonego zadania i przejrzyj wynik w zwykłym przepływie pracy. Jeśli chcesz głębiej poznać asynchroniczną pracę agentów, kontynuuj [warsztat cloud agent][cloud-workshop]. + +## Podsumowanie i kolejne kroki + +Polecenia slash w Copilot CLI pozwalają go konfigurować, udostępniać sesje i zobaczyć, co dzieje się za kulisami. W tym ćwiczeniu: + +- użyłeś `/context` i `/compact`, by zbadać, jak Copilot zarządza kontekstem rozmowy. +- użyłeś `/model`, by przejrzeć dostępne modele. +- poznałeś, jak `/share` może wyeksportować lub udostępnić sesję. +- poznałeś opcjonalne polecenia do pracy równoległej, worktree i delegowania do cloud agent. + +Dostępnych jest więcej poleceń slash i więcej do odkrycia z Copilot CLI! Zamknijmy tę drogę [przeglądem tego, czego się nauczyliśmy][next-lesson] oraz kolejnymi krokami w nauce. + +## Zasoby + +- [Copilot CLI command reference][cli-reference] +- [Context management in Copilot CLI][context-management] +- [About Copilot cloud agent][about-cloud-agent] + +[previous-lesson]: ../8-create-pull-request/ +[next-lesson]: ../10-review/ +[cli-reference]: https://docs.github.com/copilot/reference/copilot-cli-reference/cli-command-reference +[context-management]: https://docs.github.com/copilot/concepts/agents/copilot-cli/context-management +[about-cloud-agent]: https://docs.github.com/copilot/concepts/agents/cloud-agent/about-cloud-agent +[cloud-workshop]: ../../cloud/ diff --git a/docs/pl-pl/real-world-development/cli/README.md b/docs/pl-pl/real-world-development/cli/README.md new file mode 100644 index 00000000..35a2285e --- /dev/null +++ b/docs/pl-pl/real-world-development/cli/README.md @@ -0,0 +1,75 @@ +--- +slug: pl-pl/real-world-development/cli +title: "GitHub Copilot CLI" +description: "Zbuduj, zweryfikuj i dostarcz dwie zmiany Tailspin Toys, poznając tryby Copilot CLI, dostosowania, narzędzia MCP i automatyzację pull requestów." +authors: + - geektrainer + - azkel +lastUpdated: 2026-10-04 +--- + +**[GitHub Copilot CLI][about-copilot-cli]** umieszcza GitHub Copilot w terminalu jako agentycznego asystenta programowania. Eksploruje bazy kodu, generuje kod, uruchamia polecenia i łączy się z zewnętrznymi narzędziami — wszystko z linii poleceń, dzięki czemu możesz pozostać w przepływie pracy bez przełączania się na edytor graficzny. + +Warsztat prowadzi jednym ciągłym przepływem pracy Tailspin Toys: + +1. Przygotuj projekt w GitHub Codespaces, zainstaluj Copilot CLI i zapoznaj się z narzędziem. +2. Wprowadź skupioną zmianę z oceną w gwiazdkach, przejrzyj ją w przeglądarce i ręcznie scal pierwszy pull request (PR). +3. Zacznij od zgłoszenia o filtrowaniu, zdefiniuj podejście w trybie Plan, zbuduj je w trybie Autopilot, a następnie przejrzyj w trybie Interactive. +4. Zaktualizuj instrukcje repozytorium i zastosuj je do pracy nad filtrowaniem. +5. Dostosuj istniejący skill `quality-checks` i użyj go do uruchomienia sprawdzeń projektu. +6. Dodaj serwer Model Context Protocol (MCP) Playwright i użyj go do zbadania filtrowania w przeglądarce. +7. Utwórz niestandardowego agenta zapewnienia jakości (QA) i użyj go do przeglądu wymagań, pokrycia oraz dowodów weryfikacji. +8. Przejrzyj kompletną zmianę filtrowania i użyj Agent Merge dla PR z filtrowaniem. +9. Poznaj przydatne polecenia slash do kontekstu, modeli, udostępniania oraz opcjonalnego delegowania do chmury. + +Aby utrzymać skupienie warsztatu, utworzysz dwa PR: oceny w gwiazdkach, a potem filtrowanie wraz z aktualizacjami instrukcji, skillu, profilu QA i testów. Przepływ filtrowania i jakości dzieli jedną rozmowę i gałąź, żebyś mógł budować na swojej pracy, poznając kolejne narzędzia. + +## Ćwiczenia + +| Ćwiczenie | Temat | Opis | +| ------ | ----- | ----------- | +| [0. Wymagania wstępne][ex0] | Konfiguracja | Utwórz repozytorium i Codespace | +| [1. Instalacja Copilot CLI][ex1] | Instalacja | Zainstaluj i uwierzytelnij Copilot CLI, potem zapoznaj się z narzędziem | +| [2. Dodawanie ocen w gwiazdkach: szybki sukces][ex2] | Pierwsza zmiana | Wyświetl istniejące oceny i fallback dla wartości null, potem scal pierwszy PR | +| [3. Tryby agenta: Plan i Autopilot][ex3] | Tryby agenta | Zaplanuj funkcję na podstawie zgłoszenia, zbuduj z Autopilot, potem przejrzyj w trybie Interactive | +| [4. Prowadzenie Copilota instrukcjami niestandardowymi][ex4] | Kontekst | Poznaj i zaktualizuj instrukcje, potem zastosuj je do filtrowania | +| [5. Dostosowanie i użycie skillu quality-checks][ex5] | Powtarzalne sprawdzenia | Poznaj istniejący skill, zmień format raportu i uruchom go | +| [6. Walidacja funkcjonalności z Playwright MCP][ex6] | Obserwacja w przeglądarce | Skonfiguruj MCP w CLI i sprawdź zachowanie filtrowania | +| [7. Tworzenie i użycie agenta QA][ex7] | Wymagania i pokrycie | Utwórz i wybierz profil specjalisty, potem zbierz końcowe dowody weryfikacji | +| [8. Tworzenie i scalanie PR funkcji][ex8] | Przegląd i scalanie | Przejrzyj kompletną zmianę, utwórz PR i użyj Agent Merge | +| [9. Polecenia slash w GitHub Copilot CLI][ex9] | Funkcje CLI | Poznaj kontekst, modele, udostępnianie i opcjonalne delegowanie do cloud agent | +| [10. Podsumowanie i kolejne kroki][ex10] | Podsumowanie | Przejrzyj przepływ pracy, wielokrotnego użytku dostosowania i dalsze zasoby | +| [Opcjonalnie: Foundry][foundry] | Hostowani agenci | Przygotuj model, wdróż agenta opartego o katalog i podłącz go do witryny | + +## Wymagania wstępne + +Przed udziałem w tych warsztatach upewnij się, że masz: + +- [ ] Konto GitHub z aktywnym planem **Copilot Student, Pro, Pro+, Business lub Enterprise** +- [ ] Uprawnienie do utworzenia repozytorium i Codespace +- [ ] Podstawową znajomość obsługi terminala lub linii poleceń + +> [!TIP] +> Brak płatnego planu? Zweryfikowani studenci mogą otrzymać GitHub Copilot za darmo przez [GitHub Education][student-plan]. Plan **Copilot Student** obejmuje agenta, MCP, przegląd kodu i funkcje Copilot CLI używane w tych warsztatach. + +> [!NOTE] +> Jeśli korzystasz z Copilot Business lub Copilot Enterprise, upewnij się, że administrator włączył Copilot CLI. + +## Rozpocznij + +**[Zacznij od wymagań wstępnych →][ex0]** + +[about-copilot-cli]: https://docs.github.com/copilot/concepts/agents/about-copilot-cli +[student-plan]: https://github.com/education/students +[ex0]: 0-prerequisites/ +[ex1]: 1-install-copilot-cli/ +[ex2]: 2-add-star-rating/ +[ex3]: 3-agent-modes/ +[ex4]: 4-custom-instructions/ +[ex5]: 5-agent-skills/ +[ex6]: 6-mcp-playwright/ +[ex7]: 7-qa-agent/ +[ex8]: 8-create-pull-request/ +[ex9]: 9-cli-power-tools/ +[ex10]: 10-review/ +[foundry]: 8-foundry-agent/ diff --git a/website/astro.config.mjs b/website/astro.config.mjs index a6d2d209..3d7b9eda 100644 --- a/website/astro.config.mjs +++ b/website/astro.config.mjs @@ -36,6 +36,7 @@ export default defineConfig({ 'es-es': { label: 'Español', lang: 'es-ES' }, 'ja-jp': { label: '日本語', lang: 'ja-JP' }, 'ko-kr': { label: '한국어', lang: 'ko-KR' }, + 'pl-pl': { label: 'Polski', lang: 'pl-PL' }, 'pt-br': { label: 'Português (Brasil)', lang: 'pt-BR' }, 'zh-cn': { label: '简体中文', lang: 'zh-CN' }, },