diff --git a/.github/workflows/copilot-workshops-sync.lock.yml b/.github/workflows/copilot-workshops-sync.lock.yml index 47bc67de3..0b254cb46 100644 --- a/.github/workflows/copilot-workshops-sync.lock.yml +++ b/.github/workflows/copilot-workshops-sync.lock.yml @@ -1,4 +1,4 @@ -# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"c1deab62948716827b7f38f9a58e6362e90d54389769b39841f6d1a98b572450","body_hash":"aea214de3a38e6b39f5143364c88741d445eed194128c7acb534308c5ac330fa","compiler_version":"v0.81.6","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.65"}} +# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"c1deab62948716827b7f38f9a58e6362e90d54389769b39841f6d1a98b572450","body_hash":"a5593ada6b9e64cc8035a306a28dc8a386d2e86aad1f58dc827573553bb82968","compiler_version":"v0.81.6","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.65"}} # gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_CI_TRIGGER_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"github/gh-aw-actions/setup","sha":"ba6380cc6e5be5d21677bebe04d52fb48e3abec7","version":"v0.81.6"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.11","digest":"sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.11@sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11","digest":"sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11@sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.11","digest":"sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.11@sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.30","digest":"sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.30@sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.4.0","digest":"sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036","pinned_image":"ghcr.io/github/github-mcp-server:v1.4.0@sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036"}]} # This file was automatically generated by gh-aw (v0.81.6). DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md # diff --git a/.github/workflows/copilot-workshops-sync.md b/.github/workflows/copilot-workshops-sync.md index 82f2d55bf..e0669b996 100644 --- a/.github/workflows/copilot-workshops-sync.md +++ b/.github/workflows/copilot-workshops-sync.md @@ -97,8 +97,8 @@ Localized pages share the English images: keep their image references pointing a Navigation is wired in three places: -- `website/astro.config.mjs` — the sidebar group **"Copilot Workshops"**, with a nested sub-group per harness. Starlight applies one sidebar across all locales and auto-prefixes links for the active locale, so you only configure the English (root) slugs here. -- `website/src/content/docs/learning-hub/index.md` — a short entry linking to the workshop. +- `website/astro.config.mjs` — the top-level sidebar group **"Workshops"**, with a nested sub-group per harness. Starlight applies one sidebar across all locales and auto-prefixes links for the active locale, so you only configure the English (root) slugs here. +- `website/src/content/docs/learning-hub/index.md` — a short **"Workshops"** section linking to the workshop overview and harnesses. - `website/src/content/docs/learning-hub/copilot-workshops/index.md` — the mirrored landing page whose harness/lesson tables link to the local pages. ## Step 1 — Determine what's new upstream @@ -173,14 +173,15 @@ Edit the local docs, assets, and navigation so the website remains a **source-fa 3. If upstream adds, removes, or renames harnesses or lessons: - Create, delete, or rename the corresponding markdown files under `website/src/content/docs/learning-hub/copilot-workshops//` (and the localized equivalents under `website/src/content/docs//learning-hub/copilot-workshops//`). - - Update the **"Copilot Workshops"** sidebar group in `website/astro.config.mjs` so its nested per-harness sub-groups list the Overview link plus each lesson in upstream order, using the upstream lesson titles as labels. + - Update the top-level **"Workshops"** sidebar group in `website/astro.config.mjs` so its nested per-harness sub-groups list the Overview link plus each lesson in upstream order, using the upstream lesson titles as labels. - Update `website/src/content/docs/learning-hub/copilot-workshops/index.md` and any harness `index.md` lesson tables to match. - - Update the `website/src/content/docs/learning-hub/index.md` entry only if the workshop's landing description or link must change. + - Update the **"Workshops"** section in `website/src/content/docs/learning-hub/index.md` only if the workshop's landing description or links must change. ### Navigation wiring details -- In `website/astro.config.mjs`, add or maintain a top-level sidebar group labelled `"Copilot Workshops"`. Give it an `items` array containing one nested group per harness (labels: `VS Code`, `Copilot CLI`, `Copilot App`, `Copilot Cloud Agent`). Each nested group should start with an `Overview` entry that links to `/learning-hub/copilot-workshops//` and then list each lesson slug (e.g. `learning-hub/copilot-workshops/app/0-prerequisites`). Follow the exact style already used by the existing `"Copilot CLI for Beginners"` group. -- Place the new group in a sensible position relative to the existing Learning Hub groups (after `"Copilot CLI for Beginners"` is a natural fit). +- In `website/astro.config.mjs`, add or maintain a **top-level** sidebar group labelled `"Workshops"`. Give it an `items` array containing one nested group per harness (labels: `VS Code`, `Copilot CLI`, `Copilot App`, `Copilot Cloud Agent`). Each nested group should start with an `Overview` entry that links to `/learning-hub/copilot-workshops//` and then list each lesson slug (e.g. `learning-hub/copilot-workshops/app/0-prerequisites`). Follow the exact nesting style used by the existing `"Courses"` group. +- Place the `"Workshops"` group immediately **after** the `"Courses"` group and **before** the `"Videos"` group. (`astro.config.mjs` contains a placeholder comment marking exactly where it belongs.) +- In `website/src/content/docs/learning-hub/index.md`, add or maintain a `## Workshops` section (placed after `## Courses`) that briefly describes the build-along labs and links to the workshop overview page and each harness. Do not leave links that point at pages you have not created. - Do **not** add locale-prefixed slugs to the sidebar; Starlight derives localized navigation from the single root sidebar automatically. - Every root slug you add to the sidebar **must** correspond to a real mirrored English markdown file, or the website build will fail. diff --git a/website/astro.config.mjs b/website/astro.config.mjs index 77f25a4d2..fed9c02fc 100644 --- a/website/astro.config.mjs +++ b/website/astro.config.mjs @@ -130,33 +130,47 @@ export default defineConfig({ items: ["learning-hub/github-copilot-terminology-glossary"], }, { - label: "Copilot CLI for Beginners", + label: "Courses", items: [ { - label: "Overview", - link: "/learning-hub/cli-for-beginners/", + label: "Copilot CLI for Beginners", + items: [ + { + label: "Overview", + link: "/learning-hub/cli-for-beginners/", + }, + "learning-hub/cli-for-beginners/00-quick-start", + "learning-hub/cli-for-beginners/01-setup-and-first-steps", + "learning-hub/cli-for-beginners/02-context-and-conversations", + "learning-hub/cli-for-beginners/03-development-workflows", + "learning-hub/cli-for-beginners/04-agents-and-custom-instructions", + "learning-hub/cli-for-beginners/05-skills", + "learning-hub/cli-for-beginners/06-mcp-servers", + "learning-hub/cli-for-beginners/07-putting-it-all-together", + ], }, - "learning-hub/cli-for-beginners/00-quick-start", - "learning-hub/cli-for-beginners/01-setup-and-first-steps", - "learning-hub/cli-for-beginners/02-context-and-conversations", - "learning-hub/cli-for-beginners/03-development-workflows", - "learning-hub/cli-for-beginners/04-agents-and-custom-instructions", - "learning-hub/cli-for-beginners/05-skills", - "learning-hub/cli-for-beginners/06-mcp-servers", - "learning-hub/cli-for-beginners/07-putting-it-all-together", ], }, + // The "Workshops" group is added by the Copilot Workshops sync workflow + // on its first run, once the mirrored harness pages exist. It is inserted + // immediately after "Courses" and before "Videos". It is intentionally not + // pre-created here: Starlight fails the build if a sidebar entry points at + // a page that does not yet exist. { - label: "Hands-on", + label: "Videos", items: [ { - label: "Cookbook", - link: "/learning-hub/cookbook/", + label: "Copilot CLI for Beginners", + link: "https://www.youtube.com/watch?v=BDxRhhs36ns&list=PL0lo9MOBetEHvO-spzKBAITkkTqv4RvNl", }, ], }, { - label: "Browse Resources", + label: "Cookbook", + link: "/learning-hub/cookbook/", + }, + { + label: "Resources", items: [ { label: "Home", link: "/" }, { label: "Agents", link: "/agents/" }, diff --git a/website/src/content/docs/learning-hub/index.md b/website/src/content/docs/learning-hub/index.md index 17165a5de..73d1ff03e 100644 --- a/website/src/content/docs/learning-hub/index.md +++ b/website/src/content/docs/learning-hub/index.md @@ -14,8 +14,6 @@ New to GitHub Copilot? Start here to understand the tools available to you. **Canvases**: Learn [Working with Canvas Extensions](working-with-canvas-extensions/) to create and evolve interactive canvases with `/create-canvas`. -**Terminal**: Looking for a guided path into GitHub Copilot from the terminal? Explore the [Copilot CLI for Beginners](cli-for-beginners/) with a text-based experience or the [YouTube video series](https://www.youtube.com/watch?v=BDxRhhs36ns&list=PL0lo9MOBetEHvO-spzKBAITkkTqv4RvNl). - ## Fundamentals Essential concepts to tailor GitHub Copilot beyond its default experience. Start with @@ -23,14 +21,27 @@ Essential concepts to tailor GitHub Copilot beyond its default experience. Start and work through the full track to master every customization primitive. For delegation and orchestration patterns, continue with [Agents and Subagents](agents-and-subagents/). +## Courses + +Guided, multi-lesson learning paths you can work through end to end. + +**Copilot CLI for Beginners**: A guided path into GitHub Copilot from the terminal — [start the course](cli-for-beginners/) for the full text-based experience. Prefer to watch? See the [video series](https://www.youtube.com/watch?v=BDxRhhs36ns&list=PL0lo9MOBetEHvO-spzKBAITkkTqv4RvNl). + +## Videos + +Prefer to watch and follow along? Browse our YouTube playlists. + +- [Copilot CLI for Beginners](https://www.youtube.com/watch?v=BDxRhhs36ns&list=PL0lo9MOBetEHvO-spzKBAITkkTqv4RvNl) + ## Reference Quick-lookup resources to keep handy while you work. Browse the [GitHub Copilot Terminology Glossary](github-copilot-terminology-glossary/) for definitions of common terms and concepts. -## Hands-on +## Cookbook Interactive samples and recipes to learn by doing. Jump into the [Cookbook](cookbook/) for code samples, recipes, and examples you can use right away. +